SharePoint or DotNetNuke?

In Mindsharp’s
SharePoint Discussions group
, the following question was posted:

Does anyone have experience
with both SharePoint and DotNetNuke to the point where they could comment on
the benefits of each are compared to the other?  Is there a type of
installation where you might use one vs. the other?

Here’s the answer I posted in the group:

SP and DNN are very different beasts which offer some similar
functionalities.  I’m using SP as a generic term for either WSS or SPS,
which is a different decision.  DNN is really an easy website creation
tool, while SP was designed to be an information repository and collaboration
tool in a corporate environment.  The best way to summarize might be
“Extranet vs. Intranet”.  My thinking is Extranet=DNN, Intranet=SP. 
DNN is designed to be used and maintained by persons with little IT
experience.  SP is one of those things that will require having a decent IT
person around.

First question would be whether or not you need tight integration with
Office.  If so, then hands down your only choice is SP.  Another
feature that DNN is lacking is a document library with version control, although
one may appear down the road.  SP offers full-text indexing of the
documents you store in it, and so you can search inside the documents in its
libraries.  DNN doesn’t offer this.  SP stores its documents very
securely in the SQL database; DNN stores them as files, which means if someone
knows the right path, the site’s security could be bypassed and the documents
downloaded directly.

If you don’t need the tight Office integration, DNN is a very valid choice
for a website.  A good use would be for a school’s website.  DNN
supports multiple child portals, just as SP does, and you can distribute
administration, just as with SP.  The school could have its main portal,
and each department or club could have its own child portal, each with their own
radically different looks.  True, you could pull off the school’s website
with SP, but it wouldn’t be so flexible, and you would put in a lot more effort
to make it work.

Another consideration is what type of authentication you need to use. 
WSS was designed to integrate with Active Directory, DNN was designed to work
with anonymous users and Forms Authentication.  There are ways to make DNN
work with AD, and WSS work with anonymous users, but anytime you make a change
as significant as authentication scheme, you introduce adminsitrative
overhead.  One point of using these tools is to simplyify your life, not
create extra work.

Cost might also be a consideration.  True, if you have Windows 2K3, then
WSS is essentially free; DNN is entirely free.  There are a lot of good web
parts available for free and cheap for WSS, but many are very expensive. 
DNN can also be extended with inexpensive or free modules, and even the ones you
have to pay for are still pretty cheap.

One main difference I see is the amount of different things you can do with
DNN.  DNN can also serve as an e-commerce platform, or host robust photo
galleries (rather than the “list of photos” in SP).  There are some nice
calendar modules for DNN that not only list events, but allow registrations and
can accept payment for them.  In this case, it might seem like SP is
lacking in some functionality, but SP was never designed to do these
things–these are functions of a website, not a collaboration tool.

Skinning is a bazillion times easier with DNN.  The DNN core team did a
great job with its skinning engine, and there are lots of skins available for
free or cheap.  Changing the look of a single page, or entire portal is
done with a simple package upload and a few mouse clicks.  With enough
work, you can do some really nice skinning on SP (both SPS and WSS), but it
takes some work.  I’ve done both, and DNN is by far easier and more
powerful (mainly due to DNN’s simplicity–features which are hidden or difficult
really aren’t features at all).

DNN runs very well in a shared hosting environment; SP, not so much. 
Although DNN only ships with SQL Server provider, if you’re handy enough, you
would write one for MySQL, or Vista, etc.  You don’t have that option with
SP–it’s SQL Server only.

<update 2006-02-01>

If you didn’t come here from there, Bil Simser has a much more detailed post
Bil also includes some of the features of SharePoint ‘v-Next’ (currently due to
be released at the end of this year), and better breakdown of the OOTB