![No UI](https://img.shields.io/static/v1?label=UI&message=none&color=inactive) When a new user is created, a node of the same name is created in a configurable root node. This can then be used in an information field such as "responsible user" (because there are only node-referencing, but no user-referencing information fields). When a user is deleted, the existing node in the root node will be moved to the archive node (if it exists). The Task "Initial User Sync" creates nodes of existing users in the root node. The Task "Initial Deactivated User Sync" moves a) existing nodes of deactivated users from the root node to the archive node and b) existing nodes of reactivated users from the archive node to the root node. [MINITOC] ## Properties To be configured in *{home}/appserver/conf/custom.properties*. ##### userSyncField.license > type: String, **required: yes**, default: - Provided by brix (product: userSyncField) ##### userSyncField.rootNodeId > type: long, **required: yes**, default: - The ID of the node beneath which the new node will be created. ##### userSyncField.appendMiddleName > type: boolean, required: no, default: true Whether to include the user's middle name in the node name. ##### userSyncField.userIdToNodeInfofieldId > type: long, required: no, default: - Whether to set an information field value on the created node to the ID of the corresponding user. Useful to then consume the information with another extension, e.g. [AssetOrder](/celum_extensions/asset_order) ##### userSyncField.archiveNodeId > type: long, required: no, default: - The ID of the node where nodes of deleted users are moved to. If not defined, nothing happens. ##### userSyncField.onlyProvisioned > type: boolean, required: no, default: false If set to true, only users that are provisioned by an identity provider (e.g. AD, SCIM) are synchronised. ##### userSyncField.syncableGroups > type: list of long (comma separated), required: no, default: - If onlyProvisioned is true, users in syncableGroups are synchronised regardless of whether they are provisioned or not. If onlyProvisioned is false and syncableGroups are defined, only users in syncableGroups are synchronised. ##### userSyncField.deactivationSyncCronExpression > type: quartz-expression, required: no, default: 0 0 1 * * ? Task to archive node names that belong to users that have been deactivated. ##### userSyncField.roleId > type: long, required: no, default: - When configured, assigns this role to a user's node upon creation and disables permission inheritance. The intent is that only the user himself can see "his" node, in a scenario where userSyncField is used for "personal collections" rather than its original use case of facilitating user referenceable information fields. >>>>>> The IDs of the roles aren't displayed anywhere in the UI. The best way seems to be to export the roles as an XML in the CMA and look for the IDs there. ## Compatibility Matrix | User Sync Field | CELUM (min. version) | | --------------- | ------------------------- | | 1.0 | 5.12.4 | | 1.1 | 5.13.3 | | 1.2 | 6.4.0 | | 1.3 - 1.4 | 6.4.0 (tested up to 6.8) | | 1.5 | 6.4.0 (tested up to 6.11) | | 1.6 | 6.4.0 (tested up to 6.12) | ## Release Notes #### 1.0.0 * Initial Version #### 1.1 * Update SDK level to 5.13.3 (in order to use async subscribe) #### 1.2 * Updated SDK to 6.4, added userIdToNodeInfofieldId #### 1.3 > Release: 2020-12-10 * Added archiveNodeId * Added userSyncTask and userSyncDeacTask #### 1.4 > Release: 2021-02-10 * Added findById if userIdToNodeInfofieldId is set and node has userID * Added CacheLoader #### 1.5 > Release: 2022-03-16 * Added onlyProvisioned and syncableGroups #### 1.6 > Release: 2022-07-13 * Added roleId