Purpose

The Class Browser is designed to display and edit UBIK® objects in a hierarchical manner.

It is also meant to be the superior of all other controls and the only one where at least one instance of it is actually mandatory in a UBIK Studio session. So it can be considered as the root of object manipulation in UBIK.

In addition, it makes use of Namespaces and uses them for structuring the displayed objects even further.

class-browser.png

Basics

Appearance

Icons

Depending on the current view style, the control displays different types of UBIK® classes.

Each major class type is by default associated with a unique icon in order to provide a visual distinction of the class types. However, these icons can be replaced by more specific ones during the customization process, which means that it is not a reliable indicator whether an object is of a certain type.

The coloring of an icon indicates another object status:

Tooltips

Hovering with the mouse over a tree node will bring up a tooltip showing:

Depending on the actual type of the object, additional information may be presented in the tooltip.

Node Styles

Node Texts

The nodes always display the string representation of the respective object.

By default:

MetaClasses

Name Description

Content Objects

Description (Name)

As this behavior can be customized, nodes may display different text.

Drag & Drop

The Class Browser is a source for drag-and-drop operations.

Any object, with the exception of namespaces, can be dragged from here.

Toolbar

Item Purpose
View Style Indicates or changes the view style of the control. Changing it reloads the control.
Search Allows a visual search through the labels of the tree nodes. Found objects are highlighted accordingly.

Context Menu

class-browser-context-menu.png

Right-clicking a node opens a standard context menu for each node except namespaces.

Depending on the selected view style, additional options may be available. All nodes provide at least the following menu items:

Menu Item Object Type Purpose
Derive New Object MetaClass Creates a new derivative of the context MetaClass.
Navigate To All Opens the navigation menu.
Save All Saves changes on the object to the database.
Delete All Deletes the object from cache. It is only removed from the database after a save operation.
Start Workflow... All Provides all workflows assigned to this object, categorized. Clicking an item starts the workflow and passes the current context object.
Switch Branch To... MetaClass Opens a submenu to transfer a MetaClass, including all sub-objects, into Live Mode (Released) or back into Sandbox Mode. This option is only available for administrators in the Release State view style. System objects and objects already in the target mode are not affected.
Switch to Sandbox Mode / Live Mode MetaClass Transfers the MetaClass into Live Mode (Released) or back into Sandbox Mode. This option is only available for administrators in the Release State view style.

View Styles

class-browser-view-styles.png

The Class Browser has three different view styles, each providing different views and functionality.

Hierarchical

In this view mode, the Derivates relation from every MetaClass deriving directly or indirectly from BaseClass is evaluated.

This is also the view style where new MetaClasses should be created by deriving from existing ones.

Inheritance

In this view mode, the Inheritance relation of all MetaClasses is evaluated.

Expanding a node displays its inheritance owner below it, which implies that there can only ever be exactly one node below another in this view.

Content

In this view mode, the Instances of all MetaClasses are evaluated.

Other Functionality

Editing Name and Description of an Object

Edit the label of any node except namespaces using F2 and press Enter when finished.

The text left of the first blank is assigned to the Name property (NAME) of the object, while the text right of the first blank is assigned to its Description property (DESCR).

If the object does not possess the NAME or DESCR property, or if it is locked, editing is not possible.

Bulk Editing Namespaces

Edit the label of a namespace node using F2 and press Enter when finished.

This attempts to set the namespace property (NAMESPACE) of all direct child objects (first level only) to the new value.