Looking for the v10 manual? Visit our new user's guide!
Search Descriptions Version
This article applies to: Release Notes SP1 Release Notes

These release notes are accurate as of November 2010 and reflect changes made to AspDotNetStorefront ML Earlier releases of this ninth edition of the shopping cart should be upgraded to before installing this service pack. The intent of this release, since it is shipped late in the year, is to bring the largest impact with the smallest footprint. We aim at all times to be as polished and unobtrusive as we can with our releases.


When an individual item is marked for 'free shipping' then the behavior of that item must be considered when it is combined in a single basket with "regular" items. The code is now consistent as follows: Free Shipping for real-time rates is currently order based; an order either qualifies for free shipping or it doesn't. Marking an item as free-shipping allows it to be included in free shipping orders, but does not guarantee that the item will be excluded from real-time shipping calculations. If a free-shipping item is combined with one or more regular items, shipping estimates for that order will include the cost of shipping all products, including the free-shipping item(s). The free-shipping items will also be taken into account when calculating an order-based free-shipping threshold. However, if a free-shipping item is marked "Is ship separately" at the variant level, then it will not be included in the shipping calculations for the order. Equally, if a free-shipping item is combined with other free-shipping, downloadable, non-shipped, or gift card items, the order will still qualify for free shipping.

Google Checkout works accurately with real time shipping rates

The shipping estimator now works accurately with shoppers with no address

'Shipped On' Calendar on orderframe.aspx now works as documented

Order based weight adjustments can no longer be made to orders that have multiple shipping addresses.

The status of appconfig “SkipShippingOnCheckout” is now honored throughout the checkout.

ApplyShippingHandlingExtraFeeToFreeShipping now works as expected

There is new consistency around the display of the shipping line item throughout the estimator, shopping cart and checkout.

The number of "Is Ship Separately" items in a cart now correctly controls the cost of shipping

Shipping and Tax Estimator not only accurately represents values, but also calls valid country/state dropdown list

Multi-ship logic has been reviewed and made consistent. Shipments are now split on address rather than item. Shipping calculations are consistent and accurate.

In-store pickup method honors restrictions in ship-to state conditions.


All release notes apply to MultiStore, but the following apply ONLY to MultiStore implementations.

The menu item for "Store Maintenance" which was previously often hidden, is now at all times visible.

ETSMapper has been nullified for the correct saving of coupons, both active and deleted, across stores.

When a customer subscribes from createaccount.aspx (OkToEmail) page, the resulting email confirmation now honors the correct SubscribeURL across stores

Allowing shipping options and other shipping entities to be filtered across multiple stores now works correctly.

Page layouts which over-ran page borders have now been corrected, particularly on Store Maintenance.

Global configs are now fully honored.

Skins and topics (including hometopintro) are now accurately mapped to stores

The shipping by weight, shipping by weight & zone, and shipping by total & zone tables do not filter by store. If you have multiple stores these tables will show regardless of the store you are on or the store you select in the store dropdown. To have different prices returned to different stores you would need to setup different appropriately priced shipping method(s) mapped for each store.

Shipping-to-State mapping is now respected throughout the estimator, shopping cart and checkout

Different stores now map and maintain different email config settings

The use of "AllowCustomerFiltering GlobalConfig" now honors customers accurately across stores, and through the order, acknowledgement and receipt process

The feed to Google Product Search (googlebase feed), honors the storeid when generating the feed.

Menus are no longer bound to "cross-store". Different stores can maintain their own menu structure

To show different Entities on multiple store's sitemaps you simply set the global app config "AllowEntityFiltering" to true. To show different Products on multiple store's sitemaps you must set the global app config "AllowProductFiltering" to true. (N.B. Sitemaps are cached so be sure to reset your cache after making any store mapping changes.)

Feed functionality, including saving, updating, or creating feeds on a per-store basis has been updated to support the use of MultiStore.

Functionality around default customer levels has changed such that users with no customer level will be treated as the default customer level, but that level will not be saved back to their customer record (it is a "soft" customer level). If a customer does have a customer level associated with their customer record the default customer level id will be ignored. This allows multiple stores to have multiple different default customer levels without conflicting with one another while allowing the site administrator to override default customer levels per customer (but overridden customer levels will apply to that customer on all stores). Paired with customer level pricing this allows a work around for pricing per store. p>

Payment Gateways and Checkout

There are now multiple appconfigs for MailMe_ToAddress, such that multiple gateways need not share the same address.

Paypal Express Checkout now allows accelerated boarding which enables every merchant to collect funds through paypal without the need to first setup an account.

Payments now deliver a CardExtraCode in place of a CVV code through a gateway transactor in line with recent gateway requirements. The code is validated prior to submission.

The functionality of the out-of-box One Page Checkout is improved so that the page no longer clears when shipping options are selected. Shipping options are honored for both registered and anonymous shoppers.

The full address (including State) of an anonymous guest is persisted during a session, so that a 'checkout restart' no longer returns partial data

Databinding and postback issues, particularly in One Page Checkout, have now been handled to dramatically improve the stability of the checkout. This is true, also, for anonymous checkout

Sagepay (Protx) test URLs have been updated following the merge of these gateways.

SagePay (UK) Start Dates are now valid and accurate

VAT is now accurately rounded throughout the store and checkout

One Page Checkout now honors the freeshippingthreshold accurately

Product Management and Promotions

AvailableStopDate now functions as documented at the product level.

Referrers are now accurately tracked for a shopper who visits a store and logs in. The feature, rightly, does not track referrers from localhost or from the same domain.

The display page "product.variantsindropdown.xml.config" now respects variants when a shopper orders other than the default option.

Tax free items on a VAT enabled store now display consistent prices throughout the store.

The published/unpublished values of entities are now honored throughout the store.

Hiding categories will also hide products regardless of the "SiteMap.ShowProducts" setting. There is currently no filter for distributors

Functionality for the "Also Bought" content section takes into consideration products bought within the same purchase (and ONLY within the same purchase).

Coupons cannot, under any circumstances, produce a negative cart value

Taxes are consistently applied to the gross value of a shopping cart and do not entertain coupon based discounts. If setting an order level discount with a dollar amount discount, taxes will be calculated ahead of time and then the discount will be applied. This has the affect of creating a discount that covers all of the products in an order, but the customer will still have to pay taxes. Notice that you may no longer specify a percentage over 100%. Also, you can (rightly) no longer specify both a percentage and a flat amount. Percentage-based coupon discounts take precedence over flat rate discounts.

It is no longer possible for unpublished products to be rendered on FeaturedProducts.xml.config

There is no longer conflict between inventory tracking by variant and Inventory.LimitCartToQuantityOnHand on variant-based XML config packs

"Call to Order" now works for kit items - please note that a product can carry flags for both "call to order" (i.e. don't show the buy button) and also a flag for "ShowBuyButton". "CallToOrder" takes precedence.

Variants, when ordered in quantity, and regardless of the XML config pack, are consistent and accurate

And more .....

Ecommerce conversion tracking is now working accurately with Google Analytics as documented

The ? hint icons are working as the user would expect

URL rerouting is honored from the shoppingcart page, when returning to the shopping pages.

The use of "entity.tableorderform.xml.config" now respects the workflow when the shopper chooses to continue shopping

You can change the time duration of sustained focus on the "kit" page by modifying the Timeout value in the TextStateChangePostbackBehavior control located in Web/Controls/Kit/TextItems.ascx

Customer profile and customer level interaction has been improved to streamline the play and display of items added to the Minicart during normal AddToCart processes in the application.

Popup box width and height are no longer inverted!

The endpoint of a VAT soap service (VatCheck Service) URL has changed and the new URL is now in place.

The use of Minicart.UseAjaxAddToCart is now stable and effective

Google Sitemap Schema has been updated to http://www.sitemaps.org/schemas/sitemap/0.9

Flaws (duplicate rendering) in the kit page have been removed

File based topic content files must have the extension ".htm' and the file needs to be placed in the skins directory inheriting the correct permissions. The content of the file is assumed to be html and all content between tags will be used. This strengthens the usefulness of topics.

Although namespace conventions are only a recommendation with Google Sitemaps, we now conform to all guidelines.

Croatia is now recognized in real time shipping setup

There has been confusion over the mandatory status of Phone Number on the registration process. The string has been modified with a "*" to identify it as a compulsory field.

Password retrieval and the overall signin process seems to be affected by various hosting environments and settings within the application. The main cause of this mis-match is due to caching an "old" password that has been changed by the password reset process, but either not yet updated in SQL or in the customer's profile. Changes in this service pack allow for more continuity in the reset process.

Voided orders now honor the subject line of the outgoing email

Polls now honor all enable-rules, including those for anonymous shoppers

The gift registry is now merged with the shopping cart on signin

Improved XSS prevention handling

Running Internet Explorer in compatibility mode correctly renders many of the visual elements of the application correctly, and it can be applied in either the master page itself, or as a global IIS setting as well. For reference, our compatibility tag looks like :

The Phone Order Entry System relies on impersonation. Closing the phone order entry process before it completes leaves the originator under the guise of the shopper. To get out of impersonation mode, simply append ?igd=0 to your URL. This is not a fix - we cannot "fix" the errant closing of a browser, but is a useful tip.

Added an admin report to detail file version and status.

Database Change Notes

Added StoreID column to topics – 0 means the default for all stores

Removed unique index for name column on the Topic table

Removed erroneous Mobile User Agents “w3c” and “oper”

Added StoreID column to feeds

Updated feed CRUD stored procedures to handle StoreID

Fixed aspdnsf_GetCustomersAlsoBoughtProducts to respect product-store mappings

Renamed the country “Croatia (local Name: Hrvatska)” to “Croatia” for real time shipping accuracy

Fixed aspdnsf_GetFeaturedProducts to respect the Product “published” flag

Updated the DB version to “ SP1”

Updated SagePay Simulator URLs

Added the AppConfig “PayPal.API.AcceleratedBoardingEmailAddress”