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!
Biodiverse IT