Actions

LimeSurvey roadmap: Difference between revisions

From LimeSurvey Manual

No edit summary
No edit summary
Line 2: Line 2:
Contents:__TOC__
Contents:__TOC__


=Background=
=General=


Two years ago the development of completely new version of LimeSurvey, namely LimeSurvey 2 (short:LS2) was started. LS2 was developed in chunks during the last two years but until this day it remains far behind the current version of LimeSurvey 1.x. This has several reasons:
== LimeSurvey project status February 7th, 2010==
*CakePHP as PHP framework proved not dynamic enough. While CakePHP can be made to do all the things we required of it, the effort involved in achieving these things was far greater than we had expected or desired. This became more obvious as work progressed and things became more complicated to code and install. Optimisations also take a lot of effort. In general CakePHP was way slower than the current LimeSurvey 1.
*Except for specific, one-off directed efforts like Google Summer of Code the development stalled because we had no persistent LS2 contributors in the team
*The current LS1 development team is all focused on LimeSurvey 1 which is used by several thousand users and so the feedback of the community and any support is focused on LimeSurvey 1. CakePHP has a steep learning curve and currently none of the existing LS1 developers is able to put their mind to it. There is little likelihood that this will change in the future.
*Even if we put lots of development resources into LS2 right now it would still take another year until at least basic functionality in all common areas will be achieved - and even that will only represent a small fraction of the current LS1 feature set.


=What now?=
During Google Summer of Code 2011 and Google Code-in 2011 LimeSurvey 1.91 was successfully [[Port LimeSurvey 1.9x to a PHP framework|ported to Yii]]. LimeSurvey 1.91+ is considered to be rock-stable, LimeSurvey 1.92 in Release Candidate Period and the 2.0 port being short of first alpha release.


Considering the history of development activity for LimeSurvey 2 and the underlying problems of its development, the development team has decided that the future of LimeSurvey will take a new turn. This new way will circumvent most of the problems above by taking a slow and evolving approach. The following basic steps will be taken:
See also [[Past project statuses]]
*Instead of trying to rewrite such a huge application from scratch we will slowly rewrite LimeSurvey 1. That way we will still have full community and developers support - LimeSurvey 1 will keep evolving and even during the rewrite phase we will be able to have new releases
*Instead of CakePHP we will use the Yii PHP framwork. Yii has been proved to be very stable, fast, flexible, actively developed and in many things it is very close to existing libraries already used in LimeSurvey 1 (like AdoDB). That minimizes the learning curve for existing LS1 developers and we can still run the old and new architecture side by side in the same application.
*Concepts that have been elaborated for LS2 aren't automatically obsolete - on the contrary they can be implemented while LimeSurvey is evolving.
*Last but not least: Baby steps - we will get to our goals eventually but if we go slow we won't stumble.
 
This new develpment approach will allow us to reach our goal of a modular application which separates content from logic accoroding to MVC standards.


=Timeline=
=Timeline=
We are currently working out a detailed timeline. Please bear with us - however the first step is pretty clear:


{|
{|
|Date||Goal
|Est. date||Goal||Remarks
|-
|15 Feb 2012||Move LimeSurvey source code repository from Subversion to GitHub||Affects ComfortUpdate and release process
|-
|27 Feb 2012||Release Stable Version 1.92||Main feature: Expression Manager for conditions, piping, micro-tailoring
|-
|5 Feb 2012||Release 2.0alpha2||First alpha release based on PHP framework Yii - Main feature: Modularity for future development, all features from 1.92
|-
|1 May 2012||Release 2.0 stable||Subsequent weekly releases (Plus release) for bug fixes/translation updates
|-
|15 Sept 2012||Release 2.1 alpha||Contains all new stuff from GSoC contest (if the LimeSurvey project is accepted):<br/>*Full blown XML-RPC API<br/>*Modular question types<br/>*.... (more to come)
|-
|15 Nov 2012||Release 2.1 stable
|-
|-
|
|
|}
|}

Revision as of 17:33, 7 February 2012

Contents:

General

LimeSurvey project status February 7th, 2010

During Google Summer of Code 2011 and Google Code-in 2011 LimeSurvey 1.91 was successfully ported to Yii. LimeSurvey 1.91+ is considered to be rock-stable, LimeSurvey 1.92 in Release Candidate Period and the 2.0 port being short of first alpha release.

See also Past project statuses

Timeline

Est. date Goal Remarks
15 Feb 2012 Move LimeSurvey source code repository from Subversion to GitHub Affects ComfortUpdate and release process
27 Feb 2012 Release Stable Version 1.92 Main feature: Expression Manager for conditions, piping, micro-tailoring
5 Feb 2012 Release 2.0alpha2 First alpha release based on PHP framework Yii - Main feature: Modularity for future development, all features from 1.92
1 May 2012 Release 2.0 stable Subsequent weekly releases (Plus release) for bug fixes/translation updates
15 Sept 2012 Release 2.1 alpha Contains all new stuff from GSoC contest (if the LimeSurvey project is accepted):
*Full blown XML-RPC API
*Modular question types
*.... (more to come)
15 Nov 2012 Release 2.1 stable