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

Note: Please use the recommendations described in this article with care. They should only be carried out by experienced partners. Advanced knowledge is required: A common understanding of the configuration of the censhare Server, especially the meaning, usage, and dependencies of the definitions in the Master data tables.

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.

As there is only a limited number of IDs, it does not make sense to use this fix for user definition. It is more useful to preserve these IDs for user groups like "Marketing". User groups then can be then set as the standard target for a workflow step.
The import for a user/user group fails if an entry with a different ID but the same login name exists on the target system. There cannot be two different entries in the party table of the database that have the same login name.

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.