Develop and extend the Litium Studio inRiver Connector
Detailed developer documentation on understanding and extending the connector.
The InRiver model tool allows a wide variety of design options. Some of these options are restricted or discouraged by InRiver standard best practices (as explained in InRiver wiki). Also, some of the features supported by InRiver V are not compatible with or not supported by Litium Studio. However, a project may choose to go beyond standard InRiver recommendations and might model features that are not currently supported by the Litium Studio InRiver Connector, in which case the connector need to be changed by the implementation project.
The article details the performance characteristics and optimization schemes adopted by the connector.
This article explains how to set up the development environment for extending the connector functionality.
The inRiver connector listens to the inRiver Connect API interfaces IChannelListener and exports the entities into xml files. The files are placed into the integration folder. The Litium Studio reads these files periodically using a scheduled task. To instruct Litium Studio which file to process first, a command file is generated while exporting, which make sure for example that a parent product group is created before the product group.
The inRiver entities are processed by the connector by handling the connected inbound and outbound links to them. For example, when exporting an inRiver channel node as a Litium Studio product group, the connector is actually processing the ChannelNodeChannelNode link. When exporting an inRiver channel node as a Litium Studio assortment, the connector is actually processing the ChannelChannelNode link.
When an inRiver entity is added, the information is exported starting from a given entity and then using breadth-first-traverse to traverse its outbound links. If an entity is edited, only that entity and its immediate Resource children are exported.
When an entity is deleted, all the child entities referred by the outbound links are deleted using inverted breadth first traverse: breadth first search but processing the last leaf node level first and up.
This article outlines the tasks that are needed in exporting your own custom entity type from inRiver into Litium Studio.
Updated
2020-06-10
|