Hello everyone,
In evaluating portal solutions for our intranet, I decided to go with DNN. Since this is brand new, (no previous intranet portal exists), the sky is the limit for me. I figure starting with DNN4 is a good idea, as it is fresh new code utilizing the new ASP.NET 2.0 platform.
I am what I consider a somewhat seasoned .NET developer. I have not coded for DNN before.
I guess what I am lacking is a step by step guide on creating custom modules for DNN4 using Visual Studio 2005. I have the starter kit installed, and I get about as far as letting it do its thing, and renaming the folders as specified... and then things get hazy.
I have seen different tutorials out there... and it is helping me learn this, but it seems I keep hitting walls, which is getting a little frustrating.
So far I have looked at the following tutorials:
1. Shaun Walker's DotNetNuke 4.0.0 Starter Kit and Templates post:
It is a great tutorial, however it currently stops short of what I really want to know... extending the module provided in the Starter Kit. Hopefully the next post will be posted soon. ![Smile [:)]](/emoticons/emotion-1.gif)
2. Todd Davis' video tutorials on module creation for DNN 3.x:
Great videos of the step by step procedure... but unfortunately, it is geared toward DNN 3.x development, and as I have read, DNN4 and DNN3 is structured quite differently... not to mention the inclusion of the Starter Kit for DNN4.
3. Michael Washington's step-by-step tutorial on module creation for DNN4:
Once again, great tutorial... but where this one becomes hazy for me is on page four and on. The tutorial becomes a copy and paste operation for the Guestbook module tutorial, and I do not clearly understand what is occuring at that point. Why were the template sprocs from the starter kit created only to delete them? Should I not use a code generator like CodeSmith to create my Insert/Update/Delete procedures? And, why is a ModuleID being created but no PortalID is being created in the table? Wouldn't this break if the module were to be used in two different portals hosted in the same database?
I guess I have a few questions in utilizing the DNN4 Starter Kit:
1. The namespace defaults to "YourCompany". Is there any way to specify that so a find and replace is not necessary each time I create a module? I am assuming the way to fix this is to open the ZIP file for the Module Starter Kit and do a find and replace once in there on this, and my problem would be solved.
2. Would it not make sense to utilize CodeSmith to assist in the creation of the stored procedures necessary to add/update/delete items from the database as well as the creation of the various methods needed in Visual Studio? I am not familar with using code generators, but I would definitely begin to use it if it made my job in creating those rudimentary methods in VS and sprocs in SQL. Does the latest CodeSmith version have DNN4 templates already created for the DNN community?
3. I am assuming the universal structure of any table in the database for a custom module should be the ProgID, PortalID, and ModuleID? This would make the module 100% compatible through multiple instances of portals and modules.
4. Books. I currently own Professional DotNetNuke ASP.NET Portals and Building Websites with VB.NET and DotNetNuke 3.0. Unfortunately, all the books that deal with DNN4 are still not out yet:
I certainly plan on buying them all when they come out, but their current publishing dates isn't until late May to June or later, and I need to start developing now.
I have many ideas to start developing custom modules for our intranet portal, but right now I am still trying to understand the concepts of putting together the modules.
I plan to create some general reusable modules that I can release to the community at no charge, but also create modules specific to applications needed internally (small database trackers, calendaring tools, etc.)
I am eager to jump into the DNN fray, but am still searching for the most efficient way to create my many modules to come!
I am looking toward the great DNN community here to help me out in this regard. Thank you in advance.
- Andre