Jump to: navigation, search

MetaProperty


Revision as of 10:30, 27 March 2015 by MHM (Talk | contribs) (Needs Validation)

In UBIK®, a Metaproperty describes a single feature of a certain Metaclass. A Metaproperty will never hold own values, but it serves as a definition for a resulting BaseProperty on a derived ContentClass.

For enhanced reuse, MetaProperties can be organized in a Pool and linked to many MetaClasses, using the Systemrelation MetaProperty

Data Types

A MetaProperty needs to have a data type that determines which kind of data should be stored in it. The following data types are currently supported by UBIK®:

Undefined

Default value; will result in an error when attempting to set values.

Boolean

A boolean value that can be either True or false

ByteStream

A serialized stream of bytes, non human readable.

Source Code

A compressed text value, typically used to store texts with lots of white spaces and formatting information, such as source code.

Date/Time

Date and time in a combined value, where the actual format is depending on the cultural/regional settings of the machine.

Floating point

Double-precision floating-point format, optionally with unit of measurement that can be configured with the setting Unit item.

File reference

A path to a physical file in DOS/Windows- or UNC notation.

Geographic Coordinate

Absolute geographic position combined of Longitude, Latitude and Altitude in WGS84 format.

Guid

A pointer to another object, represented with the GUID of the target object.

Integer

A discrete integer number.

Text

A string value.

XML

Markup text in XML format.

Configuration

A MetaProperty can be configured with various additional options which are described in the following.

String Length

The maximum number of characters for a property value. Only applies to property types that store text values, like

Multilanguage

If set to true, the property will store values in all configured languages. Only applies to properties of type Text.

Reference

The Reference to use for pointing to another UBIK® object. Only applies to properties of type Guid.

Selective List

The Selective List to pick values from instead of providing free input of values.

Unit Item

The Unit Item that shall be assigned to the value of the property. Only applies to properties of type floating point.

Format

The format how a numeric value should be displayed. Only applies to properties of type floating point. Some examples:

  • #.### will result in a number with a maximum of 3 digits right of the decimal point
  • #.0 will result in a number with a 0 or one digit right of the decimal point

For a full list of formatting options please refer to Microsoft's documentation about

IC Attention.pngPlease be ware that the result of the formatting is also depending on the regional/cultural settings of your machine

Value Validation

Provide absolute lower and upper limits as well as a warning scope for the property values. The system evaluates the configured validation object as

  • Value will be discarded if it exceeds lower or upper limits
  • Input field will be marked with a yellow border if the value is within the warning boundaries

Needs Validation

The system will automatically create a valid validation time stamp for this property if the value is set.

IC Attention.png'NEEDSVALIDATION' is replaced by UBIK Attribute technique since Version 2.5!

Learn more about UBIK Attributes.

Default value

The default value of a MetaProperty defines which value will be displayed by a property if it doesn't have an own value set.

Initial value

The initial value of a MetaProperty defines which value will be set to the property initially when a new instance of it is created. Once the value is changed, the initial value is lost for this instance.

Index Keys

Index Count

Index Type

Bytestream Type

Order

Defines the ordering of the MetaProperty with an integer number in ascending order, so the lowest number will be first in order.

Serialize

If true, the value of the property will be serialized when it is set or changed.

Category

The category the property shall be assigned to. This is used for grouping purposes in various UI elements, where properties of the same assigned category will be displayed together.

Editing a MetaProperty

Once a MetaProperty is used on a single MetaClass editing of properties is restricted to properties that may not effect data validity. The System uses a Rule to validate the edited properties and creates a RuleViolation whenever a "locked" property is edited. Following properties may not be changed/edited for a "used" MetaProperty:

  • Name
  • PropertyType

Released To LiveMode

A MetaProperty is marked as released to live mode when:

  • It is used on at least one MetaClass which is already released.
  • It is referenced by at least one PoolMetaProperty which is used on at least one MetaClass which is already released.

Editing a released MetaProperty is restricted to properties that have no effect on the released table structure. The System uses a Rule to validate the edited properties and creates a RuleViolation whenever a "locked" property is edited. Following properties may not be changed/edited for a released MetaProperty:

  • Name
  • PropertyType
  • StringLen
  • Multilanguage
  • Indexcount
  • Serialize
  • NeedsValidation
  • IndexType

See also