Skip to main content

Data provisioning

The mijnCaress connector is an extended version of the generic SOAP connector. The following options are supplied and native to the mijnCaress connector:

  • Authentication using a certificate.
  • Session handling.
  • Provision of direct XML requests instead of WSDL.
  • Lookup for users and employees.
  • Removal of unnecessary HTTP headers.
Special limitations

Users can have only one discipline assigned. To achieve this singularity, we recommend using the Prioritization Policy feature to ensure that only one discipline assignment is active.

Removing discipline assignments is not supported by the mijnCaress service. Once discipline is assigned, the only way to remove it is to create an assignment to another discipline (due to the limitation of one discipline assigned). It is the limitation on the mijnCaress service side and cannot be solved from Omada Identity.

If you select the mijnCaress Connector (Template) when enabling provisioning, enter a unique name for the new connector. If you selected and configured a template connector, the configured template is stored in Omada Identity. When Omada rolls out changes to the template connectors, your configurations remain intact in your own version.

To use default preconfigured Task mappings you must select the Use default configuration option while enabling provisioning.

Provisioning configuration

ParameterDescription
Endpoint addressSpecify the endpoint address, for example: https://prod.yourcorp.com/IdentityGuardAdminService/
services/AdminServiceV11
UserType the username for the target system user used to authenticate connectivity.
PasswordType the password for the user to authenticate with the service.Each time you make a change to any of the settings in the Connection details dialog box, you must enter the password again.
Timeout in secondsSpecify the preferred connection timeout for one web service call.

It is recommended that timeout is not lower than 100 seconds.
Security protocolSelect the name of the security protocol supported by the external server.It should match the security protocol used in the mijnCaress system.
PEM CertificateProvide the authentication certificate in the PEM format.
PEM Private KeyProvide the certificate's RSA private key in the PEM format.
Session ID XPath (request)XPath to attach session ID in the requests.

This field is prefilled with the default value.
Service Username XPath (request)XPath to attach username of the user who performs operation in the requests.

This field is prefilled with the default value.
Username XPath (request)XPath to attach username of the new user in the requests.

This field is prefilled with the default value.
User SysId XPath (response)XPath to get the sysId of the new user in the response.

This field is prefilled with the default value.
[Lookup] Get Users XML (request)XML to get the list of all users in the requests for lookup purposes.

This field is prefilled with the default value.
[Lookup] Users XPath (response)XPath to get the user objects in the response.

This field is prefilled with the default value.
[Lookup] Get Employee XML (request)XML to get a specific employee by their id in the requests for lookup purposes.

This field is prefilled with the default value.
[Lookup] Employee Id XPath (request)XML to set the employee id in the requests.

This field is prefilled with the default value.
[Lookup] Employee Sys Id XPath (response)XPath to get the employee sys id in the response.

This field is prefilled with the default value.
Test connectionThis field is optional.You can check this field to force the connector to test the defined connection before moving froward.

Data model

The data model for mijnCaress is extensible and consists of two sections: <properties> and <objects>.

Properties

The <properties> section serves as a repository of properties of all <objects> in the remote system that are subject to provisioning. Property names consist of a prefix that specifies the operation (add:, update:, or delete:), followed by the xPath to the element/attribute. Property names must match the ones used in task mappings.

A single property consists of the following attributes:

  • displayName - unique name of the property.

  • name - property names contain several elements separated by the ‘:’ character:

    • (optional, in square brackets) – comma-separated list of service methods, where parameter should be added. If a specific OPS operation has only one method to call, you can skip this part.
    • Operation – value from range: add/update/delete.
    • Xpath in the request to set the value

All properties should be set to stringType, except the ones that should be looked-up - those should have referenceType. Lookup can be used whenever sys id is required foruser or employee objects.

XML configuration for properties

XML configuration for properties:

<connectorDataModel xmlns="http://schemas.omada.net/ops/2015/ConnectorDataModelML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" modelNamespace="mijnCaress">
  <properties>
    <!--account-->
    <property displayName="createUserUsername" name="add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;Username&apos;]" />
    <property displayName="createUserEmployeeSysId" dataType="referenceType" name="add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;EmployeeSysId&apos;]" />
    <property displayName="createUserName" name="add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;Name&apos;]" />
    <property displayName="createUserStatus" name="add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;Status&apos;]" />
    <property displayName="createUserStart" name="add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;Start&apos;]" />
    <property displayName="createUserEnd" name="add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;End&apos;]" />
    <property displayName="createUserPassword" dataType="secureStringType" name="add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;Password&apos;]" />
    <property displayName="createUserMustChangePass" name="add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;MustChangePass&apos;]" />

    <property displayName="updateUserSysId" dataType="referenceType" name="update:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;SysId&apos;]" />
    <property displayName="updateUserName" name="update:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;Name&apos;]" />
    <property displayName="updateUserStatus" name="update:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;Status&apos;]" />
    <property displayName="updateUserStart" name="update:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;Start&apos;]" />
    <property displayName="updateUserEnd" name="update:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;End&apos;]" />
    <property displayName="updateUserMustChangePass" name="update:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;MustChangePass&apos;]" />

    <property displayName="deleteUserSysId" dataType="referenceType" name="delete:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;SysId&apos;]" />
    <property displayName="deleteUserName" name="delete:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;Name&apos;]" />
    <property displayName="deleteUserStatus" name="delete:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;Status&apos;]" />
    <property displayName="deleteUserStart" name="delete:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;Start&apos;]" />
    <property displayName="deleteUserEnd" name="delete:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;End&apos;]" />
    <property displayName="deleteUserMustChangePass" name="delete:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;MustChangePass&apos;]" />
    <!--end account-->

    <!--discipline assignment-->
    <property displayName="createDisciplineAssignmentUserSysId" dataType="referenceType" name="add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;SysId&apos;]" />
    <property displayName="createDisciplineAssignmentDisciplineSysId" name="add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;DisciplineSysId&apos;]" />
    <property displayName="deleteDisciplineAssignmentDisciplineSysId" name="delete:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;DisciplineSysId&apos;]" />
    <!--end discipline assignment-->

    <!--user group membership-->
    <property displayName="createUserGroupMembershipUserSysId" dataType="referenceType" name="add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremUserUserGroup&apos;]/*[local-name() = &apos;UserSysId&apos;]" />
    <property displayName="createUserGroupMembershipGroupSysId" name="add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremUserUserGroup&apos;]/*[local-name() = &apos;UsergroupSysId&apos;]" />

    <property displayName="deleteUserGroupMembershipUserSysId" dataType="referenceType" name="delete:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremUserUserGroup&apos;]/*[local-name() = &apos;UserSysId&apos;]" />
    <property displayName="deleteUserGroupMembershipGroupSysId" name="delete:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremUserUserGroup&apos;]/*[local-name() = &apos;UsergroupSysId&apos;]" />
    <!--end user group membership-->
  </properties>

Objects

Here, <objects> refers to a set of objects. Each object has a name property that must match one of the names in task mappings.

If the object type name ends with square brackets [] the whole JSON payload is wrapped inside the brackets and is treated as an array. This way a single item array in JSON format is created.

Inside an object, there are two sub nodes: <objectDetails> and <objectProperties>.

objectDetails

ObjectDetails are used to provide details about how an object is treated. In contrast to the generic SOAP collector, instead of providing WSDL, you can provide requests XMLs directly. This possibility is provided because mijnCaress WSDL employs some uncommon conventions and cannot be automatically parsed correctly. You have two options to provide direct request:

  • Provide them directly in [operation]Method details.
  • Provide separate object detail, which stores the XML and reference it in the [operation]Method details. It is a recommended option.

The important thing is that request XMLs are usually long and do not fit the length limitations of the default object detail value. Due to that fact, it should be set in the largeDataField.

Properties for objectDetails

The mijnCaress Connector issues HTTP requests to the SOAP endpoints of the remote system. If the remote system has a custom SOAP implementation, you can use the objectDetails to define the custom properties in the mijnCaress connector:

  • AddMethod - this property specifies the method for properties that add objects.
  • UpdateMethod - this property specifies the method for properties that update objects.
  • DeleteMethod - this property specifies the method for properties that delete objects.

objectProperty

The objectProperty element is used to determine a set of properties for an object. Inside object properties, all reference properties should have an attribute referenceLookupProperty set to user or employee. For the mijnCaress connector, the default model has the following form:

      <objectProperties>
        <objectProperty>add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;Username&apos;]</objectProperty>
        <objectProperty referenceObject="employee">add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;EmployeeSysId&apos;]</objectProperty>
        <objectProperty>add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;Name&apos;]</objectProperty>
        <objectProperty>add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;Status&apos;]</objectProperty>
        <objectProperty>add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;Start&apos;]</objectProperty>
        <objectProperty>add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;End&apos;]</objectProperty>
        <objectProperty>add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;Password&apos;]</objectProperty>
        <objectProperty>add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;MustChangePass&apos;]</objectProperty>

        <objectProperty referenceObject="user">update:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;SysId&apos;]</objectProperty>
        <objectProperty>update:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;Name&apos;]</objectProperty>
        <objectProperty>update:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;Status&apos;]</objectProperty>
        <objectProperty>update:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;Start&apos;]</objectProperty>
        <objectProperty>update:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;End&apos;]</objectProperty>
        <objectProperty>update:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;MustChangePass&apos;]</objectProperty>

        <objectProperty referenceObject="user">delete:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;SysId&apos;]</objectProperty>
        <objectProperty>delete:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;Name&apos;]</objectProperty>
        <objectProperty>delete:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;Status&apos;]</objectProperty>
        <objectProperty>delete:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;Start&apos;]</objectProperty>
        <objectProperty>delete:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;End&apos;]</objectProperty>
        <objectProperty>delete:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;MustChangePass&apos;]</objectProperty>
      </objectProperties>
    </object>

    <object name="mijnCaressDisciplineAssignment">
      <objectDetails>
        <objectDetail name="AddMethod" value="SetUser"/>
        <objectDetail name="DeleteMethod" value="SetUser"/>
        <objectDetail name="SetUser">
          <largeDataField>
            <![CDATA[ <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <SOAP-ENV:Header xmlns:NS1="urn:libCCInvocableApplication" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
            <NS1:AuthHeader xsi:type="NS1:AuthHeader">
            <sSessionId xsi:type="xsd:string" />
            <sUserName xsi:type="xsd:string" />
            <sCheckDatabaseId xsi:type="xsd:string" />
            </NS1:AuthHeader>
            </SOAP-ENV:Header>
            <SOAP-ENV:Body xmlns:NS2="urn:InvokableUserManagement-IinvUserManagement" xmlns:NS3="urn:InvokableUserManagement" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
            <NS2:SetUser>
            <oSetUser href = "#2" />
            </NS2:SetUser>
            <NS3:TremSetUser id="2" xsi:type="NS3:TremSetUser">
            <SysId xsi:type="xsd:string" />
            <Username xsi:type="xsd:string" />
            <Name xsi:type="xsd:string" />
            <Start xsi:type="xsd:string" />
            <End xsi:type="xsd:string" />
            <Status xsi:type="xsd:string" />
            <AdUsername xsi:type="xsd:string" />
            <EmployeeSysId xsi:type="xsd:string" />
            <DisciplineSysId xsi:type="xsd:string" />
            <Password xsi:type="xsd:string" />
            <MustChangePass xsi:type="xsd:string" />
            </NS3:TremSetUser>
            </SOAP-ENV:Body>
            </SOAP-ENV:Envelope> ]]>
          </largeDataField>
        </objectDetail>
      </objectDetails>
      <objectProperties>
        <objectProperty referenceObject="user">add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;SysId&apos;]</objectProperty>
        <objectProperty>add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;DisciplineSysId&apos;]</objectProperty>
        <objectProperty>add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;MustChangePass&apos;]</objectProperty>

        <objectProperty referenceObject="user">delete:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;SysId&apos;]</objectProperty>
        <objectProperty>delete:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;DisciplineSysId&apos;]</objectProperty>
        <objectProperty>delete:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremSetUser&apos;]/*[local-name() = &apos;MustChangePass&apos;]</objectProperty>
      </objectProperties>
    </object>

    <object name="mijnCaressUserGroupMembership">
      <objectDetails>
        <objectDetail name="AddMethod">
          <largeDataField>
            <![CDATA[ <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <SOAP-ENV:Header xmlns:NS1="urn:libCCInvocableApplication" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
            <NS1:AuthHeader xsi:type="NS1:AuthHeader">
            <sSessionId xsi:type="xsd:string" />
            <sUserName xsi:type="xsd:string" />
            <sCheckDatabaseId xsi:type="xsd:string" />
            </NS1:AuthHeader>
            </SOAP-ENV:Header>
            <SOAP-ENV:Body xmlns:NS2="urn:InvokableUserManagement-IinvUserManagement" xmlns:NS3="urn:InvokableUserManagement" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
            <NS2:SetUsergroup>
            <oUserUserGroup href="#2" />
            </NS2:SetUsergroup>
            <NS3:TremUserUserGroup id="2" xsi:type="NS3:TremUserUserGroup">
            <UserSysId xsi:type="xsd:string" />
            <UsergroupSysId xsi:type="xsd:string" />
            </NS3:TremUserUserGroup>
            </SOAP-ENV:Body>
            </SOAP-ENV:Envelope> ]]>
          </largeDataField>
        </objectDetail>
        <objectDetail name="DeleteMethod">
          <largeDataField>
            <![CDATA[ <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <SOAP-ENV:Header xmlns:NS1="urn:libCCInvocableApplication" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
            <NS1:AuthHeader xsi:type="NS1:AuthHeader">
            <sSessionId xsi:type="xsd:string" />
            <sUserName xsi:type="xsd:string" />
            <sCheckDatabaseId xsi:type="xsd:string" />
            </NS1:AuthHeader>
            </SOAP-ENV:Header>
            <SOAP-ENV:Body xmlns:NS2="urn:InvokableUserManagement-IinvUserManagement" xmlns:NS3="urn:InvokableUserManagement" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
            <NS2:RemoveUsergroup>
            <oUserUserGroup href="#2" />
            </NS2:RemoveUsergroup>
            <NS3:TremUserUserGroup id="2" xsi:type="NS3:TremUserUserGroup">
            <UserSysId xsi:type="xsd:string" />
            <UsergroupSysId xsi:type="xsd:string" />
            </NS3:TremUserUserGroup>
            </SOAP-ENV:Body>
            </SOAP-ENV:Envelope> ]]>
          </largeDataField>
        </objectDetail>
      </objectDetails>
      <objectProperties>
        <objectProperty referenceObject="user">add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremUserUserGroup&apos;]/*[local-name() = &apos;UserSysId&apos;]</objectProperty>
        <objectProperty>add:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremUserUserGroup&apos;]/*[local-name() = &apos;UsergroupSysId&apos;]</objectProperty>

        <objectProperty referenceObject="user">delete:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremUserUserGroup&apos;]/*[local-name() = &apos;UserSysId&apos;]</objectProperty>
        <objectProperty>delete:/*[local-name() = &apos;Envelope&apos;]/*[local-name() = &apos;Body&apos;]/*[local-name() = &apos;TremUserUserGroup&apos;]/*[local-name() = &apos;UsergroupSysId&apos;]</objectProperty>
      </objectProperties>

Task mappings

The Omada mijnCaress Connectivity provides the following mappings out of the box.

mijnCaressUser - contains mappings of account assignments to mijnCaress user assignments

DestinationOperatorSource
Object IdMapObjectId
Object typeConstantUsers
OperationMapOperation
createUserUsernameMapROPE_AccountName
createUserEmployeeSysIdMapROPE_AccountName
createUserNameMapROPE_Identity
createUserStatusExpression!ROPE_Disabled ? "A" : "I"
createUserStartExpressionROPE_ValidFrom.ToString("yyyy-MM-dd")
createUserEndExpressionROPE_ValidTo.ToString("yyyy-MM-dd")
createUserPasswordConstantOmada12345
createUserMustChangePassConstantT
updateUserSysIdMapROPE_AccountName
updateUserNameMapROPE_Identity
updateUserStatusExpression!ROPE_Disabled ? "A" : "I"
updateUserStartExpressionROPE_ValidFrom.ToString("yyyy-MM-dd")
updateUserEndExpressionROPE_ValidTo.ToString("yyyy-MM-dd")
updateUserMustChangePassConstantF
deleteUserSysIdMapROPE_AccountName
deleteUserNameMapROPE_Identity
deleteUserStatusExpression!ROPE_Disabled ? "A" : "I"
deleteUserStartExpressionROPE_ValidFrom.ToString("yyyy-MM-dd")
deleteUserEndExpressionROPE_ValidTo.ToString("yyyy-MM-dd")
deleteUserMustChangePassConstantF

mijnCaressDisciplineAssignment - contains mappings of mjnCaress discipline assignments

DestinationOperatorSource
Object IdMapObjectId
Object typeConstantUsers
OperationMapOperation
createDisciplineAssignmentUserSysIdMapROPE_AccountName
createDisciplineAssignmentDisciplineSysIdExpressionROPE_ResourceCBK.Substring(ROPE_ResourceCBK.LastIndexOf("_") + 1).Replace("", "")
createUserMustChangePassConstantF
deleteUserSysIdMapROPE_AccountName
deleteDisciplineAssignmentDisciplineSysIdExpression""
deleteUserMustChangePassConstantF

mijnCaressUserGroupMembership (Functional) - contains mappings of mjnCaress Functional group assignments
mijnCaressUserGroupMembership (Technical) - contains mappings of mjnCaress Technical group assignments
mijnCaressUserGroupMembership (Location) - contains mappings of mjnCaress Location group assignments

DestinationOperatorSource
Object IdMapObjectId
Object typeConstantUsers
OperationMapOperation
createUserGroupMembershipUserSysIdMapROPE_AccountName
createUserGroupMembershipGroupSysIdExpressionROPE_ResourceCBK.Substring(ROPE_ResourceCBK.LastIndexOf("_") + 1).Replace("<r/>", "")
deleteUserGroupMembershipUserSysIdMapROPE_AccountName
deleteUserGroupMembershipGroupSysIdExpressionROPE_ResourceCBK.Substring(ROPE_ResourceCBK.LastIndexOf("_") + 1).Replace("<r/>", "")