Welcome to MSDN Blogs Sign in | Join | Help

Commerce Server 2007 Book Now Available!

Glen Smith has published the very much anticipated Commerce Server 2007 book.  To buy it, click here.  I know I am ordering a copy ASAP.  :-)

 Congrats to Glen!

 Per Glen's feedback, this book currently covers CS2007 w/ the intention to be updated w/ CS2009 content.

Posted by tschultz | 3 Comments
Filed under:

Commerce Server Profile Schema - Automating Import/Export with PowerShell Scripts

A common headache for any large team Commerce Server project is keeping each local developer’s workstation in synch with the schemas.  In the case of the Profile System, each developer must be mindful to export the profile schema using the Commerce Server Manager, check-in to source control, and then notify the team to import the new schema.  Each developer then uses the same MMC to manually import the schema, being sure to specify connection strings for their local profile databases. 

Wouldn’t it be nice to automate the export & import?!!  Here are a couple PowerShell scripts for exporting and importing the schema.  Note the export script uses BusinessDataAdmin2FreeThreaded.ExportCatalogs Method to store the credentials in the outputted XML.  This is not something available to the CS MMC.


To run these scripts, simply open your PowerShell command prompt and CD to the directory where you saved the scripts.  Of course, you’ll want to update the parameter values to reflect your CS Site Name.  Run .\ExportProfileSchema.ps1 and .\ImportProfileSchema.ps1

 

ExportProfileSchema.ps1

# Commerce Server Site Name
$siteName = "CSharpSite"
 
# Export File Path 
$filePath = "c:\ProfileSchema.xml"
$user = ""
$pwd = ""
 
# If removeCredentials parameter is true, then the credentials (user name and password) will be removed from all connection strings. 
# These credentials will have to be replaced # before the catalog can be imported. 
# If the catalog is imported through Commerce Server Manager, the user must enter a user name and password for each data source partition in # the catalog. 
# A value of true indicates remove the credentials. A value of false indicates do not remove the credentials. The default value is true. 
# If the removeCredentials parameter is false, then the credentials will be exported in plain text with the rest of the catalog.
# http://msdn.microsoft.com/en-us/library/microsoft.commerceserver.interop.profiles.businessdataadmin2freethreaded.exportcatalogs.aspx
$removeCredentials = 0
 
# Load Assemblies
echo "Loading .NET Assemblies"
[System.Reflection.Assembly]::Load("Microsoft.CommerceServer.Interop.Profiles.BizDataAdmin, Version=6.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35")
[System.Reflection.Assembly]::Load("Microsoft.CommerceServer.Interop.Configuration.MSCSCfg, Version=6.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35")
[System.Reflection.Assembly]::Load("ADODB, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
[System.Reflection.Assembly]::Load("System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")
 
# Initialize SiteConfigReadOnlyFreeThreaded            
echo "Initializing Commerce Server 2007 SiteConfigReadOnlyFreeThreaded Object"
$siteConfig = new-object Microsoft.CommerceServer.Interop.Configuration.SiteConfigReadOnlyFreeThreaded
$siteConfig.Initialize($siteName)
 
# Get the Biz Data Store Connection String (OLEDB)
$bdsConnect = $siteConfig.Fields.Item("Biz Data Service").Value.Fields.Item("s_BizDataStoreConnectionString").Value
echo "CS Biz Data Store Connection String (OLEDB)
:" $bdsConnect
 
# Release underlying COM resources
$siteConfig.Dispose()
 
# Connect to Biz Data Store
$bizDataAdmin = new-object Microsoft.CommerceServer.Interop.Profiles.BusinessDataAdmin2FreeThreaded
echo "Connecting to Biz Data Store"
$bizDataAdmin.Connect([ref] $bdsConnect, [ref] $user, [ref] $pwd)
 
# Export to XML File
echo "Exporting Profile Schema to " $filePath
$bizDataAdmin.ExportCatalogs([ref] $filePath, [ref] $removeCredentials)
 
 
# Release underlying COM resources
 
$bizDataAdmin.Dispose()
 
echo "Profile Schema Exported Successfully!"
 

ImportProfileSchema.ps1 

# Commerce Server Site Name
$siteName = "CSharpSite"
 
# Import File Path 
$filePath = "c:\ProfileSchema.xml"
$user = ""
$pwd = ""
 
# Load Assemblies
echo "Loading .NET Assemblies..."
[System.Reflection.Assembly]::Load("Microsoft.CommerceServer.Interop.Profiles.BizDataAdmin, Version=6.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35")
[System.Reflection.Assembly]::Load("Microsoft.CommerceServer.Interop.Configuration.MSCSCfg, Version=6.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35")
[System.Reflection.Assembly]::Load("ADODB, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
[System.Reflection.Assembly]::Load("System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")
 
# Initialize SiteConfigReadOnlyFreeThreaded            
echo "Initializing Commerce Server 2007 SiteConfigReadOnlyFreeThreaded Object..."
$siteConfig = new-object Microsoft.CommerceServer.Interop.Configuration.SiteConfigReadOnlyFreeThreaded
$siteConfig.Initialize($siteName)
 
# Get the Biz Data Store Connection String (OLEDB)
$bdsConnect = $siteConfig.Fields.Item("Biz Data Service").Value.Fields.Item("s_BizDataStoreConnectionString").Value
echo "CS Biz Data Store Connection String (OLEDB)
:" $bdsConnect
 
# Release underlying COM resources
$siteConfig.Dispose()
 
# Connect to Biz Data Store
$bizDataAdmin = new-object Microsoft.CommerceServer.Interop.Profiles.BusinessDataAdmin2FreeThreaded
echo "Connecting to Biz Data Store"
$bizDataAdmin.Connect([ref] $bdsConnect, [ref] $user, [ref] $pwd)
 
# Read XML into string
$doc = new-object System.Xml.XmlDocument
$doc.Load($filePath)
 
# Import Profile Schema
echo "Importing Profile Schema from " $filePath
$bizDataAdmin.ImportCatalogs([ref] $doc.get_InnerXml())
# Release underlying COM resources
$bizDataAdmin.Dispose()
echo "Profile Schema Imported Successfully!"
Posted by tschultz | 1 Comments
Filed under:

Attachment(s): ExportImportSchema.jpg

Commerce Server 2009 Web Cast - Using Store Locator Web Part

In this Web Cast, I explain how to setup, configure, and use the Store Locator web part feature of Commerce Server 2009.  If you have any questions, issues, or feedback, please contact me via my e-mail address, tschultz@microsoft.com.

You can download the PowerPoint deck here.

UPDATE: This web cast is now available on Channel 9 via this link.  The bit-rate is much improved over that of the SoapBox/video.msn.com post.

Posted by tschultz | 3 Comments

Attachment(s): CS2009_StoreLocator.pptx

Commerce Server 2009 - National Retail Federation (NRF) 98th Annual Convention & EXPO

Hello Everyone...

Are you attending the National Retail Federation (NRF) 98th Annual Convention & EXPO in New York City January 11-14th?  If so, please stop by the Microsoft booth to check out Commerce Server 2009 demonstrations and get answers to your questions direct from the product team.  I will see you there!!

On a separate note, I am returning from the Commerce Server team to Microsoft Consulting Services as a solution architect.  Scott Cairney will be taking over all TAP responsibilities for Commerce Server 2009 and beyond.  You can reach Scott via e-mail b-scairn@microsoft.com.  I encourage you to reach to Scott for the latest on CS2009 and Commerce Server futures.  If you have not already, definitely check out the latest CTP & downloads on the Commerce Server Connect Site

Please note my updated e-mail address is tschultz@microsoft.com

It's been a real pleasure assisting Commerce Server TAP customers/partners, MVPs, and early adopters.  I look forward to working w/ many of you directly in the field on Commerce Server projects!

Happy New Year and see you at NRF!

Tom

Posted by tschultz | 1 Comments
Filed under:

FIX: Error 1330 - Installing Visual Studio 2008 on Windows Server 2008 VPC

OK, I have run into SO many bloody 1330 errors while installing Visual Studio 2008 on a Windows Server 2008 VPC.  Here is the fix I ran across on Heath Stewart's blog

 On my host, I installed the Windows SDK for Windows Server 2008 and .NET Framework 3.5

I then copied SetReg to my VPC image from my host's C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin.

I then updated my SetReg settings on the VPC as is mentioned in Heath's article.

Software Publishing State Key Values (0x22800):
   1) Trust the Test Root........................... FALSE
   2) Use expiration date on certificates........... TRUE
   3) Check the revocation list..................... TRUE
   4) Offline revocation server OK (Individual)..... FALSE
   5) Offline revocation server OK (Commercial)..... TRUE
   6) Java offline revocation server OK (Individual) FALSE
   7) Java offline revocation server OK (Commercial) TRUE
   8) Invalidate version 1 signed objects........... FALSE
   9) Check the revocation list on Time Stamp Signer FALSE
  10) Only trust items found in the Trust DB........ FALSE

 Reran the VS2008 install and PRESTO!  it worked w/ no Error 1330s.

 FWIW, I am writing this down here on my blog so I have it semi-permanently for future such mishaps.  :-)

 Tom

Posted by tschultz | 0 Comments

Commerce Server 2009 - December 2008 CTP Now Available!

 

CSLOGO

 

The Commerce Server team is pleased to announce the availability of the Microsoft Commerce Server 2009 - December 2008 CTP, the feature complete pre-release of the next version of Commerce Server.  (These CTP’s were formerly known as Commerce Server 2007 code name “Mojave”.)

 

Commerce Server 2009 delivers the ability to increase your business reach by making it possible to sell via multiple channels using an out-of-the-box shopping site, SharePoint Commerce Services, and the Multi-Channel Commerce Foundation. The new out-of-the-box shopping site leverages SharePoint Commerce Services, which provides a gallery of ASP.NET 3.5 Web Parts, a comprehensive e-commerce shopping feature-set, and technology integration between Commerce Server and SharePoint technologies. The Multi-Channel Commerce Foundation provides a new unified, extensible run-time programming model for Commerce Server, including new run-time e-commerce capabilities.

 

Important

 

We invite you to install this pre-release version of Commerce Server 2009 into a non-production environment, preferably on a clean machine, to learn more about the Multi-Channel Commerce Foundation and SharePoint Commerce Services. This release is for evaluation purposes only and is not intended to be used in a production environment.

 

To download the December CTP ISO, go to the Download Center.

 

To download the Commerce Server 2009 Installation Guide and the Microsoft Commerce Server 2009 December 2008 CTP Readme, click this link. Follow the instructions in the Installation Guide to install the December CTP.

 

To download samples of how to use the API, click this link.

 

Bugs, Questions, Feedback?

 

If you have any questions, please submit them via the Connect site.

 

Thanks much.

 

Tom

Posted by tschultz | 1 Comments

Commerce Server 2007 code name "Mojave" November 2008 CTP - Now Available!

The Commerce Server team is pleased to announce the availability of the Microsoft Commerce Server 2007 code name "Mojave" November CTP.  This is pre-release of the next version of our Commerce Server offering. 

To download the November CTP ISO and installation guide, click this link  or go to the Downloads page. Follow the instructions in the Installation Guide to install the November CTP.

You can also download November CTP samples that show how to use the API.

Microsoft Commerce Server code name “Mojave” delivers the ability to increase your business reach by selling through multiple channels through a new default out-of-the-box shopping site based on ASP.NET 2.0 Web Parts deployed in SharePoint and other SharePoint commerce services, and a compelling new multi-channel commerce foundation, with a new unified run-time calling model, new extensibility points and new built-in features.

Specifically “Mojave” adds:

  • New multi-channel commerce foundation, superseding the existing Commerce Server programming model, to rapidly build extensible e-commerce applications for the Web and beyond utilizing .NET 3.5 SP1+.
  • SharePoint commerce services including 29 out-of-the-box e-commerce Web parts plus integration between Commerce Server and SharePoint offering a new default out-of-the-box site with new search functionality, new shopping features, and what-you-see-is-what-you-get (WYSIWYG) content management and design experiences to facilitate rapid assembly and maintenance of e-commerce Web sites by business users and creative professionals.
Posted by tschultz | 7 Comments
Filed under:

Commerce Server "Mojave" PDC Session Now Available

 

If you missed our session on Commerce Server "Mojave" at this week's Microsoft Professional Developer Conference (PDC) in Los Angeles..

The web cast and deck from the session are now available on MSDN Channel9

 "In this session you will get an in depth look into the new Commerce Server "Mojave" product release. Learn how you can use Commerce Server's next-generation e-commerce API to develop performant, multi-channel e-commerce websites. See improvements to the programming model, improved functionality for working with the desktop and devices, and integration of Commerce Server with SharePoint and ASP.NET. We'll also show how to use the "Mojave" e-commerce web parts to quickly build rich, custom user experiences."

Posted by tschultz | 0 Comments
Filed under:

Commerce Server Code Name “Mojave” TAP Announcement

CSLogo

 

Technology Adoption Program (TAP)

Nomination Period Announcement

 

The Microsoft® Commerce Server Product Team is very excited to inform you about our upcoming release of a new multi-channel retail accelerator to Commerce Server 2007, code-named “Mojave”, which is being designed specifically to meet the e-commerce needs of enterprise & midsize businesses. 

 

"Commerce Server"- What is it?

 

Microsoft® Commerce Server 2007 is a full-featured e-commerce platform and tool set, and has been the most successful release of the product to-date. With thousands of customers in the Enterprise segment and growing, it is the leader in packaged solution market share.

 

Its approach is fundamentally different than that of its peer competitors – as Commerce Server is centered on developer extensibility and the ability to customize, rather than packaged functionality.

 

The core value themes of Commerce Server 2007 are:

·         Multi-channel support

·         High extensibility and easy integration

·         High availability and performance

·         Core e-commerce functionality

To maintain Commerce Server’s position of strength – and grow it – additional investments are occurring through the Mojave Program.

 

"Mojave"- What is it?

 

Mojave is the first significant functional addition to Commerce Sever 2007 that address these following core themes:

 

Multi-channel is here now

-       Out of the box integrated consumer centric multi-channel capabilities over multiple mediums, brands, and locales.

-       3 out of the box channels ready to go: Web, Mobile, Live Services

-       New channels require configuration and not customization.

Out-of-the-box shopping experiences

-       Out of the box ASP.NET 2.0+ web part shopping features.

-       Web 2.0 social networking paradigms via SharePoint and Live integration.

-       E-commerce web features easily added by business users, skin-able by designers (Expression), extendable by developers (Visual Studio).

Tools to empower Merchandisers and Marketers

-       Centralize day to day marketing and merchandizing tasks in a single portal.

-       WYSIWYG content editing with preview.

-       Content management capabilities: workflow, approval, auditing and publishing.

-       Leverage familiar Office tools to minimize the learning curve.

 

Together, Commerce Server 2007 and Mojave offer the most complete e-commerce software on the market:

·         Multi-channel is here now

·         High extensibility and easy integration

·         High Availability and Performance

·         Out-of-the-box Shopping Experiences

·         Tools to empower Merchandisers and Marketers

"Mojave" TAP How to Engage

We have heard from many customers that they are anxious to be ahead of the curve and start testing and deploying "Mojave."  As you know, at Microsoft we have developed the Technology Adoption Program (TAP) to engage customers with our product groups to provide feedback and validation.

 

Nominations for the "Mojave" TAP are being accepted now through August 1st, 2008. Before submitting your nomination, please consult the program overview below and coordinate with your Microsoft account representative.  You can also email the nomination alias at MoTAPNom@microsoft.com.   We will coordinate with you a meeting to explain the program details.

 

Sincerely,

Commerce Server Product Team



“Mojave”

Customer Technology Adoption Program (TAP)

 Program Overview


The “Mojave” TAP provides an opportunity for enterprise and midsized businesses and Microsoft to collaborate for the purpose of product validation of the first release of "Mojave", through deployments of pre-release builds in a production environment and product feedback.

 

As a result of this collaboration, TAP participants will have an opportunity to validate the design and direction of the “Mojave” by discovering bugs, submitting Design Change Requests (DCR's) for the product development teams to consider, and providing general feedback. 

 

In addition to being an empowered partner in the development process, TAP participants will enjoy many benefits of a closer working relationship. This program also provides customers with support from the Commerce Server product team, including support for production deployment issues (when builds are deemed “production ready”).

 

At the conclusion of the Program, Microsoft would like to cultivate the experiences gained in this collaboration to produce joint Public Relations and/or Marketing opportunities.

 

Program Mission:  To partner with Customers to improve customers’ business, validate and improve Microsoft products through the deployment of pre-released technology.

 

Program Product: “Mojave”     (exact name not final).

 

Mojave is the first significant functional addition to Commerce Sever 2007 that address these following core themes:

 

Business Value:

Increase reach through multiple channels

-       Mojave gives Marketers and Merchandisers new ways to engage customers with information at their fingertips via consumer devices such as mobile and Xbox; and new mediums, such as Live.

Leverage the Microsoft consumer community via Microsoft properties, such as Live!

-       Mojave enables businesses to leverage more consumers via Microsoft properties, such as Live and Xbox.

Engage and Interact with your Customers

-       Mojave enables rich engagement and interaction with customers using Web 2.0 community features.

Get online quickly with an out of the box production-ready shopping site

-       Mojave offers a production-ready shopping site that can be quickly set up via a task-orientated approach, without Developers, so that Merchandisers and Marketers can easily configure product and marketing information; getting you online quickly and easily.

Reduce need for Developers and empower Marketers to manage the Presentation

-       Mojave reduces the need for Developers by enabling Marketers to create a new site or change the look and feel of the existing site through “drag and drop” Web parts.

Quick, efficient new product introduction

-       Mojave enables Merchandisers to easily and quickly add new products to their online channels through easy bulk data uploading and previewing capabilities.

Brand Portfolio Management

-       Mojave brings brand management back where it belongs – into the hands of business users.  They can create brand information once and use it across different sites and other channels.

 

Technical Value:

Out of the box e-commerce features that meet or exceed industry standards, reducing custom development

-       Mojave meets or exceeds industry features such as Profile Management, Lists and Registries, Marketing and Personalization, reducing customer development.

Design and Integration Extensibility

-       The Mojave framework enables additional functionality, custom business rules, and integration to external systems, business partners, and ‘cloud’ services; while maintaining its simplified API.

Leverage other Microsoft technologies

-       Mojave maximizes your investment through synergies and integration with other Microsoft platform tools and solutions, such as SharePoint and Live!

Long-term supportability

-       Mojave is designed for the future, offering a cleaner API using up to date technologies and architecture designs such as .NET 3.5, SOA, and Windows Communication Foundation (WCF).

 

 

High Level Program Participation Requirements

Identify joint goals

-       Identify new technologies/features to be leveraged

-       Commit to deploy Mojave in a production environment +90 days from release to manufacturing.

-       Commit to significant testing and deployment goals at each major milestone

Provide feedback

-       Provide active and prompt product feedback at each milestone

-       Provide comprehensive feedback including IT environment, functionality, experience, documentation, and ways to improve

-       Participate in surveys and TAP portal information gathering

Project planning

-       Develop an architecture plan

-          Produce a deployment plan

-          Develop a hardware plan

-          Develop test plans including performance metrics and create a test lab

Resources required

-       Commit to appropriate long-term resources and funding

-       Participate in weekly status with TAP Program Manager

Public relations

-         Commit to public relation activities

 

 

Program Benefits for participants:

Business Advantages

-       Early access to pre-release version of  “Mojave”

-       Collaborate for success in a deployment project

-       Product and Business validation for e-commerce platform investments

-       Competitive advantage of multi-channel reach

-       Hands on development labs for select customers

-       Step by step training documents and rapid ramp-up on new technologies

-       Closer relationship with Microsoft as a partner

-       Opportunities to influence future products

-       Private community support via Microsoft Connect Program.

Microsoft Commitments

 

-       Assigned a TAP Program Manager

-       Technical Relationship

-       Training and Technology Ramp-up

-       Support from Premier Beta Product Support Team on select builds

Public Relations Opportunities

-       Case studies, testimonials and video clips

 

 


Customer Scenarios of Interest:

The following list of customer scenarios and characteristics is tentative and subject to change without notice.

 

Customer Scenario

Characteristics

Category Leading Retailer

-      Retail & Wholesale Trade

-      Media, Entertainment & Leisure

-      Finance & Insurance

 

-      One or more brands promoted via online properties.

-      International support required, primarily around multi-language and multi-currency support.

-      Require ability to manage information in bulk will be necessary because of multiple categories of merchandise and large number of SKU’s. 

-      Engaged in multiple electronic channels (multi-channel), such as promoting products via mobile devices, and possibly integrating with third party social networking sites (i.e.: Live!, Facebook).

-      Large number of shoppers and focuses both on both Business-to-Business (B2B) and Business-to-Consumer (B2C) transactions.

-      Upgrading from a legacy system and require minimum risk.

-      Require side by side deployment (with Commerce Server 2007) and/or mixed coexistence to minimize any down time and deployment risk.

-      Require Four/Five 9’s availability.

-      Monthly online transactions in “millions” necessitating high scalability; e.g.: daily 3+ million visits; daily 500,000 orders; daily 60+ million page views.

-      Experience 20%+ increases of load at peak times.

-      Deployment will require custom, highly complex integration work, dealing with multiple bi-directional Line-Of-Business (LOB) systems.

-      Require out of the box “industry-standard” shopping features.

-      Require ability to build a custom shopper experience using ASP.NET or possibly a rich internet application (RIA) technology, such as SilverLight.

-      Require significant extensions to Commerce Server and introduce custom business rules, above and beyond the out of the box shopping experience.

Growth Retailer

-      Retail & Wholesale Trade

-      Media, Entertainment & Leisure

 

-      Existing online presence seeking to perform full transactional e-commerce online.

-      Existing number of differently branded sites off main site.

-      Primarily focused on web channel with interest in electronic channels currently not engaged in.

-      Total Cost of Ownership (TCO) sensitive.

-      Generally averse to customizations.

-      Seek to grow into a top 10 National Retail Foundation (NRF) in category or looking to sustain and defend market position.

-      Upgrading existing technology.

-      Require 99% availability.

-      Monthly online transactions are in the “(tens) thousands”; e.g.:  daily 50,000 visits; daily 1,000 orders; daily 1 million page views.

 

 

Enrollment Process

The enrollment process is constituted of a nomination, selection and registration process. 

(1) Nomination

Please coordinate with your Microsoft account team or e-mail MoTAPNom@microsoft.com.  We will schedule a follow up meeting with you to further explain the TAP program.

(2) Selection

Selection of candidates for the program includes consideration of the following criteria:

-      Maximize testing coverage of Mojave scenarios, 

-      Interesting public relations opportunities,

-      Willingness to provide multi-channel e-commerce requirements and product feedback

(3) Acceptance

The registration process requires:

-      Signed Master TAP Agreement

-      Acceptation via email of the specific Program Description document.

 

Timeline:

The program is expected to follow the following timeline (dates subject to change).

Period

Phase

Activities

Q2 CY2008*

Nomination

Customer selection &

Program Planning

-      Submit nominations forms

-      Selection of candidates

-      Signature of TAP agreement and Program description

-      Customer environment information gathering

Q3 CY2008*

Completion of 2nd Development Iteration – public Community Technical Preview (CTP2)

-      Test releases and provide feedback

-      Submit feedback on Product Quality

-      Step by Step training documents begin

Q3 CY2008*

Completion of 3rd Development Iteration – public Community Technical Preview (CTP3)

-      Test releases and provide feedback

-      Submit feedback on Product Quality

 

Q4 CY2008*

Completion of 4th Development Iteration – public Release Candidate (RC)

-      Test releases and provide feedback

-      Submit feedback on Product Quality

-      Ability to go-live with PSS product support (TAP participants only) on the functionality completed to-date

Q4 CY2008*

Release To Manufacturer (RTM)

-      Full deployment in production environment

-      Submit feedback on Product Quality

Q1 CY2009*

Production Deployments

-      TAP launch activities.

-      End of program (RTM+90 days)

-      TAP participant thank yous, surveys, and follow-up.

All dates are tentative and subject to change.

 

 

Questions: Please forward questions to MoTAPNom@microsoft.com.

 

 

Sincerely,

Commerce Server Product Team

 

 

 

 

Posted by tschultz | 2 Comments

Attachment(s): CSLogo.jpg

Commerce Server 2007 SP2 Now Available!

http://www.microsoft.com/downloads/Browse.aspx?DisplayLang=en&nr=20&productId=1D25BFD4-FAE9-4E08-BF77-60FB266BEE44&sortCriteria=date

·         Windows Server 2008 Support with Logo Certification

·         Hyper-V Virtualization Support

·         Visual Studio 2008 Support

·         .NET Framework 3.5 support

·         Support for IIS 7.0 in both Classic and Integrated Pipeline Mode

·         Preliminary SQL Server 2008 testing to accelerate compatibility when SQL2008 ships

·         Update of documentation

 

Posted by tschultz | 1 Comments
Filed under:

How to troubleshoot "The Commerce Server runtime has detected that more than # instances of the SiteConfigReadOnlyFreeThreaded object have been created." warning messages

Introduction

This article describes how to troubleshoot SiteConfigReadOnlyFreeThreaded event log warning messages from Microsoft Commerce Server 2007. You can use these general troubleshooting tips before you contact Microsoft Product Support Services. 

You may notice successive warnings in the web server event logs from Commerce Server such as the following:

Event Type: Warning
Event Source: Commerce Server
Event Category: None
Event ID: 4116
Date:  11/20/2007
Time:  11:32:35 AM
User:  N/A
Computer: Contoso
Description:
The Commerce Server runtime has detected that more than 101 instances of the SiteConfigReadOnlyFreeThreaded object have been created. Creating many SiteConfigReadOnlyFreeThreaded instances will negatively affect the performance of the site. Please refer to the Commerce Server documentation for the recommended use of the SiteConfigReadOnlyFreeThreaded object.

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

Possible Causes

CommerceDataWarehouseAuthenticationModule

The CommerceDataWarehouseAuthenticationModule HTTP module is known to cause this problem.  This module provides the correlation mechanism to track ASP.NET site visitors to profile users.   If you are not using the data warehouse resource in your site, then remove the following section from the <httpModules>section of your web application.

<add name="CommerceDataWarehouseAuthenticationModule" type="Microsoft.CommerceServer.Runtime.CommerceDataWarehouseAuthenticationModule, Microsoft.CommerceServer.Runtime, Version=6.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

 If you are using the data warehouse resource in your site, install Commerce Server 2007 SP1 which includes a fix for the problem.

CatalogContext, OrderContext, ProfileContext

The CatalogContext, OrderContext, and ProfileContext internally creates instances of the SiteConfigReadOnlyFreeThreaded class to determine the connection strings of the Catalog and Transactions resources respectively.  Instead of creating your instances of CatalogContext and OrderContext, reference those loaded onto CommerceContext by the Commerce HTTP modules.

CommerceContext.Current.CatalogSystem

CommerceContext.Current.OrdersSystem

CommerceContext.Current.ProfileSystem

Using Registry Switches to Troubleshoot

By default, Commerce Server logs messages for this problem after 100 SiteConfigReadOnlyFreeThreaded instances have been created.  This is value can be configured in the registry by setting the following DWORD value.

HKEY_LOCAL_MACHINE\Software\Microsoft\Commerce Server 2007\ExcessiveUseWarnLevel

So, setting this value to a lower number will help you reproduce the warnings more quickly.

Finding the source of the problem is always the most challenging.  To force the Commerce Server runtime to throw an exception once the ExcessiveUseWarnLevel value has been exceeded, set the following DWORD value to 1.

HKEY_LOCAL_MACHINE\Software\Microsoft\Commerce Server 2007\ThrowExceptionOnExcessiveUse

You will then be able to access the stack trace and determine where in your code the problem is happening.

For example...

Server Error in '/Contoso' Application.

The Commerce Server runtime has detected that more than 3 instances of the SiteConfigReadOnlyFreeThreaded object have been created.
Creating many SiteConfigReadOnlyFreeThreaded instances will negatively affect the performance of the site. Please refer to the Commerce Server documentation for the recommended use of the SiteConfigReadOnlyFreeThreaded object.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NotSupportedException: The Commerce Server runtime has detected that more than 3 instances of the SiteConfigReadOnlyFreeThreaded object have been created.
Creating many SiteConfigReadOnlyFreeThreaded instances will negatively affect the performance of the site. Please refer to the Commerce Server documentation for the recommended use of the SiteConfigReadOnlyFreeThreaded object.
Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[NotSupportedException: The Commerce Server runtime has detected that more than 3 instances of the SiteConfigReadOnlyFreeThreaded object have been created.
Creating many SiteConfigReadOnlyFreeThreaded instances will negatively affect the performance of the site. Please refer to the Commerce Server documentation for the recommended use of the SiteConfigReadOnlyFreeThreaded object.
]
   Microsoft.CommerceServer.Orders.OrderServices.CreateServerImpl(OrderSiteAgent agent) +336
   Microsoft.CommerceServer.Orders.OrderManagementContext.Create(OrderSiteAgent agent) +86
   Contoso.OrderHelper.GetOrderManagementContext() in c:\Contoso\OrderHelper.cs:996
   System.Web.UI.WebControls.GridView.OnRowDataBound(GridViewRowEventArgs e) +104
   System.Web.UI.WebControls.GridView.CreateRow(Int32 rowIndex, Int32 dataSourceIndex, DataControlRowType rowType, DataControlRowState rowState, Boolean dataBind, Object dataItem, DataControlField[] fields, TableRowCollection rows, PagedDataSource pagedDataSource) +233
   System.Web.UI.WebControls.GridView.CreateChildControls(IEnumerable dataSource, Boolean dataBinding) +2603
   System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data) +59
   System.Web.UI.WebControls.GridView.PerformDataBinding(IEnumerable data) +12
   System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data) +111
   System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +25
   System.Web.UI.WebControls.DataBoundControl.PerformSelect() +151
   System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +68
   System.Web.UI.WebControls.GridView.DataBind() +4
   Contoso.Web.Controls.LineItemsControl.BindData() in c:\contoso\Controls\Orders\LineItemsControl.ascx.cs:1009
   Contoso.Web.Controls.LineItemsControl.Page_Load(Object sender, EventArgs e) in c:\contoso\Orders\LineItemsControl.ascx.cs:376
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +13
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +45
   System.Web.UI.Control.OnLoad(EventArgs e) +98
   Contoso.UI.Web.BaseUserControl.OnLoad(EventArgs e) in c:\contoso\Code\BaseUserControl.cs:31
   System.Web.UI.Control.LoadRecursive() +71
   System.Web.UI.Control.LoadRecursive() +154
   System.Web.UI.Control.LoadRecursive() +154
   System.Web.UI.Control.LoadRecursive() +154
   System.Web.UI.Control.LoadRecursive() +154
   System.Web.UI.Control.LoadRecursive() +154
   System.Web.UI.Control.LoadRecursive() +154
   System.Web.UI.Control.LoadRecursive() +154
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4268

Version Information: Microsoft .NET Framework Version:2.0.50727.832; ASP.NET Version:2.0.50727.832

More Information

http://msdn2.microsoft.com/en-us/library/ms963135.aspx

Posted by tschultz | 1 Comments
Filed under:

SiteCacheRefresh - Mixed Authentication Solution

Background

Support for refreshing Commerce Server caches is provided by the SiteCacheRefresh HTTP Handler and is configured in the web.config.

<httpHandlers>

<add verb="*" path="SiteCacheRefresh.axd" type="Microsoft.CommerceServer.Runtime.SiteCacheRefresh, Microsoft.CommerceServer.Runtime, Version=6.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 "/>

</httpHandlers>

ASP.NET URL authorization is used to specify the users and groups allowed to refresh the cache.

<location path="SiteCacheRefresh.axd">

<system.web>

              <authorization>

                     <allow roles="BUILTIN\Administrators"/>

                     <deny users="*"/>

                     <deny users="?"/>

              </authorization>

       </system.web>

</location>

By default, your retail ASP.NET site will use forms authentication.  The above ASP.NET URL authentication requires IIS to use Windows Authentication.  Out of the box, an ASP.NET 2.0 web site can support either forms authentication or windows authentication but not both.  Thus, a mixed authentication model must be implemented for SiteCacheRefresh.axd authorization.  Fortunately, the Commerce Server Starter Site provides such a solution.

Note: If you do not implement a mixed authentication solution on your retail site, each request to SiteCacheRefresh.axd will be redirected to the forms authentication login page as specified in the web.config.

<authentication mode="Forms">

<forms loginUrl="~/Login.aspx"/>

</authentication>   

Solution

  1. Make sure your ASP.NET site has Windows Integrated security checked in IIS Admin.
  2. Copy the CommerceComponents.dll from the Starter Site bin directory to your retail ASP.NET web site’s bin directory.
  3. Add the following entry to the configSections element of your web.config.
      <section name="commerceComponents" type="CommerceComponents.Configuration.ComponentConfiguration, CommerceComponents" />
  4. Add the following entries to the configuration element of your web.config.

      <commerceComponents baseCurrencyCode="USD" baseCurrencyCulture="en-US">

        <mixedAuthenticationFiles>

          <add fileName="SiteCacheRefresh.axd" />

        </mixedAuthenticationFiles>

      </commerceComponents>

  5. Add the following entries to the httpModules element of your web.config. 

          <clear />     

         <add name="OutputCache" type="System.Web.Caching.OutputCacheModule" />

           <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" />

          <add name="MixedModeAuthentication" type="CommerceComponents.MixedAuthenticationModule" />

          <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />

          <add name="MixedModeAuthenticationFixUp" type="CommerceComponents.MixedAuthenticationModuleFixUp" />

          <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" />

          <add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule" />

          <add name="AnonymousIdentification" type="System.Web.Security.AnonymousIdentificationModule" />

          <add name="Profile" type="System.Web.Profile.ProfileModule" />

          <!--  COMMERCE SERVER HTTP MODULES

    Place the Commerce Server HTTP module declarations below this line.

            -->

The Catalog Manager and the staging service use this HTTP Handler to refresh the caches in the web applications and orders web service. 

http://localhost/Contoso/SiteCacheRefresh.axd?CacheToRefresh=CatalogCache

http://localhost/OrdersWebService/SiteCacheRefresh.axd?CacheToRefresh=CatalogCache

You can verify that the catalog cache successfully refreshed by checking the application event log on each machine.

Event Type:          Information

Event Source:        Commerce Server

Event Category:      None

Event ID:            4114

Date:                01/13/2007

Time:                3:29:24 PM

User:                N/A

Computer:            WROX

Description:

The cache 'CatalogCache' has been refreshed for the site 'Contoso'

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

Posted by tschultz | 1 Comments
Filed under:

Cactus Commerce Signs a Global Agreement With Microsoft Corp. for Electronic Commerce

A major announcement regarding Microsoft & Cactus Commerce commitment to Commerce Server and the e-commerce space.

http://www.cactuscommerce.com/pressreleases/080807_e.asp

Posted by tschultz | 0 Comments
Filed under:

Now Shipping: Foundation Flash CS3 for Designers

OK, yes this is MSFT blog, so why am I posting a Flash link?

Well my good friend David Stiller is the absolute Flash master, incredibly creative, and one heck of a unicyclist. 

Buy his book!

http://www.quip.net/blog/2007/flash/now-shipping-foundation-flash-cs3

Posted by tschultz | 0 Comments

Commerce Server 2007 SP1 Released

Service Pack 1 for Commerce Server 2007 is now available.

This release adds support for running Commerce Server 2007 Developer Edition and the business user applications on Windows Vista.  There are also performance and security enhancements as well as fixes for several known issues.  To download the bits, please go to http://www.microsoft.com/downloads/details.aspx?FamilyId=748049C5-A9BF-4AEC-91A0-AFE2DE0BF860&displaylang=en

An updated version of the Partner SDK is also available http://www.microsoft.com/downloads/details.aspx?FamilyId=BDEA4873-2C06-4C7F-AD51-830A0309FECC&displaylang=en

Posted by tschultz | 0 Comments
Filed under:
More Posts Next page »
 
Page view tracker