|
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.
3. Creating SelectiveList and SelectiveItem
A SelectiveList provides a predefined list of selectable values that users can choose from instead of entering free text. Each individual entry in this list is represented as a SelectiveItem.
To add a list to a property, you must first switch to the Content View. Then, select Custom > List > SELECTIVELIST and drag it into a Bulk Editor (to access the Content View, switch to the "Content View" 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.
4. Create References and Links
References define which object types a connection (link) may point to, while links, implemented as a property of type Guid, actually establish this connection between two instances. Both elements are required to model directed relationships between objects within the UBIK® data model, e.g. to point from one object to another without needing a fixed parent-child structure.
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.
A View defines a hierarchical display of objects, where the associated ViewItems determine how hierarchy levels are built starting from the View`s root objects.
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.
6. Rebuild
A Rebuild ccompiles the modified customizing (MetaClasses, MetaProperties and associated custom code) into a new assembly, so that the changes made take effect in UBIK Studio and on the UBIK server.
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.
The View Test Environment allows a configured View to be tested directly in UBIK Studio, to verify that the defined root objects and ViewItems build the desired hierarchy correctly before the View is used in production.
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.
8. Scopes and display in the Client
Scopes define which MetaClasses, Properties, and queries are published to the mobile UBIK® Client, thereby determining which objects and information are actually displayed to the user there.
To display the content in the client, navigate to Custom -> ACM -> CONTEXT -> CUSTOM -> CUSTOM TEMPLATE. The context can then be inspected (to access the Content view, switch to the Content section in the Class Browser). UBIK Studio provides an automatism that assists in creating MetaClassScopes: to use it, drag the desired MetaClass onto the Context. After dropping it, a small window appears with the option "Add fitting Scope to Context", which should be selected.
Danach öffnet sich die MetaClassScope – Configuration. Dort kann z.B. die Visibility oder der Lockstatus verändert werden. Wenn alles eingestellt ist, mit „OK" bestätigen. Diesen kann man in Custom->ACM->Scopes->METACLASSSCOPES einsehen.
To make the object creatable later on, the Default Context is dragged into the Relation Editor. There, the ContextScope is expanded via the plus icon, and the MetaClassScope is selected. This opens another window in which the "Creation enabled" option can be activated.
All objects/classes/tasks/etc. that should later be visible in the client must be contained within the Context.
To edit the visibility of individual properties within the Scopes, the Default Context is required in the Relation Editor. There, the ContextScope is expanded, then the plus icon next to the desired MetaClassScope is opened to reveal the MetaProperties. Selecting a property opens a new window in which the visibility, lock status, priority, and sort order can be configured.
9. Release Metadefinitions
Only after releasing the Metadefinitions are changes to the Metamodel — such as newly created MetaClasses, MetaProperties, or Scopes — published from Sandbox mode and thereby actually made available to the client and other Studio instances.
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.
10. 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.
11. Create Workpackages and Tasks
Workpackages and Tasks are the MRO (Maintenance, Repair and Operations) objects used to structure work to be carried out: a Workpackage groups the individual Tasks through which users report progress, results, and completion of work in the UBIK® client.
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 Workpackage. The Workpackage 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 Texttask 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.
12. Editors
| Editor |
Description
|
| 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.
|
|