Orchard Core Commerce
The commerce module for Orchard Core.
History, status, and planning
Orchard Core Commerce will be an Orchard port and partial rewrite of the open source Nwazet Commerce module that was built for Orchard CMS 1.x. Nwazet Commerce was initially built in 2012 by Bertrand Le Roy, loosely based on a commerce sample by Sipke Shoorstra. The initial goal of Nwazet Commerce was to power the web site of the hardware startup Nwazet. While Nwazet is no longer operating, the Nwazet Commerce project went on, and was further developed by a group of passionate contributors who are using the platform for their own, and their customer's web sites.
Like Orchard, Nwazet Commerce was built with extensibility in mind, and as such it has its own extensions (typical examples include local tax and shipping modules). It's also pure, idiomatic Orchard.
Orchard Core represents a major evolution of the Orchard design principles, and is sufficiently different that running Nwazet Commerce on it will necessitate significant work. As such, we've decided that starting from a blank slate was the best way to go, so we'll port Nwazet Commerce piece by piece, being careful to accurately apply Orchard Core's new design principles. We also decided to adopt a new name, that gets rid of the now obsolete origins, and establishes our ambition for the module to become the go-to commerce module for Orchard Core.
This work is in its initial design phases. There's a lot of work to do, and yes, we do welcome participation in any shape or form.
The work will focus at first on porting a minimum viable feature set:
- Product, price, and inventory parts and/or fields (those were a single part in Nwazet) Note: not all products have a price
- Shopping cart
- Checkout (probably redesigned around Orchard Workflows)
- Base infrastructure for payment, plus one implementation (Stripe)
- Order content type and management screens (including a redesign and refactoring of the order part)
- Workflow activities
Globalization should be taken into account at every step.
Setting up your dev environment
- Prerequisites: Make sure you have an up-to-date clone of the Orchard Core repository on the
devbranch. Please consult the Orchard Core documentation and make sure you have a working Orchard before you proceed. You'll also, of course, need all of Orchard Core's prerequisites for development (.NET Core, a code editor, etc.). The following steps assume some basic understanding of Orchard Core.
- Clone the module under
[your Orchard Core clone's root]/src/OrchardCore.Modules.
- Add the existing project to the solution under
src/OrchardCore.Modulesin the solution explorer if you're using Visual Studio.
- Add a reference to the module from the
- Build, run.
- From the admin, enable the module's only feature.
- (optional) Start using the features, by creating a new
Productcontent type, and adding the product part to it.