The new catalog system in Commerce Server 2007 ... Part I

Commerce Server 2007 offers the following major enhancements to the catalog system since Commerce Server 2002.

1. Programming model :

   The catalog system is one of the components which has been completely rewritten in managed code. The COM objects will no longer be supported. The entire catalog functionality will now be available as web service methods. Since it is not easy to program against the web service methods directly, we have provided a managed assembly which will contain a developer friendly object model to program against. More importantly these methods can be invoked in the web service mode or in inproc mode (for improved performance). We are also introducing strongly typed collections instead of datasets. The exception model is also very flexible and developer friendly.Compared to the COM objects you will find this model rich in functionality, performant, developer friendly and more importantly consistent.

2. Unified Property Store

   Commerce server 2002 allowed extending products and categories by adding properties to the definitions. We also supported extending catalog and property definitions by adding user defined attributes.    

      In Commerce Server 2007, we added a new Inventory component and also rearchitected the usage of the property definitions and the extension model in the catalog system. You can now create a property in the catalog system and use it to extend the property definitions, catalog definitions, product and category definitions, inventory catalogs and inventory skus. For eg you can create a property named VendorId and use it to extend the Catalog definitions. This will allow you to associate a vendor id for each catalog. In addition you can use the same property to extend the inventory catalogs and associate vendor ids to your inventory catalogs. This model now allows you to defined your properties  in the catalog system and use it to extend other entities in the catalog and inventory systems in a consistent manner. This should greatly improve the maintainability, extensibility and consistency of the new extension model.We have also added support to add languages to property definitions to allow display names to be defined in each language.

 3. New features in Base catalogs 

   Ranking : You can now rank child products and categories in a category, variants in a product family and root products and categories in base catalogs. This will allow you to control how products and categories are displayed on your runtime site. For eg you can rank your products in such a way that important products are displayed at the top and less important products at the bottom. In addition to catalog items you can also rank related products and categories thereby allowing you to control display of cross relationships.You can also rank the enumeration values for an enumeration property. This is important for a property like Size which has values Large, Small and Medium and you want to control how they are displayed to the user.

   Display Names: We have now added the ability to provide displaynames for categories, products and variants.

4.  New features in virtual catalogs 

   Given that virtual catalogs was a V1 feature in Commerce server 2002 it was only natural that we improve upon it in Commerce server 2007.

     Ranking : Just as in base catalogs you can now rank child products and categories in a category, variants in a product family and root products and categories in virtual catalogs. In addition you can either inherit the ranking from base catalogs or override ranks in the virtual catalog. The same goes for ranking relationships.

   Overriding prices and properties in virtual catalog : You can now override property values and prices of base catalog items in virtual catalogs.  For eg if a product has a description "foo" in a base catalog and you include this product in a virtual catalog you can now change the description of this product to "bar". In adition to properties you can also override prices of products in the virtual catalog. For eg if a product has a price of 200 dollars in the base catalog and you include it in a virtual catalog with a 50% discount the product will now have a price 100 dollars in the virtual catalog. The new virtual catalog system now allows you to override this price and set it to 75 dollars. Once you override a property value or a price you can also reset it so that it inherits these values from the base catalog.

   Adding rules from virtual catalog : The new virtual catalog system now allows you to add rules from another virtual catalog. There is however a limitation to this.A virtual catalog can contain rules from (one or more) base catalogs or one virtual catalog. This opens a numer of scenarios. You can now aggregate one or more base catalogs (possibly from your vendors or distributors) in one virtual catalog and then create another virtual catalog (off this virtual catalog ) for your customers.

   

                                                                           More features in the next post .....