Archive | October, 2005

Seagull 0.5.1 Released

Posted on 15 October 2005 by Demian Turner

Like many projects, we’re running two streams of releases, stable and devel. The development release includes the test runner and all unit and web tests, as well as developer docs which include Poseidon UML diagrams, etc. It’s recommended for folks who are interested in how the code works, though for browser based users there is little visible difference to the last stable release – download here.

The release focuses on improving code internals and has been about 1 month’s worth of refactoring geared towards improving the loose coupling and high cohesion of framework components.

Improvements include:

  • a new SGL_Config class for easy loading of config files, file type discovery and data format handled silently; ini, php array and xml types currently implemented
  • an improved SGL_Request object that internally resolves HTTP and CLI request types
  • a new SGL_URL object derived from PEAR’s Net_Url that abstracts and organises various url formats, classic querystring and Seagull’s Search Engine Friendly format are currently supported
  • a new flexible SGL_View object that integrates with the template engine of your choice and supports customised workflow for HTML and XML output (read: easy support for PDA output). Flexy is still the default but hooks now exist for Smarty or any other OO engine.
  • customisable pre and post process pipelines discussed earlier here.
  • use of global vars almost completely eliminated
  • 100 new unit and web tests added (each screen loading tested)
  • CSS reorganised to be more modular thanks to some tips from Mike Stenhouse and implementation by Riccardo Magliocchetti
  • all application resources now stored in a registry singleton for easy, appwide access. It currently manages session, current url, config and request objects
  • a range of filesystem finder objects for easy retrieval of system resources

Comments (3)

Open Source Software Food Chain

Posted on 13 October 2005 by Demian Turner

Thanks to Mike Wattier for his interesting article on the Open Source Software food chain which analyses the market segmentation of participants in an OS project and examines the issue of maximising community involvement and productivity.

Mike’s theory is that by understanding the discrepancies between the various levels of project participants, and by looking at how each level is nourished by its neighbours, you can give your project the best chances for growth and success.

Jim Grisanzio also has some interesting observations on the same subject from his experience with OpenSolaris.

Comments (0)

Shopping Cart Showdown

Posted on 12 October 2005 by Demian Turner

There’s a lot of good stuff from Damien Seguy’s blog that often get missed by planet readers, perhaps because it’s listed in French – latest is an interesting comparison on Newsforge between Drupal’s and Mambo’s e-commerce capabilities.

Comments (1)


How to Create an IRC2RealLife Gateway

Posted on 06 October 2005 by Demian Turner

update: forgot to post the photos, there’re a few on Flickr and masses over at Pierpaolo’s site – was a great weekend, got to meet some interesting folk, shared some really innovative Seagull projects, and finally saw Venice!

Speaking of IRC, regulars from #seagull will be meeting up in Padova, Italy this weekend for SeagullDay2005. To use Werner Krauss’ phrase, we’ll be working on an IRC2RealLife gateway 🙂

So if you’re in the neighbourhood of N. Italy please do drop by, or drop us a line on #seagull – we hope to get a webcam + skype going for devs that live too far away to attend.

Comments (0)

Installing Tidy on PHP 4 and 5

Posted on 04 October 2005 by Demian Turner

If you’re like me, you need to run both PHP4 and PHP5 on the same computer, at the same time. If you’re installing PHP from source, this is pretty easy, as you can use the "–prefix" option to install each version into a different location. So, for example, I install PHP4 into /usr/local/php4, and PHP5 into /usr/local/php5.

However, I recently had problems with getting tidy to work with this setup. With Demian’s help, however, I have the answer:

  1. Download the libtidy source (tidy_src.tar.gz) from
  2. Put it into /usr/local/src (for example), and untar.
  3. Go into the untarred library’s /build/gmake/ directory.
  4. Run ‘gmake’, and ‘gmake install’.
  5. Check that ‘/usr/local/lib/libtidy.a’ exists. This is the default install for libtidy.

Now, you need to install tidy for each version of PHP. For PHP4:

  1. Recompile and install PHP4 using the ‘–with-tidy=/usr/local’ option.
  2. Download the PECL tidy source from At present, you want version 1.1.
  3. Put it into /usr/local/src (for example), and untar.
  4. Run ‘phpize’ – ensure you use the PHP4 version of phpize, so, /usr/local/php4/bin/phpize, for example.
  5. Run ‘./configure; make; make install’.
  6. The extension ( will have been placed in /usr/local/lib/php/extensions/no-debug-non-zts-20020429/. If, like me, you have installed PHP4 elsewhere, you will need to move the file to the corresponding location in your real PHP4 install (e.g. /usr/local/php4/lib/php/extensions/no-debug-non-zts-20020429/).
  7. Add ‘’ to your PHP4’s php.ini file.

The installation of tidy for PHP5 is much easier:

  1. Recompile and install PHP5 using the ‘–with-tidy=/usr/local’ option.

Comments (7)



Demian Turner's currently-reading book recommendations, reviews, favorite quotes, book clubs, book trivia, book lists



PHPkitchen recommends you also check out the following sites :

Accounting for Small Businesses

FreeAgent sign-up