I thought I might take you through my thought process as I prepare my module for review. Having published standards (even before a module is reviewed) is helpful so that even module developers who don't opt for a review can still know what constitutes a solid module. I've highlighted some words in purple to indicate steps I'll have to take to make my module work. Some of the requirements are italicized. The module I'm talking about is the MyDNN TimeZones module (a for-pay module).
Taking a look at the required elements I installed the TimeZones module (version 1.1.0) on a clean DNN 3.3.3 installation. The module installed fine using an object qualifier of DNN333 (I didn't test database owner or virtual portals, but both should be fine--it is being used on MyDNN.org on a virtual portal). The uninstall left the /DesktopModules/TimeZones/AdminModules/ folder intact. This could be handled through an instruction to delete the folders in the Uninstall section of the user guide if needed. Globalization should not be a problem as no date or language dependencies should exist. The EULA will need to be assembled to correctly identify the rights of the user.
For Elective Requirements, I offer the module with source as a separate package. This will satisfy the item for #1b if I add an appropriate EULA. Item #1a is supported through the Snowcovered help desk feature although my documentation should be updated to reference this support approach.
For the documentation elective requirement, I should add a section on installation and uninstallation. A reference to the EULA or a reprint of it should be included in the documentation. A separate .pdf file for the documentation in the .zip file appears to be appropriate. I link to the the modules documentation in the sales literature to allow a user to better understand the module before purchase.
For the optional requirements, I support localization in the areas of the module that I've modified recently but not on the first screen I developed. Strings that are displayed in two of the controls can be localized and one is fixed. ISearchable and IPortable are not supported. The TimeZones module works well in a medium trust environment as it only needs DB access and mainstream ASP.Net functions. With regards to portal styles, the output of the module doesn't use portal styles (it has a module.css) but the edit controls should be use the same styles as the core modules.
Some questions:
-
How should I remove the folder that remains after I uninstall? Why didn't the uninstall remove it?
-
Does DNN have an example module EULA? What about one that gives appropriate permissions to distribute with a source-code distribution (allows third-party modification, etc.)?
This post seems a little self-aggrandizing, but I hope it is helpful to someone. I was surprised that I won't have to do much to the module to make it meet the standards (in my point of view, at least). I think the module review program is great. It helps module authors by setting a reasonable, attainable standard. Users of DNN will have a selection modules with proven quality. Hopefully the fee will be an enticement for reviewers to get compensation for their effort.
Tim
MyDNN