Everybody has access to the source code
Since all elements of the API documentation are retrieved from the source code comments automatically, downloading and unzipping the DNN source code pack is the first step to start working on documentation. The DNN source is wonderful study material for any .NET developer wanting to learn more about advanced .NET programming.
Choose anything you want to learn about
The current MSDN style .CHM help file is a great starting point for getting an idea about the wealth of the DNN API. If you start clicking around and reading bits, you will stumble upon parts (methods, properties, etc.), that are not documented to the level that you expect or want.
Now it is time to really start learning!
Have a look at your unzipped source pack and find the .vb source file that contains the class, methods or property you are interested in. This is a great way to learn about the structure of the whole DNN solution as well.
Document your learning
While you have opened the .vb source file in your Visual Studio and start learning: why not document the things you are learning about? A very good way to learn about things is to write about it. Use the standard VB.NET code comment tags. Just type 3 quotes on the appropriate place and the base comment structure will be generated by Visual Studio for you. Couldn’t be easier. In PortalInfo.vb you can find reference samples of the code comments, e.g.
#Region "Constructors"
''' <summary>
''' Create new Portalinfo instance
''' </summary>
''' <remarks>
''' <example>This example illustrates the creation of a new <c>PortalInfo</c> object
''' <code lang="vbnet">
''' For Each portal As PortalInfo In New PortalController().GetPortals
''' Dim portalID As Integer = portal.PortalID
''' ...
''' Next
''' </code>
''' </example>
''' </remarks>
Public Sub New()
End Sub
#End Region
A remark I want to make here is the attribute lang=”vbnet” in the code sample. Since the documentation compiler (MS) has a default of C#, this will signal the doc compiler to treat this as VB.NET sample code and apply the appropriate formatting.
If you do more than a single line of code documentation, you may want to consider installing ghostdoc http://submain.com/products/ghostdoc.aspx, which is a nice (free) Visual Studio Add In that helps to create structured code comments even better than the default Visual Studio way.
Share your efforts
DotNetNuke = Open Source = Community = Sharing.
if you understand this equation, you should be more than willing to share your learning process with documentation to all other 800.000+ registered members of the DNN community. And there is a structured way how to do this, well documented in a blog by Philip Beadle, have a look. Although this blog talks about DNN 5.4.3, the procedure it is not linked to any specific version of DNN. It takes a little time to set it up, but it works like charm.
The basics of this procedure is that you create a difference (patch) file with your additions to the code in such a way, that it can be implemented easily by DNN core developers.
If you share your efforts I am sure that your contribution (you) will get a recognition from the community!
Become involved
If you are willing to learn a lot, document your learning in the .vb code, why not become a member of the DNN Reference team? There is no better way to have your learning experiences multiplied 800.000 fold.
Contact me at ernstpeter.tamminga AT dotnetnuke.com if you believe in the equation.