For those of you using PHP's Flexy (Pear HTML_Template_Flexy) templating engine, this patch provides better subtemplating support. Adds a new 'partial' tag to the flexy:xxx namespace and allows for variable mapping. The word 'partial' is borrowed from the ERB templating engine (ruby). You can define variables in the subtemplate context as attributes of the new tag. This feature is pretty important for modularising templates. Usage example:


<flexy:partial src="subtemplate.html" varNameInSubtemplateScope1="#String Literal#" 
varNameInSubtemplateScope2="currentPage.var" varNameInSubtemplateScope3="var" />

My changes were made in PHP 5.0.4 on Flexy v1.2.1.

Add the function linked here to Compiler/Flexy/Flexy.php to get the 'partial' tag working. I'll see if the project integrates this feature in the future.

The word 'tensegrity' is an invention: a contraction of 'tensional integrity.' Tensegrity describes a structural-relationship principle in which structural shape is guarenteed by the finitely closed, comprehensively continuous, tensional behaviors of the system and not by the discontinuous and exclusively local compressional member behaviors. Tensegrity provides the ability to yield increasingly without ultimately breaking or coming asunder

- Buckminster Fuller, Tensegrity

Nice to see some energy in the web app circuit here in London. Tonight there was a packed out (200+ audience) demonstration of three open-source MVC frameworks - Django (python), Catalyst (Perl) and Rails (Ruby). One great thing i found was how the character of each framework was reflected in their representative speaker on the night (and yes, software has character... and opinions! What next - software with identity?). Django's automated admin interfaces were a highlight (lots of ajax) - we had Simon Willinson playing around on his live server for us. Matt Biddulph's BBC archive on Rails showed off the sparklines plug-in and the potentially explosive power of an open information infratructure. He presented Rails in a refreshingly un-Rails esque manner ("There's this Rails video out there where they enthusiastically build a blog engine in 15 minutes, accompanied by american-style whooping...").

This BBC archive is going to be a big deal - a kind of BBC wikipedia replete with live feeds for search terms, programmes, BBC contributors, etc, with data dating back to 1936 and a controlled tagging vocabulary meticulously enforced by BBC librarians for that entire period. It'll be a unique data repository and the BBC are expecting upto 3000 requests per second on this thing (yes, you read that right). That should prove whether Rails can scale or not. Watch this space.

I still think Rails will continue to win the popularity contest. I'm convinced it's the stronger of these three for general purpose application development, with Django seemingly having the edge for publishing-oriented (CMS) projects. Catalyst looked the weakest, but hey, if you've got a good knowledge of CPAN built up over years of experience, then the choice is a no-brainer. Catalyst does most things, but chickens out when the going gets tough (ORM).

Matt snuck Switchtower in through the backdoor of his presentation. Switchtower is a deployment tool for distributed environments. It's not Rails specific, but is written in Ruby. I've been harping on about it for weeks, even though i haven't had a chance to test it. This is due to my inability to grow a cluster in my back garden. Sorry.

Where was the poster boy of open-source programming languages - PHP - amongst all this? Sadly absent. PHP is the most approachable, widely adopted open-source programming language on the web. The fact it didn't represent here was disappointing but also shows a move towards higher level languages, powerful syntax (reduction of LOC) and DSL's.

If you're a kid with a thing for PHP, now's the time to be a hero and sneak a framework in before Zend clean up the market. You could port Rails. No one's done it properly yet.

UPDATE: ok i got my figures mixed up and it's nowhere near 3000/sec page requests on the BBC project. I thought that was kind of an awesome target, even for the mother of all media organisations. Think double figures though.