Archive for August 2008

Commerce server 2007 starter site provides a fully-functional sample retail site solution. It is a showcase application provided by Microsoft and provide guidelines for building front-end websites using Commerce Server 2007. It showcases most of the mission-critical features of an ecommerce application. With sample data included, the Starter Site will allow you to build an online store complete with product details, shopping cart, checkout processes, and marketing support. You can download starter site from Microsoft site and the URL is
http://www.microsoft.com/downloads/details.aspx?FamilyID=c1a8cc18-dc9e-4c50-b598-86e640a79910&displaylang=en

Using commerce server site packer tool, we can unpack starter site. Sometimes, the developer might need to install multiple instances of starter site. To do that, you need to select “Custom Unpack” as shown below.

Unpack Starter Site 

Click next button.  In the third screen, give your desired site name  (as shown below).
Enter Site Name 

Keep all default settings (perform changes if required). At the last screen, we have to change the default application and virtual directory names (as shown below).
Update Application & Virtual Directories 

Select commerce server application name at the top and change commerce server application name and virtual directory name in the text boxes.

With this approach, we can create/unpack multiple instances of commerce server starter site on a single machine.

Related Articles


If you like this post, please click on our sponsor advertisement.


Gartner has released a report on July 18, 2008 under the title “Magic Quadrant for E-Commerce ” by analyst Gene Alvarez – delivers valuable information about the eCommerce market.

Garter states that the consumerization of online technologies is creating a demand for rich Internet experiences with user-generated content. Today’s buyers desire Web sites to speed up the process of finding a product, enable comparisons of products, provide tools to help buyers understand the product, and have community-based information to help them to make the final buying decisions — all with knowledge of “who” they’re serving across multiple points of interaction.

 Magic Quadrant for E-Commerce

Source: Gartner.com

The article talked about Microsoft Commerce Server 2007 and tells that it will enable customers to create full-featured Web business applications and extend their business across networks, while allowing the integration of e-commerce solutions within the customer’s existing infrastructure.

As per this article, Microsoft Commerce server SP2 has a strong set of e-commerce capabilities such as

  • Shopping cart management
  • Taxation
  • Personalization
  • Transaction Management
  • Settlement
  • Product visualization
  • Multi-channel Integration with Kiosk, mobile devices, POS systems, interactive TV & gaming
  • Web 2.0 capabilities such as social commerce.
  • Community aspects – product reviews
  • Rich interactive applications
  • Drag and Drop in web applications
  • Compare pages,
  • Single page checkout
  • Integration with Microsoft live search.

Thanks to Gartner for creating such a comprehensive article. You can read entire article at Gartner site

http://mediaproducts.gartner.com/reprints/microsoft/vol4/article1/article1.html

Related Articles


If you like this post, please click on our sponsor advertisement.


After commerce server installation, if we try to create and schedule a direct mailer, commerce server throws an error -”Direct mail <mailer id> could not be schedule” and detail error is shown below.

Microsoft.CommerceServer.Marketing.DirectMailSchedulingException: The Direct Mail (ID=’12′) could not be scheduled.
The Direct Mailer Service account may not have the permissions required to schedule tasks correctly.
Please make sure that the following settings are correct:
  1. A Windows User Group called ‘DML_SG’ exists on the computer running the Direct Mailer Service.
  2. The Direct Mailer Service Account is a member of the ‘DML_SG’ Group.
  3. The ‘DML_SG’ Group has full permissions on the ‘%windir%tasks’ folder.
  4. The process calling the Marketing Management API (usually the Marketing Web Service account) is a member of the ‘DML_SG’ Group.
Steps 1, 2 and 3 are automatically configured when you run the Configuration Wizard.
You may need to reconfigure the ‘Direct Mailer’ feature using the ‘/r’ option of the Commerce Server Configuration Wizard.
The Inner Exception and the Event Log may have more details. —> System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: The Direct Mail (ID=’12′) could not be scheduled.
The Direct Mailer Service account may not have the permissions required to schedule tasks correctly.
Please make sure that the following settings are correct:
  1. A Windows User Group called ‘DML_SG’ exists on the computer running the Direct Mailer Service.
  2. The Direct Mailer Service Account is a member of the ‘DML_SG’ Group.
  3. The ‘DML_SG’ Group has full permissions on the ‘%windir%tasks’ folder.
  4. The process calling the Marketing Management API (usually the Marketing Web Service account) is a member of the ‘DML_SG’ Group.
Steps 1, 2 and 3 are automatically configured when you run the Configuration Wizard.
You may need to reconfigure the ‘Direct Mailer’ feature using the ‘/r’ option of the Commerce Server Configuration Wizard.
The Inner Exception and the Event Log may have more details. —> Microsoft.CommerceServer.Marketing.DirectMailSchedulingException: The Direct Mail (ID=’12′) could not be scheduled.
The Direct Mailer Service account may not have the permissions required to schedule tasks correctly.
Please make sure that the following settings are correct:
  1. A Windows User Group called ‘DML_SG’ exists on the computer running the Direct Mailer Service.
  2. The Direct Mailer Service Account is a member of the ‘DML_SG’ Group.
  3. The ‘DML_SG’ Group has full permissions on the ‘%windir%tasks’ folder.
  4. The process calling the Marketing Management API (usually the Marketing Web Service account) is a member of the ‘DML_SG’ Group.
Steps 1, 2 and 3 are automatically configured when you run the Configuration Wizard.
You may need to reconfigure the ‘Direct Mailer’ feature using the ‘/r’ option of the Commerce Server Configuration Wizard.
The Inner Exception and the Event Log may have more details. —> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. —> System.UnauthorizedAccessException: An error occurred when scheduling the Direct Mailer Task for Site ‘StarterSite’, Campaign Item ’12′: An error occurred while setting up the scheduled task. Task Name: ‘dml_job_site_StarterSite_item_12_test’  Command Line: ‘C:Program FilesMicrosoft Commerce Server 2007dmlrun.exe’  Parameters: ‘/create:type=test;site=”StarterSite”;id=12 /execute’:
   — End of inner exception stack trace —
   at System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters)
   at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
   at Microsoft.CommerceServer.Internal.Marketing.DirectMailStorage.ExecuteSchedulingMethodOnDirectMailer(String methodName, String siteName, Int32 campaignItemId)
   — End of inner exception stack trace —
   at Microsoft.CommerceServer.Internal.Marketing.DirectMailStorage.ExecuteSchedulingMethodOnDirectMailer(String methodName, String siteName, Int32 campaignItemId)
   at Microsoft.CommerceServer.Internal.Marketing.DirectMailStorage.TestDirectMail(Int32 campItemId, Int32 maxTestListSize)
   at Microsoft.CommerceServer.Internal.Marketing.DataMarketingSystemImpl.TestDirectMail(Int32 campaignItemId)
   at Microsoft.CommerceServer.Marketing.WebService.MarketingWebService.TestDirectMail(Int32 campaignItemId)
   — End of inner exception stack trace —
   at Microsoft.CommerceServer.Marketing.WebService.MarketingWebService.PropagateOrLogExceptionInternal(Exception except)
   at Microsoft.CommerceServer.Marketing.WebService.MarketingWebService.PropagateOrLogException(Exception except)
   at Microsoft.CommerceServer.Marketing.WebService.MarketingWebService.TestDirectMail(Int32 campaignItemId)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at Microsoft.CommerceServer.Internal.Marketing.MarketingServiceProxy.AuthorizedInvoke(String methodName, Object[] parameters)
   — End of inner exception stack trace —
   at Microsoft.CommerceServer.ServiceAgent.TryHandleWebMethodException(Exception ex, SoapHttpClientProtocol serviceProxy)
   at Microsoft.CommerceServer.Internal.Marketing.MarketingServiceProxy.AuthorizedInvoke(String methodName, Object[] parameters)
   at Microsoft.CommerceServer.Internal.Marketing.MarketingServiceProxy.TestDirectMail(Int32 campaignItemId)
   at Microsoft.CommerceServer.Internal.Marketing.AgentMarketingSystemImpl.TestDirectMail(Int32 campaignItemId)
   at Microsoft.CommerceServer.Marketing.DirectMail.Test()
   at Microsoft.CommerceServer.UI.MarketingManager.PrimaryController.TryTestDirectMail(DirectMail dm)

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

The error still persist even though if we perform all the operations mentioned in the error message. There are two things that can solve this error.

  • Open Registry using regedit.exe. Navigate to HK_LOCAL_MachineSoftwareMicrosoftSchedulingAgent and give full control to NT account under which marketing system is working (or add authenticate users).
  • Restart the machine.

Note: Some times the error still exist after performing IIS reset but the error will not come if we restart the box/VPC. So, I recommend restarting IIS first. If the problem still exists then restart the machine/VPC.

Related Articles


If you like this post, please click on our sponsor advertisement.


Commerce server uses Cache all its subsystems information to make the application run faster. When you add, update, or delete information in any CS Business Application, you can refresh the site cache for the application so that the latest data is available. Through configuration (web.config), Site cache can be refreshed periodically or we can also refresh cache manually.

There are two ways to refresh Commerce server Cache

  1. Through business management applications – In business management application, on task pane, click on refresh site cache.
  2. Refresh Cache through browser. Open following URL in your browser
    http://<Web Server Machine Name>/OrdersWebService/SiteCacheRefresh.axd?CacheToRefresh=AllMarketingCaches
    http://<Web Server Machine Name>/OrdersWebService/SiteCacheRefresh.axd?CacheToRefresh=ProfileCache
    http://<Web Server Machine Name>/OrdersWebService/SiteCacheRefresh.axd?CacheToRefresh=CatalogCache

Related Articles


If you like this post, please click on our sponsor advertisement.


We can update profile attributes either using Profile.Update() method or Profile.Update(xmldata, xmlformat) method. The second method is used when we are trying to update using xml data.

This method takes two parameters

1.     XML Data

2.     Profile XML Format

Commerce server accepts two types of xml formats. This is decide how the

1.     ElementCentric

2.     AttributeCentric

In the below example I am getting

            ProfileContext profileContext = CommerceContext.Current.ProfileSystem;

            Profile currency = profileContext.GetProfile(“GeneralInfo.currency_code”, “$”, “Currency”);

            currency["GeneralInfo.conversion_factor"].Value = 12;

            string xmlData = currency.GetXml(ProfileXmlRetrieve.SchemaAndData, ProfileXmlFormat.ElementCentric);

            currency.Update(xmlData, ProfileXmlFormat.ElementCentric);

currency.Update();

 

Note: In order to make XMLData persist in DB, you should explicitly call Update() method after calling Update(xmldata, xmlformat) method, else XMLData will not be saved to the database.

 

If your XML data contains only Profile data (not schema) then you will get following error.

Failed to update profile using specified XML”.

Related Articles


If you like this post, please click on our sponsor advertisement.


Follow me on Google+
Add to circles

In 0 people's circles

Sign up for Newsletter