# Support for tiered pricing.
# Support for Kentico 11.
# Support for Web API 2.
# No longer support version of Sitecore older than 8.0.
# Back office web services are now Web API 2 web services.
# 8 new pipelines for deleting entities.
NOTE: UCommerce.EntitiesV2.PurchaseOrder.CreateShipment(ShippingMethod shippingMethod, OrderAddress shippingAddress) has been marked as obsolete, you should use the new create shipment pipeline.
NOTE: UCommerce.EntitiesV2.PurchaseOrder.CreateShipment(ShippingMethod shippingMethod, OrderAddress shippingAddress, bool overwriteExisting) has been marked as obsolete, you should use the new create shipment pipeline.
Security Foundation overview video.
Thanks to Tim Gaunt from The Site Doctor, Fabio Bongiovanni from Taipan, and Jeavon Leopold from Crumpled Dog for providing feedback for this release.
Tiny fix for installations running IIS6 or IIS7 classic mode app pools. HTTP handlers for these types of settings were rolled out using IIS7 integrated mode.
Download Ucommerce 1.1.0.1
Ucommerce 1.1 brings out of the box support for three payment gateways: PayPal, DIBS, and ePay. Each of the providers support your basic authorization of credit cards and aqcuiring payments once the store owner is ready to ship the goods, and finally refunding money if the customer decides to return goods to the store.
More importantly 1.1 introduces an extended framework for integrating with payment gateways when you need to pass the customer to the payment gateway for authorization of payments and back to your store once complete.
A nice additional for store owners is the ability to add custom messages to the audit trails, which enables them to keep track of additional order information without having to plaster their monitors with post it notes :)
Maintenance release in preparation of 1.1. Fixes an issue with new baskets which can't be recalculated on the same request as they were created.
A minor issue was discovered which would cause order total to be incorrect when two circumstances are true: 1) catalog is configured to display prices including VAT and 2) the customer has multiple items in her basket.
This version introduces two new extensibility features. The first extension point, the checkout pipeline, was already there but all logic associated with checkout is now present in the pipeline making it easier and more useful than ever tocustomize the checkout logic to your needs. The checkout pipeline is configured in the file /umbraco/ucommerce/pipelines/Checkout.config.
The second extension enables you to override the default pricing schema of Ucommerce with your own. Simply implement your own version of IPricingService or override the standard Ucommerce pricing service to match your needs.
Finally as part of the pricing extension point tax calculations can be overridden as well in the same manner as IPricingService. ITaxService and IPricingService are both configured in /umbraco/Ucommerce/configuration/Components.config.
Ucommerce 1.0.3.2 includes compatibility with Umbraco 4.0.4.x. Also released is the Ucommerce Store with a minor change with regards to which API is used to requesting payment.
Change log for Ucommerce 1.0.3.0
Ucommerce Starter Edition is targeted at smaller solutions, which require less functionality than larger scale operations. Ucommerce Starter Edition is priced accordingly and will enable store owners to get started with e-commerce without breaking the bank.
Upgrading from Ucommerce Starter Edition to Pro is as easy as entering a new key in an existing Starter installation. No upgrades of the site needed - you just start using the additional features right away.
Related Products will help increase conversion rates by relating product to each other thus helping potential customers find the products they want. You can define a number of relation ship kinds, which are used to relate products to each other, e.g. Cross Sell, Up Sell, Accessory. Ucommerce gives you complete control over which kinds of related products you wish to maintain.
Dynamic Order Properties is a way for the developer to add new properties to baskets, orders, and even order lines. Any information you wish to capture during browse or checkout can be added to the basket or order for later use - be it reporting, fulfillment, or something else altogether.
Ucommerce Starter Edition is targeted at smaller solutions, which require less functionality than larger scale operations. Ucommerce Starter Edition is priced accordingly and will enable store owners to get started with e-commerce without breaking the bank.
Upgrading from Ucommerce Starter Edition to Pro is as easy as entering a new key in an existing Starter installation. No upgrades of the site needed - you just start using the additional features right away.
Related Products will help increase conversion rates by relating product to each other thus helping potential customers find the products they want. You can define a number of relation ship kinds, which are used to relate products to each other, e.g. Cross Sell, Up Sell, Accessory. Ucommerce gives you complete control over which kinds of related products you wish to maintain.
Dynamic Order Properties is a way for the developer to add new properties to baskets, orders, and even order lines. Any information you wish to capture during browse or checkout can be added to the basket or order for later use - be it reporting, fulfillment, or something else altogether.
Updating to Ucommerce 1.0.2
To update an existing version of Ucommerce 1.0.1 you simply install Ucommerce 1.0.2 on top of your existing installation. Ucommerce will migrate any resources required to the latest version including the database.
Please note that if you've made changes to the pipeline configuration files you need to make a backup of these before installing Ucommerce 1.0.2 as Umbraco will overwrite any modified files with the new versions during installation.
Please make a backup of your Ucommerce database as schema updates will be rolled out with 1.0.2. Your 1.0.1 schema will be migrated forward which means that you cannot rollback to 1.0.1 easily without a database backup should you need to do so.
Updating to Ucommerce Store 1.0.2
If you have an existing version of Ucommerce Store installed you will need to uninstall it before installing Ucommerce Store 1.0.2 as Umbraco will duplicate any content rolled out with the package including macros, XSLT files, and document types.
Category and product sorting
You can now manually sort products and categories in Ucommerce Admin to your heart's content. Of course you can still optionally resort using the Commerce XSLT API or the Foundation API. Your choice.
New API for handling addresses
An issue with address handling in Ucommerce 1.0.1 would cause customers who place an order under one address and later update their account information with new address information to also update all previous orders placed under that address.
To fix the issue a new XSLT API was introduced for version 1.0.2, which replaces EditAddress and requires a change when working with address information.
Addresses are now split between customer- and order addresses. Addresses maintained as part of the user account are considered customer addresses and should be maintained using the EditCustomerAddress() API (previously: EditAddress()).
Both billing address and shipment addresses are considered order addresses and are maintained with two completely new APIs: EditBillingInformation() and EditShipmentInformation().
Removed XSLT APIs:
Example of address XSLT for version 1.0.1
<xsl:variable name="editCustomerResult" select="CommerceLibrary:EditCustomer($firstName, $lastName, $email, $phone, $mobile)"/>
<xsl:variable name="editAddressResult" select="CommerceLibrary:EditAddress('Billing', $company, $line1, $line2, $postalCode, $city, '', $attention, $countryId)"/>
<xsl:variable name=" editResult " select="CommerceLibrary:EditAddress('Delivery', $del_company, $del_line1, $del_line2, $del_postalCode, $del_city, '', $del_attention, $del_countryId)"/>
<xsl:variable name="setInvoiceAddressResult" select="CommerceLibrary:SetBillingAddress('Billing')" />
Example of new XSLT for version 1.0.2
<xsl:variable name="editResult" select="CommerceLibrary: EditBillingInformation ($firstName, $lastName, $email, $phone, $mobile, $company, $line1, $line2, $postalCode, $city, '', $attention, $countryId)"/>
<xsl:variable name="editShipmentInformationResult" select="CommerceLibrary:EditShipmentInformation('Delivery', $shipment_firstName, $shipment_lastName, '', '', '', $shipment_company, $shipment_line1, $shipment_line2, $shipment_postalCode, $shipment_city, '', $shipment_attention, $shipment_countryId)"/>
Pipeline configuration updates
The Ucommerce component configuration system was updated for version 1.0.2, which requires modifications to pipeline configuration files. Basket and checkout pipelines are automatically updated.
<component id="Basket.CalculateOrderLinesTotals" service="UCommerce.Pipelines.IPipeline`1[[UCommerce.Entities.PurchaseOrder, UCommerce]], UCommerce" type="UCommerce.Pipelines.Basket.CalculateOrderLineTotalsTask, UCommerce.Pipelines" lifestyle="Thread" />
To
<component id="Basket.CalculateOrderLinesTotals" service="UCommerce.Pipelines.IPipelineTask`1[[UCommerce.Entities.PurchaseOrder, UCommerce]], UCommerce" type="UCommerce.Pipelines.Basket.CalculateOrderLineTotalsTask, UCommerce.Pipelines" lifestyle="Thread" />
The UCommerce.EntitiesV2 namespace
The short story: You should continue to use the entities in UCommerce.Entities.
The slightly longer story: To achieve the performance we want from the Ucommerce subsystems we're in the process of replacing our data access strategy moving from Subsonic 3 to NHibernate 3. NHibernate provides a more robust data access strategy but it's only partially implemented at this point.
Key areas of the Ucommerce API already leverages NHibernate, but the new entities are created specifically for these areas. Thus you'd find things missing for for general purpose use, so you should stick with UCommerce.Entities.
Once our work in this area is completed the change to the new data access strategy will happen transparently provided you stick with the UCommerce.Entities namespace.
Error when saving a macro using GetBasket extension
When using CommerceLibrary:GetBasket() extension in a macro you see an error when saving. Ucommerce 1.0.2 is using a new Umbraco API as part of GetBasket, which reports an error under Umbraco 4.0.2.0.
Updating your Umbraco install to version 4.0.3.0 fixes this issue. If you don't want to update you can check the "Skip testing (ignore errors)" checkbox. The macro will work fine on your frontend site.