Originally Posted by: "caplink"
Basically there is a lot of expandability available to the bvc platform but more direct and accurate answer could probably be provided if instead of saying "not standard estore features", you say, can I develop and interface for retail transactions that uses a touch screen to submit orders to bvc? Are can I create an application for a windows mobile device that will work with the bvc5 store?
Exactly what I mean by "not standard eStore features"...
I can try to answer your question by going into details of one of the features we are planning to add. We have 2 classes of customers. One class (which is the majority) of our customers are very unlikely to buy from us more than once, because once they have our product they generally don't have to purchase it again unless it wears out or breaks.
The other class of customer provide a service to the first class of customer. They are very likely to buy from us time and time again. We would like to create a program for this class of customers to provide features like express shipping, automatic volume discounts, one button checkout, targeted tips & tricks, etc. to keep them buying from us over and over. We are also considering adding a mobile shopping cart for these customers, but not in this release.
For the sake of our conversation, lets call the first class of customer (who only buy from us once) "CustomerA" class and the ones that are repeat buyers "CustomerB". I think the most natural way to create this program and identify who its members are would be to use a role for this class of customer. So, let's call this the CustomerB role. After the user applies and is approved for the CustomerB program, they will be added to the CustomerB role.
Now as for the "benefits" that this CustomerB role will receive, I imagine they can just be merged into the menu of items available in "My Account". There will need to be some reports they will need to see as well as other additional content that is not available to CustomerA customers, but the main business logic that will need to be created revolves around maintaining their profile information (over and above the profile information that is in the CustomerA account) and the additional discounts they will receive during checkout. There will also be some dependencies on some of the other roles. For example, there will be an automatic upgrade if the user is a member of the CustomerB role and the Affiliate role.
So it seems like this type of thing can be done whether I choose the CSLA path or the BVC5 path because they both use role based security. I imagine it is about
the same amount of work whichever way we go, and that is why I didn't go into details about
it before (it has little bearing on whether we will choose BVC5).
However, if you could give me some idea what is involved with adding these additional features with BVC5 (at least as far as creating a custom application, manual approval section in the admin control panel, custom profile editing in the user's account and overriding the caculation logic in the checkout process based on what role the customer is in) it may help me decide if it is worth it to go the BVC5 route. More specifically, is there some methodology built into BVC5 that will assist me in creating these features (such as building from an inerface or inheritance structure in the middle tier), or do I have to do everything from scratch?