I will give my opinion but of course I cannot be considered unbiased and the fans of DotNetNuke, Community Server, and Rainbow Portal are likely to have different opinions than me. I will say that I am not all that familiar with the latest version of any of these. I have installed past versions of DNN and Community Server and I did run my own site joeaudette.com on Rainbow Portal for several years and I also contributed msicellaneous bug fixes and the first blog module to Rainbow Portal back when I was using it. Later I migrated my data for joeaudette.com from Rainbow into mojoPortal.
Community Server wasn't around when I first was looking into portals, it was at that time just asp.net forums code, it is more recent that they have combined the asp.net forums code with .Text blog and nGallery to form the basis of Community Server. I mention it because it is getting very popular and I think probably at the expense of DNN and Rainbow. Funny to me that even the Rainbow guys are using Community Server for their community site these days.
Anyway at the time Rainbow seemed the way to go for me because it was in C# and DNN is in VB.NET. Nothing wrong with VB.NET but I prefer C# and think it is cleaner.
Later as I became interested in mono I considered trying to get Rainbow working on mono and porting it to work with mysql but as I began studying what it would take to achieve this, it seemed rather daunting and I realized that I really didn't like the architecture of Rainbow very much. So I decided to start from scratch and have clean separation of web ui, business logic, and data access and still clone the original pluggable module features of IBuySpy as a starting point. Thats why I started the mojoPortal project.
Later on my friend Joseph Hill did manage to get a version of Rainbow running on mono using MS SQL of course. My recollection is that not all of it worked though and I'm not sure if his changes ever made it upstream.
Back to the question of what I see as the advantages in choosing mojoPortal over these other options, I think it comes down to 3 things, project goals, philosophy, and architecture.Goals:
mojoPortal is much more commited to being a cross platform solution both across operating systems and databases. I would say that we have a lead over these other projects in this department since none of them currently support non MS databases (unless they have done something recently that I haven't noticed) mojoPortal works with 4 different databases MS SQL, MySQL, PostgreSQL, and SQLite. Because mojoPortal supports SQLite, which is an embeddable database it may be possible to run mojoPortal on a mobile device. There is some work being done to get mojoPortal running on a Nokia Internet Tablet using mono. Currently the 2.x branch of mojoPortal does not run on mono but that is just a matter of time as mono matures. I'm not sure how long it will take but you can be sure I am committed to getting mojoPortal 2.x running on mono. Right now I am just focused on how best to take advantage of new 2.0 .NET features. Once things are working as I want them in 2.0 .NET I will focus more heavily on getting things working on mono. There are a few others also working on this and everyday more progress is made with the mono 2.0 stack. Even if you are happy running on Windows why not keep the option open so that later you could run your app on a different OS if you want to, in other words less vendor lock with mojoPortal is a good thing.Philosophy:
mojoPortal aspires to be a true open source project according the the definition by OSI.
Community Server I doubt will ever meet this definition. They include some free things that are not open source such as FreeTextBox and some Component Art stuff. Rainbow also includes some free dlls without source code, EasyListBox and FreeTextBox (though they also include the open source FCKeditor). DNN may qualify since it is BSD licensed, if this matters to you you should inspect what it includes and depends on. I realize many people are satisfied with free even if it isn't open source and thats fine just noting that it is important to the philosophy of mojoPortal.Architecture:
Well this is certainly a matter of opinion but I think it is a lot easier to work in mojoPortal than these other projects. The code is easy to understand, easily extentable and not over-engineered. I also think the skinning and localization in mojoPortal is much easier to understand. Code that is easier to understand is easier to maintain
So if you want the option of using open source databases mojoPortal wins. If you want to be able to run on windows or linux mojoPortal wins. If you look at the source code for these projects I think you will agree that mojoPortal is cleaner, more lightweight, and easier to understand.
Now DNN and Rainbow have more features than mojoPortal and you may also have to consider that in your decision. If you do decide not to use mojoPortal because of a missing feature, I would be interested to hear about what feature you need. However there is some advantage mojoPortal has becuase it is not yet as feature rich, it will be easier to convert the features we do have to WebParts and I think we will get there much sooner than these other projects because we have less to convert. I don't know for sure that they are even planning to use WebParts but if not then that will be another advantage for mojoPortal. If you don't know what WebParts are have a look at PageFlakes.com
, all the cool drag and drop stuff going on there is WebParts in action. In fact I already have Personalization and Membership working with all the data layers for mojoPortal. Personalization is the plumbing to remember user preferences when they drag and drop the WebParts where they want them. I just finshed getting that working so now I am actually beginning to convert mojoportal features to WebParts.
Another point to notice with Rainbow and DNN, they don't have built in forums (which is probably why Rainbow needs Community Server for their community). I know you can integrate YAF (Yet Another Forum) into Rainbow and DNN but the skinning and the search remains separate. In mojoPortal the search feature includes the forums.
And as far as I know those other projects have not yet achieved Xhtml compliance so that is another advantage of mojoPortal.
Well, there you have it, for what its worth my opinion of the advantages mojoPortal has over these other better known projects.