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 supports read, create, update, and delete operations for configurable links, enabling clients to query, create, modify, and remove configurable link instances using RESTful APIs
|
|
Create, update, and delete operations are supported through role‑based navigation properties generated on configurablelinkable entity types.
|
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.
These navigation properties support read, create, update, and delete operations on configurable link instances, depending on the link type and access controls.
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 that inherit configurablelinkable have generated navigation properties that enable navigation between the RoleA or RoleB entity and the configurable link.
These navigation properties support read, create, update, and delete operations on configurable link instances, depending on the link type and access controls.
Validation Rules
The following validation rules apply when creating and managing configurable links:
• If either role belongs to a project, link creation is forbidden.
• If RoleA belongs to a workspace, link creation is forbidden.
• All CRUD operations on links require READ access on both RoleA and RoleB.
• For access‑controlled links (Configurable Revision Link and Configurable Masters Link), the ACLs defined on the link types apply.
• 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.
In addition to read operations, the navigation properties from RoleA and RoleB entities to ConfigurableDescribeLink support create, update, and delete operations on configurable describe link instances, subject to access controls and validation rules.
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).
In addition to read operations, the navigation properties from RoleA and RoleB entities to ConfigurableReferenceLink support create, update, and delete operations on configurable reference link instances, subject to access controls and validation rules.
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.
In addition to read operations, the navigation properties from RoleA and RoleB entities to ConfigurableMastersLink support create, update, and delete operations on configurable master link instances, subject to access controls and validation rules.
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.
In addition to read operations, the navigation properties from RoleA and RoleB entities to ConfigurableRevisionLink support create, update, and delete operations on configurable revison link instances, subject to access controls and validation rules.
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
The navigation properties generated on configurablelinkable entities support read, create, update, and delete operations on configurable link instances, subject to link type behavior, access controls, and validation rules.