Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Integrating ASP.NET applications with DNNIntegrating ASP.NET applications with DNN
Previous
 
Next
New Post
7/19/2006 12:42 PM
 

I could (and will and do) go on and on about the merits of using DotNetNuke as the base web application framework for Enterprise Development. I have developed several 'Enterprise' class modules, including a pharmaceutical prepackaging and labeling system for one client, a commercial shopping cart module sold on Snowcovered.com, a series of student registration, enrollment, and management modules for Polk County Public Schools in central Florida, and several free modules I host on my web site including a remix of the WROX Press book Building an ASP.NET Intranet document management system module for DNN 2 & 3 (source code free for download). All told, I probably have somewhere on the order of 4000-5000 hours of billed time building custom DotNetNuke Modules. Prior to discovering DotNetNuke, I billed a total of about a thousand hours developing two large ASP.NET applications, which would have taken significantly less time to develop had I known of DotNetNuke. I also recently completed a contract programming assignment on a web application based upon the C# IBuySpy Portal framework, where I spent ~300 hours on the actual Portal/Module code.

I have recently started a new position in which my employer has yet to see the benefits of DotNetNuke, so I am writing this in part for my own powers-that-be.

I believe DotNetNuke is ideal for deploying Web-based Enterprise Applications because:

1) DotNetNuke is developed and continuously maintained by the very best and brightest .NET Development Professionals: this means DotNetNuke provides a rock-solid, community supported framework from which solid applications are built. DotNetNuke provides sophisticated content management & navigational capabilities making it very simple to rapidly configure a site according to one's needs.

2) Extensive API & "White Box" Solutions: DotNetNuke ships with something like eighteen modules including a full-fledged, fully functional ecommerce store with multiple payment providers, forums, blog, and numerous other simpler modules. These modules provide an extensive library of code from which an average developer like myself can build new solutions. Additionally, DotNetNuke provides extensive logging capabilities for logging user actions and exceptions. When you build a monolithic application, do you also factor in an elegant Log Viewer like that included with DotNetNuke? Logging also falls under the next category, Security:

3) Security: Role Based Security: Out of the box, DotNetNuke provides User and Role Management tools enabling the management of at least several thousand users  before customization becomes necessary (see forums for more information on this). Have you factored in User & Role Management Tools for your monolithic applications? Built in Forms Authentication: I developed several 'monolithic' applications prior to discovering DotNetNuke, and I can't tell you how many unbilled hours went to discovering all of the ins and outs of Forms Authentication using the Issue Tracker Starter kit's methods. All in all, I think I spent about 20-30 hours getting that right. DotNetNuke has this built in. Take on the ADSI Module which is now built into the core, and I can't say enough about how much time is saved not having to deal with these issues. Granted, ASP.NET 2.0 alleviates much of this, but ASP.NET 2.0 can't do Site Virtualization like DotNetNuke can, and with DotNetNuke 3.3 and above, it is now possible to have Single Sign On across daughter portals on the same URL (a critical intranet capability of DNN 2.0 lost with the M$ provided Membership Provider). Also of note, DotNetNuke automatically logs all security violations, module & page events, etc. How many hours have you factored into your monolithic application for this functionality?

4) Configuration Management: You can search theses forums and the old forums at http://forums.asp.net for my own posts on the subject: DotNetNuke modules lend themselves very nicely to most change management systems and processes. Each module can be independently versioned, promoted, and tracked without having to track an entire site or framework. Additionally, depending upon the environment, you may have a need for a configuration management team to pull your code from source, build the production binaries, and upload those to a production server. Again, with DotNetNuke, this process is much more manageable as each module is packaged as a private assembly. Again, I have written about my own experiences at Polk County on the old forums.

5) Community Support: There are literally thousands if not tens of thousands of DotNetNuke developers: if you have a question, most likely you will get an answer.

6) Third Party Modules: There are hundreds if not thousands of third party modules for DotNetNuke: everything from Flash media galleries to Site management tools are available on Snowcovered.com. This blurb could be longer, but I assure you, having the ability to go to snowcovered and plop 40 or 50 bucks down for a simple module with source code that performs a function you didn't think about when you started your project is priceless.

7) Third Party Themes: Again, assuming you are comparing DotNetNuke to ASP.NET 2.0 which supports similar themes, everything is skinnable on DotNetNuke, and thousands of skins are available on Snowcovered.com.

8) Licensing: DotNetNuke uses a BSD style license which you can read about on the DotNetNuke site which essentially states you can do whatever you please with the code. There are branding restrictions so as not to tarnish the DotNetNuke brand, image, logo, etc, but the code is free.

In this post, I have tried to summarize the major benefits for using DotNetNuke as my enterprise application framework, I will most likely follow up with some of the lessons I have learned (which I have already posted on the old forums) regarding Enterprise module development architecture which don't necessarily conform to that which is written in the 'Module Developer's Guide' or the Core Team's DotNetNuke 3.0 book.

Good luck whichever direction you choose, and happy coding!

 

 
New Post
7/20/2006 9:13 AM
 
For some needs, you can always use one of the module wrappers available on snowcovered.com. Code what you need in ordinary web user controls and use one of these module wrappers to use it like a module in DNN. For larger, more complex and/or legacy applications, you'll probably need to find a different solution.

--
Tim Rolands
Avastone Technologies | House of Nuke
Where DotNetNuke(R) Lives
 
New Post
9/2/2006 1:02 AM
 

kennster,

Thanks for your very comprehensive reply! Sorry I didn't acknowledge it earlier as I was away.

While I agree with you that one can probably do anything in DNN that can be done in ASP.NET 2.0, my main concern is the very steep learning curve for building custom DNN applications. Furthermore, given the time even an experienced programmer would have to spend building custom DNN applications, any of such applications would have to appeal to a broad church of applications. But some clients want stuff done a certain way to fit their unique processes.

Nonetheless, I am sufficiently persuaded by your arguments to want to explore this further. Some questions:

1.   You said that you "billed a total of about a thousand hours developing two large ASP.NET applications, which would have taken significantly less time to develop had I known of DotNetNuke". Did you factor in the time it took for you to learn how to build custom DNN applications? Would you have been able to tweak the layout, behaviour, etc of your applications the same way if you had used DNN?

2.   Can you recommend what is the best resource to learn how to develop custom DNN applications. I know there's a lot out there, but what worked best for you?

Thanks.

 
New Post
9/2/2006 1:22 AM
 
If you do not want to write modules to interact with the SMS API then the easiest way is to just use the Iframe module.  This allows you to insert any content / applications you want that and still use DNN permissions etc.  I have used the Iframe module to migrate sites to DNN and then I can work on moving the content to be 100% in stored in DNN.
 
New Post
9/6/2006 1:46 PM
 
Hello,

A few months ago, I was in the same situation as you are now.  I had an asp.net application that needed to be integrated with DNN.  I was hoping to find a way for both apps to communicate between each other cause I was a bit intimated by module dev.  But after a bit of searching, I came to the conclusion that module development was probably the easiest route to take.

And I'm glad I did cause module development is pretty easy.  I can now convert my web apps to DNN modules in a fairly short amount of time, depending on the complexity of the application.

My suggestion to you is to go and look at this tutorial from dnnjungle :  http://dnnjungle.vmasanas.net/Development/HelloWorldTutorialv3/tabid/117/Default.aspx

This tutorial will guide you throught the development of a simple dnn v.3 module.  It was the best source of info I found out there.  I would say it took me about 3 hours to go through this tutorial.

Amyway, that's just a suggestion.  I'm in no way affiliated with dnnjungle, I just found that this a great free source of information to get started with module dev.

Good luck!
Olivier Dupuis
 
Previous
 
Next
HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Integrating ASP.NET applications with DNNIntegrating ASP.NET applications with DNN


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out