When Do You Recommend DNN and When Do You NOT

My client is looking at expanding into a new venture soon and I've been asked what I thought about using DNN (DotNetNuke).  The rationale for this request as I understand it is that DNN can get us up and running really fast, we can build on it easily, and its proven to work, perform, and be scalable.  Now I'll be the first to admit that while I have looked at DNN, I've also not actually used it in a long time, so I may be biased or ignorant.  But I honestly don't see DNN getting a site up any faster than anything else unless that site consists of the canned modules or other existing modules.  That may be the case for a lot of "portals" and "community" sites out there, in which case I'd recommend DNN (or Rainbow) myself, but is it really helpful in other cases?  I already have MasterPages for site consistency, I already have a lot of the "content" and business-specific knowledge that my client depends on, and I already have a working role-based security and menu implementation.  We'll also need to create lots of new "content" or "modules", but I don't see how DNN will simplify or speed that up -- it just seems to add constraints that aren't necessary to me -- unless of course we were creating a "portal" that DNN met most of the needs for already.  I also seriously question the notion that DNN is proven -- so hopefully I can get some feedback on this one here -- no matter what the outcome.  I've searched, and while I see lots of sites running DNN, I can't seem to find any hard numbers or case-studies about sites that run across multiple servers and support a very large number of concurrent users.  My personal experience is that DNN is very functional if it has what you need, but the sites I've seen are typically not very "pretty", and the few larger ones I've seen seemed to really suck when it came to performance (I know of one such large community site that switched to a different CMS since they found their site basically unusable on DNN when the site kept growing).  Maybe my personal experience is very limited, and maybe my googling isn't very good -- but I can't find any huge success stories (sure they are numerous small-to-medium successes) while I can easily find some people with complaints and other issues.  I'm also a little concerned about the fact that I won't get to control my own schema completely, nor use things like MasterPages (and CSS seems hard too with DNN from what I've read), and I don't like having to give the aspnet user account full control over the website directories either.  But I know there are a lot of people out there with real DNN experience -- so please post or email me your thoughts, both positive and negative, keeping in mind that my client is not really going to be able to use the existing modules out there for the most part (if any at all), so this is going to be a custom application -- its just a question of using DNN as a quick and proven starting point.

12 Comments

  • I would say that based on my use of DNN that:



    1) there is a small learning curve to get past.

    2) while I am not aware of any "Huge" sites I see stuff that indicates a *LOT* of use of it.

    3) I see the "Key" to DNN as learning how to work the "Skins" that is where you use the CSS skills and the "Master Page" skills to bring up a site ...

    4) there are some folks who can make some darn good skins for you, look at the DNN home site and follow the links.



    how a DNN web looks is a function of the "skin"

    think of the "SKin" as DNN's "Master Pages" and you can bend it to any layout.



    One last thing:



    when you have the skins and first set of pages then *EDITING* the content is something you can turn over to any decent writer....

    thats a nice thing ... I have shown folks that they can edit the content and don't need me unless they run into a problem or want a chnage in the layout and Gfx.



    also look at the work on DNN 3.0 it's looking sweet!

  • Wow Paul, is your enter key broken ?



    Every time I look at DNN I get totally turned off by the OBSCENE amount of viewstate it creates. There is next to nothing posting back on the front page of a DNN, so why the 80k of viewstate.



    I realize that broadband numbers are growing, but that doesn't mean the experience should suck for dial up users.

  • We've been using DNN v2.12/2.04 for about the last 8 months at my workplace, mainly because it allows us to get a basic site up and running very quickly. Out of the box, the user/role management and ability to add modules relatively simply is quite nice, however I do have a few problems with it:



    - The default modules are very inadequate. Very few of our clients have been satisfied with any of them, so we've ended up re-writing or purchasing new modules on an as-needed basis.



    - While it's a nice modular framework on which to build, there's absolutely no working Edit/Publish framework at all. This is a large hole, IMHO, and while you can implement this by creating or buying different modules, its still feels far from being integrated.



    - Integrating with Active Directory is possible, but is a pain in the ass in v2. I believe v3 may have fixed this.



    - Its an absolute nightmare trying to develop accessible, CSS/xhtml sites using DNN. There's code scattered throughout the codebase that will insert tables for no discernable reason, which can easily mess up your designer's pixel perfect layout. Over time, we've been able remove most of the offending markup, but in general the markup generated by DNN spawns from somewhere deep within the last century.



    My feeling, and your situation may be different, is that DNN has helped us greatly only because it allows us to get a working framework for users/roles/modules up within days. This gives the client something to look at right away, which is essential for us. But if I had the time to create my own, simpler, custom framework I would do so. You won't regret it.



    As for performance, it's definitely not fast, but we've setup installs for companies with over 1000 employees. I'm not sure on the actual stats regarding concurrent users are, but the sites seem to be running alright.



    Hope that helps.

  • Maybe I didn't make it clear enough, but my client is NOT wanting your typical DNN community site with announcements, events, document links, and similar "CMS/Portal" type features -- which seems to me to be the reason to use DNN. What I want to know is what does DNN give me if I am going to have to write all custom content anyhow, and by content I mean business logic and screens, not just static content. I do NOT mean to imply that DNN is not a solid product at all -- I just doubt that its of much value to serve as the basis of a custom business application, and I'm of course wondering about its scalability and performance since my client expects a very large multi-server site.

  • Personally, I feel that when you're going to have lots of custom content, DNN won't be of much help. The only area's where it could be benificial are exactly the area's that are already covered by your existing toolset (Masterpages, navigation, security).

    Maybe you could leverage some of the built-in caching capabilities of DNN but I don't know how easy it will be to integrate that with highly customized modules.

  • I'm mostly a DNN consultant / developer so its hard to not use DNN for everything, that would be like biting the hand feeding me so to speak. I think you'll get a lot of similar loyalty from most other DNN developers, the good ones should know better but many don't know anything else. What I'm trying to say is that DNN does not really give you anything special if you're not building a community or corporate portal. It will actually make things more difficult for an enterprise custom application since you'll end up modifying the few modules you can use while being more constrained in your entire architecture. There may be many DNN developers that you could advertise for when you're staffing, but you'll find that most are still not up to your standards just like you will find if you advertise for basic ASP.NET. Lastly, performance and scalability on large sites with DNN requires lots of tweaking so while it shouldn't scare you away its also not giving you anything better than your own custom code.

  • Ditto Joe. Its great for what it is, but its not sliced bread. And the tweaking needed for large sites is not worth it; its both hard and time-consuming as well as limiting your upgrade path.

  • I 'have' to agree with paul. I haven't yet build a site that can be fully rely on the modules of DNN. Therefor



    I am much faster done building my own, then having to integrate them with DNN.



    Even if it all would work. The client will hold me responsible for any faults in DNN.

    This while most of it would be written by myself. It would take up quite some time to get a full understanding of the complete framework.



    In building it 'all' myseld I can identify the probelems without having to see the actual code in front of me.



    Still I haven't seen any site that can be build solemly by DNN modules, even with 'small' modifications.



    So this is how I feel and this is why I agree with the statemnet Paul is making

  • I just started using DNN for a corporate "extranet" portal. It's essentially a place for the BOD of the company I work at to collaborate via discussions, manage contact lists, and documents, etc, etc. In this case, DNN was perfect because it allowed me to put something together mostly with cheap 3rd party controls. I've built 3 custom controls myself counting for no more than 8 hours of development time. If I was in your situation, where I would probably be rewriting everything that is an asset to using DNN anyway, I would go my own way.

  • I can not imagine DNN providing even the slightest benefit to my development. I can imagine it is wonderful for extranet b/c most company extranets are exactly the same...provide a login screen, provide access to some database info, display content and there are a few admins that control security and role based access. No software like DNN is going to help me unless I'm running something like a shopping cart site or a company extranet. If I was developing one of those I would certainly use DNN. The applications that I currently build are so niche market that the things I need it to do would require too much meddling in DDN that it isn't worth me time.

  • I looked at DNN, and found it to be targeted to personalized community websites with many users having accounts. What I needed was a web application framework. Using some great ideas that DNN made popular, I started creating my own web application framework. Each page is configurable for the title, template, theme, and plugin (or module in DNN-speak). The plugins can be any user control. This way, I have the shell of the site abstracted away with the default plugin being a plain content editor that saves away the html to a database. The basic for a CMS. Now, I create my custom screens all within a single user control that can be plugged into any page. I use a single user control as the entry point for the custom app, and it deterministically loads other user controls as it needs them (each user control is a screen or part of a screen). It works very well, and my site can host one or many web applications. In the future I may extend it with a portal plugin that could target a community site. Probably with the advent of .Net 2.0 we'll see several commercial application frameworks emerge.

  • I am using DNN for one of my site and involving in developing DNN sites for a large company in the UK, the reason I am choose DNN because I am a .NET developer and DNN enables me to do my task quick for customers. There are lot of high quality commercial modules that you can buy for quick implementation or you would spend several years to build your self. Now the bad thing about DNN is that make new module is scary thing with its DAL, Info class.Also making skin (themes) in the framework are not simple as you do with master page.

Comments have been disabled for this content.