1

Re: Technology decisions

Thanks to everyone who contributed to the discussions on technological choices for the core services part of the OPAL Online Recording Toolkit, both on this forum and off it! There were many useful ideas given but at the end of the day we have had to pick one and go with it. For anyone who is interested, here is a summary.

Firstly, we are keen to adopt an Open Source approach that would foster a strong community in future. We also want something that willbe productive, easy to develop in, easy to host and familiar to a large proportion of the potential developers. For this reason PHP has been selected as the language, running with a framework called Kohana. A lot of consideration was given to Ruby on Rails, but at the end of the day the extra difficulty/cost in hosting Ruby, plus the extra familiarity of PHP to most developers in the community (not all!) swung it.

Rather than develop a PHP application from scratch, from the start we are going to use a framework which takes away alot of the repetitive work required in developing a web application. A framework also gives you a ready made structure for the application, so as it grows things should stay much more consistent. Several frameworks were discussed and CodeIgniter was recommended because it is one of the more lightweight and fast frameworks. However, thanks go to Charles Roper who suggested we take a look at the Kohana project, which is derived from CodeIgniter. The benefits of Kohana are that it is community driven rather than commercially owned, so tends to progress quicker. It also uses PHP 5 rather than PHP 4, giving us lots of improved language features which also helps to keep things tidy. It also has good documentation so is easy to get into for PHP developers.

If any PHP dabblers are interested in taking a look at Kohana, there is a useful online "book" which explains a lot of how it works. You can find it at Kohana101.

Finally we have also taken a decision on database platform. Being an Open Source project, the 2 obvious established candidates were MySQL and PostgreSQL. We're going to start by developing on PostgreSQL, mainly because it has much better support for spatial data and GIS, but the plan is to try to avoid PostgreSQL specific code so that we can easily support MySQL in future.

Don't forget that although we have chosen the technology with respect to the "core services", there is nothing stopping the actual online recording websites being developed in any web development language or framework you like.

Keep watching for more updates!

John van Breda
Biodiverse IT

2

Re: Technology decisions

Congratulations!
I never worked with kohana before but as far as i can see it is a good choice. Using Postgresql as database engine is great. Recently i switched to postgres/postgis from mysql for a new project and i havent regret it. By the way i found a great hoster that provide postgresql/postgis with good support: http://www.a2hosting.com.

Just one notice: I havent found in the OPAL word file any paragraph that mentioned accessibility. Following accessibility guidelines like wcag2, especially in view of ajax and captcha implementations, should be considered.

Armand

3

Re: Technology decisions

Thanks Armand, glad you like our choices.

I definitely agree considering accessibility is important. There are two parts to this development, the "core" which includes the set of services that support the online data entry sites and the user interface required to support those services, and the actual online data entry sites. The user interface for the core itself will be fairly simple and I would like to aim for something like AA compliance against WCAG 1, though I notice that WCAG 2 has just been advanced to a "proposed recommendation" whatever that means!

For the online data entry sites, then it will be up to the individual site developers to implement the level of accessibility they require. There will obviuosly need to be some thought given to things like AJAX and JavaScript which will need to be employed heavily to give the kind of rich user interface that is required. Fundamentally we need to make sure that the core services and tools we provide at least have fully accessible options available.

I come from a background where SQL Server is predominant, but I agree PostgreSQL is surprisingly powerful, especially when you add in PostGIS!

Once we have a community site up and running for the project I will add some notes on accessibility but feel free to chip in if you don't agree with what I write!

Thanks again

John van Breda
Biodiverse IT

4

Re: Technology decisions

You might want to avoid WCAG 2 as it's had a rather controversial gestation. It's probably worth checking out PAS 78, though.

Charles Roper
Digital Development Manager | Field Studies Council
http://www.field-studies-council.org | https://twitter.com/charlesroper | https://twitter.com/fsc_digital

5

Re: Technology decisions

Yes, I was aware of the controversy around WCAG 2 but I didn't know whether the proposed recommendation was an improvement or not. Will take a look at the PAS 78 stuff, thanks for the link. The bottom line is we will aim to write something that produces valid XHTML & CSS, good semantic markup, gracefully degrades if using JavaScript or other non-accessible technnologies, and keeps to readable and well contrasting fonts. If we do this then it should be accessible.

John van Breda
Biodiverse IT

6

Re: Technology decisions

FYI the link to the kohana 101 has changed to a new Oct 2009 version http://ozoned.webfactional.com/dl/kohana101.pdf

7

Re: Technology decisions

Thanks for that; it looks like just the thing for getting one's head around Kohana.

Charles Roper
Digital Development Manager | Field Studies Council
http://www.field-studies-council.org | https://twitter.com/charlesroper | https://twitter.com/fsc_digital

8

Re: Technology decisions

Indeed, that's what I started with (the old version).

I'm still pleased with the choice - no real nasties with the Kohana framework once we fixed a couple of issues in the PosgreSQL support (which have now been integrated into the Kohana svn).

John van Breda
Biodiverse IT