For the last few weeks, I've been getting up to speed on my very favorite open-source discovery: mojoPortal Content Management System by Joe Audette (Get it here!). mojoPortal is an incredibly full-featured ASP.NET-based CMS built in C#. More on this below.
A little over a month ago, I was casting around for options to build a web site for a client; based on the features they wanted in the site, I was not excited at the prospect of building it from scratch, or stitching together a lot of third party pieces. Among other things, this site needed to present a uniform look and feel through all features. Being a one-man shop, I realized quickly that what I needed was a content management system with the vast majority of requested features baked in and highly customizable. One of the places I visited, being a ‘Microsoftie’ through and through, was the Microsoft ASP.NET site (www.microsoft.com/web/default.aspx). Here I found a number of offerings in the CMS category, and after perusing the promotional sites and forums for each of them, I settled on mojoPortal for a number of reasons, among which were the fact that it's written in C#, not VB (I came up through assembly, C, C++ and C#, and I've rewritten far too much VB garbage code to have much respect for it), its gallery of sites performed well, and its forums weren't cluttered with complaints or unanswered questions; the forums were busy, but the overwhelming majority of the population seemed both happy and very well served.
I went to my web host (Arvixe, an excellent hosting value for an excellent price), to see if they supported mojoPortal, and was pleased to find that they supported everything in the Microsoft Web Platform, mojoPortal among them. I found however, that the version in the platform that my host offered was somewhat out of date, and wanting to start with the newest release, I downloaded the mojoPortal runtime and source code, and went to work. It turned out to be a piece of cake to install (I installed it under the Visual Studio 2008 development server), and with a few simple changes to web.config and user.config, I was up and running, working on a site for my client.
As yet, I have not had to write a single line of C#; Joe has that base covered admirably. My biggest hurdle has been in getting up to speed on CSS 2.1, without a thorough knowledge of which I'd have had hell to pay trying to customize any theme applied to mojoPortal. It ships with a selection of some 36 themes, but as it happens, my client wanted a theme which was not in the box; in fact, it is a for-pay theme for WordPress. I purchased the theme from iThemes, and with relatively little difficulty am very nearly done porting it to mojoPortal.
Bottom line? I love mojoPortal; I'll never write another web application or web site from scratch again. It's just not cost-effective for my clients or for DSS. On top of the obvious advantages of starting with a tightly written, full-featured code base, I have found that the folks that people mojoPortal's forums are very knowledgeable, and genuinely nice people to boot, starting with Joe Audette himself, and Joe Davis, both of whom have bent over backward to answer my questions in depth; I never go away hungry. Is there a learning curve for mojoPortal? Yes, without question; but the platform itself is so well built that many of the questions I saw asked in support forums for the "other guys" never come up.
Incidentally, I have been enjoying working with mojoPortal so much that in a few days of downtime, I began re-doing the site you're currently viewing to use mojoPortal. Not done yet, but what a great start!