Sequencing products and categories in the Commerce Server Feature Pack
Among the numerous cool features we added in the Commerce Server Feature Pack, one of them was the ability to sequence products and categories in catalogs. Based on some of the newsgroup posts it turned out that there is some confusion on this feature. While the primary motivation behind this feature was to allow developers to control the display order of child categories and products on your site, it also has some limitations.
You can use this feature to :
- Sequence child categories and products belonging to a category. You can sequence variants in a product family.
- The sequencing can be done either by using the new Catalog Manager application or programatically by using the catalog web service.
- The sequence number for each child item has to be explicitly set by the caller. If not specified the sequence number will default to 0, which can be taken to mean that the product or category is not sequenced. Multiple items can have the same sequence number.
- When requesting the child categories, child products and variants from the catalog system you can request the recordsets/datasets to be sorted by "Sequence" field.This can be specified by using the CatalogSearchOptions.SortProperty property.For eg. catalogSearchOptions.SortProperty = "sequence"; If no sort order is specified then these recordsets/datasets will be sorted by the "Sequence" field in the ascending order.
Now to the limitations of this feature:
- Only child categories, child products and variants in base catalogs can be sequenced.
- Sequencing of root categories and root products in base catalogs is not supported
- Sequencing is not supported in virtual catalogs at all.
- Sequencing can be done either by using the Catalog Manager UI or programatically using the catalog web service. The ability to do sequencing is not provided in the catalog COM objects.
While we do understand the impact of the limitations of this feature, we are doing everyting we can to address them in future release.