PHPLondon Conference

The conference, as you might have guessed, was in London. It lasted one day and was scheduled to run from 9:30 until 17:00. As Mike and I were driving this meant that our conference day started at about 4:30 with Mike picking me up at 5:00. Three hours later we parked at Amersham and took the tube arriving at the venue at 9:20.

The conference took the format of dual tracks and between the two of us we covered every single one. the first talk was by Ivo Jansch of iBuildings, which focused on the adoption of PHP into Enterprise solutions and his slides can be viewed on slideshare. It was nice to see that Edge Hill Web Services team are clearly on the right track but perhaps adoption of some of the slicker testing strategies proposed would be beneficial. I’m particularly interested in taking a good look at PHPUnit, Xinc and Xdebug.

The talk by Scott MacVicar and Mike Sullivan built on Ivo’s ideas and offered some real world examples of development for Enterprise solutions but, for me, it didn’t quite deliver. Maybe it was aimed at delegates that had yet to embark on large scale enterprise applications.

In contrast the next session on SQLite3 was something I’d never come across before. The talk began with SQLite’s widespread use including Apple’s iPhone, and it certainly seemed that it was a more favourable option than using config files for small applications. In addition PHP5 ships with SQLite3 and only needs a few configuration line changes to enable it, but some forums suggest that it is not as easy as it seems.

The mid-afternoon session had two bite sized talks on testing PHP and Project Zero. The testing PHP talk was not as I had thought about testing your own PHP code but about getting involved with testing PHP source code, something I’d never thought myself clever enough to even look at, never mind actually have a go at. It seems that if you can write PHP you can write PHP tests too. If you fancy having a go have a look at the PHP-QAT site.

Project Zero is IBM’s incubator project for RESTful Web services. The demo simply looked a lot like Yahoo Pipes but I suspect that if you dig deeper there’s a whole lot more.

The whole shebang was brought to a conclusion by Derick Rethans, who spoke about his personal PHP journey. This light-hearted look at PHP again hammered home the need to focus on security and testing (it also plugged Xdebug which he wrote). You can see the slides here, but unlike other speakers his slides act mostly as a visual aid to his presentation style and don’t really reflect the quality of the content.

Web Services Project Officer

Web Services are recruiting a new member of staff. We’re looking for someone to join our team to work with the Faculty of Health to create a system to link staff, students and external partners to aid communication and better manage information.

The first half of this twelve month contract will focus on planning and implementing an extranet so we’re particularly interested in people with experience of wikis, content or document management systems. Later in the year the successful applicant will be working on other projects for the Faculty to help improve communications.

You can find the full job description and person specification on the website but if you have any questions, please do not hesitate to contact me on michael.nolan@edgehill.ac.uk or phone 01695 584195.

Vacancy: Web Services Project Officer

We’re looking for another web developer to join our team to work with the Faculty of Health to develop an extranet.

You can see full details on the jobs website but here’s a few more details:

The project will involve developing and implementing systems for managing information for use by staff, students and external partners. It will build on existing systems such as our GO portal and the developments we’re doing for the corporate website. The Faculty are fully behind the developments and are already working on evaluating the information they currently have which will let us get off to a running start in the new year.

At Edge Hill we try to develop innovative approaches to projects, are quick to adapt and flexible to changes which enable us to create the best websites we can.

Check out the job description for more information or if you have any questions about the role, please drop me a line – michael.nolan@edgehill.ac.uk.

Go PHP5!

It sounds like it should be accompanied by cheerleaders chanting and waving pom-pons but that might be a bit too much. Go PHP5 is a new(ish) community effort to encourage the wider deployment of PHP5. Although it’s been around for years, most ISPs and hosts still deploy PHP4 by default, and often don’t even have the newer version as an option. The draft proposal explains the problem:

Web hosts cannot upgrade their servers to PHP 5 without making it impossible for their users to run PHP 4-targeted web apps, and have no incentive to go to the effort of testing and deploying PHP 5 while most web apps are still compatible with PHP 4 and the PHP development team still provides maintenance support for PHP 4. The PHP development team, of course, can’t drop maintenance support for PHP 4 while most web hosts still run PHP 4.

For software developers, especially open source projects, there has been a tendency to cater towards the lowest common denominator and so many large systems – WordPress and Gallery are still full of clunky old style PHP code. Even in the commercial sector where developers have more control over their environment, they still have much less choice over host if choosing PHP5. For years PHP has had a reputation for shoddy, insecure code, due in a large part to amateur developers producing poor quality software.

While PHP5 still isn’t perfect, it is a vast improvement offering real object orientation and a decent stable environment to develop under. The web framework we’re using at Edge Hill – symfony – was designed from day one for PHP5 and that’s one of the reasons why I chose it over Cake and other frameworks. The only query I have is over the choice of PHP 5.2. While it makes sense for hosts installing PHP 5 for the first time to pick the latest version, existing PHP5 deployments will usually be 5.1.x.

The symfony development community is currently discussing whether to drop PHP 5.0 support, which I’d certainly agree with, but I don’t think it should drop 5.1 as it’s still widely deployed. Part of the blame for the slow move to PHP 5.2 lies with the Linux distros – Novell for example are shipping 5.1.2 with SLES 10. Yes, you can upgrade manually, but there’s a whole lot of dependencies that suddenly break when you start down that line. RedHat, Novell and other commercial Linux vendors are paid for their systems, and the “stable platform” argument only goes so far – it would also be nice to have up to date software!

Via Left on the web.

Web development with symfony

Enough of this wordy marketing/writing-for-the-web stuff that Steven is writing about – we all know that everyone just wants to know about programming! Okay… maybe not everyone wants to know about code but I thought some people might be interested to know a little bit more about how we’re developing web apps here at Edge Hill. I mentioned previously how we’re developing sites using symfony, a web development framework and I’ll go into what this offers us and some pointers to further information.

Symfony is a framework, written in PHP which assists developers in creating rich web applications. It provides a wide range of features that previously the developer has to write themselves or manually integrate several third party systems such as object models, MVC separation, caching, scaffolding, Ajax interactions and much more. By taking away overhead it leaves the developer able to concentrate on the functionality of the system and should lead to better applications.

Symfony takes influence from Ruby on Rails and other frameworks in its design and actively promotes well written, reusable code. The MVC separation allows you to maintain database (model), templates (view) and logic (controller) separately meaning parts of the site can be written by several members of the team. ORM means that writing SQL is a rarity. Adding Ajax to produce slicker user interactions is easy and done in a way that maintains standards compliant and accessible HTML.

Currently two major sites have been developed using symfony – Education Partnership and Hi – there’s a couple more smaller applications using it and a few bigger ones in development at the moment. For these sites symfony has allowed pretty rapid development – under a month in the case of Hi – of complex websites. Tools for handling technologies like RSS are integrated with symfony in the form of plugins which has allowed us to produce a couple of different feeds plus seamlessly merge the forum and blog tools with the rest of the Hi site.

One of the best features of symfony is the admin generator. This allows us to quickly create interfaces to allow other people to update websites. This is being used for a couple of questionnaires and much more complex systems too – if you work or study at Edge Hill the chances are you’ll come across the admin generator in action very soon without even realising it.

If you’re interested in finding out more about symfony then there’s a brand new tutorial available on SitePoint which gives a great introduction. The symfony community is really good too with an ever growing selection of plugins (including a couple released as a result of work done here at Edge Hill) and a supportive forum and mailing list.

>