Last modified on 3 June 2013, at 15:22

UBIK Studio Basics

Revision as of 15:22, 3 June 2013 by JKN (Talk | contribs)

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

UBIK® Studio

Prerequisites

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.
IC Attention.pngSetting these command line arguments might changes the expected behavior of a data model significantly!

Settings

UBIK® Studio settings
UBIK® Studio settings

Locate and click the menu Edit → Settings. 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 the instance on the SQL Server
DataSource The name of the SQL Server (specify a server via host name, UNC, IP, ...)
Language Set the desired database language in ISO639-1 syntax
User SQL Server user name
Password SQL Server password

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

Additional options are

Parameter Purpose
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

Database specific settings

Once successfully connected to a database, the menu item Edit → {database name} settings... becomes visible. As the name already states, these are settings that are specific to the very database you are connected to and stored there.

The following parameters can be read, respectively edited here

Parameter Purpose
File store mode readonly; UNC for a regular filesystem, Cloud for a cloud storage
Data path The UNC path to the root directory of the data storage for this database; only evaluated if File store mode is UNC
CloudStorageAccount The name of your storage account from your cloud service provider; only evaluated if File store mode is Cloud
CloudStorageKey The authorization key from your cloud service provider to access your cloud storage; only evaluated if File store mode is Cloud
Cloud container name The name of the root cloud container where files for this database will be placed; only evaluated if File store mode is Cloud
Language count readonly; The number of languages currently configured in UBIK®
Date format The date/time format to use in this database in ISO8601 syntax
Root-Metaclass for Metaproperties readonly; The MetaClass where new Metaproperties will derive from
Root-Metaclass for metaclasses readonly; The MetaClass where new MetaClass will derive from

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 Settings... - Opens the system settings dialog
{database name} settings... - Opens the specific settings dialog for the currently connected database; will only appear once you successfully connected to a database
Build Rebuild... F6 Assembles the entire customizing code and displays the result in the compiler 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 - Opens the Code and Workflow debugging 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 very bottom of the UBIK® Studio window displays a status strip, providing 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 Preview Purpose
Class Browser UI ClassBrowser.png Navigate through, create and delete MetaClasses and instances
Class Details UI ClassDetails.png Design MetaClasses in their details
Bulk Editor UI BulkEditor.png Create and edit multiple instances of a MetaClass in table style
Code Editor UI CodeEditor.png Implement MetaClass specific functionality using C#
Relation Editor UI RelationEditor.png Relate objects to each others and edit relational data
Object Explorer UI ObjectExplorer.png Display and edit all exposed properties of objects (list style)
Object Editor UI ObjectEditor.png Edit the property values of a single object
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 the source control and drop it on the header of the hosting tab of the target control
  • Release ListenTo by clicking the respective header and selecting the ListenTo: control name menu item
  • Reconnect to the last known ListenTo source (if applicable) by selecting the Reconnect to: menu item
  • Close a control by right clicking the tab header and selecting the Close menu item.
IC Hint square.pngDrag&Drop with the right mouse button to only set the context object, without connecting ListenTo!

User rights

As of now, UBIK® Studio doesn't feature a real user management system for designing data models. Although there is a distinction made between an admin and a non-admin user, with the very purpose of protecting system objects against unintended manipulation.

However, UBIK® fetches the current Windows user and creates the environment with this credentials, storing the login information on a Session object.

Admin mode

Right click on the user name in the status strip and select the menu item Admin mode to switch all active controls to Admin mode. As long as you are in admin mode, the user name in the status strip will appear red.

IC Attention.pngBe careful, manipulating system objects might results in instability of UBIK® Studio or other UBIK® components!

See also