PTC ConfigurableLinks Domain
The ConfigurableLinks domain allows customers to define custom object-to-object relationships beyond the standard out-of-the-box links provided by PTC. These links are modeled as types and must be subtyped for use in real-world scenarios.
The ConfigurableLinks domain in WRS introduces read-only support for these relationships, enabling clients to query and navigate them using RESTful APIs.
The configurable link types are represented as the following OData entity types:
|
Items
|
OData Entities
|
|
Configurable Describe Link
|
ConfigurableDescribeLink
|
|
Configurable Reference Link
|
ConfigurableReferenceLink
|
|
Configurable Masters Link
|
ConfigurableMastersLink
|
|
Configurable Revision Link
|
ConfigurableRevisionLink
|
Key features of these entities are:
• Soft types and soft attributes are supported.
• These entity types are defined in a new ConfigurableLinks domain, which includes only entity types (no entity sets) and imports the PTC domain.
Each configurable link type defines navigations to RoleA and RoleB. The navigation names mirror the role names in the Type Manager, and their targets are WindchillEntities. Type casting is supported if the type is available in EDM.
Configurable links can be used with most Windchill entities, including:
• Parts
• Documents
• CADDocuments
• ChangeItems
• RegSubmission2
Navigation Properties for ConfigurableLink Types
Configurable links can be used with most Windchill entities, including:
• From the Link to RoleA
• From the Link to RoleB
In addition, RoleA or RoleB Entity Types, which inherit configurablelinkable have generated navigation properties to enable navigation between RoleA or RoleB entities and the configurable link.
• From RoleA to the link
• From RoleB to the link
|
|
The same list of entities that support configurable links is configurablelinkable by default.
|
Navigation Properties Available for the ConfigurableDescribeLink Entity
The following are some of the important navigation properties available for the ConfigurableDescribeLink entity:
• DescribedBy—From a Describe Link entity to its RoleA object. Retrieves a Windchill entity that is the source (RoleA) of the Describe Link.
• Describes—From a Describe Link entity to its RoleB object. Retrieves a Windchill entity that is the target (RoleB) of Describe Link.
Navigation Property Available for the ConfigurableReferenceLink Entity
The following navigation property is available for the ConfigurableReferenceLink entity:
References—From a Reference Link entity to its RoleB object. Retrieves a Windchill entity that is the target of the reference (typically a master object like a part).
ReferencedBy—From a Reference Link entity to its RoleA object. Retrieves a Windchill entity that is the source of the reference (typically a versioned object like a document).
Navigation Properties Available for the ConfigurableMastersLinks Entity
The following are some of the important navigation properties available for the ConfigurableMastersLink entity:
• Traces—From a Masters Link entity to its RoleB object. Retrieves a Windchill entity that is the target of the master-to-master relationship.
• TracedBy—From a Masters Link entity to its RoleA object. Retrieves a Windchill entity that is the source of the master-to-master relationship.
Navigation Properties Available for the ConfigurableRevisionLink Entity
The following are some of the important navigation properties available for the ConfigurableRevisionLink entity:
• RevisedBy—From a Revision Link entity to its RoleA object. Retrieves a Windchill entity that is the source (RoleA) of the Revision Link.
• Revises—From a Revision Link entity to its RoleB object. Retrieves a Windchill entity that is the target (RoleB) of the Revision Link.
Refer to the domain EDM for a complete list of navigation properties.
Navigation Properties Generated by ConfigurableLinkable
Entities that inherit the configurablelinkable delegate automatically gain navigation properties to applicable configurable link types, based on relationship constraints. The naming convention is <Role><LinkName>:
If CustomConfigurableDescribeLink has:
• RoleA: Part, Document
• RoleB: Document
Then:
• Part will have navigation to CustomConfigurableDescribeLink: DescribedByCustomConfigurableDescribeLink
• Document will have two navigations to CustomConfigurableDescribeLink:
◦ DescribedByCustomConfigurableDescribeLink
◦ DescribesCustomConfigurableDescribeLink