CVL Value Cleanup

Before explaining what the extension is doing, we need some context. Let’s say you have a Brand CVL and probably a field using this CVL (ex: ProductBrand) on the product level. This allows you to link a brand to your product. Now if you delete a Brand, in other words, if you delete a CVL Value, inRiver is not going to update all products using this brand. This could cause export failure because the brand no longer exists in the external system (ex: Magento, Insite).

 

So this extension will clean all fieldTypes using the deleted CVL Value by setting null. It supports also fieldType of DataType CVL multivalue, It will remove the CVL Value key from the fieldType Value.

Important: If the fieldType is mandatory, the extension won’t clean the value since it cannot set null. For CVL Multivalue, it will try to clean remove the CVL Value key from the fieldType value unless it’s the last one.

 

Finally, this can only be useful for having entities without bad data (CVL Value that no longer exists).


Extension configuration

When adding the extension in the control center

  • Extension Id: Whatever you may want

  • Package: The zip package above

  • Assembly Name: Absolunet.InRiver.Listeners.CvlCleanup.dll

  • Assembly Type: Absolunet.InRiver.Listeners.CvlCleanup.CvlCleanupExtension

  • Extension Type: CvlListener

Extension settings

Setting

Description

Comments

Setting

Description

Comments

IgnoredCvlIds

List of CVLs that you want to ignore separated by a comma.

Optional setting

Default Value: string.Empty

Test function

The function will return all fieldTypes mandatory of DataType CVL that will be ignored. The function also validates that all CVL Ids provided in the setting IgnoredCvlIds exists.

Performance and concern

If a CVL Value is used by many entities, it will trigger a lot of updates to server extensions and listeners.