Learn More





DNN Community Blog

The Community Blog is a personal opinion of community members and by no means the official standpoint of DNN Corp or DNN Platform. This is a place to express personal thoughts about DNNPlatform, the community and its ecosystem. Do you have useful information that you would like to share with the DNN Community in a featured article or blog? If so, please contact .

The use of the Community Blog is covered by our Community Blog Guidelines - please read before commenting or posting.

An update on DNNStore

1.- The Store project is alive and well.

30 intermediate beta releases have been published since Store 02.01.00. You can find them on :

The Store forum is one of the most active forums in, with little or no questions unanswered

the french speaking community has its own dedicated forum in french :

and the European network of professionals has a private forum for Store and other e-commerce modules.


2.- Store vs other e-commerce modules.

Store was initially built as a kind of starter kit. Version 1 was not usable out of the box, but its elegance and perfect integration into DotNetNuke were impressive. When it was first released, there were little or no free e-commerce modules built into an Open Source CMS.

Successive versions made it a production class e-commerce solution for small shops. It did never try to compete to other existing modules in terms of functionalities. If you want a full featured catalog, have a look at other excellent offerings in the DotNetNuke ecosystem.

Store has an emerging provider architecture - not completely finished yet. The idea behind this, is to make it modular and permit plugin alternate providers wherever needed : payment providers, shipping cost providers, etc. But there has been a trade-off with the necessity to deliver quickly a working solution. The result is that the provider architecture still needs some refactoring before it is fully achieved.

You may consider Store as either :

- an out of the box solution to install a free and simple e-commerce into a DotNetNuke website;
- or a starting point to developp you own store

You will appreciate Store if you need to meet strict requirements for your catalog design: Store has rich templating and style sheets features.

In short, Store can be seen as a platform to build e-commerce solutions, just like DotNetNuke is a platform to build websites.

3.- when should you NOT use Store ?

Store lacks basic functionalities in terms of products variants, attributes, options. You should consider another e-commerce module if you need to sell clothes with sizes, colors, options or on-demand printed text.

Store does not permet products downloads. You should not use it to deliver software.

Store has limited out-of-the-box tax and shipping calculation. It handles the VAT tough, and permits to display prices including or excluding taxes. But you can create your own provider - and share it with the community if you want, we will appreciate.

Store requires the customer to register as a DotNetNuke user.

The missing features, and many others, are on the roadmap.

4.- Why does it take so long to get new official releases ?

Due to the nature of Store, which is no simple module, and is very configurable, it is very difficult to test every possible use case and settings. Moreover, packaging Store and reviewing it during the release process takes more time than for most modules. For both reasons, it has been decided to release often and publish early... betas versions.

Since he is Store lead, Gilles Le Pigocher has published 30 Store betas. An average of a new version every month, which is common practice for many well-managed projects.

As you can understand, in order to meet very strict quality and security rules, DotNetNuke cannot label 'released' a version that has not passed the full release process, not matter how good it seems. But I must say that Gilles's betas are so reliable that 'beta' can be read as 'release candidate'.

An important point to underline is that all of these new versions have offered a seamless update process. Nobody as ever been in a cul-de-sac with an abandonned Store version. I have myself several Store modules in production, and never had an issue migrating.

Finally, I should mention the XHTML compliancy. Every project has to do some necessary refactoring or home cleaning during its life cycle. But in the case of XHTML compliancy, it was a huge piece of work that affected all parts of the code. In 2009, Store was just ready for an official release, when it was decided to make XHTML a requirement for the release process. That required an extra 3 monthes effort.

5.- So what version should you use now ?

Store 02.01.30 is the version which is currently beeing reviewed in the tracker. When it succeeds, it will be named Store 02.02.03, and you may expect that for the end of february, 2010. No garantee tough. The guys at the security checks are doing their things seriously. And the dynamic nature of the controls make it hard to review.

This versioning system guarantees the upgrading process from successive betas to the official version. Should there be any 02.01.30+ version when you read this post, you can upgrade until an official 02.02.XX is available.

So in most cases, we suggest that you use the latest version in ; currently 02.01.30

All store versions from 02.01.00 to 02.02.xx work with any version of DotNetNuke above 4.4.1. They have been successfully tested on DotNetNuke 5.2.2 (most recent DNN version at the time of this writting).
To sum it up, the current official released version is 02.01.00, and the recommanded version is 02.01.30 or later on codeplex, at your own (but low) risk.

6.- Do you need the source version ?

Before you decide on wether you should download the install or the source version, I suggest that you read the templating guide carefully. There are many things that you can do to adapt Store to your needs, without rebuilding the project.

Many developpers expect to find .ascx files in the source package, and believe that this is the starting place to build their catalog. But this may not be necessary. Many adaptations can be done with the templates and the style sheets, without rebulding the projects, using only pure XHTML tags and tokens.

If you decide that you need the source version, and cannot refrain from pressing F5, please sit on your hands until you've read extensively Gilles's pinned post "How to install Store with Sources" in the Store forum.

If you are new to, DotNetNuke or C#, consider testing your skills with another module. Store is made of 21 different visual studio projects. It makes extensive use of providers, template hierarchies, post build commands. There are quite a number of abstractions that can puzzle the beginner.

If you just want to look at the sources, consider doing so in codeplex, before you install your solution locally.

Don't feel reassured as soon as you successfully displayed 'hello world' on top of the shopping cart. It will take more than that before you can write a new payment provider.

skinObjects are optional with the install version, but required with the source version.

7.- The source package looks weird - or unusual

Quite true. But most of the things that may seems unusual are here on purpose.

You may find it strange to see empty folders? This is because they are containers for post-build scripts.
You wonder why sources are found in a file? Nobody could find it when it was a .resource file
You may ask yourself where is the magic with 2 .ascx controls almost empty? They contain a code-behind declaration that dynamically injects controls after the templates are parsed.
You may find it bad practice to have duplicate files in the package? We know that, but it is a trade-off to ease your life.

The bottom line is: follow line-by-line Gilles instructions, and many things will make sense.

8.- how can you help ?

The best you can do is read the manual first. This would probably reduce by half the number of posts in the forum.
Read the pinned posts on top of the forum.
When you post, please specify version numbers, for both DotNetNuke and the Store module.
Do not put all modules on the same page, just because you want to have a quick look at Store. We all get used to the great simplicity of DotNetNuke's installation process for most modules, but Store deserves some extra attention. There is a precise sequence of settings to perform before you can play with your first catalog.

We always appreciate you feedbacks and suggestions.

Have a good month of February.


There are currently no comments, be the first to post one.

Comment Form

Only registered users may post comments.


2sic Daniel Mettler (124)
Aderson Oliveira (15)
Alec Whittington (11)
Alex Shirley (10)
Andrew Nurse (30)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (21)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (203)
Chris Paterra (55)
Clinton Patterson (28)
Cuong Dang (21)
Daniel Bartholomew (2)
Dave Buckner (2)
David Poindexter (3)
David Rodriguez (2)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (74)
Geoff Barlow (6)
Gifford Watkins (3)
Gilles Le Pigocher (3)
Ian Robinson (7)
Israel Martinez (17)
Jan Blomquist (2)
Jan Jonas (3)
Jaspreet Bhatia (1)
Jenni Merrifield (6)
Joe Brinkman (269)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matthias Schlomann (15)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Mike Horton (19)
Mitchel Sellers (28)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Peter Donker (52)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott S (11)
Scott Wilkinson (3)
Scott Willhite (97)
Sebastian Leupold (80)
Shaun Walker (237)
Shawn Mehaffie (17)
Stefan Cullmann (12)
Stefan Kamphuis (12)
Steve Fabian (31)
Timo Breumelhof (24)
Tony Henrich (3)
Torsten Weggen (2)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (37)
Will Strohl (163)
William Severance (5)
Try Evoq
For Free
Start Free Trial
a Demo
See Evoq Live
Need More Information?