I have been thinking about how to get more developers interested and knowledgeable about DotNetNuke as CMS and the DNN framework, partly as preparation for my session at Open Force '08 Europe. OF'08 is part of the Software Developer Conference on 6 & 7 October in the Netherlands.
My proposal for this session was triggered by a number of occasions during the last months where we were asked for assistance on development projects where DNN was used as CMS in combination with custom development. I was surprised (disappointed might be a better word) at the level at which DNN and the framework was misused.
To give some examples:
- the developers always opened DNN in full source mode to start developing
- large portions of core modules were changed for things were commercial (reasonably priced) modules are available in the market
- there was no understanding of the principle of install packages
- the principle of version numbering and modules installation was not used: installation was done by copying .ascx files and dll's from test to production
- packing more then one screen (.ascx) module in a packages was not understood
- data base access was done in code behind form with dynamic SQL and passing SQL strings to the database
- the principle of data providers and versioning was not understood at all
- In the code quiet some hardcoded design was done, i.s.o. using skin and classes the right way
- almost no real use of the functionality of the framework was applied
- ...
And I can continue with more issues.
Were those developers non-developers?
Well, some of them were. These people are a shame for our profession, making money at a client while developing waste code. But there were also developers that I would qualify as experienced. We also found e.g. the WROX book on developing modules for DNN on the desk of those developers, so they did try to follow some guidelines.
Is it so difficult to develop for DNN with the DNN framework?
Well, DNN certainly is not the first project I would choose if I was a newbie in the field. OTOH it would be a great loss of productivity if you would develop an asp.net web application without using DNN and the framework. Even if developers grasp the possibility of DNN as basis for their web apps, a lot of functionality remains hidden in the framework, which, imo is not documented to the extend that we can profit easily enough.
I learned a lot from the windows help file (DotNetNuke470.chm) that I received from Stefan Cullman some time ago. He generated this help file (nearly 8Mb) based upon the comments that can be found in the sources of the DNN core (V 4.7.0). And although a lot of functions, methods and properties etc. are under documented, even browsing through the list in the help file helped me to better understand the richness the DNN framework.
My conclusion: A lot of development treasures remain hidden.
What next?
I have offered my help to Néstor Sánchez, the lead of the documentation group of DNN, to assist in creating better documentation of the framework. Not sure in what this will result.
What's your opinion on this point? How can we help other developers to profit from DNN and the framework to create better applications is less time? Please react. Write a comment on this blog or mail be at ernstpeter.tamminga@dotnetnuke.com.
I will be happy to share my view with yours. Attend my session at Open Force '08 Europe: DotNetNuke framework: a hidden jewel?
Ernst Peter Tamminga
P.S. Did you see my posting on the availability next (beta) version of the Events module: 04.00.02 RC1?
P.S.2 Geïntereseerd in een professionele .NET/SQL/DNN job in de omgeving van Amersfoort? Kijk dan op www.werkenbijxcess.nl.