Difference between revisions of "MetaProperty"
(→See also) |
|||
Line 1: | Line 1: | ||
==Basics== | ==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 [[Instance|ContentClass]]. | |
− | 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 [[SYSREL_METAPROPERTY|Systemrelation MetaProperty]] | For enhanced reuse, MetaProperties can be organized in a Pool and linked to many MetaClasses, using the [[SYSREL_METAPROPERTY|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}}: | |
− | ==Default value== | + | ===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. | 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== | ==Editing a MetaProperty== |
Revision as of 07:23, 15 October 2013
Contents
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:
- 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