Upgrade
This section describes things to consider when upgrading from v.2 to v.3
Pre-requisites
- inRiver connector v.3 need Litium Studio 4.7.
Important changes from v.2 to v.3
- In inRiver connector v.3 the connector settings are specified in a .config file. Refer configure section for more details.
- Transfering files through FTP is more streamlined, Refer deploy section for more details.
- Litium Studio 4.7 has new ExternalIds feature specified for all product catalog entities, which are used by inRiver connector. This means, when you upgrade LitiumStudio from 462 version, this external Id information is missing, and need to be recreated for inRiver connector to work.
Upgrading steps
- Install inRiver. Refer install section for more details.
- Configure the connector. Refer configure section for more details.
- Test connector with a new test assortment with atleast two product groups, one or two products, items and connected images. Makesure it all works ok with new test entities before proceeding.
- Remove your test entities.
- Delete all assortments, variant groups and resources in media archive created by inRiver connector from Litium Studio.
- Do a full channel publish from inRiver.
Alternative steps
Warning: You should be familiar with inRiver and Litium Studio both before attempting. If you do not understand any of the following steps, you should use the normal upgrade procedure instead.
You may mannually set the Litium Studio external Ids for Assortments, ProductGroups, Products and article number for VariantGroups and skip the steps 5 and 6 above.
Follow following steps to manually change Litium Studio to get the correct external Ids.
- Makesure you have followed upto step 4 in above upgrading steps.
- Note down inRiver system id for each assortment (from inRiver richclient) and note down LitiumStudio Guid Id for it (from LitiumStudio backoffice, in View Assortment, in the browser Url).
- Update the ExternalId of each assortment with the formate "XX_YY" where XX is the system id of your channel node, and YY is the system id of the assortment channelNode. For example, if your channel id is 43 and assortment channelnode system id is 4, then the string is 43_4.
You need to run the following sql script for each assortment.
--replace the externalId and CatalogId below with information from your system.
UPDATE ProductCatalog_Catalog
SET ExternalId = '1_4'
WHERE CatalogID = 'BC76D3CF-0C85-4E44-8372-D4B48ECF7586'
- Update article number of variant groups. Run following script.
DECLARE @templateFieldId uniqueidentifier
SELECT @templateFieldId = TemplateFieldID FROM ProductCatalog_TemplateField WHERE TemplateFieldName = 'InRiverProductEntityId'
UPDATE ProductCatalog_Variant
SET ArticleNumber = vgpv.ShortStringValue
FROM ProductCatalog_Variant v
INNER JOIN ProductCatalog_VariantGroupPropertyValue vgpv ON v.VariantID = vgpv.VariantGroupID AND vgpv.TemplateFieldID = @templateFieldId
WHERE vgpv.LanguageID IS NULL AND vgpv.ShortStringValue IS NOT NULL
- Update the external id of product groups, run following script.
-- Update the external id on product group from the field on the product group
DECLARE @templateFieldId uniqueidentifier
SELECT @templateFieldId = TemplateFieldID FROM ProductCatalog_TemplateField WHERE TemplateFieldName = 'InRiverUri'
UPDATE ProductCatalog_ProductGroup
SET ExternalId = pgpv.ShortStringValue
FROM ProductCatalog_ProductGroup pg
INNER JOIN ProductCatalog_ProductGroupPropertyValue pgpv ON pg.ProductGroupID = pgpv.ProductGroupID AND pgpv.TemplateFieldID = @templateFieldId
WHERE pgpv.LanguageID IS NULL
GO
- Update the external id of products, run following script.
-- update the external id on product from the field on the article/variant group and product group
DECLARE @templateFieldId uniqueidentifier
SELECT @templateFieldId = TemplateFieldID FROM ProductCatalog_TemplateField WHERE TemplateFieldName = 'InRiverProductEntityId'
UPDATE ProductCatalog_Product
SET ExternalId = pg.ExternalId + '_' + vgpv.ShortStringValue
FROM ProductCatalog_Product P
INNER JOIN ProductCatalog_ProductGroup pg ON p.ProductGroupID = pg.ProductGroupID
INNER JOIN ProductCatalog_VariantGroupPropertyValue vgpv ON p.VariantID = vgpv.VariantGroupID AND vgpv.TemplateFieldID = @templateFieldId
WHERE P.ArticleID IS NULL AND vgpv.LanguageID IS NULL
SELECT @templateFieldId = TemplateFieldID FROM ProductCatalog_TemplateField WHERE TemplateFieldName = 'InRiverItemEntityId'
UPDATE ProductCatalog_Product
SET ExternalId = pg.ExternalId + '_' + apv.ShortStringValue
FROM ProductCatalog_Product P
INNER JOIN ProductCatalog_ProductGroup pg ON p.ProductGroupID = pg.ProductGroupID
INNER JOIN ProductCatalog_ArticlePropertyValue apv ON p.ArticleID = apv.ArticleID AND apv.TemplateFieldID = @templateFieldId
WHERE P.VariantID IS NULL AND apv.LanguageID IS NULL
GO
- Update external Id of media archive resources, first find all the mimetype extensions used by your system. You may run following sql query.
SELECT ContentType from MediaArchive_File
GROUP BY ContentType
Note down the file extension for each content type and run following script for each file extension.
DECLARE @extension as varchar(5)
SET @extension = '.jpg' --change here to each extension.
UPDATE MediaArchive_File
SET ExternalId = REPLACE(FileName, @extension, '')
WHERE FileName in ( SELECT FileName FROM (SELECT FileName, count(1) AS Num FROM MediaArchive_File
GROUP BY FileName) FileCount WHERE Num = 1)
AND FileName Like '%'+@extension
-
Restart IIS, and rebuild LitiumStudio search indices.
-
Test with inRiver rich client, by adding some relationships between products and changing sort order of resources.
Updated
2020-06-10
|