Jump to: navigation, search

Difference between revisions of "UBIK Studio Basics"


(Menu and toolbar)
Line 10: Line 10:
 
In the options you can configure your database connection by the following parameters
 
In the options you can configure your database connection by the following parameters
  
{| class="wikitable"
+
{| class="wikitable" | width = "50%"
 
|-
 
|-
 
! Parameter!! Purpose
 
! Parameter!! Purpose
Line 32: Line 32:
 
Additional options are
 
Additional options are
  
{| class="wikitable"
+
{| class="wikitable" | width = "50%"
 
|-
 
|-
 
! Parameter!! Purpose
 
! Parameter!! Purpose
Line 48: Line 48:
 
The following arguments can be passed to and will be recognized by the UBIK.Studio.exe:
 
The following arguments can be passed to and will be recognized by the UBIK.Studio.exe:
  
{| class="wikitable"
+
{| class="wikitable" | width = "50%"
 
|-
 
|-
 
! Parameter!! Purpose
 
! Parameter!! Purpose
Line 65: Line 65:
 
The top area of {{UBIK}} Studio features a menu strip:
 
The top area of {{UBIK}} Studio features a menu strip:
  
{| class="wikitable" | width = "70%"
+
{| class="wikitable" | width = "50%"
 
|-
 
|-
 
! Menu!!Menu item!!Shortcut!! Purpose
 
! Menu!!Menu item!!Shortcut!! Purpose
Line 106: Line 106:
 
The status strip displays the following information, from left to right:
 
The status strip displays the following information, from left to right:
  
{| class="wikitable"
+
{| class="wikitable" | width = "50%"
 
|-
 
|-
 
! Initial value!! Purpose
 
! Initial value!! Purpose
Line 134: Line 134:
 
[[File:UI_UBIKControlsOverview.png|thumb|220px|upright|alt={{UBIK}} Studio controls|{{UBIK}} Studio controls]]
 
[[File:UI_UBIKControlsOverview.png|thumb|220px|upright|alt={{UBIK}} Studio controls|{{UBIK}} Studio controls]]
  
{| class="wikitable"
+
{| class="wikitable" | width = "50%"
 
|-
 
|-
 
! Control !! Purpose
 
! Control !! Purpose
Line 166: Line 166:
 
=== Editing objects in general ===
 
=== Editing objects in general ===
 
Basically there are various ways to edit objects in the {{UBIK}} database, each applicable for both, meta- and content objects. Use the following controls to edit
 
Basically there are various ways to edit objects in the {{UBIK}} database, each applicable for both, meta- and content objects. Use the following controls to edit
{| class="wikitable"
+
{| class="wikitable" | width = "50%"
 
|-
 
|-
 
! Property !! Control
 
! Property !! Control

Revision as of 16:02, 11 March 2013

UBIK® Studio is the server application and administrative tool for creating and modifying UBIK® object models. Transfer your entitiy-relationship-model into UBIK® MetaClasses and MetaProperties and build up necessary relations. It is also the instrument of your choice to manage instances of MetaClasses, edit their property values and create actual relations between instance objects. This section will provide you with more information on the user interface.

File:METACLASS.png
UBIK® metaclass
File:INSTANCE.png
UBIK® instance

Prerequisites

Options

UBIK® Studio settings
UBIK® Studio settings

Locate and click the menu Edit → Options. Press Apply or OK when you're finished changing the settings, or Cancel if you don't want your changes to be saved. The settings are user-specific and will be stored in your local Windows user profile.

In the options you can configure your database connection by the following parameters

Parameter Purpose
AutoConnect If set to true, the system will attempt to automatically connect to the configured database on start up
DataBase The name of your SQL Server
DataSource SQL server instance (specify a server via host name, UNC, IP, ...)
Language Set the desired database language in ISO639-1 syntax
User SQL user name
Password SQL user password

Take care that the specified SQL user has appropriate permissions on the database.

Additional options are

Parameter Purpose
LiveMode Use the relational database structure (true) or the Sandbox structure (false)
RecordLifeTime Set how long records are valid before they will be requeried for changes by the kernel; -1 to turn off
AutoSaveTime Set how often UBIK® Studio should save all unsaved objects automatically, in minutes; -1 to turn off

Command line arguments

The following arguments can be passed to and will be recognized by the UBIK.Studio.exe:

Parameter Purpose
-NOCUSTOM Don't attempt to load the customized object code
-NOCUSTOMUI Don't attempt to load the customized UI elements
-CUSTOMVERSION:version Attempt to load a specific deployed version of the customizing instead of the currently released one. Use this option if you want to test a specific customizing, without releasing it to all users.

Working with UBIK® Studio

Basic UI elements

Menu and toolbar

The top area of UBIK® Studio features a menu strip:

Menu Menu item Shortcut Purpose
File New Ctrl+N No purpose yet
Open Database - Clicking the item itself will attempt to open the last configured database connection, its sub menu items will show the most recently used connections
Clear recent list - Clears the list of recently used database connections
Save All Ctrl+S Saves all unsaved objects of the current session to the database
Exit - Closes UBIK® Studio
Edit Options... - Opens the settings dialog
Build Rebuild... F6 Assembles the entire customizing code and display the result in a preview window
Rebuild and download... Ctrl+F6 Assembles the entire customizing code and attempts to deploy it according to the current database settings
Tools Customize - No purpose yet
View Test Environment... - Opens the View Test Environment window
Interface Manager... - Opens the Interface Manager window
Who-Bert, the debugging opossum... - Opens the Who-Bert window
View New Working Window Ctrl+W Opens a new working window to host additional controls
Unsaved Objects Hierarchy Ctrl+U Opens a window showing all currently changed, yet unsaved objects in a hierarchical style
Help UBIK Wiki - Opens the UBIK® Wiki, meaning the root of this document
UBIK Class Documentation - Opens the help file with the UBIK® Class Documentation

Status strip

The status strip displays the following information, from left to right:

Initial value Purpose
DB Current database: once connected, it will show the connection in the format Instance@Server
NOT INITIALIZED Current Customizing: when successfully loaded, it will display the version information of the instantiated customizing assembly, -1.-1.-1 if loading failed
CULTURE Current language and culture in ISO639-1 format
SESSION Displays the name of the Login of the current Session; Right click on this item to switch into Admin mode

Working area and controls

UBIK® Studio main window
UBIK® Studio main window

The main window of UBIK® Studio is split into 3 sections, where each of the 3 areas can hold an arbitrary amount of controls. The arrangement of the controls is user specific and can be saved in the user's profile. In addition to the predefined sections, the user interface can be extended with working windows, where each working window can again hold any amount of controls:

View → New Working Window or Ctrl+W

However, such working windows are considered temporary and are therefore not made persistent when the layout is saved.

Using and connecting controls

Each control provides different functionality for object creation/modification. Clicking the header of an empty tab strip in one of these areas with the left mouse button will bring up a context menu, that allows you to create a new tab page hosting one of the following controls:


UBIK® Studio controls
UBIK® Studio controls
Control Purpose
Class Browser Navigate through the MetaClasses and instances
Class Details Design MetaClasses
Bulk Editor Create and edit instances
Code Editor Implement customer specific functionality
Relation Editor Relate objects and edit relational data
Object Explorer Display and edit all exposed properties of objects (list style)
Object Editor Graphical editor for changing object properties
Workflow Designer Design and assign customer specific workflows


All controls in the UBIK® working area offer the following interaction functionality:

  • Set a control as ListenTo source of another control by dragging an object from it with the left mouse button and dropping it to the header of the hosting tab of the target control
  • Perform the same procedure with the right mouse button to only set the context object of the target control, but not its ListenTo source
  • Release ListenTo by clicking the respective header and selecting the ListenTo: control name menu item
  • Reconnect to the last ListenTo source by selecting the Reconnect to: control name menu item
  • Close a control by right clicking the tab header and selecting the Close menu item.


Editing objects in general

Basically there are various ways to edit objects in the UBIK® database, each applicable for both, meta- and content objects. Use the following controls to edit

Property Control
Basic properties Object Editor, Object Explorer, Content Editor
Relational data Relation Editor
MetaClass details Class Details
Events / object methods Code Editor

All controls require a similar workflow

  1. Open the control
  2. Set the object to be edited to the control via dragging the object and dropping it onto the header of the control’s tab
  3. The corresponding edit functionality will be available then

Creating and editing instances

MetaClasses

Create new MetaClass

  1. Create a new MetaClass via Derive new object from the context menu
  2. Open the control Object Editor
  3. Set the newly created MetaClass to the control
  4. Set name, description and namespace
  5. Save the changes

Technical implementation

The system creates a new instance of “CUSTOMMETACLASS” and sets the “INHERIT” property to the MetaClass the context menu was opened at. New derivates can be created for any system MetaClasss as “BASECLASS”, “REFERENCE”, “SELECTIVELIST”, … etc.


Inheritance


Classification


Link to Extended UBIK Metaclasses for Data Modelling

MetaProperties

Create new MetaProperty

A new MetaProperty can be created and automatically assigned to a MetaClass via the “Create new MetaProperty ” workflow. This workflow guides the user through the creation and configuration procedure of a MetaProperty and relates it to the selected MetaClass .

  1. Start Workflow “System / Create new MetaProperty ” from the context menu
  2. Set at least name, description and data type
  3. Change the MetaProperty ’s category if necessary
  4. Save the changes
  5. Optional configuration:
- Reference
- Selective list
- Unit item
- Format
- Validation flag
- Number of index keys
- Default values
- Initial values

Technical implementation

Without the workflow the user has to complete the following steps:

Step 1: Create new MetaProperty instance

  1. Navigate to the MetaClass “CUSTOMMETAPROPERTY”
  2. Create a new instance
  3. Set at least name, description and data type
  4. Change the MetaProperty’s category if necessary
  5. Save the changes
  6. Optional configuration:
- Reference
- Selective list
- Unit item
- Format
- Validation flag
- Number of index keys
- Default values
- Initial values

Step 2: Relate the instance of MetaProperty to a MetaClass

  1. Open the control “Class Details”
  2. Set the designated MetaClass to the control
  3. Add the MetaProperty either by dragging and dropping the MetaProperty's instance onto the MetaClass or by clicking the Add MetaProperty button button in the menu
  4. By clicking on the Add MetaProperty button button the user has to navigate through the hierarchy to the appropriate MetaProperty

Settings

NEEDSVALIDATION

  • explizite Speicherung des Validierungszeitstempels
  • zB Verwendung am Client: der Wert dieser Eigenschaft muss am Client validiert, dh. zumindest einmal angeklickt, werden. Bei Verwendung der CLS_TASK Klassifizierung wird dieses Objekt als Finished gekennzeichnet, sobald ALLE solch konfigurierten MetaEigenschaften validiert sind.