[midPoint] Report with account data
Dmitriy Berezkin
berezkin.dmitriy at gmail.com
Wed Mar 14 20:27:56 CET 2018
Hi!
Could you tell me about reports? I want to make a report with account data and user object.
For example, I have the resource "Test CSV: username». And I want to make a report that looks like this:
> User Name(user.name) | Telephone Number(user.telephoneNumber) | Attribute1 from System 1(account.extattr1) | Attribute1 from System 2 (account.extattr2)
> user111 | 11-11 | 10293 | Zorg
How I can add account data into report? What expression should I use?
Here is my resource:
> <resource xmlns="http://midpoint.evolveum.com/xml/ns/public/common/common-3"
> xmlns:q="http://prism.evolveum.com/xml/ns/public/query-3"
> xmlns:c="http://midpoint.evolveum.com/xml/ns/public/common/common-3"
> xmlns:t="http://prism.evolveum.com/xml/ns/public/types-3"
> xmlns:org="http://midpoint.evolveum.com/xml/ns/public/common/org-3"
> xmlns:icfs="http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/resource-schema-3"
> xmlns:ri="http://midpoint.evolveum.com/xml/ns/public/resource/instance-3"
> oid="ef2bc95b-76e0-59e2-86d6-9999cccccccc"
> version="60">
> <name>Test CSV: username</name>
> <description>Simple CSV resource that is using single identifier (username)</description>
> <metadata>
> <createTimestamp>2018-03-02T16:36:53.777+03:00</createTimestamp>
> <creatorRef oid="00000000-0000-0000-0000-000000000002"
> relation="org:default"
> type="c:UserType"/>
> <createChannel>http://midpoint.evolveum.com/xml/ns/public/model/channels-3#objectImport</createChannel>
> <modifyTimestamp>2018-03-02T18:00:47.726+03:00</modifyTimestamp>
> <modifierRef oid="00000000-0000-0000-0000-000000000002"
> relation="org:default"
> type="c:UserType"/>
> <modifyChannel>http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</modifyChannel>
> </metadata>
> <operationExecution id="7">
> <timestamp>2018-03-02T17:56:05.227+03:00</timestamp>
> <operation>
> <objectDelta>
> <t:changeType>modify</t:changeType>
> <t:objectType>c:ResourceType</t:objectType>
> </objectDelta>
> <executionResult>
> <operation>com.evolveum.midpoint.model.impl.lens.ChangeExecutor.executeDelta</operation>
> <status>success</status>
> <token>1000000000000014795</token>
> </executionResult>
> <objectName>Test CSV: username</objectName>
> </operation>
> <status>success</status>
> <initiatorRef oid="00000000-0000-0000-0000-000000000002"
> relation="org:default"
> type="c:UserType"/>
> <channel>http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</channel>
> </operationExecution>
> <operationExecution id="8">
> <timestamp>2018-03-02T17:56:07.721+03:00</timestamp>
> <operation>
> <objectDelta>
> <t:changeType>modify</t:changeType>
> <t:objectType>c:ResourceType</t:objectType>
> </objectDelta>
> <executionResult>
> <operation>com.evolveum.midpoint.model.impl.lens.ChangeExecutor.executeDelta</operation>
> <status>success</status>
> <token>1000000000000014854</token>
> </executionResult>
> <objectName>Test CSV: username</objectName>
> </operation>
> <status>success</status>
> <initiatorRef oid="00000000-0000-0000-0000-000000000002"
> relation="org:default"
> type="c:UserType"/>
> <channel>http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</channel>
> </operationExecution>
> <operationExecution id="12">
> <timestamp>2018-03-02T17:58:36.414+03:00</timestamp>
> <operation>
> <objectDelta>
> <t:changeType>modify</t:changeType>
> <t:objectType>c:ResourceType</t:objectType>
> </objectDelta>
> <executionResult>
> <operation>com.evolveum.midpoint.model.impl.lens.ChangeExecutor.executeDelta</operation>
> <status>success</status>
> <token>1000000000000014995</token>
> </executionResult>
> <objectName>Test CSV: username</objectName>
> </operation>
> <status>success</status>
> <initiatorRef oid="00000000-0000-0000-0000-000000000002"
> relation="org:default"
> type="c:UserType"/>
> <channel>http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</channel>
> </operationExecution>
> <operationExecution id="13">
> <timestamp>2018-03-02T18:00:45.612+03:00</timestamp>
> <operation>
> <objectDelta>
> <t:changeType>modify</t:changeType>
> <t:objectType>c:ResourceType</t:objectType>
> </objectDelta>
> <executionResult>
> <operation>com.evolveum.midpoint.model.impl.lens.ChangeExecutor.executeDelta</operation>
> <status>success</status>
> <token>1000000000000015503</token>
> </executionResult>
> <objectName>Test CSV: username</objectName>
> </operation>
> <status>success</status>
> <initiatorRef oid="00000000-0000-0000-0000-000000000002"
> relation="org:default"
> type="c:UserType"/>
> <channel>http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</channel>
> </operationExecution>
> <operationExecution id="6">
> <timestamp>2018-03-02T18:00:47.826+03:00</timestamp>
> <operation>
> <objectDelta>
> <t:changeType>modify</t:changeType>
> <t:objectType>c:ResourceType</t:objectType>
> </objectDelta>
> <executionResult>
> <operation>com.evolveum.midpoint.model.impl.lens.ChangeExecutor.executeDelta</operation>
> <status>success</status>
> <token>1000000000000015562</token>
> </executionResult>
> <objectName>Test CSV: username</objectName>
> </operation>
> <status>success</status>
> <initiatorRef oid="00000000-0000-0000-0000-000000000002"
> relation="org:default"
> type="c:UserType"/>
> <channel>http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</channel>
> </operationExecution>
> <operationalState>
> <lastAvailabilityStatus>up</lastAvailabilityStatus>
> </operationalState>
> <connectorRef oid="49b1894d-5640-4724-a9ed-27ceac1e756f"
> relation="org:default"
> type="c:ConnectorType">
> <filter>
> <q:equal>
> <q:path>c:connectorType</q:path>
> <q:value>com.evolveum.polygon.connector.csv.CsvConnector</q:value>
> </q:equal>
> </filter>
> </connectorRef>
> <connectorConfiguration xmlns:icfc="http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/connector-schema-3">
> <icfc:configurationProperties xmlns:gen746="http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/bundle/com.evolveum.polygon.connector-csv/com.evolveum.polygon.connector.csv.CsvConnector">
> <gen746:multivalueDelimiter>;</gen746:multivalueDelimiter>
> <gen746:filePath>/opt/midpoint/midpoint-3.7/doc/samples/resources/csv/1.csv</gen746:filePath>
> <gen746:encoding>utf-8</gen746:encoding>
> <gen746:fieldDelimiter>,</gen746:fieldDelimiter>
> <gen746:passwordAttribute>password</gen746:passwordAttribute>
> <gen746:uniqueAttribute>username</gen746:uniqueAttribute>
> </icfc:configurationProperties>
> </connectorConfiguration>
> <schema>
> <cachingMetadata>
> <retrievalTimestamp>2018-03-02T18:00:47.971+03:00</retrievalTimestamp>
> <serialNumber>d62577d6e3e25661-189f7dbae6a048af</serialNumber>
> </cachingMetadata>
> <definition>
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:a="http://prism.evolveum.com/xml/ns/public/annotation-3"
> xmlns:tns="http://midpoint.evolveum.com/xml/ns/public/resource/instance-3"
> xmlns:ra="http://midpoint.evolveum.com/xml/ns/public/resource/annotation-3"
> elementFormDefault="qualified"
> targetNamespace="http://midpoint.evolveum.com/xml/ns/public/resource/instance-3">
> <xsd:import namespace="http://prism.evolveum.com/xml/ns/public/annotation-3"/>
> <xsd:import namespace="http://midpoint.evolveum.com/xml/ns/public/resource/annotation-3"/>
> <xsd:complexType name="AccountObjectClass">
> <xsd:annotation>
> <xsd:appinfo>
> <ra:resourceObject/>
> <ra:identifier>ri:username</ra:identifier>
> <ra:displayNameAttribute>ri:username</ra:displayNameAttribute>
> <ra:namingAttribute>ri:username</ra:namingAttribute>
> <ra:nativeObjectClass>__ACCOUNT__</ra:nativeObjectClass>
> <ra:kind>account</ra:kind>
> <ra:default>true</ra:default>
> </xsd:appinfo>
> </xsd:annotation>
> <xsd:sequence>
> <xsd:element minOccurs="0" name="disabled" type="xsd:string">
> <xsd:annotation>
> <xsd:appinfo>
> <a:ignore>true</a:ignore>
> <a:displayOrder>120</a:displayOrder>
> <ra:nativeAttributeName>disabled</ra:nativeAttributeName>
> <ra:frameworkAttributeName>disabled</ra:frameworkAttributeName>
> </xsd:appinfo>
> </xsd:annotation>
> </xsd:element>
> <xsd:element minOccurs="0" name="lastname" type="xsd:string">
> <xsd:annotation>
> <xsd:appinfo>
> <a:displayOrder>130</a:displayOrder>
> <ra:nativeAttributeName>lastname</ra:nativeAttributeName>
> <ra:frameworkAttributeName>lastname</ra:frameworkAttributeName>
> </xsd:appinfo>
> </xsd:annotation>
> </xsd:element>
> <xsd:element minOccurs="0" name="extattr2" type="xsd:string">
> <xsd:annotation>
> <xsd:appinfo>
> <a:displayOrder>140</a:displayOrder>
> <ra:nativeAttributeName>extattr2</ra:nativeAttributeName>
> <ra:frameworkAttributeName>extattr2</ra:frameworkAttributeName>
> </xsd:appinfo>
> </xsd:annotation>
> </xsd:element>
> <xsd:element minOccurs="0" name="extattr1" type="xsd:string">
> <xsd:annotation>
> <xsd:appinfo>
> <a:displayOrder>150</a:displayOrder>
> <ra:nativeAttributeName>extattr1</ra:nativeAttributeName>
> <ra:frameworkAttributeName>extattr1</ra:frameworkAttributeName>
> </xsd:appinfo>
> </xsd:annotation>
> </xsd:element>
> <xsd:element minOccurs="0" name="firstname" type="xsd:string">
> <xsd:annotation>
> <xsd:appinfo>
> <a:displayOrder>160</a:displayOrder>
> <ra:nativeAttributeName>firstname</ra:nativeAttributeName>
> <ra:frameworkAttributeName>firstname</ra:frameworkAttributeName>
> </xsd:appinfo>
> </xsd:annotation>
> </xsd:element>
> <xsd:element name="username" type="xsd:string">
> <xsd:annotation>
> <xsd:appinfo>
> <a:displayOrder>100</a:displayOrder>
> <ra:nativeAttributeName>username</ra:nativeAttributeName>
> <ra:frameworkAttributeName>__NAME__</ra:frameworkAttributeName>
> </xsd:appinfo>
> </xsd:annotation>
> </xsd:element>
> </xsd:sequence>
> </xsd:complexType>
> </xsd:schema>
> </definition>
> </schema>
> <schemaHandling>
> <objectType id="1">
> <displayName>Default Account</displayName>
> <default>true</default>
> <objectClass>ri:AccountObjectClass</objectClass>
> <attribute id="2">
> <c:ref>ri:username</c:ref>
> <tolerant>false</tolerant>
> <exclusiveStrong>false</exclusiveStrong>
> <outbound>
> <authoritative>false</authoritative>
> <exclusive>false</exclusive>
> <strength>normal</strength>
> <source>
> <c:path>$user/name</c:path>
> </source>
> </outbound>
> <inbound id="14">
> <authoritative>true</authoritative>
> <exclusive>false</exclusive>
> <strength>normal</strength>
> <target>
> <c:path>$user/name</c:path>
> </target>
> </inbound>
> </attribute>
> <attribute id="3">
> <c:ref>ri:firstname</c:ref>
> <tolerant>false</tolerant>
> <exclusiveStrong>false</exclusiveStrong>
> <outbound>
> <source>
> <c:path>$user/givenName</c:path>
> </source>
> </outbound>
> <inbound id="15">
> <authoritative>true</authoritative>
> <exclusive>false</exclusive>
> <strength>normal</strength>
> <target>
> <c:path>$user/givenName</c:path>
> </target>
> </inbound>
> </attribute>
> <attribute id="4">
> <c:ref>ri:lastname</c:ref>
> <tolerant>false</tolerant>
> <exclusiveStrong>false</exclusiveStrong>
> <outbound>
> <authoritative>false</authoritative>
> <exclusive>false</exclusive>
> <strength>normal</strength>
> <source>
> <c:path>$user/familyName</c:path>
> </source>
> </outbound>
> <inbound id="16">
> <authoritative>true</authoritative>
> <exclusive>false</exclusive>
> <strength>normal</strength>
> <target>
> <c:path>$user/familyName</c:path>
> </target>
> </inbound>
> </attribute>
> <attribute id="9">
> <c:ref>ri:disabled</c:ref>
> <tolerant>true</tolerant>
> <exclusiveStrong>false</exclusiveStrong>
> </attribute>
> <attribute id="10">
> <c:ref>ri:extattr1</c:ref>
> <tolerant>true</tolerant>
> </attribute>
> <attribute id="11">
> <c:ref>ri:extattr2</c:ref>
> <tolerant>true</tolerant>
> <exclusiveStrong>false</exclusiveStrong>
> </attribute>
> <activation>
> <administrativeStatus>
> <outbound id="5"/>
> </administrativeStatus>
> </activation>
> <credentials>
> <password xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:type="c:ResourcePasswordDefinitionType">
> <outbound/>
> </password>
> </credentials>
> </objectType>
> </schemaHandling>
> <capabilities>
> <cachingMetadata>
> <retrievalTimestamp>2018-03-02T18:00:47.965+03:00</retrievalTimestamp>
> <serialNumber>bc448cace5d6c36e-2884eda7e9fe424b</serialNumber>
> </cachingMetadata>
> <native xmlns:cap="http://midpoint.evolveum.com/xml/ns/public/resource/capabilities-3"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:type="c:CapabilityCollectionType">
> <cap:schema/>
> <cap:liveSync/>
> <cap:testConnection/>
> <cap:create/>
> <cap:read/>
> <cap:update/>
> <cap:delete/>
> <cap:script>
> <cap:host>
> <cap:type>connector</cap:type>
> </cap:host>
> </cap:script>
> <cap:addRemoveAttributeValues/>
> <cap:credentials>
> <cap:password>
> <cap:readable>true</cap:readable>
> </cap:password>
> </cap:credentials>
> </native>
> <configured xmlns:cap="http://midpoint.evolveum.com/xml/ns/public/resource/capabilities-3"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:type="c:CapabilityCollectionType">
> <cap:activation>
> <cap:status>
> <cap:attribute>ri:disabled</cap:attribute>
> <cap:enableValue>false</cap:enableValue>
> <cap:disableValue>true</cap:disableValue>
> </cap:status>
> </cap:activation>
> </configured>
> </capabilities>
> <synchronization>
> <objectSynchronization>
> <enabled>true</enabled>
> <correlation>
> <q:equal>
> <q:path>c:name</q:path>
> <expression xmlns="">
> <path>$account/attributes/ri:username</path>
> </expression>
> </q:equal>
> </correlation>
> <reconcile>false</reconcile>
> <reaction>
> <situation>linked</situation>
> <synchronize>true</synchronize>
> <reconcile>false</reconcile>
> </reaction>
> <reaction>
> <situation>unlinked</situation>
> <synchronize>true</synchronize>
> <action>
> <handlerUri>http://midpoint.evolveum.com/xml/ns/public/model/action-3#link</handlerUri>
> </action>
> </reaction>
> <reaction>
> <situation>unmatched</situation>
> <synchronize>true</synchronize>
> <action>
> <handlerUri>http://midpoint.evolveum.com/xml/ns/public/model/action-3#addFocus</handlerUri>
> </action>
> </reaction>
> </objectSynchronization>
> </synchronization>
> </resource>
>
> <user xmlns="http://midpoint.evolveum.com/xml/ns/public/common/common-3"
> xmlns:q="http://prism.evolveum.com/xml/ns/public/query-3"
> xmlns:c="http://midpoint.evolveum.com/xml/ns/public/common/common-3"
> xmlns:t="http://prism.evolveum.com/xml/ns/public/types-3"
> xmlns:org="http://midpoint.evolveum.com/xml/ns/public/common/org-3"
> xmlns:icfs="http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/resource-schema-3"
> xmlns:ri="http://midpoint.evolveum.com/xml/ns/public/resource/instance-3"
> oid="a7a35195-edd5-4879-a9b8-9f1c36e441a7"
> version="12">
> <name>user111</name>
> <operationExecution id="1">
> <timestamp>2018-03-02T18:01:00.445+03:00</timestamp>
> <status>success</status>
> <initiatorRef oid="00000000-0000-0000-0000-000000000002"
> relation="org:default"
> type="c:UserType"><!-- administrator --></initiatorRef>
> <taskRef oid="35fc0d3e-deed-42a9-9c20-3ec40b5d3f3d"
> relation="org:default"
> type="c:TaskType"><!-- csvTT --></taskRef>
> <channel>http://midpoint.evolveum.com/xml/ns/public/provisioning/channels-3#reconciliation</channel>
> </operationExecution>
> <linkRef oid="7c8a0127-ddb9-4722-b613-2878ea98f324"
> relation="org:default"
> type="c:ShadowType"><!-- user111 --></linkRef>
> <activation>
> <effectiveStatus>enabled</effectiveStatus>
> <enableTimestamp>2018-03-02T17:19:11.038+03:00</enableTimestamp>
> </activation>
> <iteration>0</iteration>
> <iterationToken/>
> <givenName>Firstname</givenName>
> <familyName>Lastname</familyName>
> <telephoneNumber>11-11</telephoneNumber>
> </user>
—
Dmitry
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20180314/8d57bbc6/attachment.htm>
More information about the midPoint
mailing list