inRiver link types that are not part of the normal entity structure (i.e. excluding ChannelNodes and Product-Item-Resource model links) becomes either Bidirectional or Directional links in Litium where appropriate.
This article explains how to create product relationships in Litium using inRiver connector.
Default interpretation of inRiver link types
All link types excluding that are defined by following settings in the config file (Litium.AddOns.InRiver.dll.config, i.e app.config in Litium.AddOns.InRiver project), a will be considered by default as a relationship link
assortmentLinkTypeId:
inRiver LinkTypeId of the links that will be Assortments in Litium.
LinkTarget of this link type must be a ChannelNode and will be an assortment in Litium.
LinkSource must be a Channel in inRiver.
categoryLinkTypeIds:
inRiver LinkTypeIds of the links that will be Category-Category links in Litium.
Src entity type and target entity type of this link type must be inRiver ChannelNode.
baseProductLinkTypeIds:
inRiver LinkTypeId of the links that will be Category-BaseProduct links in Litium.
Src entity type of these link types must be inRiver ChannelNode.
The target entity type of these link types will be exported as Litium base products to Litium.
variantLinkTypeIds:
inRiver LinkTypeIds of the links that will be BaseProduct-Variant links in Litium.
LinkTarget of these link types will be exported as Litium variants to Litium,
link source of these link types must be Litium base product, as defined in baseProductLinkTypeIds setting.
bundledVariantsLinkTypeId: inRiver LinkTypeId of the link that will be BundledVariant link in Litium.
excludeEntityTypeIds: Comma seperated list of entityTypeIds that should not be exported into Litium. When an entity type is excluded, all of its associated link types are also not exported.
excludeLinkTypeIds: Comma seperated list of LinkTypeIds that should not be exported into Litium.
All link types other than defined above, will be automatically treated as relationships in Litium.
Relationship Name
By default the name of the relationship is the inRiver LinkTypeId used., you can rename the relationship name by using the "relationshipLinkTypeIdMapping" in config file.
relationshipLinkTypeIdMapping: Mapping of inRiver LinkTypeIds to Litium relationship Type Ids. If no mapping provided, linkTypeId will be used as the relationship name.
Format: "<inRiverLinkTypeId: Litium Relationship TypeId>, <inRiverLinkTypeId: Litium Relationship TypeId>"
e.g: "RelatedProducts:Similar products, PriorityList: Priority list"
Relationship Direction
Unless specified in the config, all relationships are treated as Bidirectional. You may specify the direction using following settings.
directionalRelationshipsLinkTypeId: inRiver LinkTypeIds that should be exported as directional links in Litium. (e.g.: Litium Product-Product links like accessories)
biDirectionalRelationshipsLinkTypeIds: inRiver LinkTypeIds that should be exported as bi-directional links in Litium. (e.g.: Litium Product-Product links like cross-sale, related products)
Relationships between assortments in Litium
Normally relationships will not be created between assortments in Litium Studio. If you set the crossMarketProductRelations in config file to true, relationships will be created across the assortment boundaries.
Relationship name translations
Relationship name translations are initialize from the respective link type name translations (set from inRiver model tool).
You can also change the translations from \InRiverLitiumIntegration\Model\FieldTypeSettings.xml file.
To set a translation, edit the respective xml node for the relationship.
e.g. following example sets the en-GB language name of the the SimilarProducts relationship.
<RelationshipTypeLocalization>
<RelationshipTypeId>SimilarProducts</RelationshipTypeId>
<CultureCode>en-GB</CultureCode>
<Name>_name</Name>
<Value>Similar Products</Value>
</RelationshipTypeLocalization>