Saturday, January 27, 2007

Start a community

It's becoming harder for me to get in here and blog! I have plenty to write, but I'm just so involved in all sorts of little projects out side of work. One of them is looking into getting a web site going. I have one right now, but it is pretty weak. I have started writing my own community site from scratch using Ruby. If you don't know the idea of a community site, it is one where you offer membership. Each member gets privileges to applications such as forums, blogs, email, etc. The number of apps availiable depends on the site. Yahoo is a community site offering a lot of apps to it's members. VWVortex is an example of a site that mostly offers forums for its users. Both sites could be considered community based sites.

So back to my work... I started writing the site using Rails. I have made a lot of headway into creating the articles application. I have a great javascript text editor embeded, which gives the ability to jump back and forth between editing html and rich text. Writing stuff from scratch is always a good learning experience. Writing a web app like this lets you learn to solve lots of little problems, which for me is fun.

Now I'm not sold on having my site run 'On Rails'. Although I really like Ruby, and find the Rails framework very cool, I don't need to have my personal site project be based off of it. I decided to look at some other options. I looked at Zope, which is pretty cool. You can run Plone on Zope, which was my main attraction to Zope. Plone is a feature rich CMS. Plone uses the Kupu project for text editing. Kupu is a free, advanced article editing javascript application. I like it a lot, and tried to tie it into my Rails site. If you watch the Plone screencasts, a lot of the functions being shown are implemented by Kupu. Plone brings together lots of features for editing and managing your content. It uses lots of DHTML features, which is really nice. My main problem with Zope/Plone is needing that specialized hosting to run a Zope site. It is more costly, and also there is not that great a demand for Zope/Plone experts out there.

Now I kept looking. I used to be all into writing my web apps using PHP. Oh yeah, good old get 'r' done PHP.... Well it sure has been awhile. In looking for something that already has built in community features, and is written in PHP I found Drupal! In like one hour I had it installed, set up some users, gave them each a blog, created forums and I'm just getting started. Drupal seems to have a simple, modularized approach to extending its base functions. This means if you don't like the blog app that ships with it you can write a new on and drop it in, or find a better one some else already wrote. That is powerful stuff. Drupal takes care of managing all the security and templating.

I'm going to have to look a little further into how one goes about writing a new module. I am first going to install and configure some of the 3rd party modules that are out there, just to get a feel of how it all works.