I’ve seen a couple .Net bloggers talking about migrating away from the old .Text code base to non-.Net blogging tools like WordPress, and I realized that I really needed to blog about the new CommunityServer 2.0. I’d link back the bloggers that are considering moving, but I don’t want to place any outside pressure on their personal choice. If they wish to be known, they can leave a comment here and link back to their decision process.
Disclaimer: Scott Watermasysk is a friend of mine, and we meet regularly and chat over a couple beers. Scott was the developer of .Text and one of the initial folks hired by Telligent, the developers of Community Server. But that does not mean I’m a shill for Telligent or Community Server. I currently still use a heavily modified version of .Text, not Community Server 1.1, but have been evaluating the 2.0 betas for this site, and others I host.
Update: Scott corrected a misunderstanding I had about skinning the home page, so I struck those comments out. I was updating the wrong file, and thus not getting the results I was looking for.
Let get this straight first, this review isn’t for the person just getting into blogging, but for the more senior bloggers. Also, this isn’t meant for non-techies, since some of what I consider important can not currently be done with off the shelf software (not yet anyway, and since I’m always looking to push the envelope, I don’t ever think I’ll be an off the shelf guy). Another thing that I’m not concerned with is internationalization, and therefore wouldn’t be the right person to review those aspects of blogging software.
I’ve always felt constrained by single blog systems. I have a wide range of interests, and they don’t always have natural overlapping audiences. I try to cater to my readership and not subject them low signal to noise ratios, but noise is relative to the reader, not the author. To combat low signal to noise ratios, I prefer to divide up my blog into 3 separate blogs, with each blog able to stand on its own, but also be part of my total “voice”. This way people using RSS readers can subscribe to my content at very granular levels (i.e a category of a blog) all the way up to the main feed containing everything I write. The key here is to have one site (one vision) so people that find the site thru a search engine can naturally migrate up the branches to the main trunk of information. I’m sure that the current hierarchal structure isn’t perfect, but it is a lot better then a single blog with lots of categories, or hierarchical categories (I am working on alternatives).
But, most folks start off using single blog systems, and either learn to stifle their blog posts that are not relevant to their main topic, or create separate blogs using other urls for the secondary topics. From a marketing standpoint, this can be total nuts (but there are times, like say, political views, come into play, where you may actually want to segregate your blog identities).
So, once you have become a more seasoned blogger, you are probably going to need a multi-blog engine. I’m a .Net consultant, so, IMHO, if I’m blogging, it better be utilizing .Net, otherwise, how could I recommend .Net solutions to my clients (it is called dog fooding)? You could roll your own (and I know of lots of folks that have done this), or you can use one of the open source .Net blogging engines, like .Text, dasBlog, SubText or CommunityServer. DasBlog is a great single blog engine, and does not require a SQL Server database, but since I want a multi-blog engine, dasBlog is automatically out of the running. .Text is dead, so unless I want to continue developing my customized version, this is also not an option. SubText is a fork of .Text, with a lot of the same customizations I put into my version of .Text, and would seem like the natural migration path. That was the case until Community Server 2.0.
The biggest complaint about Community Server 1.0 and 1.1 (and rightfully so) was that it contained a lot of bloat that a single blogger really didn’t need. It contained things like forums and a photo gallery (which .Text already had), which most bloggers didn’t really need. It wouldn’t have been such a big deal, if blogging engine had significant improvements that a single blogger could take advantage of, but, because of resource constraints it seemed like most of the effort was going into merging 3 previously separate projects into one big project. So the blogging engine enhancements seemed to suffer (in the eyes of the single blogger). Oh sure, Scott added things like search to the blogging engine within Community Server, but it didn’t seem to out weigh the bloat and complexity factor. There were a lot features added to help you create a community blog site, but that doesn’t really help you if you are a single blogger. So, in the eyes of many .Net bloggers, Community Server just wasn’t what they were looking for in a blogging engine, until 2.0 that is.
With Community Server 2.0 (beta 2 is the current release), the whole skinning and templating engine has been totally upgraded and made infinitely easier then previous versions. Oh, I’m not saying that it is easy to skin across the various areas, but skinning within an area is extremely easy and mostly done via CSS (which is a major plus, IMHO). The whole site now uses a base master template (think master pages) along with area master pages that build on top of the base master.
There are also a lot of new custom tags (called controls or ascx), which is where CS is really going to shine. Things like Ink support, polls, and various aggregate controls (to help with that multi-blog design that I like) it really makes it easy to customize various pages. This is exactly where I see as the future of Community Server, as a framework for custom tag plugins. What exactly do I mean, well think of how XAML is going to be used to wired up .Net objects (especially in User Interfaces), and now port that vision to ASP.Net. Well, truthfully, it is just MVC, with Controller still ASP.Net, the Model is the Community Server domain objects, and the Views the custom tags. Nothing revolutionary in there really, you just needed a good Model and some Views to get you going, which is where CS 2.0 is at. This is the case for the blogging engine, and not so much so for the rest of CS 2.0, but as a blogger, that is what I care about most.
The ultimate new custom tag is the Ads tag. The beta 2 version doesn’t have all the cool features Scott showed me, but IMHO, the Ads tag (which will be in some version of Community Server 2.0) is killer. You can not only place single ads on the top, or the side of skinned pages, but also do cool things like place an ad in an aggregated page after n number of blog entries (where you can pick what n is). Other ideas I suggested (which I will implement if Scott does not) is to also check to see how many ads of a particular type are already registered to a page, and not exceed that number (Google limits you to 3 ads groups per page). Or, even do things like rotate ads groups between Google and say Yahoo, or eventually MSN ads. These things become very important once you start paying attention to monetizing your blog (and if you are an experienced blogger there is no reason why you shouldn’t, even if you are just going to donate the money to a good cause).
I know a lot of .Net developers still want to crack open the code make some tweaks and recompile it, but from what I’ve seen of Community Server 2.0 Scott and gang are trying hard to eliminate reasons that you would need to go back to your old ways (which IMHO is a good thing). The one area that you still need to open the code for is things like customizing your home page (if you are not using a blog aggregate page as your home page). There are some cool AJAX style controls on the home page, but this just seems like something they are ready for a release after 2.0.
I have a version of my blog using Community Server 2.0 that I migrated from my customized version of .Text, and although the migration path wasn’t completely simple (yet), by the time CS 2.0 goes live it should be painless. To get my site up to Community Server 2.0, I first installed CommunityServer 1.1, used the .Text to CS 1.1 Converter and then applied the 1.1 to 2.0 SQL Scripts. That is the easy part, migrating the data (and the most important). From there, you either have to go switch to shipped skin, or create your own (which is what I’ve been doing). I’ve found the blog skinning to be extremely easy, and getting easier as each beta is released (which I can’t say the same for 1.0 and 1.1). I haven’t switched to CS 2.0 yet, because I am currently using CS 1.1 for another site I am hosting, and that site has a custom skin that needs to be applied across more than just the blogging section of CS, which is a bit more work then I’d like). Plus, I’m tired of reskinning my play sites everytime I want to play with a new build. So, I’m just going to wait until 2.0 ships, and then I will migrate all my sites to 2.0. For someone who couldn’t find a reason to like Community Server 1.0 and 1.1 (but I sure tried) and was really thinking that I was going to have to roll my own, this is a pretty dramatic turn around.
The only issue I have outstanding with Community Server 2.0 right now is the status of the Metablog API. Currently, you have to purchase a commercial license to get this API. In my case, since I’m making a decent amount of money thru ads on my site, I feel as though I exceed the personal use license (even though the guys at Telligent are pretty liberal with the personal use license and do not require me to purchase a commercial license). I detailed my feelings on this topic back on the Community Members Selling Ads on Free Community Blog Sites post. So in the end, this really isn’t an issue for me, but it may be an issue for you, since you can’t use tools like BlogJet without it. Then again, you could probably roll your own, if you really wanted it.
Update: Scott informed me that Metablog will be shipped with 2.0, and that in 1.1 it was still free, just a different download. The links were a little confusing, and Telligent will clean that up. End result, no problem, it is free. Cool!