Portability of user IDs
The masterdata.xml file allows you to add your own custom definitions for master data to projects and transfer to other systems. This does not work for users and user groups until version 2017.4 because entries are identified by their ID. For the versions 2017.5 - 2019.1 there is a fix that preserves a range of IDs that can be used on different systems. This article explains how this fix works
Target groups
Solution developers
Partners
Context
The transfer of XML definitions for user and user group entries is a special case: The IDs of the entries cannot be used to identify the entries on different systems.
For the versions 2017.5 - 2019.1 there is a fix that preserves a range of IDs that can be used on different systems.
Since version 2019.2 censhare uses the login name to identify the entries on different systems.
Prerequisites
Administrator permissions
Access to the censhare Admin Client
SSH access to the file system of censhare Server. Minimal access is required to the "censhare-Server" and "censhare-Custom" directories.
A common understanding of the configuration of the censhare Server, especially the meaning, usage, and dependencies of the definitions in the Master data tables.
Introduction
User and user group entries are important master data. Until version 2017.4 it was not possible to use the masterdata.xml to transfer entries to other censhare systems. Users are identified by their ID on a censhare system. The IDs are created sequentially when a new user entry is created. Due to that, it is not possible to guarantee that a user has the same ID on different systems. The ID cannot be used to identify the same user on different systems.
With version 2019.2 censhare uses the login name of users and user groups to identify entries on other systems during the import of the masterdata.xml. The ID of the users and user groups is still used to identify the entries themselves on a system.
There is a fix that allows using a small range of IDs on different systems. User and user group entries with one of these IDs can be transferred to other systems. This then allows to reference them in other definitions like the default workflow target for a workflow step.
Availability
The fix is available for:
2017.5.11 or higher
2018.1.6 or higher
2018.2.4 or higher
2018.3.0 or higher
2019.1.0 or higher
The solution
The user ID fix allows using a limited set of IDs that are preserved when an XML definition for a user or user group is transferred to another system. The censhare Server uses only IDs that are 100 or higher:
If a user is created in the system, it will get an ID that is 100 or higher.
If a user is imported via a masterdata.xml, the ID is preserved if it is lower than 100.
ID 1 is excluded: It is used for the system user.
There are 98 IDs that can be used for user or user groups.
Steps
Export the user/user group
Edit user XML data and set ID of the entry to value < 100.
Add the entry to the masterdata.xml of the source system.
Synchronize the masterdata.xml file on the source system.
Transfer the masterdata.xml file to the target system.
Synchronize the masterdata.xml also on the target system.
Result
You understand the problem of using IDs for the import of user and user group definitions via masterdata.xml on other systems. You know that there is a fix that allows you a certain amount of users and user groups on different systems. You know how to apply this fix. You also know that there is a general solution for versions since 2019.2.