Difference between revisions of "MetaProperty"
Line 1: | Line 1: | ||
− | |||
==Basics== | ==Basics== | ||
Line 5: | Line 4: | ||
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== | ==Editing a MetaProperty== | ||
Line 21: | Line 17: | ||
*Name | *Name | ||
*PropertyType | *PropertyType | ||
− | |||
==Released To LiveMode== | ==Released To LiveMode== | ||
Line 27: | Line 22: | ||
* It is used on at least one [[MetaClass]] which is already [[Released_to_LiveMode|released]]. | * It is used on at least one [[MetaClass]] which is already [[Released_to_LiveMode|released]]. | ||
* It is referenced by at least one [[PoolMetaProperty]] which is used on at least one [[MetaClass]] which is already [[Released_to_LiveMode|released]]. | * It is referenced by at least one [[PoolMetaProperty]] which is used on at least one [[MetaClass]] which is already [[Released_to_LiveMode|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. | 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. | ||
Line 39: | Line 33: | ||
*NeedsValidation | *NeedsValidation | ||
*IndexType | *IndexType | ||
− | |||
− | |||
− | |||
==See also== | ==See also== |
Revision as of 13:30, 23 September 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