Difference between revisions of "MetaProperty"
Line 5: | Line 5: | ||
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]] | ||
+ | |||
==Initial value== | ==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. | 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. | ||
+ | |||
==Default value== | ==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. | ||
+ | |||
+ | |||
+ | ==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== | ==Released To LiveMode== |
Revision as of 09:57, 9 July 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
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.
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.
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