What I have been doing...

Just updates on some of my current "projects" that have kept me very much occupied.

  • WordPress migration on FOCUSer.net. FOCUSer blog community has been running MovableType 2.x for the last 2 and half years. The code base is very much out dated and not supported, i.e. security issues will never be fixed. Spawning off a process to run CGI scripts is also getting slower and slower, as my box gets more loaded (Hint: anyone has a spare 1+ Ghz box that would like to donate to me?). So at the end I decided to migrate existing blogsites to WordPress. I am using Gentoo's webapp-config to manage all installations, so hopefully future upgrades will be straight-forward.

    Notice was posted a few days ago, and now I have already migrated 7 busiest sites. So far so good, but it seems many users are really confused with extra complication associated with WordPress, and using an FTP to upload files.

    Todo: Set up WebDAV. Write tutorial on downloading/changing themes using FTP or WebDAV. Migrate the rest of the community. Migrate the main FOCUSer.net to WordPress.

  • FOCUSer blog aggregator. One issue of moving people to WordPress is, since WP is not capable of multiple-blog on a single instance, it is difficult and inefficient to write a real time "recent update" page like what I had with the old MT blogs. One solution I had is writing a customised feed aggregator. This aggregator will collect all the blogs belonging to members/ex-members of FOCUS, download their entries in a regular interval, and re-organise them into one single page. It would then make it possible to track blogs not only hosted here, but also elsewhere (Blogspot, Xanga, etc).

    Initially I was planning to use Bloglines to do all the hard work for me - registering a new user, subscribe all the FOCUS blogs, and then publicly export the blogrolls for all to see. However, it does not allow you to have one single page with entries from all blogs mixed together in chronological order. I then decided to write something of my own.

    Nothing is too difficult with Python's universal feed parser. It is easy to download the feed, and populate them into database. Although to be able to "precisely" mix entries together from all blogs, I need to ensure the issued date/time from all blogging platforms are compatible with each other. Getting timezone, DST, etc right.

    Code for fetching and populating the database is almost complete. I now just need to set up a cron job to have it done hourly, and a web interface to display the result.

    Todo: Complete the aggregator. ETA by the end of this week.

  • New FOCUS website. This is a long overdue project. I think I started sometime in the second half of last year, working on a new website that is more information centred than community-centred. I want our church website to be simple and clear to other who are looking at visiting our church, and don't want to be bombarded with information that might not represent the church as a whole. I intended to separate the "community" from our official front-page.

    So I started with our existing pages (mostly on Wiki), and tried to find a suitable CMS for it. I tried TextPattern. I love it about its simplicity and great original ideas, but was also frustrated with its limitations and lack of updates. Then I tried to use WordPress - something that I am already familiar with. I think I should just leave WP as a blogging tool, and not anything else - as it is really limiting as a CMS without extensive extra coding (even though some people think that it is capable as a full-blown CMS).

    Finally, I am settling on Drupal, a very modular PHP powered CMS system that is also very easy to develop as well. I might write a bit more about Drupal later. It is really a fun platform to play with.

    Todo: Get some updated content for the church website. Get some updated photos as well. Learn a bit more about Drupal. Actually implement the site. ETA - hopefully by the end of this year (if you guys are lucky).

  • FOCUS Shop. Joshua asked me about selling the Sunday talks in MP3 format. Vivian and I still have some T-shirts and Bibles to sell. It all somehow came down to an idea of setting up some kind of "on-line store", with categories and products, to sell and generate more revenue to fund the ministry. So it also got me an opportunity to put setting up an e-commerce site into practise.

    I then looked at a few different open source packages. My main requirement is having categories and products, different delivery methods, different payment methods, etc. PayPal support is crucial, as it handles credit card purchases for me relatively cheaply, and it is trivial to setup. Yeah. I love PayPal.

    So I started at osCommerce and its derivative Zen-Cart. Very powerful. Very sophisticated. Very feature-rich. However, way too complicated as well for an e-commerce first-timer. The HTML template system in the current osCommerce and Zen-Cart is mediocre, which makes customisation a very difficult job. I can imagine upgrading such sites would be a nightmare. I spent one night crawling over the code, and still cannot understand how exactly everything works - then I gave up.

    I also looked at phpShop. Much simpler interface, but it does not even support PayPal out of the box. So I dumped it without a second thought.

    Then I discovered that there is actually an e-commerce module for Drupal. It combined the flexibility of node-system of Drupal with products and shopping carts, plus a payment module that supports PayPal. Moreover, it allows regular site users to create "auction" items so other users can bid and purchase - perfect for a community site where lots of overseas students who want to sell their belongings before heading back home.

    I might write more about Drupal e-commerce when the site is completed.

    Todo: Implement the shop. Import the products. Arrange all issues with Josh. ETA July.

Due to my procrastinating nature, take the above ETA's with a grain of salt.


These were what I have been doing. Not what I should be doing. Need to read through Isaiah again to prepare for Bible studies starting in 2 weeks...