Administration > Advanced Product Creation Administration > Relationship Type Property Settings > Defining a Relationship Type
  
Defining a Relationship Type
Defining Product Options for Copy
No relationship types are defined out-of-the-box. Follow the steps below to define the product options that are selected for copy for each relationship type.
To specify the product options that the relationship type selects, enter a property setting in the custom.lcs.advCopy.properties file.
jsp.product.CopyProduct.CopyObjects.<RelationshipTypeName>=<ProductOption>
You can include as many product options as you want. If you are including multiple product options in the property setting, separate them with a comma.
jsp.product.CopyProduct.CopyObjects.<RelationshipTypeName>=<ProductOption>,
<ProductOption>,<ProductOption>
The following table lists the product options available for copy and their corresponding names.
Product Option
Name
Bills of Labor
BOL
Bills of Materials
BOM
Colorways
SKUs
Construction
construction
Cost Sheets — Active Only
costSheets(active)
Cost Sheets — All
costSheets(all)
Destinations
destinations
Colorway Documents
SKUDocs
Colorway Season Documents
SKUSeasonDocs
Product Documents
productDocs
Product Season Documents
productSeasonsDocs
Sample Documents
sampleDocs
Specification Documents
specDocs
Product Image Pages
imagePages
Sample Image Pages
sampleImagePages
Measurements
measurements
Samples
samples
Size Categories
sizeCategories
Sources — Active Only
source(primary)
Sources — All
source(all)
Specifications
specs
In the following example, the relationship type called MissyPetite copies the following product options:
Bills of Materials
Colorways
Constructions
Destinations
Sources (all)
jsp.product.CopyProduct.CopyObjects.MissyPetite=BOM,SKUs,construction,destinations,source(all)
Because the MissyPetite relationship type has been created with the removeOnly edit option, users selecting this relationship type can only deselect the product options listed above. They cannot select additional product options for copy.
Defining Specification Components for Linking
Unlike copy relationship types, which allow you to copy various product options, the system only allows you to link specification components.
No link relationship types are defined out-of-the-box. As with copy relationship types, you must follow the steps below to define those product options, in this case those specification components, that are linked for each relationship type.
To specify the specification components that the relationship type selects, enter a property setting in the custom.lcs.advCopy.properties file.
jsp.product.CopyProduct.LinkObjects.<RelationshipTypeName>=<ProductOption>
You can include as many specification components as you want. If you are including multiple specification components in the property setting, separate them with a comma.
jsp.product.CopyProduct.LinkObjects.<RelationshipTypeName>=<SpecificationComponent>,
<SpecificationComponent>,<SpecificationComponent>
Only specification components are available for linking.
Bills of Labor (BOLs)
Bills of Materials (BOMs)
Constructions
Image Pages
Measurements
Use the same product option keys as those outlined in Defining Product Options for Copy.
Defining Specification Linking
You can also define relationship types to link specifications.
By default, the system automatically makes no link between specifications. The default property setting value is clear:
jsp.product.CopyProduct.DefaultSpecLinkOption=clear
You can change the default specification linking option by entering a different value for the property setting. There are two additional values for this property setting: link and maintainExistingLinkStatus. The result produced for each value varies depending on whether or not the original product is already linked to another specification (in other words, is a child of another specification).
Property Setting Value
Original Product Linked to Another Specification
Original Product Not Linked to Another Specification
link
Creates link
Creates link
maintainExistingLinkStatus
Creates link
No link
Setting the property setting value to link results in the following entry:
jsp.product.CopyProduct.DefaultSpecLinkOption=link
For this property setting, the following is true for specification C, which is being linked to specification A:
If specification A is already linked to specification B (specification A is a child to B), then the system automatically creates a link from C to A (specification C is a child to specification A).
If specification A is not linked to another specification (is not a child to another specification), then the system automatically creates a link from C to A (specification C is a child to specification A).
Setting the property setting value to maintainExistingLinkStatus results in the following entry:
jsp.product.CopyProduct.DefaultSpecLinkOption=maintainExistingLinkStatus
For this property setting, the following is true for specification C, which is being linked to specification A:
If specification A is already linked to specification B (specification A is a child to B), then the system automatically creates a link from C to A (specification C is a child to specification A).
If specification A is not linked to another specification (is not a child to another specification), then the system does not create a link from C to A (specification C is not a child to specification A).
Whichever value you select for the property select is applicable for the entire system; all specifications adhere to this property setting with regards to linking when copying and linking products. You can override this selection for individual relationship types.
Use a property setting to define the specification linking for individual relationship types. This overrides the system-wide setting, defined using the previous property setting, for that relationship type only. The basic form for this property setting is:
jsp.product.CopyProduct.SpecLinkOption.<RelationshipTypeName>=<value>
The value is either clear, link, or maintainExistingLinkStatus. These values produce the same results as when used for the system-wide property setting. The table below outlines example property settings for the relationship type MissyPetite.
Example Property Setting
Original Product Linked to Another Specification
Original Product Not Linked to Another Specification
jsp.product.CopyProduct.SpecLinkOption.MissyPetite=clear
No link
No link
jsp.product.CopyProduct.SpecLinkOption.MissyPetite=link
Create link
Create link
jsp.product.CopyProduct.SpecLinkOption.MissyPetite=maintainExistingLinkStatus
Create link
No link
* 
The clear value never creates a link.