Initial object guidelines

Last modified 11 Dec 2025 19:18 +01:00

Initial objects are set of objects that is imported to midPoint during the initial setup (installation). They are located in doc/config/initial-objects directory in distribution zip file.

Authoritative source of these objects is located in midpoint git repository in`repo/system-init/src/main/resources/initial-objects`. This folder is copied before release to config/initial-objects folder.

List of rules for changing initial objects:

  • Changes have to be done in repo/system-init/src/main/resources/initial-objects folder

  • Changes and their impact have to be described in release notes (release-notes.adoc)

  • Don’t change existing container IDs unless absolutely necessary (e.g. to fix a bug)

    • This is to simplify updating objects in existing installations, so that computed differences between objects will not contain phantom changes.

  • For new objects

    • OID must be valid UUID, randomly generated

    • OID with enum key must be also added to SystemObjectsType enumeration in XSD schema located in infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd in midpoint git repository.

    • File name should be prepended with a number in a form #-file-name.xml, e.g. (710-some-system-builtin-object.xml). The reason is to clearly distinguish the order in which they are imported.

      Technically, they are always imported in alphabetical order, but for us humans, it’s most likely easier to sort things by numbers.
Was this page helpful?
YES NO
Thanks for your feedback