First off I have a tremendous amount of respect for Shaun Walker and the DotNetNuke guys. They took a free sample starter application from Microsoft and created an entire after-market. Just look at how you go online and pay $30 for a DNN skin or $50 for a DNN module. No really, I'm not being asinine here. I really do respect them, the community that’s grown up around their efforts, the work they do and the future that DNN brings.
Shaun has put together a giant matrix of DNN features and how they par up against SharePoint (2003 version, SPS and WSS v2 so I'll consider the features of both as the one column in his matrix) and the upcoming Microsoft Office SharePoint Server (MOSS) 2007. He also throws in ASP.NET 2.0 which is good, but for this lengthy discussion I'll just ignore it.
I’m not going to nitpick about the things that are ticked on the DNN site but not the SharePoint one (unless they should be) but mostly focus on his comments on the DNN benefits column as I think some of them need either explanation or comparison to say a SharePoint benefit for the same bullet point. If a DNN benefit is stated, I just want to be sure it’s not being overstated where SharePoint does the same job (or vice-versa).
I wanted to cover in-depth a few things he mentions, some things he omits, places where I don’t agree with his statements and my own reflections on the comparison. As you may know I did the big DNN vs. SharePoint showdown of my own awhile ago (which got a lot of great discussion going and feedback, including great stuff from Shaun) so let's see where this one goes. Overall he does a good job of making the comparison and it’s going to be a great reference for the future. Consider this blog post my Coles Notes (or Cliff’s Notes for you guys down south) on Shaun’s matrix. Here are Bil’s Notes ;)
- A couple of points that need help here. The DNN benefits listed are things like “unlimited pages per site” and “unlimited modules per page”. While SharePoint does have some published limits, I have yet to see anyone exceed or come close to them (except maybe Microsoft themselves). And after you get 10 or 20 modules (or Web Parts) on a page any page is going to become un-usable, no matter what the technology is due to the fact you’re pulling so much data down. It’s like users that say they want 10,000 rows on a web page. Can you do it? Sure, if you like waiting for 5 minutes for each page refresh.
- Using a DataView Web Part I can put the same module on as many pages as I want. I don’t see how this is any different than what DNN does today (although setting a module to show up on each page is sometimes a good thing, sometimes a bad thing [like when you want to get rid of it]).
- Site Search. I feel this is a bit of a red herring. The DNN benefit is that DNN doesn’t use any third party components to do it’s search. However neither does SharePoint. SPS search is done by the search engine, and WSS only installs use SQL Servers full-text search. One would argue that DNN does use a component to do its search, it’s the custom component of DNN itself (which I don’t think allow me to extend it to say search PDF files for example like I can with custom IFilters). Again, I might be wrong here so feel free to correct me please.
- DNN benefits are that it uses site and page templates with content. We have this already in SharePoint 2003 with the built-in templates (Team Site, etc.) and sites you can create as well with 2007 you get master page support and layout template support (in addition to site templates again). Dead heat IMHO.
- A few things are missing from the SharePoint columns here as SharePoint does come with discussion forums (crappy ones, grab mine instead, shameless plug), photo gallery (Picture Library), survey, etc. The other argument here is that it comes with the Custom List template which is the basis for anything you want. So technically, while it doesn’t come OOTB in SharePoint, I can certainly create a FAQ, Blog, or Feedback list in minutes. Okay, you might say I’m stretching on something like the Blog and that could be true. In any case, things like the Custom Forms/Tables should be checked in the SharePoint column as that’s what the Custom List template really is (and personally is better than what DNN provides but I’m a little biased).
Membership & Roles
- I didn’t realize DNN had support for extending the roles provider, but since SharePoint 2007 is based on ASP.NET memberships I would suggest that this can be done as well (but I could be wrong as I’ve never tried to extend the built-in providers in .NET)
- Security role trimming. DNN lists this as a benefit (with trimming for control visibility) and last time I checked I get that with MOSS 2007 (finally) so don’t know how this is a benefit over SharePoint (2003 for sure as it just plain sucked on hiding things users couldn’t do).
- I have a bit of a problem with the Developer Tool Support. DNN cites a benefit of supporting the free Web Developer editions and SQL 2005 Express. Contrary to popular belief, I can build Web Parts with the free .NET SDK and a command line, so I don’t need any IDE (professional or otherwise). WSS also makes use of SQL Server 2005 Express for it’s datastore, so not sure how DNN shows this as a benefit. As for the Visual Studio item templates which are not checked for SharePoint, there are web templates available for the IDE (true, no “Express” templates) and the 2007 ones will come along when the product is released. A keen person with some time on their hands could whip up a SharpDevelop (a free, open source, .NET IDE) template if they wanted to for SharePoint. After all, it’s just a class library at the end of the day.
- Definitely kudos to DNN for zip deployments!
- I’m a little confused by Site Virtualization comment. DNN says it “supports multiple virtual sites from a single application/database based on URL”. Personally I can create a gaggle of sites on one IIS server and differentiate them with host headers. True, I don’t want to create more than say 10 or 20 on a single server, but I can do it. I can also create a larger gaggle of site collection or even sites (all with different URLs under say different hosts using host headers). Maybe I’m missing something here.
- Again, single zip distribution for localization files (and not using satellite assemblies) is a bonus on the DNN site. No arguments here.
- I have a problem with this section. Okay, he does check off “Secure Document Storage” for DNN but cites that DNNs benefit is that it can store the document on the file system or the database. Okay, in a simple world I guess I’ll buy that as a benefit but calling any document storage a document management feature is thin. If this was a SharePoint matrix list, it would blow away DNN since DNN doesn’t provide check-in/check-out or versioning (let alone any of the records management features coming in MOSS). But yes, storing documents on the file system might be useful as the database storage does take up extra space however you don’t get full text search throughout documents in DNN which is what the extra storage is required for (there are always trade offs), so this is a toss up to me.
- No Multiple Database Support for SharePoint? Not sure what he’s referring to (and again this might be my lack of understanding of the inner workings of DNN) but I can certainly create a cluster of SQL servers in a farm and have my SharePoint content databases split across them. Sorry, but when Microsoft can host 30,000 team sites in their data centre that’s multiple database support (and then some) to me. Not sure if DNN scales out to that as I don’t know of any really large DNN sites (but feel free to provide some examples as I don’t know everything). I do agree the XCOPY deployment would be grand for SharePoint, but I just think it’s out of the question given all the moving parts it has (see below for more details on the power of PAs that DNN has).
- I don’t know why, but Shaun failed to mention the SharePoint 2003 (and 2007) support forums. Basically there are 4 (or 6 or 8 I can never keep track) managed newsgroups as well as various community forums (like SharePointU for example) and mailing lists (sharepointdiscussions on Yahoo Groups) that all provide this. True, there isn’t a support forum environment like DNN has, running on the SharePoint site at Microsoft but I don’t see NGs being that far off from this (plus the fact that SharePoint forums/newsgroups get hundreds if not thousands of posts a day). So I believe he should have included SharePoint here.
- I agree that DNN is free (as in beer) but for example, my web host (webhost4life) provides me with a “free” WSS site (it’s the one running the Application Templates site and some SharePoint sandbox/showcase work). I consider it free because I pay for hosting there, just like my ASP.NET hosting that runs my “free” DNN site. So what’s the difference? Sure, if I was hosting the system myself I would have to pay for a Windows 2003 Server license and there’s an external connector fee (which I think is what he’s referring to with the $40k) but again, if I host my WSS site somewhere else I don’t need to worry about that. Of course there are problems with that too (like I personally can’t deploy my own custom Web Parts on a hosted environment). For a good example of where MOSS 2007 is going as far as hosting intranet facing sites goes, check out Ian Morrish’s site as it looks great and runs 2007 so you can see everything SharePoint will offer in this arena.
It’s interesting the comments by Joe Brickman on deployment and extensibility. He points to my recent NAnt post on creating an MSI for my Web Part and how you’ll lose people in a hosted environment. I totally agree and think that the PA (Packaged Assembly) system of DotNetNuke is the cat’s meow. I mean, the fact I can download a PA from a vendor and upload it and have it install on my host (no matter what priviledges my host gives me, as long as I have host rights on the DNN system I install which I would) it’s awesome to have new functionality in seconds.
I don’t know if SharePoint will get to that (although the Feature Management system is a step towards that, but you still have to have access to the host to make the feature available). In fact I pondered building my own PA-like system for SharePoint that would allow you to upload a zip file with web parts, etc. through a Web Part and it would deploy itself much like how PAs work.
However I do see a downside here.
I haven’t heard in the DNN community and don’t know the inner workings of DNN to know if it will do security-like checks on a PA so who’s to say that I can create, build, distribute, and release a malignant trojan-like PA on the DNN community. Really. Create a wonderful looking module, offer it for free and have everyone install it. Then months later take down the entire DNN community (or a large part of it) with a module. Yes, a bit extreme but remember the little Sheep desktop gizmo that was floating around years ago? Nobody knew where it came from but everyone ran it. Imagine if the “Users Online” module for DNN was like that? (okay, I’ll stop as we’re getting into Conspiracy Theory territory here and it’s silly).
That’s the downside I see but again, I think the PA distribution system is great and many steps above and beyond what SharePoint has.
Of course, there’s things missing from the matrix since it’s told from the DNN perspective. Like the fact that MOSS has this incredibly complicated “people” network. Just by reading or contributing to someone’s document, or being a member on their site puts them in my social network. This networking aspect is huge and nothing like it exists in anything I’ve seen in DNN. So there are gaps, but there always will be. If the story was told from the SharePoint perspective, it would talk about all these features and leave DNN in the dust in some areas (and miss out in others), like DNN does with SharePoint.
In the end, again, its up to you to decide. Like any good craftsman, choose the right tool for the right job. I think the 2007 version (now that it’s built on ASP.NET 2.0 and they’ve started to think about external users seriously now) will be a step up. Projects like the SharePoint Community Kit will help this effort.
It’s up to you to choose and remember to choose wisely.