UBIK 4++ (Dynamic Live Mode) creates an entity model on the database an entity model which is not human readable. Both, the creation of tables as well as the creation of columns uses an intern naming mechanism which is based on object ids and not on object names.To enable 3rd party systems system administrators as well as system administrators 3rd party systems to consume UBIK data using database mechanism , UBIK provides a mechanism which gives (read access) access to the UBIK data via Database Viewsdatabase views. The naming conventions used for the views as well as for the used columns are compatible to the naming conventions used prio in prior UBIK Versionsversions.
== Overview ==
The creation of the views must be enabled once for every UBIK Database database (project). After the mechanism was enabled the initial creation of the views must be triggered manually. Once this is done, the system takes care about keeping the Views views up to date (all changes in the data model will reflect in updates of the View Structures view structures just in time).If the System system runs into an unexpected situation it will change the status and will stop updating the Views to automaticallyupdate the views. A conflict must be solved manually by the administrator.
== Automatic Creation of Views ==
=== Configuration ===
The configuration is done using the System Settings Dialoguedialogue.You have to configure the following Settingssettings:
{| class="wikitable" | width = "50%"
! Name!! Description
|-
| View Creation Target || The target database instance in which the views get will be created. It cannot must not be the same instance like the current UBIK Instanceinstance. I suggest to have either one separat instance per UBIK Project project or one Instance for multiple projects.
|-
| View Creation Database Login || Database User which is used for creating the Viewsviews. If this setting is empty, the system reuses uses the same login credential information as for the current UBIK Project.
|-
| View Creation Database Password || Database User which is used for creating the Viewsviews. If this This setting is only used if the View Creation Database Login is not empty.
|-
| View Creation Database Use Windows Authentication|| Possibility to configure whether the current OS Login should be used when connecting to the View database Instance. Set this value to false, if you want to reuse the credentials information from the current UBIK Project.
|-
| View Creation Prefix|| Prefix for the current project which will be added to every single View Nameview name. The prefix must be a 3 character (no special characters) indicator for the current project. If you plan to have the views of multiple projects hosted in one Database database Instance, this value must be unique.
|-
|}
=== Enabling the View Creation ===
To enable the View Creation view creation you have to change the Setting to "Enabled".
{| class="wikitable" | width = "50%"
! Name!! Description
|-
| View Creation Status|| To enable the automatic View Creation view creation you have to set the Setting setting to "Enabled". "Disabled" will disable the mechanism. The "Error" indicates that there was an error during the creation and the mechanism has stopped working.
|-
|}
After the Setting setting is set to "Enabled" we recommend to restart UBIK.Studio (as Settings settings are read during the initialization of the Systemsystem).The initial creation of "all" Views views must be triggered using Custom Code custom code (e.g. using the "Debug View):
<source lang="csharp">
bool result = anyUbikObject.Environment.UBIKDataFactory().CreateAllViews();
=== Disabling the View Creation ===
To disable the View Creation view creation you have to change the Setting setting to "Disabled".
After the Setting setting is set to "Disabled" we recommend to restart UBIK.Studio (as Settings settings are read during the initialization of the Systemsystem).The removal of "all" Views views must be triggered using Custom Code custom code (e.g. using the "Debug View):
<source lang="csharp">
bool result = anyUbikObject.Environment.UBIKDataFactory().DropAllViews();
=== Resolving an Error in View Creation ===
If the setting has changed to "Error" the system indicates that there was an error during the creation of Viewsviews.You will find detail information about what has happened in the corresponding Exception exception a/o Error Logs. Please fix the source of the problem in the data structure before enabling the View Creationview creation.To re-enable the View Creation view creation we recommend to first, fully disable the feature (incl. DropAllViews) and then re-enable it (incl. CreateAllViews).