Jump to: navigation, search

Difference between revisions of "Class Details"


(Basics)
 
(16 intermediate revisions by 3 users not shown)
Line 1: Line 1:
==Purpose==
 
 
The Class Detail browser is designed to display and edit the details of {{UBIK}} [[MetaClass|MetaClasses]] in terms of its [[MetaProperty|MetaProperties]], [[Attribute|Attributes]] and [[Classification|Classifications]].
 
The Class Detail browser is designed to display and edit the details of {{UBIK}} [[MetaClass|MetaClasses]] in terms of its [[MetaProperty|MetaProperties]], [[Attribute|Attributes]] and [[Classification|Classifications]].
 +
 +
{{ControlInfoBox
 +
| title = Class Details
 +
| name = Class Details
 +
| internalname = CtrlClassDetailBrowser
 +
| image = [[File:UI_ClassDetails.png|220px]]
 +
| imagecaption = Class Details displaying MetaProperties
 +
| purpose = Edit details of MetaClasses
 +
| context = MetaClass
 +
| version = 2+
 +
}}
  
 
==Basics==
 
==Basics==
Line 23: Line 33:
 
===Drag & Drop===
 
===Drag & Drop===
 
The Class Details control is a source for Drag&Drop operations, any object can be dragged from here. It is also a target for Drag&Drop operations:  
 
The Class Details control is a source for Drag&Drop operations, any object can be dragged from here. It is also a target for Drag&Drop operations:  
* In MetaProperty view mode, MetaProperty objects can be dropped on the root node
+
* In MetaProperty view mode, MetaProperty objects can be dropped on the root node ([[Requirements_for_a_Metaproperty|Requirements]])
 
* In Classification view mode, other MetaClasses can be dropped on the root node
 
* In Classification view mode, other MetaClasses can be dropped on the root node
  
Line 29: Line 39:
 
{| class="wikitable" | width = "50%"
 
{| class="wikitable" | width = "50%"
 
|-
 
|-
! Control !! Purpose  
+
! Item !! Purpose  
 
|- align="left"
 
|- align="left"
 
| View Style || Indicates or changes the [[#View Style|View Style]] of the control; changing it will result in reloading of the control  
 
| View Style || Indicates or changes the [[#View Style|View Style]] of the control; changing it will result in reloading of the control  
 
|- align="left"
 
|- align="left"
| Navigate to context object || Attempts to [[Navigation|navigate]] to the current context MetaClass.
+
| Navigate to context object || Attempts to [[Navigation|navigate]] to the current context MetaClass
 
|- align="left"
 
|- align="left"
| Save || Saves the [[Relation Data|relation data]] object.
+
| Save || Saves the current context object
 
|- align="left"
 
|- align="left"
| Add|| Shows a picker to either add a new MetaProperty, or a new Classification to the current MetaClass, depending on the current View Style.
+
| Add|| Shows a picker to either add a new MetaProperty, or a new Classification to the current MetaClass, depending on the current View Style
 
|}
 
|}
  
Line 57: Line 67:
 
| Implement Classification|| Classification || Attempts to add all MetaProperties to the current MetaClass that are declared by this classification and not yet implemented
 
| Implement Classification|| Classification || Attempts to add all MetaProperties to the current MetaClass that are declared by this classification and not yet implemented
 
|- align="left"
 
|- align="left"
| Implement Property|| MetaProperty (of a Classification)|| Attempts to add the selected MetaProperty to the current MetaClass
+
| Implement Property|| MetaProperty (of a Classification)|| Attempts to add the selected MetaProperty to the current MetaClass ([[Requirements_for_a_Metaproperty|Requirements]]).
 
|}
 
|}
  
Line 69: Line 79:
 
In this view mode, the [[MetaProperty]] relation of the current context MetaClass will be evaluated. So expanding the root node will display all children of this relation, meaning every MetaProperty assigned to this MetaClass.
 
In this view mode, the [[MetaProperty]] relation of the current context MetaClass will be evaluated. So expanding the root node will display all children of this relation, meaning every MetaProperty assigned to this MetaClass.
  
Selecting a MetaProperty in the tree will bring up an [[Object Editor]] on the right side, allowing to edit specific [[Relation Data|data for the relation]] between this very MetaProperty and the current MetaClass, such as alternate ordering or an alternate description for this usage.
+
[[File:UI_ClassDetails_RelationData.png|220px|thumb|right|Class Details displaying RelationData]]
 +
Selecting a MetaProperty in the tree will bring up an [[Object Editor]] on the right side, allowing to edit specific [[Relation Data|data for the relation]] between this very MetaProperty and the current MetaClass, such as alternate ordering or an alternate description for this usage. The actual properties that are editable are depending on the configured relation data object, the most important ones are the following:
 +
 
 +
{| class="wikitable" | width = "50%"
 +
|-
 +
! Property !! Purpose
 +
|- align="left"
 +
| ''Sort order'' || An integer value that will be used for sorting; by setting this value you can control on which position the MetaProperty will appear at this MetaClass
 +
|- align="left"
 +
| ''Default value'' || Sets the [[MetaProperty#Default value|default value(s)]] for the MetaProperty at this MetaClass
 +
|- align="left"
 +
| ''Initial value'' || Sets the [[MetaProperty#Initial value|initial value(s)]] for this MetaProperty at this MetaClass
 +
|- align="left"
 +
| ''Description'' || Sets the description for the MetaProperty at this MetaClass
 +
|- align="left"
 +
| ''Changelog active'' || Activates the logging of all propertyvalue changes (Journal) for the selected MetaProperty on this Metaclass
 +
|}
 +
 
 +
 
 +
The Object Editor features an own Toolbar, its Save item will save the currently edited relation data object.
  
 
===Classification===
 
===Classification===
In this view mode, the [[Classification|classifications]] of the current context MetaClass will be evaluated. So expanding the root node will display all children of this relation, meaning every classification assigned to this MetaClass. Expanding a classification node will then show all the MetaProperties defined for this classification.
+
[[File:UI_ClassDetails_Classification.png|220px|thumb|right|Classification view mode]]
 +
In this view mode, the [[Entity_Data_Model#MetaClass_.26_Classification|classifications]] of the current context MetaClass will be evaluated. So expanding the root node will display all children of this relation, meaning every classification assigned to this MetaClass. Expanding a classification node will then show all the MetaProperties defined for this classification.
  
 
Classification nodes and their properties are color coded, where the different colors have the following meaning:
 
Classification nodes and their properties are color coded, where the different colors have the following meaning:
Line 93: Line 123:
  
 
==Other functionality==
 
==Other functionality==
 +
 +
===Additional information for MetaProperties===
 +
[[File:UI_ClassDetails_Rules.png|220px|thumb|right|MetaProperty with rules defined]]
 +
When expanding a MetaProperty node in this control, it will attempt to fetch additional information about the MetaProperty and display it as sub-nodes that can be used for navigation. In detail it will look if one of the following things is defined:
 +
* Selective list
 +
* Unit
 +
* Rules
  
 
===Editing name and description of an object===
 
===Editing name and description of an object===
Edit the label of any node (except Namespaces) using {{key press|F2}} and hit {{key press|Enter}} when finished. This will attempt to set the text left of the first blank to the Name (''NAME'')-property of the object, and the text right of the first blank to its Description (''DESCR'')-property.  
+
Edit the label of any node using {{key press|F2}} and hit {{key press|Enter}} when finished. This will attempt to set the text left of the first blank to the Name (''NAME'')-property of the object, and the text right of the first blank to its Description (''DESCR'')-property.  
 
If the object doesn't posses the ''NAME'' or the ''DESCR'' property or it is locked for whatever reason, editing will not be possible.
 
If the object doesn't posses the ''NAME'' or the ''DESCR'' property or it is locked for whatever reason, editing will not be possible.
  
 
+
[[Category:Studio controls|Class Details]]
 
+
[[Category:UBIK Studio Controls]]
+

Latest revision as of 11:32, 21 July 2015

The Class Detail browser is designed to display and edit the details of UBIK® MetaClasses in terms of its MetaProperties, Attributes and Classifications.

Class Details
UI ClassDetails.png
Class Details displaying MetaProperties
Name Class Details
Internal Name CtrlClassDetailBrowser
Purpose Edit details of MetaClasses
Context object MetaClass
Version 2+

Basics

Appearance

Icons

The control uses the very same icons as the Class Browser.

Tooltips

The control implements the very same Tooltip logic as the Class Browser.

Node styles

The control implements the very same Tooltip logic as the Class Browser.

Node texts

The nodes will always display the string representation of the respective object, which is by default

  • Name Description for MetaClasses
  • Description (Name) for Content objects

However, as this is something that can be customized, the nodes might display something different.

Drag & Drop

The Class Details control is a source for Drag&Drop operations, any object can be dragged from here. It is also a target for Drag&Drop operations:

  • In MetaProperty view mode, MetaProperty objects can be dropped on the root node (Requirements)
  • In Classification view mode, other MetaClasses can be dropped on the root node

Toolbar

Item Purpose
View Style Indicates or changes the View Style of the control; changing it will result in reloading of the control
Navigate to context object Attempts to navigate to the current context MetaClass
Save Saves the current context object
Add Shows a picker to either add a new MetaProperty, or a new Classification to the current MetaClass, depending on the current View Style

Context menu

Clicking a node with the right mouse button will bring up a standard context menu for each node, except namespaces. Depending on the view style there will be different options, however, all nodes will at least show the following menu items:

Menu Object Type Purpose
Remove MetaProperty Removes the selected MetaProperty from the 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 will only be removed from the database after a Save
Implement Classification Classification Attempts to add all MetaProperties to the current MetaClass that are declared by this classification and not yet implemented
Implement Property MetaProperty (of a Classification) Attempts to add the selected MetaProperty to the current MetaClass (Requirements).

View Styles

The Class Details control has four different View Styles, each of them providing different views and functionality.

Attributes

This view mode has no functionality yet.

MetaProperties

In this view mode, the MetaProperty relation of the current context MetaClass will be evaluated. So expanding the root node will display all children of this relation, meaning every MetaProperty assigned to this MetaClass.

Class Details displaying RelationData

Selecting a MetaProperty in the tree will bring up an Object Editor on the right side, allowing to edit specific data for the relation between this very MetaProperty and the current MetaClass, such as alternate ordering or an alternate description for this usage. The actual properties that are editable are depending on the configured relation data object, the most important ones are the following:

Property Purpose
Sort order An integer value that will be used for sorting; by setting this value you can control on which position the MetaProperty will appear at this MetaClass
Default value Sets the default value(s) for the MetaProperty at this MetaClass
Initial value Sets the initial value(s) for this MetaProperty at this MetaClass
Description Sets the description for the MetaProperty at this MetaClass
Changelog active Activates the logging of all propertyvalue changes (Journal) for the selected MetaProperty on this Metaclass


The Object Editor features an own Toolbar, its Save item will save the currently edited relation data object.

Classification

Classification view mode

In this view mode, the classifications of the current context MetaClass will be evaluated. So expanding the root node will display all children of this relation, meaning every classification assigned to this MetaClass. Expanding a classification node will then show all the MetaProperties defined for this classification.

Classification nodes and their properties are color coded, where the different colors have the following meaning:

Color Object Type Meaning
Red Classification The current MetaClass doesn't implement at least one of the classifications MetaProperties
Red MetaProperty (of a Classification) The current MetaProperty is not yet implemented by the current MetaClass
Green Classification The current MetaClass implements all MetaProperties of this classification
Green MetaProperty (of a Classification) The current MetaClass already implements this MetaProperty

Everything

This view mode combines the three other view modes, thus provides a complete overview on the MetaClass details.

Other functionality

Additional information for MetaProperties

MetaProperty with rules defined

When expanding a MetaProperty node in this control, it will attempt to fetch additional information about the MetaProperty and display it as sub-nodes that can be used for navigation. In detail it will look if one of the following things is defined:

  • Selective list
  • Unit
  • Rules

Editing name and description of an object

Edit the label of any node using F2 and hit Enter when finished. This will attempt to set the text left of the first blank to the Name (NAME)-property of the object, and the text right of the first blank to its Description (DESCR)-property. If the object doesn't posses the NAME or the DESCR property or it is locked for whatever reason, editing will not be possible.