What modules I used to develop www.alunet.com (Part 1 - introduction and Dynamic Forms from Datasprings)
Instead of writing another boring "top 10" list of modules "you must use before you die", I chose to present a site I developed (currently online but in Beta stage). This is a unique opportunity, since I usually don't get permission or don't have enough time to publish details on my work.
The site is www.alunet.com, a global directory related to aluminium companies and products, and has been developed using the following DNN modules:
Dynamic Forms from Datasprings
IndooGrid from IndooLab
Open Web Studio from R2integrated
News Articles from Ventrian
Live Tabs from Mandeeps
Navigation Suite from DNN360.net
SmokeRanch Ad Manager from Smoke Ranch Software
(Please be aware that the design is not mine - the layout and site structure was entirely designed by the client and my job was to implement all the functionality needed).
The site is also heavily using jQuery, Fancybox (a jQuery plugin for displaying images and/or html) as well as ImageGen, an image resizer originally developed for the Umbraco CMS that can function stand-alone in any .NET - based website.
Let's discuss where I used what and why:
Dynamic Forms from Datasprings
Registered users can submit their company data. Each user can submit only one company, which is approved by the site's administrator. Companies must have a main activity and subactivities that fall under their main activity (it's a tree with 3 levels). After initial submission, the user must select a main activity and subactivities. (again, Dynamic Forms is used for the selection forms).
When this process is complete, the company must be approved by the site administrators. Users get an email when this is done. (Of course, administrators also get an email for each submitted company). This is achieved via Dynamic Forms post-submission events.
Afterwards, the user is able to submit up to a specific number of products for the company (currently 10, but it's as easy to change as a record in a database table) and assign each product to one of the subactivities they have defined for their company. Actually, the "main activity" acts only as a grouping category, while subactivities are the actual activities of the company.
When editing the subactivity list, the forms present only subactivities that can be selected depending on the main activity chosen and do not let the user unselect a subactivity he has already assigned products to.
Users have their own "control panel" where they can manage companies, products and activities. This works mainly with Open Web Studio, which we'll examine later on.
Dynamic Forms pros:
- Very powerful
- Datastore in own schema or custom database
- Post-submission events (email, sql, etc.)
- Field events (when you fill a field - you can hide/show sections depending on value etc.)
- Great selection of controls - including data-driven comboboxes, listbox/radio groups, rich text editor, image and file upload controls.
Dynamic Forms cons:
- Bugs arise when you try to push it too far
- Somewhat expensive - you must make sure that you need it
- Not very good / easy control on final layout
- Image and file upload controls have many features (e.g. unique filenames, automatic thumbnail resizing) but need a lot of work to operate correctly.
Company website: www.datasprings.com
DotNetNuke Store: Click
Click here to read Part 2 (Open Web Studio)