TechnologyOct 31, 2011

Commerce Server: Bulk Catalog Updates

Joshua Grear

Have you ever needed to update every product in your catalog?  Maybe you have been told that you are to apply a new prefix to each product ID based on its media type.  Or maybe the company that owns one of you product lines has been acquired and you need to update the company name everywhere it exists for those products.  We, here at Credera, have been asked to do this more than you would think for some of the very same reasons.

Whatever the reason you have, you more than likely wouldn’t want to manually update each of the product in the Catalog Manager.    You could bring in a small army of interns who would love to get “real-world” experience.  However, they would probably tire of it and soon begin making mistakes.  You would probably have much better results if you applied one of the two automated approaches listed below.

Catalog Export/Import

The first approach goes something like this.  You export the catalog to an XML file, do some work on the XML through custom code and then import the changed XML back into the catalog.  This process is fairly straight-forward as Commerce Server provides many options for both the export and import of catalog data.  Likewise, the work to be done updating the data will all be done through XML.  As XML is a standard most IT teams are familiar with, almost any team can employ this approach.

Catalog API

The second approach involves writing custom code to directly access Commerce Server’s Catalog Web Services.  Utilizing any programming language that can call web services, you can easily retrieve and save data. The custom application would make a request to the web service to retrieve the desired products. Once the products have been retrieved, they can be manipulated individually as needed. Finally, you would call the web service again to save the updates.

Cautionary Note

It should be noted, that while it is possible to update the data directly in the database, direct interaction with the data should be avoided.  There are many reasons that you should avoid this practice.  However, for this type of activity, the main reason is that some of the fields containing the data we want to update may be encrypted.  This could yield inaccurate results as we may not “catch” all instances of the changes we want to make.

Next Steps

If you need to perform this kind of bulk catalog update, I would highly recommend implementing one of these automated approaches.  Credera has had many successful Commerce Server implementations and have done this very kind of bulk update.  We would love to help you analyze and/or implement an automated process to update your catalog.