User Sync Field

No UI

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.

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

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