Commerce server queries through my blog
I receieved a number of queries about the product catalog system through my blog.I am posting replies to some of them and will keep updating this post.
- Can I perform searches for partial keywords in my catalog?
Yes, you can perform partial keyword searches by appending * to the search keyword.For example, “book*” will return all rows containing a words beginning with book. However, note that the partial keyword search applies to word prefixes only. For eg “*book” will not return rows containing words ending with book. Instead this search will return rows containing the text “*book“. This feature was added in Commerce Server 2002 SP2.
- I am trying to add users to the CatalogAdministrator role but I do not see azman.msc on my machine as mentioned in the Feature Pack documentation? I am running Windows 2000.
The Feature Pack documentation mentions using the Windows Authorization Manager MMC (azman.msc) to add users to the roles in the catalog system. However this UI exists only on Windows 2003 Server or Windows XP. You will have to open the xml file containing your catalog authorization policy on a Windows 2003 server or a Windows XP machine and add the users to the authorization policy. On Windows 2000 you can write a vb script which adds the users to the appropriate roles using the Authorization objects. The name of the catalog manager application, the roles, tasks and scopes have been documented in the “Assigning Users Access to the Web Service Authorization Manager Policy" section in Commerce Server 2002 Feature Pack Help file. Additional links on Windows Authorization manager:
Role Based Security using Authorization Manager
Windows Server 2003 Administration Tools Pack
- Can I perform simultaneous imports and exports in the catalog system?
You can perform simultaneous exports but only one import at a time. If you start an import operation while an import is already in progress the second import operation will fail with an error.
- Can I define price rules in my base catalog? I understand that price rules can be defined in a virtual catalog but I do not want to create a virtual catalog.
You can control prices on products in base catalogs by using the category pricing feature.You can create a category, set a price on that category and have all the child products inherit the price of that category. In order for a product to inherit the price from a category, the category should be it's primary parent category and the UseCategoryPricing attribute for that product should be set to true.If the price on that pricing category changes the change is immediately reflected in all its child products which are using it as the primary parent category and have the UseCategoryPricing attribute set. The catalog system also keeps a track of the price of the products until category pricing was applied to a product. If category pricing on the product is later removed, then the product will get back the price it last had before category pricing was applied to it. This feature allows you to control prices on a set of products (which should have same price) by changing the price on one category instead of on individual products.
- I am trying to change the attributes of a property using the CatalogProperty.Save method and it logs an exception in the event viewer.The exception contains the following information:
Microsoft.CommerceServer.ServerFaultException: Failed to retrieve the AzMan Scope named PropertyScope_PropertyName.
As mentioned in the documentation the catalog system provides authorization for individual properties, catalogs and languages. You can now control which users can edit/view/delete which properties/catalogs/languages. This information is stored in individual scopes created in the authorization policy. If you migrate to the feature pack or create properties using Business Desk or the COM objects then the scopes are missing in the authorization policy and hence the exception (Failed to retrieve the AzMan Scope). In order to fix this you should run the CatalogMigrationTool.exe by specifying the -S (sitename), -U and -P (authorizationPolicyPath) options. This will create the missing scopes in the authorization policy.
- We have our own xml file containing the products in our commerce system. This xml file is incompatible to commerce server.How do we import these products in Commerce Server?
You can convert your xml file to an xml file in the commerce server format. Use the ExportXml method and specify the value 2 to the eXmlFmt parameter to export the XDR for the catalog system. This XDR will tell you the format of the xml schema. You can then write an XML transform which transforms your xml file to a commerce server XML file and then import the resultant xml file.