Archive for November 2008
Today Microsoft has released their next version commece server – “Mojave” november CTP. This CTP includes API enhancements, new core functionalities like wish lists and new multi-channel commerce foundation. The commerce foundation leverages Microsoft live services, Live ID for authentication, Live Contacts for address book management, and Virtual Earth for store location. It also includes sharepoint commerce services, including 29 outof box ecommerce web parts and default out of box site with search functionality.
This CTP includes following downloadables
MOJAVE ISO file – 27 MB file
MOJAVE November CTP help file – 66 KB
MOJAVE installation document – 628 KB
You can download CTP from below link.
https://connect.microsoft.com/Downloads/DownloadDetails.aspx?SiteID=643&DownloadID=14940
Watch out this blog to know more about my findings in November CTP.
If you like this post, please click on our sponsor advertisement.
It’s time to refresh our skills and Microsoft is bringing three days virtual tech sessions on market’s latest technologies I will be presenting a topic named -"Architecting Rich Internet Ecommerce Applications Using Silverlight & Commerce server " on 25th November at 5:15 PM.
You can download the video and presentation from Microsoft website.
If you like this post, please click on our sponsor advertisement.
“Buy X products, get a product free” is one of the discount type supported by commerce server. So, whenever user checkouts some products, he will get 100% discount one product. For example, the user added first product of 10$, second product of 20$ and third product of 30$ into basket and initiated checkout process then he will get discount of 30$.
By default, commerce server total pipeline is configured to provide discounts to most expensive product. If you want to give discount to least expensive product then perform following steps
Open commerce server pipeline editor.
Open “Basket” Pipeline
Right click on “OrderDiscount” and select properties.
Select “Least expensive first” option from the dropdown and press ok button (as shown below).
If you like this post, please click on our sponsor advertisement.
In commerce server a promotion code can be used to associate a discount to an order. Promotion code can also know as coupon code. For example, a retailer can declare 20% discount on all his products with a promotion code = ’20OFF’ and the user while purchasing, enters this promotion code along with order then he will get 20% discount.
Promotion codes are of three types
1. Public – these coupons can be used by anyone.
2. Private – these coupon codes are targeted to specific users.
3. Restricted – these coupon codes are restricted to one user.
In the given scenario, if you would like to create a public promotion code and wants to impose that a user can use this code only once. Out of box commerce server doesn’t support this functionality. For public coupon codes, it will allow users to use public coupon codes as many times as they want – at the max the business uses can restrict the usage per basket. If the business requirement is restrict user to use public promotion code only once then here is the work around.
For that user, get all his previous purchase orders and check whether he has used the given promotion code. This approach will impact application response time. The other approach is to fetch the details directly from the database.
Select Count(*) from DiscountsApplied d
left outer join OrderForms o
on d.OrderGroupId = o.OrderGroupId
where PromoCode = ’20OFF’ and
promoUserIdentity = ‘ravi@ava.com’
The above code snippet, gives the count and if the count is greater than zero, we will warn the user the coupon code has expired.
If you like this post, please click on our sponsor advertisement.
What are commerce server pipelines? What are their advantages? Do we really require using them? Can I develop applications without using them? These are some of the questions we have while working with commerce server pipelines.
Pipeline framework defines links one or more stages of a business process, running them in sequence to complete a specific task. Some people may think that pipeline is just a .NET component which performs some tasks and they feel without pipelines help they can implement the same business logic in the application code. I agree with them. If possible, you can also use your approach by directly updating the values without using pipelines, but you should think of few other problems with this approach. By doing this, you are making application not to extend or scale further.
Today we are living in an environment where business is changing every hour. If we separate the frequent changing processing into pipeline components then our application can be flexible to adopt new changes (no need to touch code). For example, today we are calculating tax with some calculations; tomorrow government has imposed another tax (say e-tax – additional tax on the Internet purchases). As a developer, you have to create a pipeline to calculate additional cost and add the component to pipeline. Here e-commerce application doesn’t know how the processing will happen and what are the components involved in it.
Consider scalability, as you know pipeline components supports transactions. For example, you would like to have your own transaction logic implemented (as you are not using pipelines). Your application code can handle x number of transactions per hour. What if business got increased (during thanks giving or Christmas time)? Can your transaction block can handle x+x+x+x transactions? Through pipelines, it’s possible. You can scale the application by scaling it up or out.
For all people who hate/don’t want to use pipelines – my suggestion is to use pipelines and remove unnecessary stages.
If you like this post, please click on our sponsor advertisement.
