Discussions

Planning a new Drupal Commerce Project in stages

I am struggling to find a guide to planning and building a Drupal Commerce project. I am not looking for a step by step tutorial but more a general guide for staging the build.
If we were comparing it to building a house from foundations, plumbing, electrics to painting.. what would a staged list of functionality to be implemented for a Commerce project look like?

What I am trying to avoid is, building a Commerce project that I have to rework because I have implemented functionality in the wrong order and created system dependencies that cause issues.

I have 3+ years of Drupal experience but no Drupal Commerce experience other than fiddling with Kickstart.

It would be great to see a list like:

1. Initial Set-up (Store basic config)
2. Implement Payment Gateways
3. Create Taxonomies
4. Create Products
5. Build Product displays
6. Configure Tax
7. Configure shipping
...and so on.

Thanks

Posted: Aug 30, 2013

Comments

laughnan on September 2, 2013

Your current workflow (i.e. steps 1-7) are exactly how I configured a few clients of Drupal Commerce. I did registrations, so I added Registration configuration before #2, but it shouldn't make a difference. Are you looking for a more a video tutorial holistically?

crontab on September 5, 2013

Hi laughnan, a video tutorial would be great, but a list/flow diagram would be equally helpful.
I feel it will give Commerce novices a bit more confidence and direction when taking on their first projects.
It's often the case that when you learn a new web concept/technology, you look back on your first project and learn a lot from the mistakes or bad judgements you made (inexperience). It would be great to have a basic guide towards the stages involved in a Commerce project with the aim of following best practices and producing a robust product.

michfuer on September 10, 2013

Typically major functionality will be independent enough that you don't have to worry about the sequence in which it's implemented. For example, you can create products first, and then create product displays that reference the products, or vice versa. You might save a bit of time creating the products first, and then referencing them as you create the displays, but either way will still work.

I think the best approach when starting a new project is to first identify what categories of products you're dealing with, e.g. Shippable products, Licenses/File downloads, Subscriptions, etc. which helps you discover more project requirements, and what baseline modules you'll want to start with such as Commerce Kickstart, Commerce License, and Commerce Recurring Framework respectively.

After hammering that out you'll want to start considering the multitude of other features that an eCommerce shop requires/desires such as...
* Payment methods you're going to support (e.g. Commerce Authorize.net, Commerce Checkout by Amazon),
* How you're going to handle PCI Compliance (e.g. Hosted PCI),
* What types of reports you want to run (e.g. Commerce Reporting),
* How you're going to handle taxes (e.g. Commerce Exactor),

and so on and so forth.

So first step is to identify all your project requirements, and stick with the "must-haves" at this stage. You can always add in the "nice to haves" later down the road as time and resources permit.

Next you start actually adding/building your requirements, and make sure you test! Don't import 30k products before running a test import to verify your products are being created properly, and calculated fields are calculated correctly, etc. Lots of rework can come from creating a bunch of content you don't need, or sending out a bunch of notifications that aren't proper. The sequence of how you build these requirements can be guided by testing. If you come across a feature you cannot test without first implementing another feature, then you know what you have to do next. The large diversity of eCommerce shops makes it difficult to come up with a general build sequence that would be useful to all.