<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Max Akbar</title><subtitle type="html">For the hardcore Commerce Server Developer... and demystify the product</subtitle><id>http://blogs.msdn.com/b/maxakbar/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/maxakbar/" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/b/maxakbar/atom.aspx" /><generator uri="http://telligent.com" version="5.6.50428.7875">Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><updated>2008-04-28T20:52:38Z</updated><entry><title>Moving my blog!!!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/maxakbar/archive/2008/10/04/moving-my-blog.aspx" /><id>http://blogs.msdn.com/b/maxakbar/archive/2008/10/04/moving-my-blog.aspx</id><published>2008-10-04T22:53:35Z</published><updated>2008-10-04T22:53:35Z</updated><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Just wanted to give you guys an update. I will be moving my blog to &lt;a href="http://www.commerceservertraining.com"&gt;http://www.commerceservertraining.com&lt;/a&gt;. Please make a note of it. I will not be blogging here or answer comments and questions posted here.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;Why the move?&lt;/h2&gt; &lt;p&gt;I created this blog when I was working for Microsoft. Now I work for myself providing training and consulting for Commerce Server 200x. I would like to thank Microsoft for allowing me to continue to use this blog after leaving, but I need my own space to express the good, the bad and the ugly of Commerce Server :). &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Please continue to monitor &lt;a href="http://www.commerceservertraining.com"&gt;http://www.commerceservertraining.com&lt;/a&gt; for a new site that will host my blog. &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;I will not be moving\migrating any of this data. The new blog will be just that new and fresh.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Thank you everyone for your feedback and comments. If you have additional comments please drop me a line at &lt;a href="mailto:max.akbar@commerceservertraining.com"&gt;max.akbar@commerceservertraining.com&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8976642" width="1" height="1"&gt;</content><author><name>MSDNArchive</name><uri>http://blogs.msdn.com/MSDNArchive/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Another Commerce Server Training Event</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/maxakbar/archive/2008/09/21/another-commerce-server-training-event.aspx" /><id>http://blogs.msdn.com/b/maxakbar/archive/2008/09/21/another-commerce-server-training-event.aspx</id><published>2008-09-22T05:56:39Z</published><updated>2008-09-22T05:56:39Z</updated><content type="html">&lt;p&gt;Last October I hosted a Training Event here in LA and was very successful. People from all over the world came and were very happy with the results. Due to popular demand I am hosting another event. This will also be held in LA.&lt;/p&gt; &lt;h2&gt;Training Event&lt;/h2&gt; &lt;p&gt;Training event is scheduled for Mon 11/17/2008 and ends Fri 11/21/2008. This is 5 day deep dive into Commerce Server starting daily 9-5 PM. On Friday we may end early. Cost of the event is $2495.00 per student. There is how ever a group discount. To register please follow this link &lt;a href="http://commerceservertraining.com/CS2007_Training_Event.html"&gt;Commerce Server Training site&lt;/a&gt;.&lt;/p&gt; &lt;h2&gt;Commerce Server Los Angeles Training Experience&lt;/h2&gt; &lt;p&gt;What you will learn systems Catalog, Orders, Profile, Marketing and Data Warehouse. We will also do some short segments on the Partner SDK, CSS and BizTalk Adapters. &lt;/p&gt; &lt;p&gt;You'll learn Commerce Server from Max Akbar &amp;lt;-- me :). I was a Program Manger for Commerce Server 2007 and help develop many of the product's features before working with the Commerce Server Product Group I was with Microsoft Consulting Services (MCS) and worked with various enterprises implementing Commerce Server solutions. This training session will be hands on lots of demos and coding with labs.  &lt;p&gt;What you will take back with you are several tools created by yours truly for Commerce Server. Two video tutorials Catalog and Orders featured at &lt;a href="http://www.commerceservertraining.com/Training_Outline.html"&gt;Commerce Server Training site&lt;/a&gt;.  &lt;p&gt;Here is a rough outline of day to day activity. &lt;/p&gt; &lt;h3&gt;Day one&lt;/h3&gt; &lt;p&gt;In day one you will learn Installation, Configuration, Deployment a Commerce Site and Secure your deployment.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Commerce Server Overview  &lt;li&gt;Hardware Requirements  &lt;li&gt;Software requirements  &lt;li&gt;Commerce Editions  &lt;li&gt;Base Deployment  &lt;li&gt;Enterprise Deployment  &lt;li&gt;Installation  &lt;li&gt;Configuration  &lt;li&gt;Deployment  &lt;li&gt;Securing your Deployment  &lt;li&gt;Administration of Commerce Server&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Day two&lt;/h3&gt; &lt;p&gt;Catalog System  &lt;ul&gt; &lt;li&gt;Catalog Overview  &lt;li&gt;Catalog Architecture  &lt;li&gt;Catalog Management Applications  &lt;li&gt;Catalog APIs  &lt;li&gt;Catalog Design  &lt;li&gt;Catalog Database Overview  &lt;li&gt;Catalog Resource  &lt;li&gt;Catalog Security  &lt;li&gt;Pipelines and Catalogs  &lt;li&gt;Catalog Web Service  &lt;li&gt;Catalog Adapters  &lt;li&gt;Staging Catalogs  &lt;li&gt;Catalog and the Data Warehouse System  &lt;li&gt;Advanced Catalog topics  &lt;li&gt;Best Practices with the Catalog System  &lt;li&gt;Trouble Shooting The Catalog System&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Inventory System&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Inventory Catalog  &lt;li&gt;Inventory Architecture  &lt;li&gt;Inventory Management Applications  &lt;li&gt;Inventory API  &lt;li&gt;Inventory Resource&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Day Three&lt;/h3&gt; &lt;p&gt;Order System  &lt;ul&gt; &lt;li&gt;Orders Overview  &lt;li&gt;Orders Overview Part(II)  &lt;li&gt;Orders Architecture  &lt;li&gt;Orders Management Applications  &lt;li&gt;Orders Runtime API  &lt;li&gt;Orders Management API  &lt;li&gt;Order Processing Pipeline  &lt;li&gt;Orders Design  &lt;li&gt;Orders Databases Overview  &lt;li&gt;Orders Config Databases Overview  &lt;li&gt;Orders Runtime Web.config  &lt;li&gt;Orders Web Service  &lt;li&gt;Orders Mapped Storage  &lt;li&gt;Orders Resource  &lt;li&gt;Orders Security  &lt;li&gt;Orders Adapter  &lt;li&gt;Staging Orders  &lt;li&gt;Orders and the Data Warehouse System  &lt;li&gt;Advanced Orders topics  &lt;li&gt;Best Practices with the Orders System  &lt;li&gt;Trouble Shooting The Orders System&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Day four&lt;/h3&gt; &lt;p&gt;Marketing  &lt;ul&gt; &lt;li&gt;Advertisements  &lt;li&gt;Discounts  &lt;li&gt;Coupons  &lt;li&gt;Expressions  &lt;li&gt;Lists  &lt;li&gt;Direct Mailer  &lt;li&gt;Marketing System Architecture  &lt;li&gt;Marketing System API &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Profile System&lt;/p&gt; &lt;ul&gt; &lt;li&gt;What is Profile Management  &lt;li&gt;Profile Features  &lt;li&gt;Profile Architecture  &lt;li&gt;Profile API  &lt;li&gt;Profile Encryption&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Day five&lt;/h3&gt; &lt;p&gt;Data Warehouse, Partner SDK, BizTalk Adapters and Commerce Server Staging. &lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8960821" width="1" height="1"&gt;</content><author><name>MSDNArchive</name><uri>http://blogs.msdn.com/MSDNArchive/ProfileUrlRedirect.ashx</uri></author><category term="Training" scheme="http://blogs.msdn.com/b/maxakbar/archive/tags/Training/" /></entry><entry><title>Transform a .NET OrderForm to COM OrderForm</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/maxakbar/archive/2008/09/02/transform-a-net-orderform-to-com-orderform.aspx" /><id>http://blogs.msdn.com/b/maxakbar/archive/2008/09/02/transform-a-net-orderform-to-com-orderform.aspx</id><published>2008-09-03T04:27:48Z</published><updated>2008-09-03T04:27:48Z</updated><content type="html">&lt;p&gt;Have you ever wanted to get the Commerce Server managed OrderForm transformed into the Dictionary key pair values? If the answer is yes then keep reading.&lt;/p&gt; &lt;p&gt;There are some scenarios where you just want the OrderForm in Dictionary format so you can call the pipeline components directly or execute the managed pipelines. Please be aware that you can execute the pipeline components outside ASP.NET. For more info please read the following &lt;a href="http://msdn.microsoft.com/en-us/library/bb219198.aspx"&gt;link&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;If you have read my pipeline posts then you know that when executing a pipeline, Commerce Server under the covers will transform your managed OrderForm(s) into Commerce Server Dictionary object(s). For whatever reason, the Commerce Server Product Group did not make the PipelineAdapter public. The PipelineAdapter object is responsible for transformation of the OrderForm. So how can you do this if the class is not public? Reflection.&lt;/p&gt; &lt;p&gt;The following code will show you how to transform the OrderForm. You will need to reference the Microsoft.CommerceServer.Runtime.dll and Microsoft.CommerceServer.Interop.dll. You will also need to make sure that you have an app.config with the order node.&lt;/p&gt; &lt;table border="1" cellspacing="1" cellpadding="1" width="100%"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt; &lt;p&gt;// Get an order context to work with&lt;br&gt;OrderContext context = OrderContext.Create("CSharpSite");&lt;br&gt;&lt;br&gt;// Get a user basket&lt;br&gt;Basket cart = context.GetBasket(new Guid(userId));&lt;br&gt;&lt;br&gt;// Make sure that we have a OrderForm&lt;br&gt;if (cart.OrderForms.Count == 0)&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cart.OrderForms.Add(new OrderForm());&lt;br&gt;} &lt;br&gt;&lt;br&gt;// Do magic with reflection&lt;br&gt;Type orderContext = context.GetType();&lt;br&gt;&lt;br&gt;// PipelineAdapterMap is a property of the order context&lt;br&gt;PropertyInfo property = orderContext.GetProperty("PipelineAdapterMap", BindingFlags.Instance | BindingFlags.NonPublic);&lt;br&gt;&lt;/p&gt; &lt;p&gt;// Get the value of the PipelineAdapterMap property&lt;br&gt;object obj = property.GetValue(context, null);&lt;br&gt;Type pipelineAdapter = obj.GetType();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;MethodInfo[] methods = pipelineAdapter.GetMethods(BindingFlags.Instance | BindingFlags.NonPublic); &lt;/p&gt; &lt;p&gt;object[] orderform = new object[1];&lt;br&gt;orderform[0] = cart.OrderForms[0];  &lt;p&gt;&amp;nbsp; &lt;p&gt;// Method 15 has is what we want and pass it our managed OrderForm&lt;br&gt;object dict = methods[16].Invoke(obj, orderform);  &lt;p&gt;&amp;nbsp; &lt;p&gt;// Do something with the Dictionary OrderForm&lt;br&gt;Dictionary dictionary = (Dictionary)dict;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8921076" width="1" height="1"&gt;</content><author><name>MSDNArchive</name><uri>http://blogs.msdn.com/MSDNArchive/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Commerce Server Cache Refresh</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/maxakbar/archive/2008/08/08/commerce-server-cache-refresh.aspx" /><id>http://blogs.msdn.com/b/maxakbar/archive/2008/08/08/commerce-server-cache-refresh.aspx</id><published>2008-08-09T06:58:10Z</published><updated>2008-08-09T06:58:10Z</updated><content type="html">&lt;p&gt;I was teaching a Commerce Server Training this past week. One of the students asked that he has issues with his business users management applications. When the business users select to refresh the site cache an error is generated. I did some research and found that there is a KB article about how to fix such issues. The KB article can be found &lt;a href="http://support.microsoft.com/kb/931290"&gt;here&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;When I first read the KB article I thought that there must be an error, because it asks to setup the orders web service. So during my class I tried to replicate his issue and sure enough I was able to do it. I looked at my Virtual PC systems and everything worked.&lt;/p&gt; &lt;p&gt;How come this worked on my Virtual PC systems? Well I had my systems setup with the administrator account as the application pool identity. In the orders web service and the front end servers by default the administrator account is configured in the authorization node of the web.config.&lt;/p&gt; &lt;h2&gt;How does the Cache Refresh Work?&lt;/h2&gt; &lt;p&gt;When the users selects to refresh the cache the call is made to the orders web service SiteCacheRefresh.axd (tested with Commerce Server Service Pack 2) then to the front end web server farm. I never really looked at the error message, if you pay attention you will notice that the error message clearly state that a calls was made to the orders web service's SiteCacheRefresh.axd and access was denied.&lt;/p&gt; &lt;h2&gt;How to Fix Cache Refresh?&lt;/h2&gt; &lt;p&gt;In a production environment each web service has it's own application pool and they in turn have their own identity, if you followed the 120 page setup documentation :). You need to write down the Marketing, Catalog and profile web service's application pool identity account and add it to the orders web service web.config.&lt;/p&gt; &lt;p&gt;&amp;lt;location path="SiteCacheRefresh.axd"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;system.web&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;authorization&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;allow roles="BUILTIN\Administrators"/&amp;gt;&lt;br&gt;&lt;font color="#ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;allow users="Domain\CatalogAppPoolIdentity"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;allow users="Domain\MarketingAppPoolIdentity"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;allow users="Domain\ProfileAppPoolIdentity"/&amp;gt;&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;deny users="*"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/authorization&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/system.web&amp;gt;&lt;br&gt;&amp;lt;/location&amp;gt;&lt;/p&gt; &lt;p&gt;Next you will need to add the orders web service account to the front end web server farms as noted in the KB article.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Additional resource you should read &lt;a href="http://msdn.microsoft.com/en-us/library/aa544712.aspx"&gt;"Understanding Caching in Commerce Server"&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8844705" width="1" height="1"&gt;</content><author><name>MSDNArchive</name><uri>http://blogs.msdn.com/MSDNArchive/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Updated version uploaded: Commerce Server 2007 Starter Site Release 2</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/maxakbar/archive/2008/06/08/updated-version-uploaded-commerce-server-2007-starter-site-release-2.aspx" /><id>http://blogs.msdn.com/b/maxakbar/archive/2008/06/08/updated-version-uploaded-commerce-server-2007-starter-site-release-2.aspx</id><published>2008-06-08T21:24:29Z</published><updated>2008-06-08T21:24:29Z</updated><content type="html">&lt;p&gt;Looks like there is an update to the Starter Site Release 2 you can still download it from &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=10F9C18E-3E15-4AB9-9C40-A424876D1630&amp;amp;displaylang=en"&gt;MSDownload&lt;/a&gt;.&lt;/p&gt; &lt;h2&gt;How to tell you have the right download?&lt;/h2&gt; &lt;p&gt;I looked at the original release 2 and the file version for CommerceComponents.dll is 6.0.3863.0 and the update release 2 is 6.0.4109.0.&lt;/p&gt; &lt;h2&gt;How to tell which files were updated?&lt;/h2&gt; &lt;p&gt;Unfortunately, as far as I can tell there is no documentation on the bugs and which files were modified. You need to do a file diff on the code to identify changes :(.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8581383" width="1" height="1"&gt;</content><author><name>MSDNArchive</name><uri>http://blogs.msdn.com/MSDNArchive/ProfileUrlRedirect.ashx</uri></author><category term="SDK" scheme="http://blogs.msdn.com/b/maxakbar/archive/tags/SDK/" /></entry><entry><title>The Commerce Server 2007 Install and Readme documentation has been updated</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/maxakbar/archive/2008/06/06/the-commerce-server-2007-install-and-readme-documentation-has-been-updated.aspx" /><id>http://blogs.msdn.com/b/maxakbar/archive/2008/06/06/the-commerce-server-2007-install-and-readme-documentation-has-been-updated.aspx</id><published>2008-06-06T16:04:08Z</published><updated>2008-06-06T16:04:08Z</updated><content type="html">&lt;p&gt;Now that we have the Commerce Server SP2 the following documentation has also been updated.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Commerce Server 2007 Readme  &lt;li&gt;Commerce Server 2007 Install Guide  &lt;li&gt;Commerce Server 2007 Mom Pack  &lt;li&gt;Commerce Server 2007 SP2-readme-web  &lt;li&gt;Commerce Server 2007 Quick Install Guide&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The documentation was updated to include Windows 2003, 2008, XP and Vista as well as the .NET Framework 3.0 and 3.5 with Visual Studio 2008.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;You can download you copy at &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=3EF4DC34-6BEC-473B-A1E4-CA3B6C5F967F&amp;amp;displaylang=en"&gt;Download details: Commerce Server 2007 Install and Readme documentation&lt;/a&gt;, happy readings.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;I would highly recommend that you spend a few hours and read these documents (the Install Guide has even pictures :)).&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8577804" width="1" height="1"&gt;</content><author><name>MSDNArchive</name><uri>http://blogs.msdn.com/MSDNArchive/ProfileUrlRedirect.ashx</uri></author><category term="Commerce Server Operations" scheme="http://blogs.msdn.com/b/maxakbar/archive/tags/Commerce+Server+Operations/" /><category term="Commerce Server Documentation" scheme="http://blogs.msdn.com/b/maxakbar/archive/tags/Commerce+Server+Documentation/" /></entry><entry><title>Announcing Commerce Server 2007 SP2</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/maxakbar/archive/2008/05/29/announcing-commerce-server-2007-sp2.aspx" /><id>http://blogs.msdn.com/b/maxakbar/archive/2008/05/29/announcing-commerce-server-2007-sp2.aspx</id><published>2008-05-29T17:33:22Z</published><updated>2008-05-29T17:33:22Z</updated><content type="html">&lt;p&gt;The long awaited SP2 is now available on Microsoft's web site.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=10F9C18E-3E15-4AB9-9C40-A424876D1630&amp;amp;displaylang=en"&gt;Commerce Server 2007 Starter Site Release 2&lt;/a&gt;  &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=5E150DFB-16D7-41E2-A315-3B8833311832&amp;amp;displaylang=en"&gt;Commerce Server 2007 Service Pack 2 – Standard Edition (SP2)&lt;/a&gt;  &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=9A50CFDC-E983-4359-86DE-5AE9F6A5A806&amp;amp;displaylang=en"&gt;Commerce Server 2007 Service Pack 2 – Enterprise Edition (SP2)&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=DF6915DC-047E-443D-8E25-DB331CBC87BA&amp;amp;displaylang=en"&gt;&lt;/a&gt; (can be used for Developer Edition) &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=DF6915DC-047E-443D-8E25-DB331CBC87BA&amp;amp;displaylang=en"&gt;Commerce Server 2007 Service Pack 2 – Documentation Refresh&lt;/a&gt; &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=0386DD2F-3A96-4033-A326-207351014DB1&amp;amp;displaylang=en"&gt;Commerce Server 2007 SP2 Partner Software Development Kit (SDK)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;This service pack is for the English version of Commerce Server 2007 this include the binaries and the&amp;nbsp; business user application. This does not affect your ability to develop a multilingual Commerce Server Web site. Installing SP2 on non-English versions of Commerce Server 2007 is not supported.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;/em&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;Note: No new features are introduced in SP2.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;/em&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=3416196&amp;amp;SiteID=1"&gt;Announcing Commerce Server 2007 SP2! - MSDN Forums&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8558632" width="1" height="1"&gt;</content><author><name>MSDNArchive</name><uri>http://blogs.msdn.com/MSDNArchive/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Commerce Server Training Event</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/maxakbar/archive/2008/05/23/commerce-server-training-event.aspx" /><id>http://blogs.msdn.com/b/maxakbar/archive/2008/05/23/commerce-server-training-event.aspx</id><published>2008-05-24T08:06:55Z</published><updated>2008-05-24T08:06:55Z</updated><content type="html">&lt;p&gt;A few weeks a go I mentioned that I would be hosting a Commerce Server Event here in beautiful Los Angeles. Well I am getting closer and closer to finalizing everything and if all goes well I will be doing anther event in London but that date is not yet set. So let's talk about this event :).&lt;/p&gt; &lt;p&gt;Currently the Training event is scheduled for August 4th through 8th. The Class will start 9:00 and end at 5:00 PM. The price for the 5 day training is set for $2495.00. I will discount if you book as a group. Payment must be made two weeks prior to the event. To register please send me an email with your contact information and I will confirm your seat. I will post more info on my site at &lt;a href="http://www.commerceservertraining.com/Training_Outline.html"&gt;Commerce Server Training site&lt;/a&gt; for location and hotel.&lt;/p&gt; &lt;h2&gt;Commerce Server Los Angeles Training Experience&lt;/h2&gt; &lt;p&gt;So what should you expect. 5 days of Commerce Server on the following systems Catalog, Orders, Profile, Marketing and Data Warehouse. We will also do some short segments on the Partner SDK, CSS and BizTalk Adapters. &lt;/p&gt; &lt;p&gt;You'll learn Commerce Server from Max Akbar &amp;lt;-- me :). I was a Program Manger for Commerce Server 2007 and help develop many of the product's features before working with the Commerce Server Product Group I was with Microsoft Consulting Services (MCS) and worked with various enterprises implementing Commerce Server solutions. This training session will be hands on lots of demos and coding with labs. &lt;p&gt;What you will take back with you are several tools created by yours truly for Commerce Server. Two video tutorials Catalog and Orders featured at &lt;a href="http://www.commerceservertraining.com/Training_Outline.html"&gt;Commerce Server Training site&lt;/a&gt; (by then I may have the third video released installation, configuration, deployment and securing Commerce Server). &lt;p&gt;Here is a rough outline of day to day activity. &lt;h3&gt;Day one&lt;/h3&gt; &lt;p&gt;In day one you will learn Installation, Configuration, Deployment a Commerce Site and Secure your deployment.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Commerce Server Overview&lt;/li&gt; &lt;li&gt;Hardware Requirements&lt;/li&gt; &lt;li&gt;Software requirements&lt;/li&gt; &lt;li&gt;Commerce Editions&lt;/li&gt; &lt;li&gt;Base Deployment&lt;/li&gt; &lt;li&gt;Enterprise Deployment&lt;/li&gt; &lt;li&gt;Installation&lt;/li&gt; &lt;li&gt;Configuration&lt;/li&gt; &lt;li&gt;Deployment&lt;/li&gt; &lt;li&gt;Securing your Deployment&lt;/li&gt; &lt;li&gt;Administration of Commerce Server&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Day two&lt;/h3&gt; &lt;p&gt;Catalog System  &lt;ul&gt; &lt;li&gt;Catalog Overview&lt;/li&gt; &lt;li&gt;Catalog Architecture&lt;/li&gt; &lt;li&gt;Catalog Management Applications&lt;/li&gt; &lt;li&gt;Catalog APIs&lt;/li&gt; &lt;li&gt;Catalog Design&lt;/li&gt; &lt;li&gt;Catalog Database Overview&lt;/li&gt; &lt;li&gt;Catalog Resource&lt;/li&gt; &lt;li&gt;Catalog Security&lt;/li&gt; &lt;li&gt;Pipelines and Catalogs&lt;/li&gt; &lt;li&gt;Catalog Web Service&lt;/li&gt; &lt;li&gt;Catalog Adapters&lt;/li&gt; &lt;li&gt;Staging Catalogs&lt;/li&gt; &lt;li&gt;Catalog and the Data Warehouse System&lt;/li&gt; &lt;li&gt;Advanced Catalog topics&lt;/li&gt; &lt;li&gt;Best Practices with the Catalog System&lt;/li&gt; &lt;li&gt;Trouble Shooting The Catalog System&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Inventory System&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Inventory Catalog&lt;/li&gt; &lt;li&gt;Inventory Architecture&lt;/li&gt; &lt;li&gt;Inventory Management Applications&lt;/li&gt; &lt;li&gt;Inventory API&lt;/li&gt; &lt;li&gt;Inventory Resource&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Day Three&lt;/h3&gt; &lt;p&gt;Order System  &lt;ul&gt; &lt;li&gt;Orders Overview&lt;/li&gt; &lt;li&gt;Orders Overview Part(II)&lt;/li&gt; &lt;li&gt;Orders Architecture&lt;/li&gt; &lt;li&gt;Orders Management Applications&lt;/li&gt; &lt;li&gt;Orders Runtime API&lt;/li&gt; &lt;li&gt;Orders Management API&lt;/li&gt; &lt;li&gt;Order Processing Pipeline&lt;/li&gt; &lt;li&gt;Orders Design&lt;/li&gt; &lt;li&gt;Orders Databases Overview&lt;/li&gt; &lt;li&gt;Orders Config Databases Overview&lt;/li&gt; &lt;li&gt;Orders Runtime Web.config&lt;/li&gt; &lt;li&gt;Orders Web Service&lt;/li&gt; &lt;li&gt;Orders Mapped Storage&lt;/li&gt; &lt;li&gt;Orders Resource&lt;/li&gt; &lt;li&gt;Orders Security&lt;/li&gt; &lt;li&gt;Orders Adapter&lt;/li&gt; &lt;li&gt;Staging Orders&lt;/li&gt; &lt;li&gt;Orders and the Data Warehouse System&lt;/li&gt; &lt;li&gt;Advanced Orders topics&lt;/li&gt; &lt;li&gt;Best Practices with the Orders System&lt;/li&gt; &lt;li&gt;Trouble Shooting The Orders System&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Day four&lt;/h3&gt; &lt;p&gt;Marketing &lt;ul&gt; &lt;li&gt;Advertisements&lt;/li&gt; &lt;li&gt;Discounts&lt;/li&gt; &lt;li&gt;Coupons&lt;/li&gt; &lt;li&gt;Expressions&lt;/li&gt; &lt;li&gt;Lists&lt;/li&gt; &lt;li&gt;Direct Mailer&lt;/li&gt; &lt;li&gt;Marketing System Architecture&lt;/li&gt; &lt;li&gt;Marketing System API &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Profile System&lt;/p&gt; &lt;ul&gt; &lt;li&gt;What is Profile Management&lt;/li&gt; &lt;li&gt;Profile Features&lt;/li&gt; &lt;li&gt;Profile Architecture&lt;/li&gt; &lt;li&gt;Profile API&lt;/li&gt; &lt;li&gt;Profile Encryption&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Day five&lt;/h3&gt; &lt;p&gt;Data Warehouse, Partner SDK, BizTalk Adapters and Commerce Server Staging &lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8544291" width="1" height="1"&gt;</content><author><name>MSDNArchive</name><uri>http://blogs.msdn.com/MSDNArchive/ProfileUrlRedirect.ashx</uri></author><category term="Training" scheme="http://blogs.msdn.com/b/maxakbar/archive/tags/Training/" /></entry><entry><title>Reach out and touch Messagemanager</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/maxakbar/archive/2008/05/10/reach-out-and-touch-messagemanager.aspx" /><id>http://blogs.msdn.com/b/maxakbar/archive/2008/05/10/reach-out-and-touch-messagemanager.aspx</id><published>2008-05-10T17:55:47Z</published><updated>2008-05-10T17:55:47Z</updated><content type="html">&lt;p&gt;If you are creating your own pipeline components and your site is international and you need more than the four languages that is out of the box German, French, Japanese and US English for Commerce Server then you need to create your own resource for other languages. How to create a new resource is what this post is all about.&lt;/p&gt; &lt;h2&gt;What is Messagemanager?&lt;/h2&gt; &lt;p&gt;Messagemanager is an object that handling the localization of messages inside your pipeline competents. When you unpack the CSharpSite you will get CommerceMessageManager.dll and four folders representing a language mentioned above.&lt;/p&gt; &lt;p&gt;What are these messages that Messagemanager use? The table below has the messages that Commerce Server uses internally. If you introducing a new language then you need to localize this table.&lt;/p&gt; &lt;table cellspacing="1" cellpadding="1" width="100%" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top"&gt;&lt;strong&gt;Message Key&lt;/strong&gt;&lt;/td&gt; &lt;td valign="top"&gt;&lt;strong&gt;Message Value&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;pur_discount_changed&lt;/td&gt; &lt;td valign="top"&gt;One or more discounts have changed.&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;pur_badhandling&lt;/td&gt; &lt;td valign="top"&gt;Unable to complete order: cannot compute handling cost.&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;pur_badsku&lt;/td&gt; &lt;td valign="top"&gt;Please note that one or more items were removed from your order because the product is no longer sold.&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;pur_badtax&lt;/td&gt; &lt;td valign="top"&gt;Unable to complete order: cannot compute tax.&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;pur_badplacedprice&lt;/td&gt; &lt;td valign="top"&gt;Please note that prices of products in your order have been updated.&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;pur_badcc&lt;/td&gt; &lt;td valign="top"&gt;The credit-card number you provided is not valid. Please verify your payment information or use a different card.&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;pur_badshipping&lt;/td&gt; &lt;td valign="top"&gt;Unable to complete order: cannot compute shipping cost.&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;unknown_shipping_method&lt;/td&gt; &lt;td valign="top"&gt;The selected shipping method is not currently available.&amp;nbsp; Please choose another shipping method.&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;pur_badpayment&lt;/td&gt; &lt;td valign="top"&gt;There was a problem authorizing your credit. Please verify your payment information or use a different card.&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;pur_out_of_stock&lt;/td&gt; &lt;td valign="top"&gt;At least one item is out of stock.&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;pur_noitems&lt;/td&gt; &lt;td valign="top"&gt;An order must have at least one item.&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;pur_badverify&lt;/td&gt; &lt;td valign="top"&gt;Changes to the data require your review. Please review and re-submit.&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;pur_discount_removed&lt;/td&gt; &lt;td valign="top"&gt;One or more discounts no longer apply.&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;L_Language_DisplayName&lt;/td&gt; &lt;td valign="top"&gt;English (en-US)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;h2&gt;OK I have localized the messages now what?&lt;/h2&gt; &lt;p&gt;You need to take the localized messages and create an assembly. There are many methods the following &lt;a href="http://msdn.microsoft.com/en-us/library/ms964360.aspx"&gt;help file link&lt;/a&gt; should help. Once you create an assembly then you need to add it into your bin folder, take care to create the language folder then add the assembly there.&lt;/p&gt; &lt;h2&gt;Can I add my own messages?&lt;/h2&gt; &lt;p&gt;Yes, but the help files do note that the messagemanager is obsolete (I wonder why then Commerce Server uses it? If you find the answer let me know :))?&lt;/p&gt; &lt;h2&gt;How to use Messagemanager inside of Pipeline Components?&lt;/h2&gt; &lt;p&gt;If you have created your own messages and want to use it inside your custom pipeline components the following code will accomplish that.&lt;/p&gt; &lt;table cellspacing="1" cellpadding="1" width="100%" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top"&gt; &lt;p&gt;// using message manager inside pipeline component&lt;br&gt;IMessageManager messageManager = null;&lt;br&gt;IDictionary dict = (IDictionary) pContext; &lt;br&gt;messageManager = (IMessageManager) dic["MessageManager"];&lt;br&gt;object message = messageManager.GetMessage("your string key", language);&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;In order for the pipeline to use the specific language you must execute the Pipeline by passing the language code in the PipelineInfo object. If the language parameter is not specified, or is &lt;b&gt;NULL&lt;/b&gt;, the message is returned for the message set identified by the DefaultLanguage property of the MessageManager object. This value is retrieved from the web.config under the messageManager element.&lt;/p&gt; &lt;h2&gt;Are we there yet?&lt;/h2&gt; &lt;p&gt;Once you have done all the above you will need to add the language in the web.config of your site. Why do I need to do this? We need to tell Commerce Server's Pipeline processor that we have a new language so when Commerce Server pipelines encounter an error they retrieve the message correctly. &lt;/p&gt; &lt;p&gt; &lt;table cellspacing="1" cellpadding="1" width="100%" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top"&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;messageManager&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cultures default="en-US" baseName="CommerceMessageManager" assembly="CommerceMessageManager"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;culture id="en-US"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;culture id="fr-fr"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;culture id="ja-JP"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;culture id="de-DE"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#ff0000"&gt;&amp;lt;culture id="your new language"/&amp;gt;&lt;br&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/cultures&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;resources&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;resource id="pur_badsku"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;resource id="pur_badplacedprice"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;resource id="pur_discount_changed"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;resource id="pur_discount_removed"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;resource id="pur_noitems"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;resource id="pur_badshipping"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;resource id="pur_badhandling"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;resource id="pur_badtax"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;resource id="pur_badcc"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;resource id="pur_badpayment"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;resource id="pur_badverify"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;resource id="pur_out_of_stock"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;resource id="unknown_shipping_method"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/resources&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/messageManager&amp;gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt; &lt;p&gt;Will my custom component also work automagically? No, see the code above about messagemanager and notice that we are passing the language and since you set this value in the PipelineInfo object it will be accessible through the pipeline via the context (pdispContext) parameter.&lt;/p&gt; &lt;p&gt;OK, I think we are done now.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8483858" width="1" height="1"&gt;</content><author><name>MSDNArchive</name><uri>http://blogs.msdn.com/MSDNArchive/ProfileUrlRedirect.ashx</uri></author><category term="Orders System" scheme="http://blogs.msdn.com/b/maxakbar/archive/tags/Orders+System/" /></entry><entry><title>OrderForm Visualizer</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/maxakbar/archive/2008/04/28/orderform-visualizer.aspx" /><id>http://blogs.msdn.com/b/maxakbar/archive/2008/04/28/orderform-visualizer.aspx</id><published>2008-04-29T06:52:38Z</published><updated>2008-04-29T06:52:38Z</updated><content type="html">&lt;p&gt;Have you developed a pipeline component and then started to debug it and found that you couldn't drill down the OrderForm, Dictionary and SimpleList objects? Well here is the solution. I created this Visualizer to help with the debugging process of pipeline components.&lt;/p&gt; &lt;h2&gt;What is a Visualizer?&lt;/h2&gt; &lt;p&gt;Visualizers allows the displays of a variable or object in a meaningful way. For example, if you have a DataSet visualizer interprets a DataSet object and displays the result in a DataGridview. So the OrderForm visualizer interprets Commerce Server OrderForm which inherits from Dictionary and SimpleList in a TreeView. After installing the OrderForm visualizer run your pipeline code and set a debug point bring your cursor on the object you wish you view noticed that now you have a Dictionary Visualizer.&lt;/p&gt; &lt;p&gt;&lt;img src="http://blogs.msdn.com/photos/commerceserver/images/8436363/original.aspx"&gt;&lt;/p&gt; &lt;p&gt;After selecting the visualizer the data is rendered in a TreeView.&lt;/p&gt; &lt;p&gt;&lt;img src="http://blogs.msdn.com/photos/commerceserver/images/8436364/original.aspx"&gt;&amp;nbsp; &lt;/p&gt; &lt;p&gt;You can now visualize the data in a tree structure by viewing the key\pair value and the data type.&lt;/p&gt; &lt;p&gt;&lt;br&gt;&lt;strong&gt;&lt;em&gt;Note: The OrderForm visualizer does not allow modifying the underlying data.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;h2&gt;What Version of Visual Studio 2005 does this support?&lt;/h2&gt; &lt;p&gt; &lt;table width="50%"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;th&gt; &lt;p&gt;Edition &lt;/p&gt;&lt;/th&gt; &lt;th&gt; &lt;p&gt;Visual Basic &lt;/p&gt;&lt;/th&gt; &lt;th&gt; &lt;p&gt;C# &lt;/p&gt;&lt;/th&gt; &lt;th&gt; &lt;p&gt;C++ &lt;/p&gt;&lt;/th&gt; &lt;th&gt; &lt;p&gt;Web Developer &lt;/p&gt;&lt;/th&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt; &lt;p&gt;Express &lt;/p&gt;&lt;/td&gt; &lt;td&gt;X&lt;/td&gt; &lt;td&gt;X&lt;/td&gt; &lt;td&gt; &lt;p&gt;Managed only &lt;/p&gt;&lt;/td&gt; &lt;td&gt;X&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt; &lt;p&gt;Standard &lt;/p&gt;&lt;/td&gt; &lt;td&gt;X&lt;/td&gt; &lt;td&gt;X&lt;/td&gt; &lt;td&gt; &lt;p&gt;Managed only &lt;/p&gt;&lt;/td&gt; &lt;td&gt;X&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt; &lt;p&gt;Pro and Team &lt;/p&gt;&lt;/td&gt; &lt;td&gt;X&lt;/td&gt; &lt;td&gt;X&lt;/td&gt; &lt;td&gt; &lt;p&gt;Managed only &lt;/p&gt;&lt;/td&gt; &lt;td&gt;X&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt; &lt;p&gt;I haven't tested Visual Studio 2008 but I don't see any issues with using it.&lt;/p&gt; &lt;h2&gt;Where do I get the OrderForm Visualizer?&lt;/h2&gt; &lt;p&gt;&lt;a href="http://www.commerceservertraining.com/Commerce_Server_tools.html"&gt;Commerce Server Training, Inc.&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8436495" width="1" height="1"&gt;</content><author><name>MSDNArchive</name><uri>http://blogs.msdn.com/MSDNArchive/ProfileUrlRedirect.ashx</uri></author><category term="Orders System" scheme="http://blogs.msdn.com/b/maxakbar/archive/tags/Orders+System/" /><category term="SDK" scheme="http://blogs.msdn.com/b/maxakbar/archive/tags/SDK/" /></entry></feed>