Jump to: navigation, search

Provide system definitions with a custom plugin


This tutorial explains how to provide any kind of preconfigured UBIK® system definitions using a custom plugin (or more specific: module).

General concept

When rolling out a UBIK® customizing into a (productive) environment, there is always the challenge regarding the transportation of the data model and basic data. The sustainable solution is to deliver versioned packages of system definitions in plugins, because that allows for easy deployment and upgrade, and for the direct application of state-of-the-art software development strategies for plugin development.

UBIK® plugins are detected when an Environment is initialized, and the user is prompted with a database upgrade if necessary. The technical maintenance of the database is automatic and allows for arbitrary adaptations. The plugin developer can decide whether to make meta definitions immutable (as system design objects in the System namespace) or further customizable by the user (as regular content). Custom scripts can be executed every time the Environment is connected or just during an upgrade.

Prerequisites

To understand the code, knowledge about the UBIK® ER-model and the plugin injection mechanism is required.

Instructions

[edit]

Big Picture

The Module implementation hosts a System Definition Provider, which in turn gives access to a set of versioned System Definitions. The latter can contain any kind of UBIK® data like MetaClasses, MetaProperties, instances of any type and scripts to execute when the package is installed or initialized.

Systemdefinitions2.drawio.png

See also