Rules for Properties

 

 

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:

  1. Open edit view for the property
  2. Remove the word "Type" from the name of object and retain UpperCamelCase
  3. Check the box "Is Property"
  4. Change package to ExtendedPrimitive
  5. Repeat for any properties listed for this object that do not have a data type of a primitive
  6. Return to original Extended Primitive (in this example: StructuredStringType)
    1. Open the edit view
    2. DO NOT remove the word "Type" from the name of the object
    3. Check the box "Is Property"
    4. Change package to ExtendedPrimitive
    5. For each listed property
      1. Change name to lowerCamelCase
      2. 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:

  1. Open edit view for the property
  2. Check to see if its type is available from the Extended Primitives just added
    1. If so change the data type
    2. If not follow steps 3-5
  3. Remove the word "Type" from the name of object and retain UpperCamelCase
  4. Check the box "Is Property"
  5. Change package to ExtendedPrimitive
  6. Repeat for any properties listed for this object that do not have a data type of a primitive
  7. Return to original Other Property (in this example: LabelType)
    1. Open the edit view
    2. Remove the word "Type" from the name of the object and retain UpperCamelCase
    3. Check the box "Is Property"
    4. Change package to ExtendedPrimitive
    5. For each listed property
      1. Change name to lowerCamelCase
      2. Change DateType to the name of the object just created in steps 1-4 which should now be in the pull-down list

core_list.xlsx     List of items for core

core_list_v2.xlsx     List of items for core version 2