Jump to: navigation, search

MetaProperty


Revision as of 07:23, 15 October 2013 by JKN (Talk | contribs)

Basics

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 supported by UBIK®:

Undefined

Boolean

ByteStream

Source Code

Date/Time

Floating point

File reference

Geo Data

Guid

Integer

Text

XML

Configuration

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

String Length

Multilanguage

Reference

Selective List

Unit Item

Format

Value Validation

Needs Validation

Default value

The default value of a MetaProperty defines which value will be delivered 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

Category

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:

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