Bil Simser has an excellent post comparing Sharepoint and DotNetNuke (DNN) for hosting web sites. He also references another article by Richard Dudleys which you should check out as well.
As I mentioned in Web Site solutions that run on .Net, I decided to go the DNN route for at least two of my public Internet projects ( more on those later ). I needed control of the following three features:
User authentication and authorization
As Bil mentioned, the Sharepoint authentication mechanism uses Active Directory and prompts for user credentials by using a Windows login dialog. The interface with AD wasn't a big issue for me as I could run the Sharepoint sites in AD Creation Mode. The issue was the fact that I wanted users to log in via their email address using a web page. This is not easily done in Sharepoint. You can create a CustomAuth.dll to handle it or purchase third party solutions such as Infogenic, but in the end, you're making Sharepoint do something that it really wasn't intended to handle. Plus the fact that it looks like you would introduce scalability issues at some point in the project's life cycle.
Secondarily, Sharepoint has an "interesting" security model where it lets a user attempt a task and if that task is outside of their security role, it will tell them access denied. I much prefer not to show the users anything outside of their role. It tends to limit support calls that way. :)
DNN has a true role-based forms authentication system that allows the Administrator to define who can do (and see) what. DNN v4.x was upgraded to utilize role-based membership system that ships standard with .NET 2.0.
Sharepoint v3.0 will support more than just Windows Integrated security and should solve this problem.
Look and Feel
As you probably know by now, the look and feel of a web site can make it a success or failure. Not only just the overall design elements, but the site navigation as well.
Due to the architectural differences between the two products, I think the DNN "skins" model vs. Sharepoint's templates and themes shows a decided advantage toward DNN. This will all change when Sharepoint v3.0 ships due to its incorporation of .NET 2.0 Master Themes
Extensibility
If I need to, how hard is it to extend the platform's capabilities? DNN uses a "module" concept while Sharepoint has its "webpart." Both offer the developer extensive tools for creating enhancements and there are a multitude of vendors for each. I have tons of experience dealing with Sharepoint webparts and none at all with DNN modules, so I'm not exactly sure how things will go as my DNN design and implementation proceeds. At least the module use and creation process is fairly well documented and many of the commercially-available modules come with source code so it's pretty easy to change the module to suit your requirements.
In Conclusion
If you're in a similar situation and contemplating portal development where you want to focus on the solution, and not writing a web site, you should read these articles.
While I think that DNN, as it stands today, is a great platform for solution development, I continue to hold out hopes that Sharepoint v3.0 will be to ideal platform solution that I have been looking for.
I had to go to Minneapolis on January 9th for some training on an add-on for Microsoft CRM called PowerTrak. When I got to the airport, I found that the reservations I had made through Expedia evidentally didn't have the seat assigned. I found that to be a bit strange since I am sure that I selected a seat when I purchased the ticket.
I usually use the automated checkin kiosk since I only had a single carry-on bag. It offered me an upgrade to 1st class for a mere $100. A bit much I thought, since my ticket was only $157, so I decined.
About 10 minutes after boarding the plane, I began to think that maybe my decision-tree wasn't useful as I first though it was, since the plane was absolutely packed.
So I'm on row 25, on the aisle, stuck in the middle of the herd with the other cattle when I realized that AA had stopped advertising their extended leg room on their flights because there wasn't any. I'm 6'1" and sitting straight in my seat, my knees touched the seat in front of me. I was thinking this would present me with issues on several different levels – and it did.
After gently asking the passenger seated in front of me to give me a warning before she reclined her seat, I decided to take a short nap. It was only 2 hours from D/FW to MSP so I figured I would attempt to make the most of my time.
Now I knew that my right knee was poking out a bit from the edge of the seat in front of me but I didn't think it was enough to make a difference. Yet another assumption that would lead to no good ( damned decision-tree again ). About 10 minutes into my nap, the flight attendents came rolling by with the drink cart. SURELY they would see my knee sticking out there and navigate around it. Surely.
Nope.
I awakened to a bone-jarring ( literally ) crunch ( actually, it was more like a thunk, I guess ) and more than a little pain in my right knee. Since your nerves transmit signals using tiny electrical pulses, and since my brain is at the top of my body, it was the last part of to get notified of said thunk. The order, as it happened, was as follows:
- My knee goes thunk.
- My legs compress and jolt me back into my seat thereby removing my knee from danger ( and making me flail around in my seat ).
- My lungs also compress which:
- Made my mouth emit a grunting sound.
- Which made my head bounce forward and:
- My brain awoke to conscienceness.
To find that either this whole thing was in my mind or no that one noticed - because no one was looking at me when I glanced around. Or maybe they were just used to seeing a man the size of a small mountain grunt and flop around in his seat. Beats the heck out of me.
The remainder of the flight continued on uneventfully with me thinking the whole time that $100 is really not a whole lot of money…
On the way back to Dallas, I wasn't very happy and in no mood to repeat my outbound trip. So, when the automated check-in machine again asked me if I would like to upgrade to first class ( for $100 ), I hit the Yes button so fast and hard I think I permanently aligned the LCD crystals of the touch-screen.




