DotNetNuke

Posts   
 
    
jeffreygg
User
Posts: 805
Joined: 26-Oct-2003
# Posted on: 31-Aug-2006 08:49:45   

Hello, all. I'm putting together a website for my new startup and I'm interested in using a CMS to maintain it. Long term it'll have a bunch of stuff on it, including news, forums, downloads, etc.

I know there're quite a few people here who use DotNetNuke and I'm interested in knowing more about it from a 50,000 foot point of view:

How well does it work overall? What are its major limitations? What are its strengths? How easy is it to modify existing modules or create new ones? How does it compare against other .NET based CMS's?

And any other information you can provide would be helpful.

Thanks in advance!

Jeff

Jessynoo avatar
Jessynoo
Support Team
Posts: 296
Joined: 19-Aug-2004
# Posted on: 31-Aug-2006 10:03:24   

Hi,

I've written the following post earlier in this week:

http://www.llblgen.com/TinyForum/Messages.aspx?ThreadID=7386

It gives some explanation on how we handle putting DNN together with LLBLGen.

Now, about DNN more generally:

How well does it work overall?

I am quite satisfied with it. Most bugs get fixed in a reasonable time although last release is getting a bit long to get fully stabilized. This is also because they introduced quite a few new features

Its major limitations?

The lack of a powerful BLL I think, which gets compensated easily with LLBLGen when developping new modules; then some kind of heterogenity in the code, many different people contributed, some bits of the framework are better than others. Then also the fact they maintain a 1.1 version did not allow them to fully move on to ASP.Net 2.0 for now. Some important features may also be missing. Depends what you need.

Its strengths?

Its modularity first, about 10 providers around, + loads of projects, HttpModules, and of course DesktopModules. The PA easy install/uninstall resource paradigm is really cool. Loads of 3rd party resources either free or commercial. Then the underlying framework is huge, and addresses issues spanning the whole framework. Loads of things you may do with raw .Net DNN provides a helper or something to do it better. Get the habit to check.

How easy is it to modify existing modules or create new ones?

The new ASP.Net 2.0 website model made it a bit confusing at first, but quite easy overall. Just have an user control inherit the base class "PortalModuleBase", declare it from the module defs interface and here you are. Quite easy to play with authentification, roles, exceptions handling, redirection, cache, simple parameters storage, logging, emails, personalization, localization, scheduling, queuing events...All of those you can do in a couple of lines from your code behind, + there are quite a few controls ready to use and even an AJAX style client API.

Now it takes a little time at first to address correctly the surrounding framework. I'd suggest taking some time to:

  • play with all the feature online in your sandbox
  • read the docs
  • place some breakpoints in global.asax.vb, urlrewriter, default.aspx.vb, cdefault, pagebase.vb, skin.vb, portalmodulebase.vb, dataprovider.vb and understand the global life cycle of a page in DNN.
  • browse the code of some native modules, and also admin modules making the menu. Being able to locate those on demand helps you finding the code when you're familiar with what the admin forms do at runtime.
  • open an object browser/class view to understand the various namespaces and what you can get from them

How does it compare against other .NET based CMS's?

Not so sure there, but I think it's the most complete if not best in the open-source category, and I also think you get more flexibility than with systems such as SharePoint.

Now it lacks things like native workflow/versionning, content localization etc... For a WebSite I think it's appropriate.

Hope that helps,

Cheers

Walaa avatar
Walaa
Support Team
Posts: 14950
Joined: 21-Aug-2005
# Posted on: 31-Aug-2006 15:06:50   

I can't give you more details, but 2 years ago I used Rainbow portal, it's an open source too and it was quite nice, so you may want to invistigate this (www.rainbowportal.net)

Kris
User
Posts: 79
Joined: 27-Oct-2005
# Posted on: 31-Aug-2006 20:23:45   

Check also Open Source Portal Server for .NET Web Development and Systems Integration at http://www.cubiccompass.com/products.aspx . You can build your own webparts for it.

I am considering porting the BL to LLBLGen. wink

Check the demo at: http://www.cubiccompass.com/tour.aspx

alexdresko
User
Posts: 336
Joined: 08-Jun-2004
# Posted on: 31-Aug-2006 20:55:06   

Jeff,

I really wish I had time to elaborate on the pros and cons of DNN, especially in relation to LLBLGen, but I'm really just too busy right now.

I can tell you though that I've been using DNN and LLBLGen as a powerful combination for at least 2 years now. I honestly LOVE it! My biggest complaint is that DNN can be a bit slow at times.

I'm to the point now where creating a new module only takes a few minutes now. I don't use the Starter Kit templates that come with DNN, but instead, a quicker, easier to manage dev environment (google "DNN blank module").

Ugh... I could easily write pages about this.. How quickly are you looking to move forward? Maybe I can get some time to detail my experiences sometime this weekend or something.

jeffreygg
User
Posts: 805
Joined: 26-Oct-2003
# Posted on: 01-Sep-2006 03:11:31   

Thanks all very much for your responses. simple_smile

[quotenick="alexdresko"]Jeff,

I really wish I had time to elaborate on the pros and cons of DNN, especially in relation to LLBLGen, but I'm really just too busy right now. [quote]

Totally understand. simple_smile

I can tell you though that I've been using DNN and LLBLGen as a powerful combination for at least 2 years now. I honestly LOVE it! My biggest complaint is that DNN can be a bit slow at times.

I'm to the point now where creating a new module only takes a few minutes now. I don't use the Starter Kit templates that come with DNN, but instead, a quicker, easier to manage dev environment (google "DNN blank module").

Ugh... I could easily write pages about this.. How quickly are you looking to move forward? Maybe I can get some time to detail my experiences sometime this weekend or something.

I'm looking at putting something together by the end of the month. I should have some HTML templates ready for me in two weeks or so, so I'm starting to put together a game plan here in the next week.

Is this something that's pretty much ready to go out of the box, or am I going to have to spend 2 days of my life hunting down config files and adding arbitrary XML elements? wink

Jeff

Devildog74
User
Posts: 719
Joined: 04-Feb-2004
# Posted on: 07-Sep-2006 04:20:32   

I used to to be a bigtime advocate of dnn. Not so since the release of ASP.NET 2.

I can write portal apps faster with ASP.NET 2, web parts, and the default asp.net providers.

The biggest benefit is that I dont get tied into the way that DNN does things.

The bigges frustration for me with regards to DNN is that it really isnt a commercial grade portal. Its great for a boot strapper, or a simple site, but I dont reccomend it to any of my clients anymore.

Versions often break functions, and the internals of DNN get really messy sometimes. However, anytime I write for DNN, I create modules that use LLBLGen data layers and business objects and stay away from the "DNN Best Practices" for creating data access layers and business objects.

jeffreygg
User
Posts: 805
Joined: 26-Oct-2003
# Posted on: 08-Sep-2006 19:16:32   

Devildog74 wrote:

I used to to be a bigtime advocate of dnn. Not so since the release of ASP.NET 2.

I can write portal apps faster with ASP.NET 2, web parts, and the default asp.net providers.

The biggest benefit is that I dont get tied into the way that DNN does things.

The bigges frustration for me with regards to DNN is that it really isnt a commercial grade portal. Its great for a boot strapper, or a simple site, but I dont reccomend it to any of my clients anymore.

Versions often break functions, and the internals of DNN get really messy sometimes. However, anytime I write for DNN, I create modules that use LLBLGen data layers and business objects and stay away from the "DNN Best Practices" for creating data access layers and business objects.

Thanks for your input DevilDog. It's hard to imagine though that I'd be able to get a raw ASP.NET site up as fast as I could with DNN if I was just looking at using the base modules. Also, ongoing content maintenance etc is something I have to consider...

Jeff

Devildog74
User
Posts: 719
Joined: 04-Feb-2004
# Posted on: 08-Sep-2006 23:14:24   

Well, at first getting an ASP.NET site up and running was a challenge. After I did it a few times, I realized what all the common elements were for all web sites, i.e. master pages, custom providers, OOB providers, scripts, images, etc, and I used VS.NET to export a project template.

After that I used VS.NET 2005 to create an installer for my default web application template, and installed it on all the developer machines, and poof, all was well.

Now when I create a new web app, I simply go into the IDE and click File->New->Web Application, and pick my custom template, and all is created for me. Attach the blank DB, set the permissions, and the web.config and I am off.

One of the drawbacks in DNN 3.1 and older was that storing the content in the DB often meant that spiders couldnt find my content, so my web visibility was much lower. I am not sure if that matters to you or if the issue has been fixed in DNN 4.x. Another thing that I found was that reading the html content from the db each time can get costly as the amount of database content grows.

jeffreygg
User
Posts: 805
Joined: 26-Oct-2003
# Posted on: 09-Sep-2006 00:04:16   

Devildog74 wrote:

Well, at first getting an ASP.NET site up and running was a challenge. After I did it a few times, I realized what all the common elements were for all web sites, i.e. master pages, custom providers, OOB providers, scripts, images, etc, and I used VS.NET to export a project template.

After that I used VS.NET 2005 to create an installer for my default web application template, and installed it on all the developer machines, and poof, all was well.

Now when I create a new web app, I simply go into the IDE and click File->New->Web Application, and pick my custom template, and all is created for me. Attach the blank DB, set the permissions, and the web.config and I am off.

One of the drawbacks in DNN 3.1 and older was that storing the content in the DB often meant that spiders couldnt find my content, so my web visibility was much lower. I am not sure if that matters to you or if the issue has been fixed in DNN 4.x. Another thing that I found was that reading the html content from the db each time can get costly as the amount of database content grows.

That sounds pretty cool. How do you handle ongoing content maintenance? Did you actually create a CMS or are you working with raw HTML?

Jeff

Devildog74
User
Posts: 719
Joined: 04-Feb-2004
# Posted on: 09-Sep-2006 01:51:22   

I suppose the answer is both.

I have taken many different approaches to CMS. Some simple, some complex. My simplest implementation of CMS was when I created a web app where "authorized" users could add new pages on the fly. Each page had a web user control with a Telerik Rad Editor in it. The authorized user could then access the page and the rad editor and edit the content in place. My most extensive CMS project was allowing users content and navigation and storing it in the database, along with extracting key words for full text indexing.

I have used more complex implementations, i.e. DNN, Kentico CMS, SharePoint, etc. I have also evaluated CMS tools like Ektron and Telerik CMS.

It really just depends on what level of complexity you need, what level of access you need to provide to search the major engines, what your budget is, and how soon you need it.

It seems like one of my biggest frustrations with DNN is that I would get stupid calls from clients saying they broke their portal because they added content with some whacky inline javascript that broke the rest of DNN, or they wanted to embed some crazy flash stuff that would just mess up the entire page layout which would cause me to have to build a custom skin for this 1 page just to handle their flash banner for their 1 week promo, etc. So I guess I am a bit cynical regarding CMS and clients / business users.

But, there are tradeoffs to everything really. DNN is free, and easy to use, but it lacks some things (Search Engine Optimization) etc., but its not a commercial product so dont expect the stars. I have been burned quite often by DNN because they often break things when moving from one version to another. It has no CMS workflow/ check-in / check out / content expiration / etc. (unless they have added it.)

This books is pretty decent http://www.amazon.com/Real-World-ASP-NET-Building-Management/dp/1590590244 , all though it is a bit old.

If youre kicking around "Build vs. Buy" I have always been a fan of "buy". You might check out out SiteFinity from telerik: http://www.sitefinity.com Basically for < 1500.00 you can have a tool that can be used to create and manage content, and you can focus on developing "other" things.

If your average burn rate for development was $50/hour, it would take you 30 hours to get to $1500. So by the time you had your tech spec done for what you are going to build for a custom CMS solution you could be up and running on sitefinity.

sailu_tp
User
Posts: 6
Joined: 09-Sep-2006
# Posted on: 09-Sep-2006 20:43:04   

If you need to develop a module like forum don't you think it will take a long time. By using DNN we will get this for free and save a lot of time. Ofcourse if you need modifications done it may be some effort but still using DNN is better than creating everything from scratch. In many occasions in order to develop any functionality we will first need to develop a lot of base functionality such as user registration, role based security and exception management etc. By using DNN i feel we can get straight to the business logic and get the things faster. Just my 2 cents. Sailu.