Rules or Best Practices for Changing Default Types

During some tests we added a new mandatory property to the default types COLLECTION and DEFAULT_EXPERIMENT, which worked without problems. After some days we noticed that our user management was broken because the UserGroupMaintenanceTask was unable to create new collections and stopped working. Obviously it did not know about the new property and the creation failed.

Based on this, what is the recommendation for the default types that are shipped with openBIS:

  1. Don’t change them at all, just create new types. In this case the default types should be somehow marked as immutable?
  2. Just apply compatible changes. But what does this mean in detail? Is there a list of forbidden actions (like adding a mandatory property)?
  3. Don’t change some types that are also used internally. Is there a list of these types?

Thank you!

Best
Jörg

2 Likes

Hi Jörg,

at the moment, it is possible to add new fields to types provided by openBIS, but although openBIS allows it, they should not be made mandatory. This is what creates the problem.

In the next major release we will introduce internal types, which we currently miss and this creates problems. We will also introduce stricter rules on what can and cannot be done to existing types, and system will enforce certain behaviours.

We need to add this to our documentation.