Wendy Thomas
Johan Fihn
Identify all Primitive, Extended Primitive, and Base Objects; set rules for identification of each type; organize for Drupal to recognize as DataTypes to be used by Properties
Rules for Properties:
Primitives:
xs types; xml types; xhtml types
Extended Primitives:
A set of complex DDI objects that are never used directly, only as types; Restrictions of primitives (i.e. simple list of values as in CategoryRelationCode)
Other Property Objects:
Other property objects have the following characteristics:
- Not referable (have no identifier)
- Can be used directly (not just as a data type)
- All sub-elements of the Other Property object have the characteristics of a Other Property object, Extended Primitive, or Primitive
Location of Other Property objects in the Object Library:
- Other Property objects that have heavy reuse across DDI and require consistent application should be located in a "Base" package within the Object Library
- Other Property objects used within a single topical/application area in the Object Library should be located within their topical/application area
- New Other Property objects should be created within their topical/application area The decision to move an Other Property object to the "Base" package will be made by Modelers
INSTRUCTIONS FOR PROCESSING:
Extended Primitives:
Example StructuredStringType
Check current properties and revise as follows:
- Open edit view for the property
- Remove the word "Type" from the name of object and retain UpperCamelCase
- Check the box "Is Property"
- Change package to ExtendedPrimitive
- Repeat for any properties listed for this object that do not have a data type of a primitive
- Return to original Extended Primitive (in this example: StructuredStringType)
- Open the edit view
- DO NOT remove the word "Type" from the name of the object
- Check the box "Is Property"
- Change package to ExtendedPrimitive
- For each listed property
- Change name to lowerCamelCase
- Change DateType to the name of the object just created in steps 1-4 which should now be in the pull-down list
Other Property Objects:
Example LabelType
Check current properties and revise as follows:
- Open edit view for the property
- Check to see if its type is available from the Extended Primitives just added
- If so change the data type
- If not follow steps 3-5
- Remove the word "Type" from the name of object and retain UpperCamelCase
- Check the box "Is Property"
- Change package to ExtendedPrimitive
- Repeat for any properties listed for this object that do not have a data type of a primitive
- Return to original Other Property (in this example: LabelType)
- Open the edit view
- Remove the word "Type" from the name of the object and retain UpperCamelCase
- Check the box "Is Property"
- Change package to ExtendedPrimitive
- For each listed property
- Change name to lowerCamelCase
- Change DateType to the name of the object just created in steps 1-4 which should now be in the pull-down list