Professional Documents
Culture Documents
IDeliverable - Writing An Orchard Webshop Module From Scratch - Part 1
IDeliverable - Writing An Orchard Webshop Module From Scratch - Part 1
Writing an Orchard Webshop Module from scratch Part 1
In this blog post series we will walk through the process of building
Orchard is an awesome CMS with powerful features and inspiring architecture that allows for
unlimited extensibility, but it might take some time to fully understand it's architecture and
being able to customize all aspects of your own Theme or even create your custom modules that
integrate with all the extensibility points of Orchard.
It is my hope that you will benefit from the knowledge I gained along the way and that you will
come to see the beauty of Orchard and its architecture. Not only is it just great for simple or
advanced websites and blogs, but it's very much a base platform for building all kinds of
webbased applications such as e-commerce backends, CRM's, supportticket systems, project
management, community sites, learning management systems and so forth. Basically anything
you would do from scratch should be considered being built using Orchard. Orchard is actually
more of an extensibility framework than it is "just" a CMS. You plugin your own modules that
can do anything which a regular ASP.NET MVC application also can, with the added benefit that
Orchard has a rich set of features and composibility concepts of which you can take advantage.
The primary audience of this post are ASP.NET MVC developers who are just getting started
with Orchard.
Before diving in though, I strongly encourage you to read the following articles upfront if you
haven't already:
http://www.ideliverable.com/blog/writinganorchardwebshopmodulefromscratchpart1 1/13
4/10/2015 IDeliverable Writing an Orchard Webshop Module from scratch Part 1
http://docs.orchardproject.net/Documentation/How-Orchard-works
(http://docs.orchardproject.net/Documentation/How-Orchard-works)
http://msdn.microsoft.com/en-us/magazine/hh708754.aspx (http://msdn.microsoft.com/en-
us/magazine/hh708754.aspx)
Webshop Features
In this tutorial, we'll create a commerce module with the following features:
The administrator will be able to turn any ContentType into Products by attaching a
ProductPart.
Site visitors (customers) will be able to add products to a shopping basket, register with the
site and be registered as a Customer
The customer will be able to proceed to checkout and pay for the selected products using
an online payment service provider (PSP) (in our demo, we will use Ogone
(http://www.ogone.com/) a simulation PSP).
Before the customer is redirected to the PSP, the system will create an Order record, with
child OrderDetail records.
After the order is paid by the customer, we need to handle the delivery of the product. In
the case of physical products, we might want to notifiy some shipping partner. In the case
of virtual products, we might want to generate something like a voucher, or do anything
else that is appropariate for the product. To enable this kind of flexibility, we will
implement some sort of IShippingProvider interface, for which we will create two simple
implementations: one that sends an email notification to a shipper, and another one that
will generate a voucher.
The Admin backend will enable the administrator to manage both Customers as well as
Orders.
(note about the embedded screenshots: some screenshots appear too small to be viewable.
Until I fix that you can simply drag the picture to your browser's address bar to see the picture
in its original size)
Allright, let's get started with building the Orchard Webshop Module!
http://www.ideliverable.com/blog/writinganorchardwebshopmodulefromscratchpart1 2/13
4/10/2015 IDeliverable Writing an Orchard Webshop Module from scratch Part 1
28 comments
Juanzete 02/01/2012 12:08 AM
This is AMAZING
http://www.ideliverable.com/blog/writinganorchardwebshopmodulefromscratchpart1 3/13
4/10/2015 IDeliverable Writing an Orchard Webshop Module from scratch Part 1
Great Tutorial
Thanks a lot
Thanks alot
When you are developing Orchard modules for the first time, you will face
some error while installing and making changes to the module. It might be
possible that you want to reset Orchard CMS from the beginning as if
Orchard was run for the first time, in such cases the best way to reset is to
delete the data folder which you created.
http://www.ideliverable.com/blog/writinganorchardwebshopmodulefromscratchpart1 4/13
4/10/2015 IDeliverable Writing an Orchard Webshop Module from scratch Part 1
I am sure that you will benefit from provided the knowledge for all web shop.
It is really great news for software development. Not only it is just great for
software and advanced web site. I am enjoying of this blog.
The Projection module would be perfect for that, yes. It would also
circumvent the limitation that you can either show all content types, or just
one. Projector allows you to select exactly which content types to show.
http://www.ideliverable.com/blog/writinganorchardwebshopmodulefromscratchpart1 5/13
4/10/2015 IDeliverable Writing an Orchard Webshop Module from scratch Part 1
That's correct.
Great!!! I really like these articles!!! But what about Parts12-15? I'm looking
forward to implementing PayPal...
http://www.ideliverable.com/blog/writinganorchardwebshopmodulefromscratchpart1 6/13
4/10/2015 IDeliverable Writing an Orchard Webshop Module from scratch Part 1
Thanks! I'm not sure, it depends on when I'm actually going to need it myself.
Probably before the end of this year. A blog post will then soon follow.
No, just a bit short with time lately. Anything specific that you'd like to see
handled?
Is it OK to say everything? :P
I haven't started yet (I too have time issues!), I'm just happy I've got 11 parts
before I get to a unwritten one.
It would be nice if you got the basics up for part 12-15, even if you have to skip
some of the fancy stuff. And if you have time afterwards, update the posts to
1.5 (or 1.6 by then).
http://www.ideliverable.com/blog/writinganorchardwebshopmodulefromscratchpart1 7/13
4/10/2015 IDeliverable Writing an Orchard Webshop Module from scratch Part 1
Sounds like I'm ungrateful, I'm not! Thanks for a awesome tutorial!
Good article!,thx...
Great article and very very exciting weblog. That is one thing I’m really
anticipating. Awaiting studying more from you next weeks time.
Great article and very very exciting weblog. That is one thing I’m really
anticipating. Awaiting studying more from you next weeks time.
http://www.ideliverable.com/blog/writinganorchardwebshopmodulefromscratchpart1 8/13
4/10/2015 IDeliverable Writing an Orchard Webshop Module from scratch Part 1
Interesting article!
But the Demo isn't working :(
It's very much a platform foundation for building all kinds of webbased
programs such as e-commerce backends, CRM's, supportticket techniques,
Project control software, group sites, learning control techniques .
No matter if some one searches for his vital thing, so he/she wants to be
available that in detail, thus that thing is maintained over here.
http://www.ideliverable.com/blog/writinganorchardwebshopmodulefromscratchpart1 9/13
4/10/2015 IDeliverable Writing an Orchard Webshop Module from scratch Part 1
Leave a comment
Name:
Email address:
URL:
Comment:
How to Format
Type the text
Privacy & Terms
(http://www.google.com/intl/en/policies/)
Submit
http://www.ideliverable.com/blog/writinganorchardwebshopmodulefromscratchpart1 10/13
4/10/2015 IDeliverable Writing an Orchard Webshop Module from scratch Part 1
Topics
autofac (1) (/Tags/autofac) azure (2) (/Tags/azure) cloud services (2) (/Tags/cloud%20services)
powershell (2) (/Tags/powershell) ssl (1) (/Tags/ssl) startup tasks (2) (/Tags/startup%20tasks)
Authors
Daniel Stolt (/blog/author/daniel)
Daniel is the go-to guy here at IDeliverable for all things Azure. He
blogs about his experiences developing for the cloud.
(/blog/author/daniel)
(/blog/author/sipke)
Archive
http://www.ideliverable.com/blog/writinganorchardwebshopmodulefromscratchpart1 11/13
4/10/2015 IDeliverable Writing an Orchard Webshop Module from scratch Part 1
Postal address:
IDeliverable, Ltd.
PO Box 58341
3733 Limassol
CYPRUS
Visiting address:
IDeliverable, Ltd.
Sotiri Tofini 4, 2nd floor
Agios Athanasios
4102 Limassol
CYPRUS
http://www.ideliverable.com/blog/writinganorchardwebshopmodulefromscratchpart1 12/13
4/10/2015 IDeliverable Writing an Orchard Webshop Module from scratch Part 1
http://www.ideliverable.com/blog/writinganorchardwebshopmodulefromscratchpart1 13/13