Monday, January 02, 2006

TurboWow

Hi there.
This is a little something that kept me occupied for a while now. Like a month back I got back into checking the hype around AJAX (i've posted about this a while ago). I've started to check it out with the Ruby On Rails project but kinda dropped it for two reasons: I didn't get into Ruby that much, still prefering Python, and I didn't have any project to apply it to. Two weeks ago I was asked at my work to code a little in-house monitoring app for our servers, and I decided to check out what's out there in the Python field for coding this. So, I came across project called TurboGears, which is a Mega-Framework. Actually, it's a glue on a slew of awesome Web development projects already available in Python - Kid, SQLObject, CherryPy and MochiKit. I won't dive into much details, but each project is very mature and very well documented with VERY active communities which I totally dig. So I've coded that app, and it took me around one day or so! I was totally amazed by it. Here's a quote from my post to TurboGears newgroup:
Good day, All. Just wanted to share my regards for this great product you've all been working on! I was required to develop a small in-house monitoring solution for our servers for the support team, and I used TurboGears for it. The basic outline of the project was done in about 20 minutes, the actual monitoring code - additional 20 minutes (since Python is my language of choice), css styling of the site - minutes, implementation of access control, using Jeff's excellent Identity framework, another 20 minutes, adding awesome eye-candy ajax enabled, full-blown grid control from Ronald's CatWalk - another 20 minutes. Polishing, hooking up Postgres DB instead of SQLite - 20 more. All in all - a full blown, slick, fast product - 2 hours of fun work.
Yup, that was really fun. Lately I had some more time to fiddle with TurboGears, and I talked with awesome guys at the newsgroup (including Kevin Dagnoor), so I picked up another rather popular topic to implement - a Blog engine. I call it TruboBlog (yes, my originality shines yet again) and it's a total WordPress knock-off. It already has everything except the Admin section:
  • Multiple Blogs
  • Multiple Users
  • Complex permissions system (defines what logged in user can or cannot do, like: post, comment, moderate comments, admin the site)
  • Comments (with features like: add comment, edit comment in-place (using AJAX), approving comment in place (AJAX aswell)
  • Post archives (by any format) with browsing
  • Post tags (can add tags to posts in-place (AJAX again)), and browsing by tags
  • Templates (using Kid engine). It's rather tedious, but still way better than the Word Press PHP style.
After I finish up the admin section of the engine, I'll release the sources. It's a rather hackish project, but maybe someone will find it interesting to poke with it. I just hope I find enough time to polish it a little.

2 comments:

SuperJared said...

Glad you like TurboGears!

I've been developing a blog engine in TG called Toasty Goat. Check it out at http://toastygoat.org/ and http://toastygoat.org/trac. I don't know if you can use some of the code, or if you'd want to merge what you have with what I have.

In any case, have fun!

Sir Reflog said...

Hi Jared.
Well, once again, I was late with 'innovating' ;) Kudos on your project.
I'll take a closer look this weekend, and if it feels like it has somewhat close direction to what I was going for, I'll try to submit some code for merging missing features.