Extensions for Application-Specific Metadata Properties and Property Types - Integration - Update 44 - Customization & Programming - Hexagon

SmartPlant Integration Customization

Language
English
Product
Integration
Search by Category
Customization & Programming
SmartPlant Foundation / SDx Version
10

If there are application-specific properties (in most cases there will be), then the metaschema needs to be extended to include those properties. To add a property, the following logic is used:

  • Create a new application-specific interface definition (if one doesn’t already exist) and set its Name and PropCategory. The PropCategory for all added interfaces should be the same and unique to the application (e.g., "Smart P&ID"). This category will be used from within the various create/edit forms to display the properties added to the metaschema by the AddMetaSchemaExtensions method.

  • Relate the interface definition to the appropriate class definition (Realizes). The class definition should be one of the SPMap* class definitions (e.g., SPMapClassDef).

  • Create the property definition.

  • Relate the interface definition to the property definition (Exposes).

  • If the property type for the property is an existing SmartPlant schema property type, create a relationship (ScopedBy) to that property type.

  • If the property type for the property is not an existing SmartPlant schema property type (probably only true if the type is an application-specific enumerated list), then create the property type and relate the property to that property type (ScopedBy).

To add an enumerated list property type to the metaschema, the following logic is required:

  • Create and populate the enumerated list object (EnumListType).

  • Create an object for each enumeration (EnumEnum) and relate each enumeration to its enumerated list (via Contains relationships).