UBIK Studio Manual
Contents
- 1 Connect to a Database
- 2 Create Metaclasses and Properties
- 3 Creating SelectiveList and SelectiveItem
- 4 Create References and Links
- 5 Create View
- 6 Rebuild
- 7 View Test Environment
- 8 Scopes and display on the Client
- 9 Release Metadefinitions
- 10 Create User
- 11 Create Workpackages and Tasks
- 12 Editors
Connect to a Database
Important: Database, Datasource, Password and User; Click Apply and OK; It is also possible to run Ubik Studio using WindowsAuthentication. To do this, the option in the "WindowsAuthentication" column must be set to "true" (in which case the username and password fields do not need to be filled in).
Create Metaclasses and Properties
To create a new metaclass, right-click on "NAMEDBASECLASS" -> "Derive new object". When the newly created metaclass is opened in an ObjectEditor, the properties of the metaclass can be edited. The name and description are mandatory fields, and it is recommended to write the name in uppercase letters. The namespace is optional, and there is also a checkbox for selecting multilanguage. To save the changes, first click in a new line and then select the floppy disk icon.
To add properties to a metaclass, CUSTOMMETAPROPERTIES are required. To access the CUSTOMMETAPROPERTY, switch to the Content area in the ClassBrowser. Then, drag Custom -> Main -> Base -> CUSTOMMETAPROPERTY into the BulkEditor. When creating a new property, first specify the name and description. Next, define the namespace and the data type.
To add the newly created properties to a metaclass, drag the corresponding metaclass into the ClassDetails Editor. Then, drag the desired properties from CUSTOMMETAPROPERTY into the metaclass.
Creating SelectiveList and SelectiveItem
To add a list to a property, you must first switch to the Content View [PF4.1]. Then, select Custom > List > SELECTIVELIST and drag it into a Bulk Editor (to access the Content View, switch to the "Content" area in the Class Browser – see screenshot). When creating the list, use the same data type as that of the corresponding metaproperty.
To create SelectiveItems, navigate to Custom > List > SELECTIVEITEM and drag SELECTIVEITEM into a BulkEditor.
To add SelectiveItems to a list, the previously created list must be opened in a RelationEditor. To do this, for example, drag Custom->List->SELECTIVELIST->Custom->ANLEITUNG into the RelationEditor. Then, drag the SelectiveItems from the BulkEditor into the corresponding list.
To add the list to the property, select the previously created list in the SELECTIVELIST column of CUSTOMMETAPROPERTY.
Create References and Links
To create a reference, navigate to Custom->Reference and drag Custom->Reference->REFERENCE into the BulkEditor (to access the content view, you must switch to the content area in the ClassBrowser). Then, specify the name, description, namespace, and TargetType. When creating a new reference—for example, REF_ANLEITUNG—the corresponding metaclass ANLEITUNG must be set as the TargetType.
To create link properties, drag CUSTOMMETAPROPERTY into a BulkEditor. Select "Guid" as the data type. Then, assign the previously created reference—for example, REF_ANLEITUNG—to the reference field.
The metaclass referenced by the link property must be dragged into a ClassDetails editor. Subsequently, the link property is assigned to the corresponding metaclass under MetaProperties.
Create View
To create ReferenceViewItems, drag Custom->View->REFERENCEVIEWITEM into a BulkEditor (To access the Content-View, switch to the Content area in the ClassBrowser).
Create a new instance of a ReferenceViewItem using the Bulk Editor. Specify the name of the reference property in the "Reference" cell. Select the "Reverse" checkbox if the ReferenceViewItem is to be evaluated in reverse (right-to-left) order. Assign a query instance of the ReferenceViewItem to the "Reversereftype" attribute—either by dragging and dropping a metaclass object onto the cell or by selecting the desired metaclass from the dialog box that appears when you double-click the field.
To add the ReferenceViewItem to the view, open the corresponding view in the RelationEditor: Custom->View->VIEW->CUSTOM->CUSTOM->TEMPLATE->VIE_01. The ReferenceViewItem can then be assigned to the view.
To correctly display data in hierarchical structures such as trees or nested lists, a view must retrieve the root objects (root elements) of the first level. This ensures that the view has the entry point for navigation and that child elements are referenced correctly. To create a RootObject, the MetaClass must be dragged into the BulkEditor. Then, an object can be created. This object must then be dragged onto the MetaClass in the Relation Editor.
Rebuild
To rebuild the customization, a rebuild process must be performed first. A rebuild recompiles all components of the UBIK data model, generates the required .NET assemblies and database objects, and ensures that all changes are applied consistently.
Once the rebuild is complete, first click the left icon (Syntax Check) and then the right icon (Compile and Release).
The program then restarts automatically.
View Test Environment
To test the Customizing, select the "View Test Environment" option from the Tools menu.
A window opens where the desired view can be selected from the drop-down menu. The root object should then be visible. A new object can be created by right-clicking on the object, though the triangle next to the name must be expanded first.
The properties can be edited in the newly opened window.
Scopes and display on the Client
To display the content in the client, open Custom->ACM->CONTEXT->CUSTOM->CUSTOM TEMPLATE. The context can then be viewed (to access the content view, switch to the Content pane in the ClassBrowser).
Ubik Studio offers an automated feature that helps when creating MetaClassScopes. To use it, drag the metaclasses onto the context. After dragging, a small window appears with the option "Add fitting Scope to Context," which you should select. The MetaClassScope configuration will then open. Here, you can change settings such as visibility or lock status. Once everything is configured, confirm with "OK." You can view this configuration in Custom->ACM->Scopes->METACLASSSCOPES (to access the content view, you must switch to the Content section in the ClassBrowser).
To ensure the object can be created later, the Default Context is dragged into the RelationEditor. There, the ContextScope is expanded using the plus symbol, and the Meta Class Scope is selected. Another window opens, allowing the "Creation enabled" option to be activated.
All objects/classes/tasks/etc. that should later be visible in the client must be included in the context. To edit the visibility of individual properties within the scopes, the Default Context is required in the RelationEditor. There, the ContextScope is expanded, the plus symbol next to the desired MetaClassScope is clicked to reveal the MetaProperties, and selecting a property opens a new window where visibility, lock status, priority, and sort order can be configured.
To create MetaClassScopes manually, the METACLASSSCOPE must be dragged into a Bulk Editor (CUSTOM -> ACM -> SCOPES -> METACLASSCOPE).
New MetaClassScopes can be created in the Bulk Editor. The name and description should be formatted as MCS_..., with the name being capitalized. The MetaClass from which the scope should be created is dragged into the MetaClass column.
As a final step, the properties are dragged from the open bulk editor of the MetaClass into the context opened by the relation editor (by clicking on the first column next to the desired names, the entire row can be selected and moved).
Release Metadefinitions
Select Tools from the menu bar and then open the ACM Manager.
After opening the dialog window, two context areas are displayed: "Context objects" and "Custom Context objects." Only the "Custom Context objects" area is relevant for the subsequent steps. Expand the "Custom Context objects" area until the desired context is visible, and select it with a single mouse click. Then, perform the following actions in the toolbar in the order specified: Evaluate Temporary Meta Definitions -> Clear Released Meta Definitions (this icon appears only after the context has been successfully rebuilt at least once) -> Release Meta Definitions. Ensure that the actions are performed sequentially and in the specified order.
Create User
Custom->Main->User->LOGIN is dragged into a BulkEditor. Subsequently, the name and description can be specified, with the LoginName being populated automatically once the name has been entered.
Create Workpackages and Tasks
Navigate the hierarchy to "WORKPACKAGES MRO workpackages." Right-click this item and select "Derive new Object" to create a new metaclass for a new type of work package [PF20.1][PF20.2]. The work package name can subsequently be adjusted in the ObjectEditor. The name should be entered in uppercase letters; the description field can be filled in as desired, and there is also an option to enable multilingual support. To create a new task, use "TASK MRO tasks." Again, right-click and select "Derive new object" to create the metaclass. The task type is determined by the data type; for example, a text task requires an additional value property of type "string," whereas a check task requires a value property of type "bool." This value property is then dragged from the CUSTOMMETAPROPERTIES onto the metaclass opened in the RelationEditor.
By deriving from the TASK MRO task, the task inherits the classification of the parent object. This classification determines the type assigned to the newly created task. You can view the required property in the Class Details; to do this, select the cube icon at the top. Then, open the "Task Classification Object"; color-coded markers (red and green) will indicate whether specific properties still need to be added.
Editors
Class Browser: Navigate through metaclasses and instances; create and delete them.
Class Details: Configure metaclass details; add or remove metaproperties and classifications.
Bulk Editor: Create and edit multiple instances of a metaclass in a tabular format.
Code Editor: Add small code snippets to any metaclass. For example: automatically generate a name based on today's date and the company name when a new batch is created.
Relation Editor: Link objects and edit relational data.
Object Explorer: View and edit all visible object properties (list view).
Object Editor: Edit the property values of a single object.
Workflow Editor: View, design, and execute custom workflows.
