<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.limesurvey.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dionet</id>
	<title>LimeSurvey Manual - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.limesurvey.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dionet"/>
	<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/Special:Contributions/Dionet"/>
	<updated>2026-08-15T21:05:48Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=RemoteControl_2_API&amp;diff=2942</id>
		<title>RemoteControl 2 API</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=RemoteControl_2_API&amp;diff=2942"/>
		<updated>2012-10-31T23:00:33Z</updated>

		<summary type="html">&lt;p&gt;Dionet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
&lt;br /&gt;
LimeSurvey RemoteControl 2 is a XML-RPC/JSON-RPC based web service available in LimeSurvey 2.0 or later. The old [RemoteControl] will not be available any longer in version 2.&lt;br /&gt;
&lt;br /&gt;
LSRC2 makes it possible for developers to control specific functionality of Limesurvey from any other application, without being restricted to PHP as a programming language.&lt;br /&gt;
&lt;br /&gt;
The following features are planned:&lt;br /&gt;
* start a predefined survey (change titles and things)&lt;br /&gt;
* add predefined groups or questions&lt;br /&gt;
* activate the survey, restrict it to start and endtime&lt;br /&gt;
* make it closed,&lt;br /&gt;
* add participant data/tokens when you need them&lt;br /&gt;
* return the unused tokens to the main application&lt;br /&gt;
* get a fieldmap for a survey,&lt;br /&gt;
* invite or remind the participants of your survey&lt;br /&gt;
&lt;br /&gt;
...and much more&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
* libXML installed&lt;br /&gt;
&lt;br /&gt;
=Setup=&lt;br /&gt;
&lt;br /&gt;
== How to configure LSRC2==&lt;br /&gt;
&lt;br /&gt;
In a default LimeSurvey installation LSRC2 is disabled. In order to use LSRC2 you must first enable the service, and then adjust the settings to suit your needs. To enable LSRC2 login to the LimeSurvey administration, go to [[Global settings]], choose the tab &#039;Services&#039; and select one of the two RPC services (XML-RPC or JSON-RPC) service.&lt;br /&gt;
&lt;br /&gt;
== Security==&lt;br /&gt;
&lt;br /&gt;
LSRC2 uses the same security measures as the normal administration login. That means that the permission set of the used username and password is the same as if you would login in the administration with that user/password. Also LSRC2 is protected against brute-force password cracking - like the normal administration login.&lt;br /&gt;
&lt;br /&gt;
=How to use LSRC2=&lt;br /&gt;
&lt;br /&gt;
The basic LSRC2 URL is: http://&amp;lt;your_domain&amp;gt;/&amp;lt;your_limesurvey_dir&amp;gt;/index.php/admin/remotecontrol&lt;br /&gt;
&lt;br /&gt;
LSRC2 fully complies to the [http://www.xmlrpc.com/ XML-RPC specification] and JSON-RPC specifications. We recommend in general to use JSON-RPC because it is well tested and has a much smaller footprint than XML-RPC.&lt;br /&gt;
&lt;br /&gt;
LSRC2 offers the following functions:&lt;br /&gt;
&lt;br /&gt;
==get_session_key==&lt;br /&gt;
&lt;br /&gt;
Using this function you can create a new XML-RPC session key. This is mandatory for all following LSRC2 function calls.&lt;br /&gt;
&lt;br /&gt;
Parameters: username (string), password (string)&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: A session key (string)&lt;br /&gt;
*On failure: Error Code 1&lt;br /&gt;
&lt;br /&gt;
==release_session_key==&lt;br /&gt;
&lt;br /&gt;
Using this function you can close a previously opened XML-RPC/JSON-RPC session.&lt;br /&gt;
&lt;br /&gt;
Parameters: session key (string)&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*Always: &#039;OK&#039; (string)&lt;br /&gt;
&lt;br /&gt;
==get_site_settings==&lt;br /&gt;
&lt;br /&gt;
Function to provide with site settings only to administrators&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string) The session key&lt;br /&gt;
&lt;br /&gt;
sSetttingName (string) -  Name of the setting to get&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (string) Setting&lt;br /&gt;
*On failure: (string) Error message&lt;br /&gt;
&lt;br /&gt;
==add_survey==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to add an empty survey with minimum details&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string)  Auth credentials&lt;br /&gt;
&lt;br /&gt;
iSurveyID     (int),    The wish id of the Survey to add&lt;br /&gt;
&lt;br /&gt;
sSurveyTitle     (string),  Title of the new Survey&lt;br /&gt;
&lt;br /&gt;
sSurveyLanguage    (string),  Default language of the Survey&lt;br /&gt;
&lt;br /&gt;
sformat     (string),  Question appearance format (S|G|A)&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (int) $iNewSurveyID&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
**Faulty parameters&lt;br /&gt;
**Creation Failed&lt;br /&gt;
&lt;br /&gt;
==delete_survey==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to Delete a survey&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string), Auth credentials&lt;br /&gt;
&lt;br /&gt;
iSurveyID (int), The Survey to delete&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: Status =&amp;gt;OK (array)&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
&lt;br /&gt;
==import_survey==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to import a survey from lss,csv,xls or survey zip archive.&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string)  Auth credentials&lt;br /&gt;
&lt;br /&gt;
sImportData  (string) String containing the BASE 64 encoded data of a lss,csv,xls or survey zip archive&lt;br /&gt;
&lt;br /&gt;
sImportDataType     (string),    The format of the import file (lss,csv,xls or zip)&lt;br /&gt;
&lt;br /&gt;
sNewSurveyName     (string),  The optional new name of the survey (base language)&lt;br /&gt;
&lt;br /&gt;
DestSurveyID    (int), This is the new ID of the survey - if already used a random one will be taken instead&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (int) $iNewSurveyID&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
**Import error&lt;br /&gt;
&lt;br /&gt;
==get_survey_properties==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to get properties of a survey&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string)  Auth credentials&lt;br /&gt;
&lt;br /&gt;
iSurveyID (integer) -  ID of the survey&lt;br /&gt;
&lt;br /&gt;
aSurveySettings     (array),    An array with the properties to return&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (string) the requested value&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid survey ID&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
**No valid Data&lt;br /&gt;
&lt;br /&gt;
Available properties:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   ||   ||   ||   ||   ||&lt;br /&gt;
|-&lt;br /&gt;
|   sid||   savetimings||   allowprev||   tokenanswerspersistence||   showgroupinfo||   showwelcome&lt;br /&gt;
|-&lt;br /&gt;
|   owner_id||   template||   printanswers||   assessments||  shownoanswer ||   showprogress&lt;br /&gt;
|-&lt;br /&gt;
|   admin||   language||   ipaddr||   usecaptcha||   showqnumcode||   allowjumps&lt;br /&gt;
|-&lt;br /&gt;
|   active||   additional_languages ||   refurl||   usetokens||   bouncetime||   navigationdelay&lt;br /&gt;
|-&lt;br /&gt;
|   expires||   datestamp||   datecreated||   bounce_email||   bounceprocessing||   nokeyboard&lt;br /&gt;
|-&lt;br /&gt;
|   startdate||   usecookie||   publicstatistics||   attributedescriptions||   bounceaccounttype||   alloweditaftercompletion&lt;br /&gt;
|-&lt;br /&gt;
|   adminemail||   allowregister||   publicgraphs||   emailresponseto||   bounceaccounthost||   googleanalyticsstyle&lt;br /&gt;
|-&lt;br /&gt;
|   anonymized||   allowsave||   listpublic||   emailnotificationto||   bounceaccountpass||   googleanalyticsapikey&lt;br /&gt;
|-&lt;br /&gt;
|   faxto||   autonumber_start||   htmlemail||   tokenlength||   bounceaccountencryption||&lt;br /&gt;
|-&lt;br /&gt;
|format||   autoredirect||   sendconfirmation||   showxquestions||   bounceaccountuser||   &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==set_survey_properties==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to set properties of a survey&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string)  Auth credentials&lt;br /&gt;
&lt;br /&gt;
iSurveyID (integer) -  ID of the survey&lt;br /&gt;
&lt;br /&gt;
aSurveySettings     (array),    An assosiative array with the name-value  pair of the properties to set&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (array) The result of the change for each property&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid survey ID&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
**No valid Data&lt;br /&gt;
&lt;br /&gt;
Available properties:&lt;br /&gt;
&lt;br /&gt;
Properties available for changing are all those defined in get_survey_properties with the following exceptions&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|properties not allowed to be modified|| Properties not allowed to be modified when survey active&lt;br /&gt;
|-&lt;br /&gt;
|sid||anonymized&lt;br /&gt;
|-&lt;br /&gt;
|language||datestamp&lt;br /&gt;
|-&lt;br /&gt;
|additional_languages||savetimings&lt;br /&gt;
|-&lt;br /&gt;
|active||ipaddr&lt;br /&gt;
|-&lt;br /&gt;
|||refurl&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==list_surveys==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to list the ids and info of surveys belonging to a user.&lt;br /&gt;
&lt;br /&gt;
    * If user is admin he can get surveys of every user (parameter sUser) or all surveys (sUser=null)&lt;br /&gt;
&lt;br /&gt;
    * Else only the syrveys belonging to the user requesting will be shown.&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string)  Auth credentials&lt;br /&gt;
&lt;br /&gt;
sUser (string) -  The users surveys to list&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (array) The result of the change for each property&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid user&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
**No surveys found&lt;br /&gt;
&lt;br /&gt;
==activate_survey==&lt;br /&gt;
&lt;br /&gt;
RPC Routine that launches a newly created survey (sets active -available for users)&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string)  Auth credentials&lt;br /&gt;
&lt;br /&gt;
SurveyID (integer) -  ID of the survey&lt;br /&gt;
&lt;br /&gt;
Returns&lt;br /&gt;
*On success: (array) The result of the activation&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid Survey ID&lt;br /&gt;
**Activation Error&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
&lt;br /&gt;
==export_statistics==&lt;br /&gt;
&lt;br /&gt;
RPC routine to export statistics of a survey to a user.&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string)  Auth credentials&lt;br /&gt;
&lt;br /&gt;
SurveyID (integer) -  ID of the survey&lt;br /&gt;
&lt;br /&gt;
docType (string) - Type of document to generate&lt;br /&gt;
&lt;br /&gt;
sLanguage (string) Optional language of the survey to use (if not set, default language is selected)&lt;br /&gt;
&lt;br /&gt;
graph (string) - Optional parameter to enable graphs (0|1)&lt;br /&gt;
&lt;br /&gt;
Returns&lt;br /&gt;
*On success: (string) Base64 encoded string with the statistics file&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid Survey ID&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
&lt;br /&gt;
==get_summary==&lt;br /&gt;
&lt;br /&gt;
RPC routine to get survey summary, regarding token usage and survey participation.&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string) - Auth credentials&lt;br /&gt;
&lt;br /&gt;
iSurveyID (integer) -  ID of the survey&lt;br /&gt;
&lt;br /&gt;
sStatname (string) - The statistic to return&lt;br /&gt;
&lt;br /&gt;
Returns&lt;br /&gt;
*On success: (string) Base64 encoded string with the statistics file&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**No available data&lt;br /&gt;
**No such property&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
&lt;br /&gt;
Available statistics:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Survey stats||Token stats&lt;br /&gt;
|-&lt;br /&gt;
|completed_responses||token_count&lt;br /&gt;
|-&lt;br /&gt;
|incomplete_responses||token_invalid&lt;br /&gt;
|-&lt;br /&gt;
|full_responses||tokens_sent&lt;br /&gt;
|-&lt;br /&gt;
|||token_opted_out&lt;br /&gt;
|-&lt;br /&gt;
|||token_completed&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==add_language==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to add a language to an existing survey&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
session key (string) - The session key&lt;br /&gt;
&lt;br /&gt;
SurveyID (integer) -  ID of the survey&lt;br /&gt;
&lt;br /&gt;
aLanguage (string) - The language shortcut for the new language to be added. Note: If the language is already in that survey no error will be thrown.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
*On success: (array) status=&amp;gt;OK&lt;br /&gt;
*On failure: (array) Any other status&lt;br /&gt;
**Invalid survey ID&lt;br /&gt;
**Invalid language&lt;br /&gt;
**Error&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
&lt;br /&gt;
==delete_survey_language==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to delete a language of an existing survey&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
session key (string) The session key&lt;br /&gt;
&lt;br /&gt;
SurveyID (integer) -  ID of the survey&lt;br /&gt;
&lt;br /&gt;
aLanguage (string) - The language shortcut for the language to be removed. Note: If the language is not part of that survey no error will be thrown.&lt;br /&gt;
&lt;br /&gt;
Return values:&lt;br /&gt;
*On success: (array) status=&amp;gt;OK&lt;br /&gt;
*On failure: (array) Any other status&lt;br /&gt;
**Invalid survey ID&lt;br /&gt;
**Invalid language&lt;br /&gt;
**Cannot remove base language&lt;br /&gt;
**Error&lt;br /&gt;
**No permission&lt;br /&gt;
**Invalid session key&lt;br /&gt;
&lt;br /&gt;
==get_language_properties==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to get survey language properties&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string) - Auth credentials&lt;br /&gt;
&lt;br /&gt;
iSurveyID (integer) -  ID of the survey&lt;br /&gt;
&lt;br /&gt;
aSurveyLocaleSettings     (array) -  An array with the properties to return&lt;br /&gt;
&lt;br /&gt;
slang (string)    - The language to use&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (string) the requested value&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid survey ID&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
**No valid Data&lt;br /&gt;
&lt;br /&gt;
Available parameters:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   ||   ||   ||&lt;br /&gt;
|-&lt;br /&gt;
|    surveyls_survey_id            ||    surveyls_url                  ||    surveyls_email_register_subj  ||    email_admin_notification_subj&lt;br /&gt;
|-&lt;br /&gt;
|    surveyls_language             ||    surveyls_urldescription       ||    surveyls_email_register       ||    email_admin_notification&lt;br /&gt;
|-&lt;br /&gt;
|    surveyls_title                ||    surveyls_email_invite_subj    ||    surveyls_email_confirm_subj   ||    email_admin_responses_subj&lt;br /&gt;
|-&lt;br /&gt;
|    surveyls_description          ||    surveyls_email_invite         ||    surveyls_email_confirm        ||    email_admin_responses&lt;br /&gt;
|-&lt;br /&gt;
|    surveyls_welcometext          || surveyls_email_remind_subj       ||    surveyls_dateformat           ||    surveyls_numberformat&lt;br /&gt;
|-&lt;br /&gt;
|surveyls_endtext              ||    surveyls_email_remind         ||    surveyls_attributecaptions    ||   &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==set_language_properties==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to set survey language properties&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string) - Auth credentials&lt;br /&gt;
&lt;br /&gt;
iSurveyID (integer) -  ID of the survey&lt;br /&gt;
&lt;br /&gt;
aSurveyLocaleData     (array) -  An assosiative array with the key-value pairs of properties to set. Invalid fieldnames or fields that may not be modified are ignored.&lt;br /&gt;
&lt;br /&gt;
sLanguage (string)    - The language to use&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (string) Result for each parameter set&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid survey ID&lt;br /&gt;
**Invalid language&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
**No valid Data&lt;br /&gt;
&lt;br /&gt;
Allowed Parameters:&lt;br /&gt;
&lt;br /&gt;
All those defined in get-language_properties except:&lt;br /&gt;
*surveyls_language&lt;br /&gt;
*surveyls_survey_id&lt;br /&gt;
&lt;br /&gt;
==add_group==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to add an empty group with minimum details.&lt;br /&gt;
&lt;br /&gt;
    * Used as a placeholder for importing questions.&lt;br /&gt;
&lt;br /&gt;
    * Returns the groupid of the created group.&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string) - Auth credentials&lt;br /&gt;
&lt;br /&gt;
iSurveyID (integer) -  ID of the surveythat the group will be added&lt;br /&gt;
&lt;br /&gt;
sGroupTitle     (string) -  Name of the new group&lt;br /&gt;
&lt;br /&gt;
sGroupDescription (string) - Optional description of the group&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (int) The ID of the new group&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid survey ID&lt;br /&gt;
**Error:Survey is active and not editable&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
**Creation Failed&lt;br /&gt;
&lt;br /&gt;
==delete_group==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to delete a group of a survey&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string) - Auth credentials&lt;br /&gt;
&lt;br /&gt;
iSurveyID (integer) -  ID of the survey that the group belongs&lt;br /&gt;
&lt;br /&gt;
sGroupID    (int) -  Id of the group to delete&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (int) The ID of the deleted group&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid Survey ID&lt;br /&gt;
**Invalid Group ID&lt;br /&gt;
**Error:Survey is active and not editable&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
**Group deletion failed&lt;br /&gt;
&lt;br /&gt;
==import_group==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to import a group - imports lsg,csv&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string) - Auth credentials&lt;br /&gt;
&lt;br /&gt;
iSurveyID (integer) -  The id of the survey that the group will belong&lt;br /&gt;
&lt;br /&gt;
sImportData     (string) -  String containing the BASE 64 encoded data of a lsg,csv&lt;br /&gt;
&lt;br /&gt;
sGroupDescription (string) -The format of the importfile in the stream (lsg|csv)&lt;br /&gt;
&lt;br /&gt;
sNewGroupName (string) - Optional new name for the group&lt;br /&gt;
&lt;br /&gt;
sNewGroupDescription (string) - Optional new description for the group&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (int) The ID of the new group&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid survey ID&lt;br /&gt;
**Error:Survey is active and not editable&lt;br /&gt;
**Invalid extension&lt;br /&gt;
**Error: Invalid LimeSurvey group structure XML&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
**Import Error&lt;br /&gt;
&lt;br /&gt;
==get_group_properties==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to return properties of a group of a survey&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string) - Auth credentials&lt;br /&gt;
&lt;br /&gt;
iGroupID (integer) -  The id of the group to get properties of&lt;br /&gt;
&lt;br /&gt;
aGroupSettings     (array) -  Array containing the properties to request.&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (array) The requested properties&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Error: Invalid group ID&lt;br /&gt;
**No valid Data&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
&lt;br /&gt;
Available properties:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| ||&lt;br /&gt;
|-&lt;br /&gt;
|gid||description&lt;br /&gt;
|-&lt;br /&gt;
|sid||language&lt;br /&gt;
|-&lt;br /&gt;
|group_name||randomization_group&lt;br /&gt;
|-&lt;br /&gt;
|group_order||grelevance&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==set_group_properties==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to set properties of a group of a survey&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string) - Auth credentials&lt;br /&gt;
&lt;br /&gt;
iGroupID (integer) -  The id of the group to set properties to&lt;br /&gt;
&lt;br /&gt;
aGroupData     (array) -  Assosiative Array containing key-value pairs of the properties to set.&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (array) The result of each set action&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Error: Invalid group ID&lt;br /&gt;
**No valid Data&lt;br /&gt;
**Group with dependencies - Order cannot be changed&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
&lt;br /&gt;
Available properties:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| ||&lt;br /&gt;
|-&lt;br /&gt;
|||description&lt;br /&gt;
|-&lt;br /&gt;
|||language&lt;br /&gt;
|-&lt;br /&gt;
|group_name||randomization_group&lt;br /&gt;
|-&lt;br /&gt;
|group_order||grelevance&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==list_groups==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to return the ids and info of groups belonging to survey&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string) - Auth credentials&lt;br /&gt;
&lt;br /&gt;
iSurveyID (integer) -  The id of the survey to get groups of&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (array) The list of the groups&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid Survey ID&lt;br /&gt;
**No groups found&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
&lt;br /&gt;
==delete_question==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to delete a question of a survey&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string)  Auth credentials&lt;br /&gt;
&lt;br /&gt;
iQuestionID  (int) Id of the question to delete&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (int)id of the deleted Question&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
** Invalid question ID&lt;br /&gt;
**Survey is active and not editable&lt;br /&gt;
**Cannot delete Question. Others rely on this question&lt;br /&gt;
**Error&lt;br /&gt;
&lt;br /&gt;
==import_question==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to import a question - imports lsq,csv&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string) - Auth credentials&lt;br /&gt;
&lt;br /&gt;
iSurveyID  (int) - Id of the survey that the new questions belongs&lt;br /&gt;
&lt;br /&gt;
iGroupID (int) - Id of the group that the new questions belongs&lt;br /&gt;
&lt;br /&gt;
sImportData (string) - String containing the BASE 64 encoded data of a lsg,csv&lt;br /&gt;
&lt;br /&gt;
sImportDataType (string)  - Format of the input stream (lsq,csv)&lt;br /&gt;
&lt;br /&gt;
sMandatory (string) - Optional Mandatory question option (default to No)&lt;br /&gt;
&lt;br /&gt;
sNewQuestionTitle (string) - Optional new title for the question&lt;br /&gt;
&lt;br /&gt;
sNewqQuestion (string) - An optional new question&lt;br /&gt;
&lt;br /&gt;
sNewQuestionHelp (string) - An optional new question help text&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (int) Id of the new Question&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
**Invalid survey ID&lt;br /&gt;
**Invalid group ID&lt;br /&gt;
**Survey is active and not editable&lt;br /&gt;
**Invalid extension&lt;br /&gt;
**Invalid LimeSurvey question structure XML&lt;br /&gt;
&lt;br /&gt;
==get_question_properties==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to return properties of a question of a survey&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string)  Auth credentials&lt;br /&gt;
&lt;br /&gt;
iQuestionID  (int) Id of the question to get properties of&lt;br /&gt;
&lt;br /&gt;
aQuestionSettings (array) The properties to get&lt;br /&gt;
&lt;br /&gt;
sLanguage (string) Optional parameter language for multilingual questions&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (array) The requested properties&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
**Invalid questionid&lt;br /&gt;
**Invalid language&lt;br /&gt;
**No valid Data&lt;br /&gt;
&lt;br /&gt;
Available Properties:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|  ||  ||  ||&lt;br /&gt;
|-&lt;br /&gt;
|gid||type||help||language&lt;br /&gt;
|-&lt;br /&gt;
|parent_qid||title||other||scale_id&lt;br /&gt;
|-&lt;br /&gt;
|sid||question||mandatory||same_default&lt;br /&gt;
|-&lt;br /&gt;
|gid||preg||question_order||relevance&lt;br /&gt;
|-&lt;br /&gt;
|subquestions||attributes||attributes_lang||answeroptions&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==set_question_properties==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to set question properties&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string) - Auth credentials&lt;br /&gt;
&lt;br /&gt;
iQuestionID  (int) - Id of the question to get properties of&lt;br /&gt;
&lt;br /&gt;
aQuestionData (array)  - An array with the particular fieldnames as keys and their values to set on that particular question&lt;br /&gt;
&lt;br /&gt;
sLanguage (string)  -  Optional parameter language for multilingual questions&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (array) The resilt of the set of each property&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
**Invalid questionid&lt;br /&gt;
**Invalid language&lt;br /&gt;
**Questions with dependencies - Order cannot be changed&lt;br /&gt;
**No valid Data&lt;br /&gt;
&lt;br /&gt;
Available Properties:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|  ||  ||&lt;br /&gt;
|-&lt;br /&gt;
|help|| ||&lt;br /&gt;
|-&lt;br /&gt;
|title||other||scale_id&lt;br /&gt;
|-&lt;br /&gt;
|question||mandatory||same_default&lt;br /&gt;
|-&lt;br /&gt;
|preg||question_order||relevance&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==list_questions==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to return the ids and info of questions of a survey/group.&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string) - Auth credentials&lt;br /&gt;
&lt;br /&gt;
iSurveyID (int) - Id of the survey to get questions of&lt;br /&gt;
&lt;br /&gt;
iGroupID  (int) - Id of the group to get questions of&lt;br /&gt;
&lt;br /&gt;
sLanguage (string)  -  Optional parameter language for multilingual questions&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (array) The list of the questions&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
**Invalid questionid&lt;br /&gt;
**Invalid language&lt;br /&gt;
**Invalid survey ID&lt;br /&gt;
**Missmatch in surveyid and groupid&lt;br /&gt;
**No questions found&lt;br /&gt;
&lt;br /&gt;
==activate_tokens==&lt;br /&gt;
&lt;br /&gt;
Activate tokens&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
session key (string) The session key&lt;br /&gt;
&lt;br /&gt;
surveyid (string) The survey ID&lt;br /&gt;
&lt;br /&gt;
additional_attributes (array of integers) Any additional attribute fields to create. Just give the attribute IDs&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (array) status OK&lt;br /&gt;
*On failure: (array) Any other status&lt;br /&gt;
&lt;br /&gt;
==add_participants==&lt;br /&gt;
&lt;br /&gt;
Using this function you can add new entries to your token table. You can also set if for these new entries a token key is automatically create&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
*session key (string) - The session key&lt;br /&gt;
*survey ID (string) - The survey id&lt;br /&gt;
*participant data (array) -  2-dimensional array/structure containing your participants data&lt;br /&gt;
*createTokenKey (boolean) - Set this to true if you want a token key create automatically for each entry - if your participant data included a [token] field it will be overwritten&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success:  participant data (struct) -  structure containing your participants data plus the token ID and (if applicable) the new token&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
**Invalid survey ID&lt;br /&gt;
&lt;br /&gt;
==delete_participants==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to delete multiple participants of a Survey&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string) - Auth credentials&lt;br /&gt;
&lt;br /&gt;
iSurveyID (int) - Id of the survey to get questions of&lt;br /&gt;
&lt;br /&gt;
aTokenIDs  (array) - IId of the tokens/participants to delete&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (array) Array of deletion status for each participant&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
**Invalid survey ID&lt;br /&gt;
**No token table&lt;br /&gt;
&lt;br /&gt;
==get_participant_properties==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to return settings of a token/participant of a survey&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string) -  Auth credentials&lt;br /&gt;
&lt;br /&gt;
iSurveyID  (int) - Id of the Survey to get token properties&lt;br /&gt;
&lt;br /&gt;
iTokenID (int) - Id of the participant to check&lt;br /&gt;
&lt;br /&gt;
aTokenProperties (array) - The properties to get&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (array) Array of requested values&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
**Invalid survey ID&lt;br /&gt;
**No token table&lt;br /&gt;
**Invalid tokenid&lt;br /&gt;
**No valid Data&lt;br /&gt;
&lt;br /&gt;
Available Parameters:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   ||   ||&lt;br /&gt;
|-&lt;br /&gt;
|tid||   token||   completed&lt;br /&gt;
|-&lt;br /&gt;
| participant_id ||   language||   usesleft&lt;br /&gt;
|-&lt;br /&gt;
|firstname||   blacklisted||   validfrom&lt;br /&gt;
|-&lt;br /&gt;
|   lastname||   sent||   validuntil&lt;br /&gt;
|-&lt;br /&gt;
|email||   remindersent||   mpid&lt;br /&gt;
|-&lt;br /&gt;
|emailstatus||   remindercount||   &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==set_participant_properties==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to set properties of a survey participant/token&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string) -  Auth credentials&lt;br /&gt;
&lt;br /&gt;
iSurveyID  (int) - Id of the Survey to set token properties&lt;br /&gt;
&lt;br /&gt;
iTokenID (int) - Id of the participant to alter&lt;br /&gt;
&lt;br /&gt;
aTokenData (array) - Key - value pair of the properties to set&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (array) Array of results of changing properties&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
**Invalid survey ID&lt;br /&gt;
**No token table&lt;br /&gt;
**Invalid tokenid&lt;br /&gt;
**No valid Data&lt;br /&gt;
&lt;br /&gt;
Available Parameters:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   ||   ||&lt;br /&gt;
|-&lt;br /&gt;
|||   token||   completed&lt;br /&gt;
|-&lt;br /&gt;
| participant_id ||   language||   usesleft&lt;br /&gt;
|-&lt;br /&gt;
|firstname||   blacklisted||   validfrom&lt;br /&gt;
|-&lt;br /&gt;
|   lastname||   sent||   validuntil&lt;br /&gt;
|-&lt;br /&gt;
|email||   remindersent||   mpid&lt;br /&gt;
|-&lt;br /&gt;
|emailstatus||   remindercount||   &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==list_participants==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to return the ids and info  of token/participants of a survey.&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string) -  Auth credentials&lt;br /&gt;
&lt;br /&gt;
iSurveyID  (int) - Id of the survey to list participants&lt;br /&gt;
&lt;br /&gt;
iStart (int) - Start id of the token list&lt;br /&gt;
&lt;br /&gt;
iLimit (int) - Number of participants to return&lt;br /&gt;
&lt;br /&gt;
bUnused (bool) - If you want unused tokensm, set true&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (array) Array of Participants info&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
**Invalid survey ID&lt;br /&gt;
**No token table&lt;br /&gt;
**No Tokens found&lt;br /&gt;
&lt;br /&gt;
==activate_tokens==&lt;br /&gt;
&lt;br /&gt;
RPC routine to to initialise the survey&#039;s collection of tokens where new participant tokens may be later added&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string) -  Auth credentials&lt;br /&gt;
&lt;br /&gt;
iSurveyID  (int) - Id of the survey to list participants&lt;br /&gt;
&lt;br /&gt;
aAttributeFields (array) - An array of integer describing any additional attribute fields&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (array) Status OK&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
**Invalid survey ID&lt;br /&gt;
**Token table could not be created&lt;br /&gt;
&lt;br /&gt;
==invite_participants==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to invite participants in a survey&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string) -  Auth credentials&lt;br /&gt;
&lt;br /&gt;
iSurveyID  (int) - Id of the survey to send invitation to participants&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (array)  Array of result of each email send action and count of invitations left to send&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
**Invalid survey ID&lt;br /&gt;
**No token table&lt;br /&gt;
**No candidate tokens&lt;br /&gt;
&lt;br /&gt;
==remind_participants==&lt;br /&gt;
&lt;br /&gt;
RPC Routine to send reminder for participants in a survey&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string) -  Auth credentials&lt;br /&gt;
&lt;br /&gt;
iSurveyID  (int) - Id of the survey to send invitation to participants&lt;br /&gt;
&lt;br /&gt;
iMinDaysBetween (int) - Optional parameter days from last reminder&lt;br /&gt;
&lt;br /&gt;
iMaxReminders (int) - Optional parameter Maximum reminders count&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: (array)  Array of result of each email send action and count of invitations left to send&lt;br /&gt;
*On failure: (array) Failure status&lt;br /&gt;
**Invalid session key&lt;br /&gt;
**No permission&lt;br /&gt;
**Invalid survey ID&lt;br /&gt;
**No token table&lt;br /&gt;
**No candidate tokens&lt;br /&gt;
&lt;br /&gt;
==add_response==&lt;br /&gt;
&lt;br /&gt;
Using this function you can add new responses to your survey response table.&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
*sSessionKey (string) - The session key&lt;br /&gt;
*iSurveyID (integer) - The survey id&lt;br /&gt;
*aResponseData (array) -  array/structure containing your response data&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
*On success: response_id (integer) -  Returns the id of the inserted survey response&lt;br /&gt;
*On failure: (array) with error description&lt;br /&gt;
&lt;br /&gt;
==export_responses==&lt;br /&gt;
&lt;br /&gt;
Export response data to pdf,csv,xls,doc&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
sSessionKey (string) - Auth credentials&lt;br /&gt;
&lt;br /&gt;
SurveyID (int) - Id of the Survey&lt;br /&gt;
&lt;br /&gt;
DocumentType (string) - pdf,csv,xls,doc&lt;br /&gt;
&lt;br /&gt;
sLanguageCode (string) - The language to be used&lt;br /&gt;
&lt;br /&gt;
CompletionStatus (string) - Optional &#039;complete&#039;,&#039;incomplete&#039; or &#039;all&#039; selection of responses - defaults to complete&lt;br /&gt;
&lt;br /&gt;
HeadingType (string) - &#039;code&#039;,&#039;full&#039; or &#039;abbreviated&#039;. type of question heading. Optional defaults to &#039;code&#039;&lt;br /&gt;
&lt;br /&gt;
ResponseType (string) - &#039;short&#039; or &#039;long&#039; response type.Optional defaults to &#039;short&#039;&lt;br /&gt;
&lt;br /&gt;
FromResponseID (int) - Optional start number of response&lt;br /&gt;
&lt;br /&gt;
ToResponseID (int) - Optional end number of responses&lt;br /&gt;
&lt;br /&gt;
Return:&lt;br /&gt;
&lt;br /&gt;
On success: Requested file as base 64-encoded string.&lt;br /&gt;
&lt;br /&gt;
On failure: Array with error information&lt;br /&gt;
&lt;br /&gt;
Note: If you have huge response sets try only to request a certain number of records at a time otherwise the server may run out of memory.&lt;br /&gt;
&lt;br /&gt;
=Testing=&lt;br /&gt;
&lt;br /&gt;
To test you will have to activate JSON-RPC in global settings. To run a simple self-test go to&lt;br /&gt;
&lt;br /&gt;
http://path_to_your_limesurvey_installation/index.php/admin/remotecontrol/test . This will import the example survey, do various things with it and delete it afterwards.&lt;br /&gt;
&lt;br /&gt;
The test assumes that you still are using the standard user &#039;admin&#039; with password &#039;password&#039;.&lt;br /&gt;
&lt;br /&gt;
The client function for this test can be found in /application/controller/admin/remotecontrol.php and the particular function is called test().&lt;br /&gt;
&lt;br /&gt;
=PHP Example=&lt;br /&gt;
&lt;br /&gt;
To include JSON-RPC in your application, you can write an application based on the tiny jsonRPCClient from [http://jsonrpcphp.org/ | jsonrpcphp.org]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
require_once &#039;jsonRPCClient.php&#039;;&lt;br /&gt;
&lt;br /&gt;
define( &#039;LS_BASEURL&#039;, &#039;http://localhost/limesurvey/&#039;);  // adjust this one to your actual LimeSurvey URL&lt;br /&gt;
&lt;br /&gt;
define( &#039;LS_USER&#039;, &#039;rpcuser&#039; );&lt;br /&gt;
&lt;br /&gt;
define( &#039;LS_PASSWORD&#039;, &#039;mypassword&#039; );&lt;br /&gt;
&lt;br /&gt;
// the survey to process&lt;br /&gt;
&lt;br /&gt;
$survey_id=374699;&lt;br /&gt;
&lt;br /&gt;
// instanciate a new client&lt;br /&gt;
&lt;br /&gt;
$myJSONRPCClient = new jsonRPCClient( LS_BASEURL.&#039;/admin/remotecontrol&#039; );&lt;br /&gt;
&lt;br /&gt;
// receive session key&lt;br /&gt;
&lt;br /&gt;
$sessionKey= $myJSONRPCClient-&amp;gt;get_session_key( LS_USER, LS_PASSWORD );&lt;br /&gt;
&lt;br /&gt;
// receive all ids and info of groups belonging to a given survey&lt;br /&gt;
&lt;br /&gt;
$groups = $myJSONRPCClient-&amp;gt;list_groups( $sessionKey, $survey_id );&lt;br /&gt;
&lt;br /&gt;
print_r($groups, null );&lt;br /&gt;
&lt;br /&gt;
// release the session key&lt;br /&gt;
&lt;br /&gt;
$myJSONRPCClient-&amp;gt;release_session_key( $sessionKey );&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Changes=&lt;br /&gt;
&lt;br /&gt;
2.0a Only three functions are supported right now: getSessionKey, releaseSessionKey, deleteSurvey&lt;br /&gt;
&lt;br /&gt;
2.0b Added function add_participants&lt;br /&gt;
&lt;br /&gt;
2.0RC5 Added import_survey, activate_survey, activate_tokens&lt;br /&gt;
&lt;br /&gt;
2.0 (build 121030) Added subquestions, attributes, attributes_lang and answeroptions properties for get_question_properties&lt;/div&gt;</summary>
		<author><name>Dionet</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Project_Ideas_for_GSoC_2012&amp;diff=2512</id>
		<title>Project Ideas for GSoC 2012</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Project_Ideas_for_GSoC_2012&amp;diff=2512"/>
		<updated>2012-03-06T21:59:31Z</updated>

		<summary type="html">&lt;p&gt;Dionet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Welcome=&lt;br /&gt;
&lt;br /&gt;
Welcome Google Summer of Code Student aspirants (:razz:)&lt;br /&gt;
&lt;br /&gt;
This page lists project ideas developed by the LimeSurvey Community. These tend to be areas that will get the most support as projects since they have been developed by people who know the project and what it needs the most. &#039;&#039;&#039;However&#039;&#039;&#039;, if you have your own idea for a project discuss your awesome idea with us in our [http://www.limesurvey.org/en/forum forums], [https://lists.sourceforge.net/lists/listinfo/limesurvey-developers mailing list] or at [http://www.limesurvey.org/en/support/live-chat #limesurvey on irc.freenode.net]. Then submit your proposal. Good Luck (:biggrin:)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Project ideas=&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Refactor all question types to a modular OOP format==&lt;br /&gt;
&lt;br /&gt;
If you look at the LimeSurvey source code (yii branch) you will notice that the code for the question types is strewn across the application.&lt;br /&gt;
&lt;br /&gt;
The goal of this task is to rewrite all question types to be objects, primarily inherited from one or more base question objects. A question type should have methods for display (several types of display like front ent/printable survey), response saving, configuration, statistics, etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
*Extensive knowledge of PHP &amp;amp; Yii framework&lt;br /&gt;
*Very good kownledge of LimeSurvey inner workings&lt;br /&gt;
*Very good OOP knowledge&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
*Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carsten Schmitz (c_schmitz)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Implement a fully featured XMP-RPC API + API tests + unit test==&lt;br /&gt;
&lt;br /&gt;
LimeSurvey urgently needs an API so all administration functions (and later even survey-taking functions) can be accessed without using the GUI. In addition you will be implementing an according unit test framework and implement unit &amp;amp; API tests across the whole application so we can make sure at any point in the development process that the application is functioning as it should.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
*Good PHP, SQL, Yii knowledge&lt;br /&gt;
*Good knowledge of the LimeSurvey administration and code&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
*Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
c_schmitz&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==User Interface Improvements and Backend Tidy Ups==&lt;br /&gt;
&lt;br /&gt;
Help improve LimeSurvey&#039;s usability and flexibility through a range of small tasks such as:&lt;br /&gt;
* develop improved &#039;bulk&#039; question handling UI&lt;br /&gt;
* Tidy up input values on public surveys by moving required values from html inputs to javascript variables&lt;br /&gt;
&lt;br /&gt;
The idea is to provide ways of updating and modifying multiple questions, or multiple groups in one go. Often in a survey a user will need to make parallel changes to 5 or 6 questions all at once across a range of different groups. Being able to select various elements of questions, and then select a range of questions to edit would dramatically improve LimeSurvey&#039;s usability from the administrators perspective.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, SQL, Yii, Authentication protocols (openID, CAS, LDAP-bind, ...)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Jason Cleeland (jcleeland)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Implement a plugin framework for authentication/languages/ import/export modules==&lt;br /&gt;
&lt;br /&gt;
The idea is to design and implement a modular &amp;quot;framework&amp;quot; for LimeSurvey as well as convert the existing functionality to according modules. The framework will define the API each plugin type must (or may) implement and propose basic methods that can be used by plugins (for instance how to store the plugins parameters in DB, etc.).&lt;br /&gt;
&lt;br /&gt;
The plugin framework should be in parts similar to the framework used by Joomla (XML description files in the plugin packages)&lt;br /&gt;
&lt;br /&gt;
Example description for authentication moduls:&lt;br /&gt;
&lt;br /&gt;
Currently authentication is only used for the survey-administration GUI and not the participants interface (tokens are used for this). With the new authentication framework it should be possible to define several authentication backends for frontend (survey participation) and backend (administration)&lt;br /&gt;
&lt;br /&gt;
A generic authentication framework must define the following services:&lt;br /&gt;
* User authentication: this interface must return the identity of the authenticated user if authentication is successful.&lt;br /&gt;
** Authentication may not always be based on a simple user/password form, so the proposed framework must be generic enough to enable authentication based on other schemes (using any numbers or interaction-pages between the server and the end-user or any other contextual parameter such as Referrer, session variable...&lt;br /&gt;
* User provisioning:&lt;br /&gt;
** when activated on the survey administration interface, an authentication module might be able to create a newly authenticated user into the LimeSurvey internal DB (which is required for setting the user rights on the platform). The newly created user can be assigned a default profile or a per-user profile (queried from an external database).&lt;br /&gt;
** when activated on the participants interface, the authentication module will provision the token table of the corresponding survey // alternatively the general-purpose cross-survey participants-database as described in the above GSoC idea.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, SQL, Yii&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
c_schmitz&lt;br /&gt;
&lt;br /&gt;
Diogo Gon&amp;amp;ccedil;alves (dionet)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Want to know more&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please read the [http://docs.limesurvey.org/tiki-index.php?page=GSOC+2010++Authentication+framework#FAQ FAQ about this project]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Custom Report Generation==&lt;br /&gt;
&lt;br /&gt;
The task is to make a module which will generate custom reports. Module should be able to do these things(at least) :-&lt;br /&gt;
*Creating various types of reports i.e. using tables, pie charts, graphs and bar-charts to name few.&lt;br /&gt;
*The resulting charts and other illustrations should be easy to read and understand, and should include the ability to export into standard office suites.&lt;br /&gt;
*Reports can be general or survey specific.&lt;br /&gt;
**General in the sense that it should show basic findings of a general survey graphically like number of users completing the survey, average time taken to complete the survey, average number of correct responses etc.&lt;br /&gt;
**Survey specific results should also be addressed properly e.g. how many users choose first option as there answer of a particular question, how many users didn&#039;t answer a specific question etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
OOP experience in PHP and experience with a PHP framework like CakePHP or CodeIgniter, jQuery. Strong mathematical background will help!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carsten Schmitz (c_schmitz)&lt;br /&gt;
&lt;br /&gt;
Jason Cleeland (jcleeland)&lt;br /&gt;
&lt;br /&gt;
Diogo Gon&amp;amp;ccedil;alves (dionet)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Adding new questions/subquestions and groups dynamically==&lt;br /&gt;
&lt;br /&gt;
Currently in LimeSurvey once a survey is activate we can not&lt;br /&gt;
*Add or delete groups&lt;br /&gt;
*Add or delete questions&lt;br /&gt;
*Add or delete subquestions or change their codes&lt;br /&gt;
&lt;br /&gt;
The idea is to cover these shortcomings. And in addition, all those participants who have already taken that survey must also be notified about the changes. You should also work out in detail what happens to existing results when a survey is changed that way.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Experience with the PHP framework Yii and knowledge of inner working of LimeSurvey is must!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Jason Cleeland (jcleeland)&lt;br /&gt;
&lt;br /&gt;
Diogo Gon&amp;amp;ccedil;alves (dionet)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Enhance Expression Manager==&lt;br /&gt;
&lt;br /&gt;
Starting with LimeSurvey 1.92, all of the front-end (survey-taking) processing is now managed using Expression Manager (EM).  EM implements a safe subset of PHP syntax so that authors can write complex equations.  It is integrated into LimeSuvey to control navigation (branching via relevance), validation, and tailoring/piping of content.  Although it is quite powerful, users are already asking for enhancements.&lt;br /&gt;
#Add a GUI for Expression Manager&lt;br /&gt;
**Background:  LimeSurvey has a nice GUI for building conditions, but it does not support complex equations such as those available within EM.  EM does have robust syntax highlighting after an equation is saved, which makes it easy to fix any syntax errors.  Hoever, users would like a GUI to ease authoring of equations.&lt;br /&gt;
***Create CodeMirror syntax file to do appropriate syntax highlighting (use C as base language), ensuring that CodeMirror knows the set of valid operators&lt;br /&gt;
#Support sub-question-level Relevance&lt;br /&gt;
**Background:  EM already supports user-entered relevance equations at the group and question levels.  It also generates sub-question-level relevance for features like array_filter.  Users would like to be able ot add additional relevance criteria at the sub-question level.&lt;br /&gt;
#Add Sub-question-level Validation&lt;br /&gt;
**Background:  The question-level validation supports regular-expression-based validation of each sub-question.  Users would like to have sub-question-level validation to implement things like a question for collecting user contact information, where there are different validation criteria for address parts (e.g. city, state, postal code) and phone numbers.&lt;br /&gt;
#Add Sub-question-level mandatory criteria&lt;br /&gt;
**Background:  Many users have asked, via the forums, for ways to make parts of a multi-part questions mandatory, but make other parts optional.  LimeSurvey already provides many options, such as minimum and maxium numbers of answers; but users have asked for more fine-grained control, and currently can only achieve that via custom JavaScript.&lt;br /&gt;
#Add native support for input-masks at the question and sub-question level&lt;br /&gt;
**Background:  One of the commonly used work-arounds deals with input masks, such as the jQuery meimomask plugin.&lt;br /&gt;
#Add EM reporting functions (tables)&lt;br /&gt;
**Background: There is commonly request for enhancemnt of the print answers table at the end of the survey.  Some users want to generate custom reports mid-survey.&lt;br /&gt;
#Add better EM support for operations on array type questions&lt;br /&gt;
**Background:  Many of the EM validation rules are effectively statements like count the number of empty sub-questions, or sum the values of the sub-questions.  EM generates these functions itself, so there is no burden on the user, even if there ar dozens of sub-quetions.  However, manual editing of these questions is cumbersom. Users could benefit from special variables to access all of the elements of a question so that they could write functions like (sum(this) == 10)) and have it be expanded to (sum(q1_1, q1_2, ..., q1_N) == 10).  Note, there is already a &amp;quot;this&amp;quot; variable, but it does not apply to sub-questions.&lt;br /&gt;
#Add EM functions to validate data entry against value sets managed by Enterprise Vocabulary Systems&lt;br /&gt;
**Background:  Healthcare and biological sciences increasing use large controlled vocabularies, terminologies, or ontologies.  Data entry systems for such domains require validation against those vocabularies.  Large open-source projects, like [https://cabig.nci.nih.gov/community/tools/LexEVS_Server LexEVS] and [http://apelon.com/Products/DTS/tabid/97/Default.aspx Apelon DTS] provide open APIs to access that content.  Such tools let one validate diagnostic codes, and even do incremental search into those vocabularies as one types.  The main open projects are standardizing on the [http://hssp.wikispaces.com/cts2 CTS-2] (Clinical Terminology Services-2) specification.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, SQL, PHP Debugging (e.g. xdebug), Yii, LimeSurvey&#039;s Expression Manager and code-base in general&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Medium to Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Thomas White (TMSWhite)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Optimize LimeSurvey for Long Surveys (and better performance and maintenance in general)==&lt;br /&gt;
&lt;br /&gt;
Although LimeSurvey is excellent for short and mid-length surveys, it is not optimized for surveys with hundreds or thousands of questions - such as those used by epidemiologists or in clinical trials.  This project would tackle each of those main limitations.  Those sub-tasks, and the development strategy include:&lt;br /&gt;
#Support for more than 1000 database columns&lt;br /&gt;
**Background: LS creates a horizontal table for survey data collection, and such tables often are limited to at most 1000 columns&lt;br /&gt;
#Memory and Code Optimization&lt;br /&gt;
**Background: LS loads the survey definition data model into several different data structures, such that it uses at least twice as much storage as it really needs.  Expression Manager now holds all of the instrument definition data, so the other data stores are no longer needed.&lt;br /&gt;
#Run-Time Performance Optimization&lt;br /&gt;
**Background:  qanda.php loads the content to create the questions and answers.  It used to do this by separate database queries per question.&lt;br /&gt;
#Design-Time Performance Optimization&lt;br /&gt;
**Background:  LS used to only load the information from the data model that was needed for the given question or group.  EM had to load the entire data model to properly syntax highlight everything.  This can lead to some performance degradation in very long surveys&lt;br /&gt;
#Optimizations for Rapid Development&lt;br /&gt;
**Background:  LS has a nice GUI for editing single questions at a time.  However, it is not optimized to make changes to multiple questions at a time.  Some competitor systems let authors design surveys using an Excel template (e.g. so that they can do bulk find and replace, or easily copy similar portions or answer lists).  Short of a full-blown AJAX-enabled admin system, this has the highest throughput potential&lt;br /&gt;
#Performance Validation&lt;br /&gt;
**Load test surveys of varying lenghts&lt;br /&gt;
**Identify performance and memory bottlenecks&lt;br /&gt;
**Idenfity minimum memory requirements for certain survey lengths and concurrent user volumes&lt;br /&gt;
**Propose strategy to overcome those performance issues&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, SQL, PHP Debugging (e.g. xdebug), Yii, LimeSurvey&#039;s Expression Manager and code-base in general, Load testing tool (e.g. webload), PHP Profiler&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Medium to Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Thomas White (TMSWhite)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Idea template==&lt;br /&gt;
&lt;br /&gt;
Describe the idea here in general terms&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Explain what sort of coding skills would be needed for a student to implement this project&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Explain the level of difficulty involved&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Put your name (and tag) here if you are willing to mentor a student for this idea&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=More information=&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
&lt;br /&gt;
[[GSoC getting started|Check out our &#039;Get started&#039; page]] for setting up the development environment, coding standards, and all the other important stuff that you need to know before the real fun begins!&lt;br /&gt;
&lt;br /&gt;
==Frequently Asked Questions==&lt;br /&gt;
&lt;br /&gt;
Check out [[GSoC FAQ|our GSoC FAQ page.]]&lt;/div&gt;</summary>
		<author><name>Dionet</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Project_Ideas_for_GSoC_2012&amp;diff=2530</id>
		<title>Project Ideas for GSoC 2012</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Project_Ideas_for_GSoC_2012&amp;diff=2530"/>
		<updated>2012-02-23T22:12:34Z</updated>

		<summary type="html">&lt;p&gt;Dionet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Welcome=&lt;br /&gt;
&lt;br /&gt;
Welcome Google Summer of Code Student aspirants (:razz:)&lt;br /&gt;
&lt;br /&gt;
This page lists project ideas developed by the LimeSurvey Community. These tend to be areas that will get the most support as projects since they have been developed by people who know the project and what it needs the most. &#039;&#039;&#039;However&#039;&#039;&#039;, if you have your own idea for a project discuss your awesome idea with us in our [http://www.limesurvey.org/en/forum forums], [https://lists.sourceforge.net/lists/listinfo/limesurvey-developers mailing list] or at [http://www.limesurvey.org/en/support/live-chat #limesurvey on irc.freenode.net]. Then submit your proposal. Good Luck (:biggrin:)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Project ideas=&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Refactor all question types to a modular OOP format==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Implement a fully featured XMP-RPC API complete with unit test==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Add a unit testing framework and write tests==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Integrate the DBSE into Yii==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Develop Improved &#039;bulk&#039; Question Handling UI (and other UI enhancements)==&lt;br /&gt;
&lt;br /&gt;
The idea is to provide ways of updating and modifying multiple questions, or multiple groups in one go. Often in a survey a user will need to make parallel changes to 5 or 6 questions all at once across a range of different groups. Being able to select various elements of questions, and then select a range of questions to edit would dramatically improve LimeSurvey&#039;s usability from the administrators perspective.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, SQL, Yii, Authentication protocols (openID, CAS, LDAP-bind, ...)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Jason Cleeland (jcleeland)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Implement a modular authentication framework==&lt;br /&gt;
&lt;br /&gt;
The idea is to design and implement a modular authentication &amp;quot;framework&amp;quot; for LimeSurvey as well as some authentication modules. The Authentication framework will define the API each authentication plugin must (or may) implement and propose basic methods that can be used by plugins (for instance how to store the plugins parameters in DB, how to display a form using the survey template). A plugin will be responsible to implement, for each particular authentication backend, specific methods (some mandatory, some optional) such as: user authentication, user provisioning, user rights, ...&lt;br /&gt;
&lt;br /&gt;
Currently authentication is only used for the survey-administration GUI and not the participants interface (tokens are used for this). With the new authentication framework it will be possible to define several authentication backends and use some of them for participants-authentication.&lt;br /&gt;
&lt;br /&gt;
The generic authentication framework must define the following services:&lt;br /&gt;
* User authentication: this interface must return the identity of the authenticated user if authentication is successful.&lt;br /&gt;
** Authentication may not always be based on a simple user/password form, so the proposed framework must be generic enough to enable authentication based on other schemes (using any numbers or interaction-pages between the server and the end-user or any other contextual parameter such as Referrer, session variable...&lt;br /&gt;
* User provisioning:&lt;br /&gt;
** when activated on the survey administration interface, an authentication module might be able to create a newly authenticated user into the LimeSurvey internal DB (which is required for setting the user rights on the platform). The newly created user can be assigned a default profile or a per-user profile (queried from an external database).&lt;br /&gt;
** when activated on the participants interface, the authentication module will provision the token table of the corresponding survey // alternatively the general-purpose cross-survey participants-database as described in the above GSoC idea.&lt;br /&gt;
&lt;br /&gt;
The already existing authentication schemes will be ported to the new framework (internal-DB and Web server authentication delegation) and at least a new one will be implemented (openID, CAS, Shibboleth).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, SQL, Yii, Authentication protocols (openID, CAS, LDAP-bind, ...)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Medium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Unknown&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Want to know more&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please read the [http://docs.limesurvey.org/tiki-index.php?page=GSOC+2010++Authentication+framework#FAQ FAQ about this project]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Custom Report Generation==&lt;br /&gt;
&lt;br /&gt;
The task is to make a module which will generate custom reports. Module should be able to do these things(at least) :-&lt;br /&gt;
*Creating various types of reports i.e. using tables, pie charts, graphs and bar-charts to name few.&lt;br /&gt;
*The resulting charts and other illustrations should be easy to read and understand, and should include the ability to export into standard office suites.&lt;br /&gt;
*Reports can be general or survey specific.&lt;br /&gt;
**General in the sense that it should show basic findings of a general survey graphically like number of users completing the survey, average time taken to complete the survey, average number of correct responses etc.&lt;br /&gt;
**Survey specific results should also be addressed properly e.g. how many users choose first option as there answer of a particular question, how many users didn&#039;t answer a specific question etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
OOP experience in PHP and experience with a PHP framework like CakePHP or CodeIgniter, jQuery. Strong mathematical background will help!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carsten Schmitz (c_schmitz)&lt;br /&gt;
&lt;br /&gt;
Jason Cleeland (jcleeland)&lt;br /&gt;
&lt;br /&gt;
Diogo Gon&amp;amp;ccedil;alves (dionet)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Adding new questions/subquestions and groups dynamically==&lt;br /&gt;
&lt;br /&gt;
Currently in LimeSurvey once a survey is activate we can not&lt;br /&gt;
*Add or delete groups&lt;br /&gt;
*Add or delete questions&lt;br /&gt;
*Add or delete subquestions or change their codes&lt;br /&gt;
&lt;br /&gt;
The idea is to cover these shortcomings. And in addition, all those participants who have already taken that survey must also be notified about the changes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Experience with a PHP framework like CakePHP or CodeIgniter and knowledge of inner working of LimeSurvey is must!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moderate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Carsten Schmitz (c_schmitz)&lt;br /&gt;
&lt;br /&gt;
Jason Cleeland (jcleeland)&lt;br /&gt;
&lt;br /&gt;
Diogo Gon&amp;amp;ccedil;alves (dionet)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Enhance Expression Manager==&lt;br /&gt;
&lt;br /&gt;
Starting with LimeSurvey 1.92, all of the front-end (survey-taking) processing is now managed using Expression Manager (EM).  EM implements a safe subset of PHP syntax so that authors can write complex equations.  It is integrated into LimeSuvey to control navigation (branching via relevance), validation, and tailoring/piping of content.  Although it is quite powerful, users are already asking for enhancements.&lt;br /&gt;
#Add a GUI for Expression Manager&lt;br /&gt;
**Background:  LimeSurvey has a nice GUI for building conditions, but it does not support complex equations such as those available within EM.  EM does have robust syntax highlighting after an equation is saved, which makes it easy to fix any syntax errors.  Hoever, users would like a GUI to ease authoring of equations.&lt;br /&gt;
**Strategy - use CodeMirror - see [http://bugs.limesurvey.org/view.php?id=5279 here]&lt;br /&gt;
***Create CodeMirror syntax file to do appropriate syntax highlighting (use C as base language), ensuring that CodeMirror knows the set of valid operators&lt;br /&gt;
***Use CodeMirror API to let it know the names of registered function and variable names&lt;br /&gt;
***Utilize auto-complete, ideally letting users see and choose among the availalbe function  syntaxes (e.g. when a function can take several paameters).&lt;br /&gt;
***Auto-completion of variable names should show the question and question type to make it easier for users to pick the correct variable.&lt;br /&gt;
#Support sub-question-level Relevance&lt;br /&gt;
**Background:  EM already supports user-entered relevance equations at the group and question levels.  It also generates sub-question-level relevance for features like array_filter.  Users would like to be able ot add additional relevance criteria at the sub-question level.&lt;br /&gt;
**Strategy:&lt;br /&gt;
***Add a relevance column to the display of sub-questions, and ensure entered relevance is saved the to database (the data model is already OK)&lt;br /&gt;
***Refactor createFieldMap() (or its successor) to read sub-question-level relevance into the run-time data structures so that passed to EM&lt;br /&gt;
***Enhance EM&#039;s sub-question-level data structures to hold sub-question-level releavance&lt;br /&gt;
***Update EM&#039;s _ValidateQuestion() and JavaScript generation functions to AND any manually-entered sub-question-level relevance equations with that auto-generated for array_filter and array_filter_exclude&lt;br /&gt;
***Update ShowSurveyLogicFile() to show sub-question-level relevance equations ***Rigorously unit and regresssion test these changes.&lt;br /&gt;
#Add Sub-question-level Validation&lt;br /&gt;
**Background:  The question-level validation supports regular-expression-based validation of each sub-question.  Users would like to have sub-question-level validation to implement things like a question for collecting user contact information, where there are different validation criteria for address parts (e.g. city, state, postal code) and phone numbers.&lt;br /&gt;
**Strategy:  Similar to sub-question-level relevance&lt;br /&gt;
***Add data entry fields for regular expression validation at the sub-question level, and ensure saved to database (which already has a preg field at the sub-question level)&lt;br /&gt;
***Ensure EM gets access to the new preg values (via upgrade to createFieldMap)&lt;br /&gt;
***Upgrade EM _ValidateQuesation() and function for generation of validation equations to include these new critiera.  EM already supports validation at the sub-question level (and changes the CSS style to show fields that fail this validation)&lt;br /&gt;
***Upgrade ShowSurveyLogicFile() to show sub-question-level validation rules&lt;br /&gt;
***Rigorously unit and regresssion test these changes.&lt;br /&gt;
#Add Sub-question-level mandatory criteria&lt;br /&gt;
**Background:  Many users have asked, via the forums, for ways to make parts of a multi-part questions mandatory, but make other parts optional.  LimeSurvey already provides many options, such as minimum and maxium numbers of answers; but users have asked for more fine-grained control, and currently can only achieve that via custom JavaScript.&lt;br /&gt;
**Strategy:  Similar to sub-question-level relevance&lt;br /&gt;
***Add checkbox to indicate mandatory status at the sub-question level&lt;br /&gt;
#Add native support for input-masks at the question and sub-question level&lt;br /&gt;
**Background:  One of the commonly used work-arounds deals with input masks, such as the jQuery meimomask plugin.&lt;br /&gt;
**Strategy:&lt;br /&gt;
***Add mask attribute at question and sub-question level&lt;br /&gt;
***Have EM generate needed JavaScript code to create and manage those masks&lt;br /&gt;
#Add EM reporting functions (tables)&lt;br /&gt;
**Background: There is commonly request for enhancemnt of the print answers table at the end of the survey.  Some users want to generate custom reports mid-survey.&lt;br /&gt;
**Strategy:&lt;br /&gt;
***Implement showAllResponsesExcept(attributeList,attributeTitleList,questionList) function.  questionList = list of question identifiers; attributeList = pipe-delimited list of attributes (like question#, title, text, type - so you can decide what to show); attributeTitleList = pipe-delimited list of table headers, so can internationalize the report.&lt;br /&gt;
***Implement showTheseResponses(attributeList,attributeTitleList,questionList) function. questionList = list of question identifiers; attributeList = pipe-delimited list of attributes (like question#, title, text, type - so you can decide what to show); attributeTitleList = pipe-delimited list of table headers, so can internationalize the report.&lt;br /&gt;
#Add better EM support for operations on array type questions&lt;br /&gt;
**Background:  Many of the EM validation rules are effectively statements like count the number of empty sub-questions, or sum the values of the sub-questions.  EM generates these functions itself, so there is no burden on the user, even if there ar dozens of sub-quetions.  However, manual editing of these questions is cumbersom. Users could benefit from special variables to access all of the elements of a question so that they could write functions like (sum(this) == 10)) and have it be expanded to (sum(q1_1, q1_2, ..., q1_N) == 10).  Note, there is already a &amp;quot;this&amp;quot; variable, but it does not apply to sub-questions.&lt;br /&gt;
**Strategy:&lt;br /&gt;
***Extend EM so that &amp;quot;this&amp;quot; variable gets expanded into a comma separate list of sub-question references if there are sub-questions.  Have this expansion carry the suffix, so this.valueNAOK would become q_1.valueNAOK, q_2.valueNAOK, ..., q_N.valueNAOK.&lt;br /&gt;
***This macro expansion should occur in group.php (e.g. in the process of generating JavaScript), rather than having this variable be resolved at run-time within JavaScript.&lt;br /&gt;
***Provide similar array-expansion macros for all variables (not just &amp;quot;this&amp;quot;) - such as qcode_vars.*.  This would also functions like sum(qcode_vars.NAOK), count(qcode_vars.NAOK), implode(&#039; &#039;, qcode_vars.valueNAOK)&lt;br /&gt;
***For questions with comments, create macros like qcode_vars_nc and qcode_vars_oc for no-comments and  only-comments&lt;br /&gt;
***For arrays that might need row or  column-level processing, create aliases  like qcode_rowname_vars and qcode_colname_vars so can expand each.  This would let us replace the current system for generating row and column sums with equations like sum(qcode_rowname_vars.NAOK) and be sure that the sums will honor array_filter and array_filter_exclude.&lt;br /&gt;
#Add EM functions to validate data entry against value sets managed by Enterprise Vocabulary Systems&lt;br /&gt;
**Background:  Healthcare and biological sciences increasing use large controlled vocabularies, terminologies, or ontologies.  Data entry systems for such domains require validation against those vocabularies.  Large open-source projects, like [https://cabig.nci.nih.gov/community/tools/LexEVS_Server LexEVS] and [http://apelon.com/Products/DTS/tabid/97/Default.aspx Apelon DTS] provide open APIs to access that content.  Such tools let one validate diagnostic codes, and even do incremental search into those vocabularies as one types.  The main open projects are standardizing on the [http://hssp.wikispaces.com/cts2 CTS-2] (Clinical Terminology Services-2) specification.&lt;br /&gt;
**Strategy:&lt;br /&gt;
***Create EM-compatible PHP and JavaScript functions to access CTS-2 compliant EVS systems&lt;br /&gt;
***Should include question and sub-question-level validation rules to validate the final entry.  Currently, thre are em_validation_q and em_validation_sq advanced quation attributes for validating questions and sub-questions based upon calls to external functions.  It may be desirable to support custom sub-question-level validation to validate each sub-question against different value sets.  If so, can follow the model of adding sub-question-level validation and relevance.  Alternatively, may be desirable to add sub-question-level advanced question options (if LimeSurvey community feels that there may be enough such extensions that such customization should be stored in a general attribute table rather than making the questions table wider).&lt;br /&gt;
***Should also include ability to do incremetal searches into the value sets&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, SQL, PHP Debugging (e.g. xdebug), Yii, LimeSurvey&#039;s Expression Manager and code-base in general&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Medium to Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Thomas White (TMSWhite)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Optimize LimeSurvey for Long Surveys (and better performance in general)==&lt;br /&gt;
&lt;br /&gt;
Although LimeSurvey is excellent for short and mid-length surveys, it is not optimized for surveys with hundreds or thousands of questions - such as those used by epidemiologists or in clinical trials.  This project would tackle each of those main limitations.  Those sub-tasks, and the development strategy include:&lt;br /&gt;
#Support for more than 1000 database columns&lt;br /&gt;
**Background: LS creates a horizontal table for survey data collection, and such tables often are limited to at most 1000 columns&lt;br /&gt;
**Strategies:&lt;br /&gt;
***Remove unneeded columns from horizontal table (e.g. type &#039;X&#039;)&lt;br /&gt;
***Conditionally remove unneeded equation columns (e.g. let users specify a prefix for variable names that should not be stored)&lt;br /&gt;
***Add option for Entity Attribute Value data model for data collection (which can support unlimited number of columns.  See details [http://bugs.limesurvey.org/view.php?id=5289 here].&lt;br /&gt;
#Memory Optimization&lt;br /&gt;
**Background: LS loads the survey definition data model into several different data structures, such that it uses about 2 to 10 times as much storage as it really needs.  Expression Manager now holds all of the instrument definition data, so the other data stores are no longer needed.&lt;br /&gt;
**Strategy&lt;br /&gt;
***Remove need for buildsurveysession() - gap analysis to add in any missing content to EM&lt;br /&gt;
***Remove need for createFieldMap() - similar gap analysis&lt;br /&gt;
***Normalize EM data structures to avoid internal duplication (there are about 4 structures that hold over-lapping code)&lt;br /&gt;
***Refactor EM so that stores normalized copies of secondary language text&lt;br /&gt;
#Run-Time Performance Optimization&lt;br /&gt;
**Background:  qanda.php loads the content to create the questions and answers.  It used to do this by separate database queries per question.&lt;br /&gt;
**Strategy&lt;br /&gt;
***Refactor qanda.php to remove queries (like for &amp;quot;other&amp;quot;, or sub-question text) - have it get that information from EM&lt;br /&gt;
***Refactor LS so that language switching does not require a re-load of the core logic, but just the new language content  (and that it gets this from EM)&lt;br /&gt;
#Design-Time Performance Optimization&lt;br /&gt;
**Background:  LS used to only load the information from the data model that was needed for the given question or group.  EM had to load the entire data model to properly syntax highlight everything.  This can lead to some performance degradation in very long surveys&lt;br /&gt;
**Strategy:&lt;br /&gt;
***Add methods to EM to just load changes to model as questions or groups are added, removed, or updated&lt;br /&gt;
***Pass those updates into EM internals so that syntax highlighting continues to be correct&lt;br /&gt;
***Ensure that admin pages only call the subset of EM functions needed to do accurate syntax highlighting.&lt;br /&gt;
#Optimizations for Rapid Development&lt;br /&gt;
**Background:  LS has a nice GUI for editing single questions at a time.  However, it is not optimized to make changes to multiple questions at a time.  Some competitor systems let authors design surveys using an Excel template (e.g. so that they can do bulk find and replace, or easily copy similar portions or answer lists).  Short of a full-blown AJAX-enabled admin system, this has the highest throughput potential&lt;br /&gt;
**Strategy:&lt;br /&gt;
***Create an Excel data model that would work for importing surveys&lt;br /&gt;
***Create import and validation routines from that model&lt;br /&gt;
***A similar model, which could be extended for LS, is noted [http://bugs.limesurvey.org/view.php?id=5105 here].&lt;br /&gt;
#Performance Validation&lt;br /&gt;
**Load test surveys of varying lenghts&lt;br /&gt;
**Identify performance and memory bottlenecks&lt;br /&gt;
**Idenfity minimum memory requirements for certain survey lengths and concurrent user volumes&lt;br /&gt;
**Propose strategy to overcome those performance issues&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP, SQL, PHP Debugging (e.g. xdebug), Yii, LimeSurvey&#039;s Expression Manager and code-base in general, Load testing tool (e.g. webload), PHP Profiler&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Medium to Hard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Thomas White (TMSWhite)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Idea template==&lt;br /&gt;
&lt;br /&gt;
Describe the idea here in general terms&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skills&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Explain what sort of coding skills would be needed for a student to implement this project&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Explain the level of difficulty involved&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Probable Mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Put your name (and tag) here if you are willing to mentor a student for this idea&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=More information=&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
&lt;br /&gt;
[[GSoC getting started|Check out our &#039;Get started&#039; page]] for setting up the development environment, coding standards, and all the other important stuff that you need to know before the real fun begins!&lt;br /&gt;
&lt;br /&gt;
==Frequently Asked Questions==&lt;br /&gt;
&lt;br /&gt;
Check out [[GSoC FAQ|our GSoC FAQ page.]]&lt;/div&gt;</summary>
		<author><name>Dionet</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=LimeSurvey_project_ideas_for_Google_Code-in_2011&amp;diff=2054</id>
		<title>LimeSurvey project ideas for Google Code-in 2011</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=LimeSurvey_project_ideas_for_Google_Code-in_2011&amp;diff=2054"/>
		<updated>2011-10-29T23:12:30Z</updated>

		<summary type="html">&lt;p&gt;Dionet: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Welcome=&lt;br /&gt;
&lt;br /&gt;
Welcome Google Code-in Student aspirants (:razz:)!! Please check if you are an [http://code.google.com/opensource/gci/2010-11/faqs.html eligible candidate] for the GCI program.&lt;br /&gt;
&lt;br /&gt;
This page lists task ideas developed by the LimeSurvey Community. These tend to be areas that will get the most support as tasks since they have been developed by people who know the project and what it needs the most. Good Luck (:biggrin:)&lt;br /&gt;
&lt;br /&gt;
All tasks aim at the development version 2.0a.&lt;br /&gt;
&lt;br /&gt;
=How to claim a task=&lt;br /&gt;
&lt;br /&gt;
All tasks below will be entered in the [http://www.google-melange.com/gci/program/list_tasks/google/gci2011 Google Code-in task tracker] (which is not yet available). You have to be a registered Google Code-In participant to claim a task.&lt;br /&gt;
&lt;br /&gt;
=Task ideas=&lt;br /&gt;
&lt;br /&gt;
==Idea Template==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;This is just a template you can use to add your ideas:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Code/Documentation/Outreach/Quality assurance/Training/Research/User interface: Some descriptive task description===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: &amp;lt;myname&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here comes some text describing the current situation and how Limesurvey will benefit from this task. The description should make clear what this task is about.&lt;br /&gt;
&lt;br /&gt;
Task steps:&lt;br /&gt;
*Some steps like...&lt;br /&gt;
*Install Limesurvey or use the online system we provide&lt;br /&gt;
*Analyse the problem&lt;br /&gt;
*Discuss the issue and your proposed solution with your mentor&lt;br /&gt;
*Code/document/translate/... and submit your work&lt;br /&gt;
*Discuss the work with your mentor&lt;br /&gt;
*Check-in your changes into the limesurvey svn trunk/add it to the wiki/...&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|X days||some skills the applicants should have|| easy/moderate/difficult||mentorname&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Localization==&lt;br /&gt;
&lt;br /&gt;
===Localization: Translate LimeSurvey to your mother language===&lt;br /&gt;
&lt;br /&gt;
The LimeSurvey software is available in more than 50 languages - not all of them are completely translated. Check if your language is supported at: http://www.limesurvey.org/translationstatus_v2/&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Check out if your language is already there and if the translation status is below 70% OR if your language does not exist at all.&lt;br /&gt;
*Read the documentation on [[how to update a translation or how to create a new one.|Translating LimeSurvey]]&lt;br /&gt;
*Translate as crazy - check your translation using a local copy of LimeSurvey.&lt;br /&gt;
*Submit your updated/new translation to us.&lt;br /&gt;
&lt;br /&gt;
Updating a translation from &amp;lt;70% to 100%:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 Days||Translation|| Easy ||c_schmitz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
New translation (at least 50%):&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|3 Days||Translation|| Moderate ||c_schmitz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Translation: (GERMAN) Translate the english &amp;quot;Expression Manager&amp;quot; docs page to German===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The upcoming Limesurvey 2.0 version will contain a powerful &amp;quot;Expression Manager&amp;quot; which replaces conditions and some other features. The documentation of this new feature is only available in English yet. Your task is to [http://docs.limesurvey.org/Expression+Manager translate the current wiki page] to German.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at the english page at http://docs.limesurvey.org/Expression+Manager&lt;br /&gt;
*Create a new German translation of this page directly at our wiki and translate the page carefully&lt;br /&gt;
*Discuss the translation with your mentor&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 days||German and English language|| easy||mot2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Translation: (GERMAN) Translate the english &amp;quot;Central Participants Database&amp;quot; docs page to German===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The upcoming Limesurvey 2.0 version will have a new feature called &amp;quot;Central Participants Database&amp;quot; (CPDB). The documentation of this new feature is only available in English yet. Your task is to [http://docs.limesurvey.org/Central+participants+database+%28User+panel%29 translate the current wiki page] to German.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at the english page at http://docs.limesurvey.org/Central+participants+database+%28User+panel%29&lt;br /&gt;
*Create a new German translation of this page directly at our wiki and translate the page carefully&lt;br /&gt;
*Discuss the translation with your mentor&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 days||German and English language|| easy||mot2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Translation: (GERMAN) Translate the english &amp;quot;Creating a new survey&amp;quot; docs page to German===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Creating a new survey&amp;quot; page is one of the most important pages at our documentation because it lists all available survey settings. Unfortunately the German documentation of this page is really outdated. Your task is to [http://docs.limesurvey.org/tiki-index.php?page=Erstellen+einer+neuen+Umfrage update the German translation of that wiki page] based on the [http://docs.limesurvey.org/Creating+a+new+survey&amp;amp;structure;=English+Instructions+for+LimeSurvey current english wiki page].&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at the english page at http://docs.limesurvey.org/Creating+a+new+survey&amp;amp;structure;=English+Instructions+for+LimeSurvey&lt;br /&gt;
*Check if it&#039;s worth keeping parts of the [http://docs.limesurvey.org/tiki-index.php?page=Erstellen+einer+neuen+Umfrage current German version]. If so, update the existing page, if not, clear the page and translate the [http://docs.limesurvey.org/Creating+a+new+survey&amp;amp;structure;=English+Instructions+for+LimeSurvey english base version].&lt;br /&gt;
*Create the German translation of this page directly at our wiki.&lt;br /&gt;
*Check if your new/updated translation contains all information of the english base version.&lt;br /&gt;
*Discuss the translation with your mentor&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 days||German and English language|| easy||mot2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Translation: (GERMAN) Translate the english &amp;quot;Advanced question settings&amp;quot; docs page to German===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Advanced qustion attributes&amp;quot; page is one of the most important pages at our documentation because it lists all available question attributes which enhance question functionality. Unfortunately the German documentation of this page is really outdated. Your task is to [http://docs.limesurvey.org/tiki-index.php?page=Frage-Attribute update the German translation of that wiki page] based on the [http://docs.limesurvey.org/tiki-index.php?page=Advanced+question+settings current english wiki page].&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at the english page at http://docs.limesurvey.org/tiki-index.php?page=Advanced+question+settings&lt;br /&gt;
*Check if it&#039;s worth keeping parts of the [http://docs.limesurvey.org/tiki-index.php?page=Frage-Attribute current German version]. If so, update the existing page, if not, clear the page and translate the [http://docs.limesurvey.org/tiki-index.php?page=Advanced+question+settings english base version].&lt;br /&gt;
*Create the German translation of this page directly at our wiki.&lt;br /&gt;
*Check if your new/updated translation contains all information of the english base version.&lt;br /&gt;
*Discuss the translation with your mentor&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 days||German and English language|| easy||mot2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Translation: (GERMAN) Translate the english &amp;quot;Tokens&amp;quot; docs page to German===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Tokens&amp;quot; page is one of the most important pages at our documentation because feature is used a lot to restrict access to a survey on predefined users. Unfortunately the German documentation of this page is really outdated. Your task is to [http://docs.limesurvey.org/Zugangsschl%C3%BCssel&amp;amp;structure;=Deutsche+Anleitung+f%C3%BCr+LimeSurvey update the German translation of that wiki page] based on the [http://docs.limesurvey.org/Tokens&amp;amp;structure;=English+Instructions+for+LimeSurvey current english wiki page].&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at the english page at http://docs.limesurvey.org/Tokens&amp;amp;structure;=English+Instructions+for+LimeSurvey&lt;br /&gt;
*Check if it&#039;s worth keeping parts of the [http://docs.limesurvey.org/Zugangsschl%C3%BCssel&amp;amp;structure;=Deutsche+Anleitung+f%C3%BCr+LimeSurvey current German version]. If so, update the existing page, if not, clear the page and translate the [http://docs.limesurvey.org/Tokens&amp;amp;structure;=English+Instructions+for+LimeSurvey english base version].&lt;br /&gt;
*Create the German translation of this page directly at our wiki.&lt;br /&gt;
*Check if your new/updated translation contains all information of the english base version.&lt;br /&gt;
*Discuss the translation with your mentor&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 days||German and English language|| easy||mot2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Translation: (GERMAN) Translate the english &amp;quot;Installer&amp;quot; docs page to German===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The new installer is one of the most important featres of the new Limesurvey 2.0 version. Once the English instructions page ([http://docs.limesurvey.org/LimeSurvey+project+ideas+for+Google+Code-in+2011#Documentation:_Rewrite_installation_procedure see this idea]) was set up, the German translation of that page has to be created.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at the english installer page once it was set up.&lt;br /&gt;
*Create the German translation of this page directly at our wiki.&lt;br /&gt;
*Check if your new/updated translation contains all information of the english base version.&lt;br /&gt;
*Discuss the translation with your mentor&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 days||German and English language|| easy||mot2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;--&lt;br /&gt;
&lt;br /&gt;
===Translation: (FRENCH) Translate the english &amp;quot;Expression Manager&amp;quot; docs page to French===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The upcoming Limesurvey 2.0 version will contain a powerful &amp;quot;Expression Manager&amp;quot; which replaces conditions and some other features. The documentation of this new feature is only available in English yet. Your task is to [http://docs.limesurvey.org/Expression+Manager translate the current wiki page] to French.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at the english page at http://docs.limesurvey.org/Expression+Manager&lt;br /&gt;
*Create a new French translation of this page directly at our wiki and translate the page carefully&lt;br /&gt;
*Discuss the translation with your mentor&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 days||French and English language|| easy||Shnoulle&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Translation: (FRENCH) Translate the english &amp;quot;Central Participants Database&amp;quot; docs page to French===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The upcoming Limesurvey 2.0 version will have a new feature called &amp;quot;Central Participants Database&amp;quot; (CPDB). The documentation of this new feature is only available in English yet. Your task is to [http://docs.limesurvey.org/Central+participants+database+%28User+panel%29 translate the current wiki page] to French.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at the english page at http://docs.limesurvey.org/Central+participants+database+%28User+panel%29&lt;br /&gt;
*Create a new French translation of this page directly at our wiki and translate the page carefully&lt;br /&gt;
*Discuss the translation with your mentor&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 days||French and English language|| easy||Shnoulle&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Translation: (FRENCH) Translate the english &amp;quot;Creating a new survey&amp;quot; docs page to French===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Creating a new survey&amp;quot; page is one of the most important pages at our documentation because it lists all available survey settings. Unfortunately the French documentation of this page is really outdated. Your task is to [http://docs.limesurvey.org/Cr%C3%A9er+un+nouveau+questionnaire update the French translation of that wiki page] based on the [http://docs.limesurvey.org/Creating+a+new+survey&amp;amp;structure;=English+Instructions+for+LimeSurvey current english wiki page].&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at the english page at http://docs.limesurvey.org/Creating+a+new+survey&amp;amp;structure;=English+Instructions+for+LimeSurvey&lt;br /&gt;
*Check if it&#039;s worth keeping parts of the [http://docs.limesurvey.org/Cr%C3%A9er+un+nouveau+questionnaire current French version]. If so, update the existing page, if not, clear the page and translate the [http://docs.limesurvey.org/Creating+a+new+survey&amp;amp;structure;=English+Instructions+for+LimeSurvey english base version].&lt;br /&gt;
*Create the French translation of this page directly at our wiki.&lt;br /&gt;
*Check if your new/updated translation contains all information of the english base version.&lt;br /&gt;
*Discuss the translation with your mentor&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|1 day||French and English language|| easy||Shnoulle&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Translation: (FRENCH) Translate the english &amp;quot;Advanced question settings&amp;quot; docs page to French===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Advanced question attributes&amp;quot; page is one of the most important pages at our documentation because it lists all available question attributes which enhance question functionality. Unfortunately the French documentation of this page is really outdated. Your task is to [http://docs.limesurvey.org/tiki-index.php?page=Attributs+des+questions update the French translation of that wiki page] based on the [http://docs.limesurvey.org/tiki-index.php?page=Advanced+question+settings current english wiki page].&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at the english page at http://docs.limesurvey.org/tiki-index.php?page=Advanced+question+settings&lt;br /&gt;
*Check if it&#039;s worth keeping parts of the [http://docs.limesurvey.org/tiki-index.php?page=Attributs+des+questions current French version]. If so, update the existing page, if not, clear the page and translate the [http://docs.limesurvey.org/tiki-index.php?page=Advanced+question+settings english base version].&lt;br /&gt;
*Create the French translation of this page directly at our wiki.&lt;br /&gt;
*Check if your new/updated translation contains all information of the english base version.&lt;br /&gt;
*Discuss the translation with your mentor&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 days||French and English language|| easy||Shnoulle&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Translation: (FRENCH) Translate the english &amp;quot;Tokens&amp;quot; docs page to French===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Tokens&amp;quot; page is one of the most important pages at our documentation because feature is used a lot to restrict access to a survey on predefined users. Unfortunately the French documentation of this page is really outdated. Your task is to [http://docs.limesurvey.org/Invitations&amp;amp;structure;=Instructions+fran%C3%A7aises+pour+LimeSurvey update the French translation of that wiki page] based on the [http://docs.limesurvey.org/Tokens&amp;amp;structure;=English+Instructions+for+LimeSurvey current english wiki page].&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at the english page at http://docs.limesurvey.org/Tokens&amp;amp;structure;=English+Instructions+for+LimeSurvey&lt;br /&gt;
*Check if it&#039;s worth keeping parts of the [http://docs.limesurvey.org/Invitations&amp;amp;structure;=Instructions+fran%C3%A7aises+pour+LimeSurvey current French version]. If so, update the existing page, if not, clear the page and translate the [http://docs.limesurvey.org/Tokens&amp;amp;structure;=English+Instructions+for+LimeSurvey english base version].&lt;br /&gt;
*Create the French translation of this page directly at our wiki.&lt;br /&gt;
*Check if your new/updated translation contains all information of the english base version.&lt;br /&gt;
*Discuss the translation with your mentor&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 days||French and English language|| easy||Shnoulle&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Translation: (FRENCH) Translate the english &amp;quot;Installer&amp;quot; docs page to French===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The new installer is one of the most important featres of the new Limesurvey 2.0 version. Once the English instructions page ([http://docs.limesurvey.org/LimeSurvey+project+ideas+for+Google+Code-in+2011#Documentation:_Rewrite_installation_procedure see this idea]) was set up, the French translation of that page has to be created.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at the english installer page once it was set up.&lt;br /&gt;
*Create the French translation of this page directly at our wiki.&lt;br /&gt;
*Check if your new/updated translation contains all information of the english base version.&lt;br /&gt;
*Discuss the translation with your mentor&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 days||French and English language|| easy||Shnoulle&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;&amp;lt;strike&amp;gt;-&amp;lt;/strike&amp;gt;---&lt;br /&gt;
&lt;br /&gt;
===Translation: (SPANISH) Translate the english &amp;quot;Expression Manager&amp;quot; docs page to Spanish===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The upcoming Limesurvey 2.0 version will contain a powerful &amp;quot;Expression Manager&amp;quot; which replaces conditions and some other features. The documentation of this new feature is only available in English yet. Your task is to [http://docs.limesurvey.org/Expression+Manager translate the current wiki page] to Spanish.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at the english page at http://docs.limesurvey.org/Expression+Manager&lt;br /&gt;
*Create a new Spanish translation of this page directly at our wiki and translate the page carefully&lt;br /&gt;
*Discuss the translation with your mentor&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 days||Spanish and English language|| easy||holch&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Translation: (SPANISH) Translate the english &amp;quot;Central Participants Database&amp;quot; docs page to Spanish===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The upcoming Limesurvey 2.0 version will have a new feature called &amp;quot;Central Participants Database&amp;quot; (CPDB). The documentation of this new feature is only available in English yet. Your task is to [http://docs.limesurvey.org/Central+participants+database+%28User+panel%29 translate the current wiki page] to Spanish.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at the english page at http://docs.limesurvey.org/Central+participants+database+%28User+panel%29&lt;br /&gt;
*Create a new Spanish translation of this page directly at our wiki and translate the page carefully&lt;br /&gt;
*Discuss the translation with your mentor&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 days||Spanish and English language|| easy||holch&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Translation: (SPANISH) Translate the english &amp;quot;Creating a new survey&amp;quot; docs page to Spanish===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Creating a new survey&amp;quot; page is one of the most important pages at our documentation because it lists all available survey settings. Unfortunately the Spanish documentation of this page is really outdated. Your task is to [http://docs.limesurvey.org/tiki-index.php?page=Reglas+de+evaluaci%C3%B3n update the Spanish translation of that wiki page] based on the [http://docs.limesurvey.org/Creating+a+new+survey&amp;amp;structure;=English+Instructions+for+LimeSurvey current english wiki page].&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at the english page at http://docs.limesurvey.org/Creating+a+new+survey&amp;amp;structure;=English+Instructions+for+LimeSurvey&lt;br /&gt;
*Check if it&#039;s worth keeping parts of the [http://docs.limesurvey.org/tiki-index.php?page=Reglas+de+evaluaci%C3%B3n current Spanish version]. If so, update the existing page, if not, clear the page and translate the [http://docs.limesurvey.org/Creating+a+new+survey&amp;amp;structure;=English+Instructions+for+LimeSurvey english base version].&lt;br /&gt;
*Create the Spanish translation of this page directly at our wiki.&lt;br /&gt;
*Check if your new/updated translation contains all information of the english base version.&lt;br /&gt;
*Discuss the translation with your mentor&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|1 day||Spanish and English language|| easy||holch&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Translation: (SPANISH) Translate the english &amp;quot;Question types&amp;quot; docs page to Spanish===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Question types&amp;quot; page is one of the most important pages at our documentation because it lists all available question types. Unfortunately the Spanish documentation of this page is really outdated. Your task is to [http://docs.limesurvey.org/tiki-index.php?page=Tipos+de+preguntas update the Spanish translation of that wiki page] based on the [http://docs.limesurvey.org/tiki-index.php?page=Question+types&amp;amp;structure;=English+Instructions+for+LimeSurvey current english wiki page].&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at the english page at http://docs.limesurvey.org/tiki-index.php?page=Question+types&amp;amp;structure;=English+Instructions+for+LimeSurvey&lt;br /&gt;
*Check if it&#039;s worth keeping parts of the [http://docs.limesurvey.org/tiki-index.php?page=Tipos+de+preguntas current Spanish version]. If so, update the existing page, if not, clear the page and translate the [http://docs.limesurvey.org/tiki-index.php?page=Question+types english base version].&lt;br /&gt;
*Create the Spanish translation of this page directly at our wiki.&lt;br /&gt;
*Check if your new/updated translation contains all information of the english base version.&lt;br /&gt;
*Discuss the translation with your mentor&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 days||Spanish and English language|| moderate||holch&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Translation: (SPANISH) Translate the english &amp;quot;Advanced question settings&amp;quot; docs page to Spanish===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Advanced question attributes&amp;quot; page is one of the most important pages at our documentation because it lists all available question attributes which enhance question functionality. Unfortunately the Spanish documentation of this page is really outdated. Your task is to [http://docs.limesurvey.org/tiki-index.php?page=Atributos+de+ajuste+de+preguntas update the Spanish translation of that wiki page] based on the [http://docs.limesurvey.org/tiki-index.php?page=Advanced+question+settings current english wiki page].&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at the english page at http://docs.limesurvey.org/tiki-index.php?page=Advanced+question+settings&lt;br /&gt;
*Check if it&#039;s worth keeping parts of the [http://docs.limesurvey.org/tiki-index.php?page=Atributos+de+ajuste+de+preguntas current Spanish version]. If so, update the existing page, if not, clear the page and translate the [http://docs.limesurvey.org/tiki-index.php?page=Advanced+question+settings english base version].&lt;br /&gt;
*Create the Spanish translation of this page directly at our wiki.&lt;br /&gt;
*Check if your new/updated translation contains all information of the english base version.&lt;br /&gt;
*Discuss the translation with your mentor&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 days||Spanish and English language|| easy||holch&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Translation: (SPANISH) Translate the english &amp;quot;Tokens&amp;quot; docs page to Spanish===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Tokens&amp;quot; page is one of the most important pages at our documentation because feature is used a lot to restrict access to a survey on predefined users. Unfortunately the Spanish documentation of this page doesn&#039;t exist yet. Your task is to create the Spanish translation of that wiki page based on the [http://docs.limesurvey.org/Tokens&amp;amp;structure;=English+Instructions+for+LimeSurvey current english wiki page].&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at the english page at http://docs.limesurvey.org/Tokens&amp;amp;structure;=English+Instructions+for+LimeSurvey&lt;br /&gt;
*Translate the page based on the [http://docs.limesurvey.org/Tokens&amp;amp;structure;=English+Instructions+for+LimeSurvey english base version].&lt;br /&gt;
*Check if your new translation contains all information of the english base version.&lt;br /&gt;
*Discuss the translation with your mentor&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|3 days||Spanish and English language|| difficult||holch&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Translation: (SPANISH) Translate the english &amp;quot;Installer&amp;quot; docs page to Spanish===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The new installer is one of the most important featres of the new Limesurvey 2.0 version. Once the English instructions page ([http://docs.limesurvey.org/LimeSurvey+project+ideas+for+Google+Code-in+2011#Documentation:_Rewrite_installation_procedure see this idea]) was set up, the Spanish translation of that page has to be created.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at the english installer page once it was set up.&lt;br /&gt;
*Create the Spanish translation of this page directly at our wiki.&lt;br /&gt;
*Check if your new translation contains all information of the english base version.&lt;br /&gt;
*Discuss the translation with your mentor&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 days||French and English language|| moderate||holch&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&lt;br /&gt;
===Code: Usability changes for LimeSurvey===&lt;br /&gt;
&lt;br /&gt;
The LimeSurvey user interface (like most interfaces) has its kinks - often it is very easy to enhance the usability by just making small changes to the interface.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Install LimeSurvey - create a small survey, play around with the interface.&lt;br /&gt;
*Pick a couple things you would like to change to have better usability&lt;br /&gt;
*Discuss the found issues with your mentor&lt;br /&gt;
*Together we will either pick one of your found issues or the mentor will make an suggestion for another change.&lt;br /&gt;
*Code the usability change and create a patch&lt;br /&gt;
*Discuss the patch with your mentor and the mentor&lt;br /&gt;
*If necessary make re-submit patch with discusse changes&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 days||PHP, HTML, CSS, maybe SQL|| Moderate||c_schmitz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Implement &amp;quot;Embedd all text answers&amp;quot; setting at admin statistics===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: Mazi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Currently the admin statistics only sum up data. If you want to have a look at text responses in detail, you have to click another button within the summary which opens a new windows.&lt;br /&gt;
&lt;br /&gt;
This is a bad solution if you want to exports results and include the texts because you have to copy them manually. Therefore a new &amp;quot;Embedd all text answers&amp;quot; setting should be introduced so that all text answers will be listed for all corresponding questions. This way this data would also be avialable when exporting the statistics.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Install LimeSurvey - create a small survey with text questions and add some dummy data.&lt;br /&gt;
*Have a look at the data summary and the available export options.&lt;br /&gt;
*Add a &amp;quot;Embedd all text answers&amp;quot; setting.&lt;br /&gt;
*Implement the code to embedd that data and create a patch&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the limesurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 days||PHP, some very basic HTML, SQL|| Moderate||c_schmitz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Implement Google map at admin statistics===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: Mazi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Limesurvey offers a &amp;quot;Map&amp;quot; question type which can be used to let the user mark a certain location. The results are stored as lat./long. coordinates at a simply text question. Currently the admin statistics only show the raw coordinates. To improve this, a Google Map should be included at the admin statistics, showing the users&#039; answers at that overview.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Install LimeSurvey - create a small survey with a map question and add some dummy data.&lt;br /&gt;
*Have a look at the admin statistics of that question.&lt;br /&gt;
*Implement the code to embedd a Map and mark the users&#039; answers in there and create a patch&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the limesurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|3 days||PHP, some very basic HTML, (knowledge about Google Maps API or: learning by doing)|| Moderate||c_schmitz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Implement jqgrid at token overview table===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: Mazi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Limesurvey admin backend includes several tabular overviews, e.g. when listing all the existing users at the token overview. Usability will benefit a lot if those overviews would be sortable, searchable and filterable. For this we can use jqgrid.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Install LimeSurvey - create a small survey with a token table and add a few dummy people there.&lt;br /&gt;
*Have a look at the jqgrid docs at http://www.trirand.com/jqgridwiki/doku.php&lt;br /&gt;
*Implement jqgrid for the token overview and create a patch&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the limesurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 days||Javascript, PHP, HTML, maybe a little CSS|| Difficult ||c_schmitz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Implement jqgrid at browse response table===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: Mazi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Limesurvey admin backend includes several tabular overviews, e.g. when listing survey results at the browse responses screen. Usability will benefit a lot if this overview would be sortable, searchable and filterable. For this we can use jqgrid.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Install LimeSurvey - import a test survey with all question types (we&#039;ll hand that to you) and add some test answer data.&lt;br /&gt;
*Have a look at the jqgrid docs at http://www.trirand.com/jqgridwiki/doku.php&lt;br /&gt;
*Implement jqgrid for the browse response table and create a patch&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the limesurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 days||Javascript, PHP, HTML, maybe a little CSS|| Moderate||aniessh&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Improve drag and drop functionality at attribute mapping===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: Aniessh&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Central Participant&#039;s Database feature has a special drag and drop functionality for mapping/creating attributes in the token table to the central table and vice versa. The feature is working but needs improvement in the user interface.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Install LimeSurvey - create a small survey with a token table and add a few dummy people there.&lt;br /&gt;
*Create some attributes at the token level.&lt;br /&gt;
*Create some attributes at the Central Participant Database panel.&lt;br /&gt;
*Copy the previously added dummy people from token table to the central table.&lt;br /&gt;
*You will be presented with a drag and drop screen that will allow you to match the attributes from the central and the token table.&lt;br /&gt;
*Suggest how to improve the user interface.&lt;br /&gt;
*Improve the user interface and create a patch.&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the limesurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 days||Javascript, PHP, HTML, CSS|| Moderate||aniessh&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Add drag and drop feature to ranking question===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: Mazi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Limesurvey contains a &amp;quot;ranking&amp;quot; question type (see http://docs.limesurvey.org/Question+type+-+Ranking&amp;amp;structure;=English+Instructions+for+LimeSurvey) which isn&#039;t very user friendly when it comes to sorting and it also causes problems when being used by screen readers. Nowadays there are better interfaces for such question types so switching to a drag and drop version is the goal of this coding task.&lt;br /&gt;
&lt;br /&gt;
There is already a [http://docs.limesurvey.org/Workarounds%3A+Manipulating+a+survey+at+runtime+using+Javascript&amp;amp;structure;=English+Instructions+for+LimeSurvey#Drag_and_Drop_Rankings workaround] and a [http://www.partnersinc.biz/surveys//index.php?sid=36981&amp;amp;newtest;=Y&amp;amp;lang;=en demo version] available so what has to be done is porting the code to create a more generic solution and embedding the CSS for the available shipped templates.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Install LimeSurvey - create a test survey with ranking question types and different question attributes&lt;br /&gt;
*Have a look at the question type within the survey to see what could be improved.&lt;br /&gt;
*Check the workaround linked above and the demo survey to see where we would like to go to.&lt;br /&gt;
*Implement a generic solution to make the ranking question type a little nicer (no DB changes required).&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the limesurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|3 days||Javascript, PHP, CSS|| difficult||c_schmitz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Add option to switch between bar chart and pie chart at statistics===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: Mazi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Limesurvey uses bar charts for multiple choice questions and pie charts for single choice questions. Often users want to switch to a different chart type so this fixed assignment of certain types should be replaced by a more dynamic system which allows the user to set chart types himself.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Install LimeSurvey - import a test survey with all question types (we can provide one) and add some test data.&lt;br /&gt;
*Have a look at the admin statistics and the charts that are created. Check how we could best offer a choice for the user to set chart types.&lt;br /&gt;
*Discuss your suggestions with your mentor and together create a concept how to deal with the problem.&lt;br /&gt;
*Implement a generic solution.&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the limesurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|4 days||PHP, MySQL, a little HTML|| difficult||c_schmitz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Refactor the CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. The code however is far from ideal. In order to improve code quality, there are plenty of refactorings required like splitting up long methods, extracting view-related and database-related code from controllers, adding new helper functions, ...&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Download the LimeSurvey CI-branch&lt;br /&gt;
*Find a class or method with smelly (bad) code&lt;br /&gt;
*Discuss the code smell with the mentor and make a proposal on how to improve the code&lt;br /&gt;
*Work out the improvement and create a patch&lt;br /&gt;
*Discuss your patch with the mentor&lt;br /&gt;
*Check-in your changes into the limesurvey svn trunk&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2-4 days (depending on chosen smell)||PHP, CodeIgniter (depending on chosen smell)|| Moderate||mrp001&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Make unit tests for the CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. Now we are using the framework, it is possible to write unit tests for the different classes (domain classes, controllers, helpers, libraries, ...) The goal of this task is to write a unit test for an untested class or method.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Download the LimeSurvey CI-branch&lt;br /&gt;
*Find an untested class which could use some testing&lt;br /&gt;
*Discuss the badly tested class/method with the mentor and make a proposal on how to test the code&lt;br /&gt;
*Write tests for class/method and create a patch&lt;br /&gt;
*Discuss your patch with the mentor&lt;br /&gt;
*Check-in your changes into the limesurvey svn trunk.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2-4 days (depending on chosen class/method)||PHP, CodeIgniter (depending on chosen class/method)|| Moderate||mrp001&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Re-factoring HTML into views : CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. As CodeIgniter is based on MVC architecture, there are still some controllers which have lots of HTML content in them. This task aim for separating this HTML(wherever possible) from controllers and move it to View files. This task will be on controller by controller basis.&lt;br /&gt;
&lt;br /&gt;
===Code: Re-factoring database calls into models (Browse Controller): CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. As CodeIgniter is based on MVC architecture, all database calls should be in served via models and &amp;quot;Active Records&amp;quot; should be used everywhere. This task aim for searching through the&lt;br /&gt;
&lt;br /&gt;
Browse Controller and moving all database calls to models. (i.e. making new functions in models to serve the purpose and call it in controller instead of using db_execute_assoc()!).&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Download LimeSurvey&#039;s CodeIgniter branch&lt;br /&gt;
*Read the Documentation&lt;br /&gt;
*Find outdated database calls in Browse Controller (db_execute_assoc()).&lt;br /&gt;
*Identify which calls have equivalent methods in models.&lt;br /&gt;
*Port these calls using the existing models.&lt;br /&gt;
*Create or extend the models for the remaining calls.&lt;br /&gt;
*Port the remaining calls using the new models.&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the LimeSurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2-4 days||PHP, CodeIgniter, MySQL|| Moderate||dionet/magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Re-factoring database calls into models (Check Integrity Controller): CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. As CodeIgniter is based on MVC architecture, all database calls should be in served via models and &amp;quot;Active Records&amp;quot; should be used everywhere. This task aim for searching through the&lt;br /&gt;
&lt;br /&gt;
Check Integrity Controller and moving all database calls to models. (i.e. making new functions in models to serve the purpose and call it in controller instead of using db_execute_assoc()!).&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Download LimeSurvey&#039;s CodeIgniter branch&lt;br /&gt;
*Read the Documentation&lt;br /&gt;
*Find outdated database calls in Check Integrity Controller (db_execute_assoc()).&lt;br /&gt;
*Identify which calls have equivalent methods in models.&lt;br /&gt;
*Port these calls using the existing models.&lt;br /&gt;
*Create or extend the models for the remaining calls.&lt;br /&gt;
*Port the remaining calls using the new models.&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the LimeSurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2-4 days||PHP, CodeIgniter, MySQL|| Moderate||dionet/magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Re-factoring database calls into models (Conditions Controller): CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. As CodeIgniter is based on MVC architecture, all database calls should be in served via models and &amp;quot;Active Records&amp;quot; should be used everywhere. This task aim for searching through the&lt;br /&gt;
&lt;br /&gt;
Conditions Controller and moving all database calls to models. (i.e. making new functions in models to serve the purpose and call it in controller instead of using db_execute_assoc()!).&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Download LimeSurvey&#039;s CodeIgniter branch&lt;br /&gt;
*Read the Documentation&lt;br /&gt;
*Find outdated database calls in Conditions Controller (db_execute_assoc()).&lt;br /&gt;
*Identify which calls have equivalent methods in models.&lt;br /&gt;
*Port these calls using the existing models.&lt;br /&gt;
*Create or extend the models for the remaining calls.&lt;br /&gt;
*Port the remaining calls using the new models.&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the LimeSurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2-4 days||PHP, CodeIgniter, MySQL|| Moderate||dionet/magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Re-factoring database calls into models (Database Controller): CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. As CodeIgniter is based on MVC architecture, all database calls should be in served via models and &amp;quot;Active Records&amp;quot; should be used everywhere. This task aim for searching through the&lt;br /&gt;
&lt;br /&gt;
Database Controller and moving all database calls to models. (i.e. making new functions in models to serve the purpose and call it in controller instead of using db_execute_assoc()!).&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Download LimeSurvey&#039;s CodeIgniter branch&lt;br /&gt;
*Read the Documentation&lt;br /&gt;
*Find outdated database calls in Database Controller (db_execute_assoc()).&lt;br /&gt;
*Identify which calls have equivalent methods in models.&lt;br /&gt;
*Port these calls using the existing models.&lt;br /&gt;
*Create or extend the models for the remaining calls.&lt;br /&gt;
*Port the remaining calls using the new models.&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the LimeSurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2-4 days||PHP, CodeIgniter, MySQL|| Moderate||dionet/magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Re-factoring database calls into models (Data Entry Controller): CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. As CodeIgniter is based on MVC architecture, all database calls should be in served via models and &amp;quot;Active Records&amp;quot; should be used everywhere. This task aim for searching through the&lt;br /&gt;
&lt;br /&gt;
Data Entry Controller and moving all database calls to models. (i.e. making new functions in models to serve the purpose and call it in controller instead of using db_execute_assoc()!).&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Download LimeSurvey&#039;s CodeIgniter branch&lt;br /&gt;
*Read the Documentation&lt;br /&gt;
*Find outdated database calls in Data Entry Controller (db_execute_assoc()).&lt;br /&gt;
*Identify which calls have equivalent methods in models.&lt;br /&gt;
*Port these calls using the existing models.&lt;br /&gt;
*Create or extend the models for the remaining calls.&lt;br /&gt;
*Port the remaining calls using the new models.&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the LimeSurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2-4 days||PHP, CodeIgniter, MySQL|| Moderate||dionet/magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Re-factoring database calls into models (Email Templates Controller): CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. As CodeIgniter is based on MVC architecture, all database calls should be in served via models and &amp;quot;Active Records&amp;quot; should be used everywhere. This task aim for searching through the&lt;br /&gt;
&lt;br /&gt;
Email Templates Controller and moving all database calls to models. (i.e. making new functions in models to serve the purpose and call it in controller instead of using db_execute_assoc()!).&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Download LimeSurvey&#039;s CodeIgniter branch&lt;br /&gt;
*Read the Documentation&lt;br /&gt;
*Find outdated database calls in Email Templates Controller (db_execute_assoc()).&lt;br /&gt;
*Identify which calls have equivalent methods in models.&lt;br /&gt;
*Port these calls using the existing models.&lt;br /&gt;
*Create or extend the models for the remaining calls.&lt;br /&gt;
*Port the remaining calls using the new models.&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the LimeSurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2-4 days||PHP, CodeIgniter, MySQL|| Moderate||dionet/magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Re-factoring database calls into models (Export Controller): CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. As CodeIgniter is based on MVC architecture, all database calls should be in served via models and &amp;quot;Active Records&amp;quot; should be used everywhere. This task aim for searching through the&lt;br /&gt;
&lt;br /&gt;
Export Controller and moving all database calls to models. (i.e. making new functions in models to serve the purpose and call it in controller instead of using db_execute_assoc()!).&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Download LimeSurvey&#039;s CodeIgniter branch&lt;br /&gt;
*Read the Documentation&lt;br /&gt;
*Find outdated database calls in Export Controller (db_execute_assoc()).&lt;br /&gt;
*Identify which calls have equivalent methods in models.&lt;br /&gt;
*Port these calls using the existing models.&lt;br /&gt;
*Create or extend the models for the remaining calls.&lt;br /&gt;
*Port the remaining calls using the new models.&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the LimeSurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2-4 days||PHP, CodeIgniter, MySQL|| Moderate||dionet/magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Re-factoring database calls into models (Labels Controller): CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. As CodeIgniter is based on MVC architecture, all database calls should be in served via models and &amp;quot;Active Records&amp;quot; should be used everywhere. This task aim for searching through the&lt;br /&gt;
&lt;br /&gt;
Labels Controller and moving all database calls to models. (i.e. making new functions in models to serve the purpose and call it in controller instead of using db_execute_assoc()!).&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Download LimeSurvey&#039;s CodeIgniter branch&lt;br /&gt;
*Read the Documentation&lt;br /&gt;
*Find outdated database calls in Labels Controller (db_execute_assoc()).&lt;br /&gt;
*Identify which calls have equivalent methods in models.&lt;br /&gt;
*Port these calls using the existing models.&lt;br /&gt;
*Create or extend the models for the remaining calls.&lt;br /&gt;
*Port the remaining calls using the new models.&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the LimeSurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2-4 days||PHP, CodeIgniter, MySQL|| Moderate||dionet/magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Re-factoring database calls into models (Printable Survey Controller): CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. As CodeIgniter is based on MVC architecture, all database calls should be in served via models and &amp;quot;Active Records&amp;quot; should be used everywhere. This task aim for searching through the&lt;br /&gt;
&lt;br /&gt;
Printable Survey Controller and moving all database calls to models. (i.e. making new functions in models to serve the purpose and call it in controller instead of using db_execute_assoc()!).&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Download LimeSurvey&#039;s CodeIgniter branch&lt;br /&gt;
*Read the Documentation&lt;br /&gt;
*Find outdated database calls in Printable Survey Controller (db_execute_assoc()).&lt;br /&gt;
*Identify which calls have equivalent methods in models.&lt;br /&gt;
*Port these calls using the existing models.&lt;br /&gt;
*Create or extend the models for the remaining calls.&lt;br /&gt;
*Port the remaining calls using the new models.&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the LimeSurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2-4 days||PHP, CodeIgniter, MySQL|| Moderate||dionet/magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Re-factoring database calls into models (Question Controller): CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. As CodeIgniter is based on MVC architecture, all database calls should be in served via models and &amp;quot;Active Records&amp;quot; should be used everywhere. This task aim for searching through the&lt;br /&gt;
&lt;br /&gt;
Question Controller and moving all database calls to models. (i.e. making new functions in models to serve the purpose and call it in controller instead of using db_execute_assoc()!).&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Download LimeSurvey&#039;s CodeIgniter branch&lt;br /&gt;
*Read the Documentation&lt;br /&gt;
*Find outdated database calls in Question Controller (db_execute_assoc()).&lt;br /&gt;
*Identify which calls have equivalent methods in models.&lt;br /&gt;
*Port these calls using the existing models.&lt;br /&gt;
*Create or extend the models for the remaining calls.&lt;br /&gt;
*Port the remaining calls using the new models.&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the LimeSurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2-4 days||PHP, CodeIgniter, MySQL|| Moderate||dionet/magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Re-factoring database calls into models (Question Group Controller): CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. As CodeIgniter is based on MVC architecture, all database calls should be in served via models and &amp;quot;Active Records&amp;quot; should be used everywhere. This task aim for searching through the&lt;br /&gt;
&lt;br /&gt;
Question Group Controller and moving all database calls to models. (i.e. making new functions in models to serve the purpose and call it in controller instead of using db_execute_assoc()!).&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Download LimeSurvey&#039;s CodeIgniter branch&lt;br /&gt;
*Read the Documentation&lt;br /&gt;
*Find outdated database calls in Question Group Controller (db_execute_assoc()).&lt;br /&gt;
*Identify which calls have equivalent methods in models.&lt;br /&gt;
*Port these calls using the existing models.&lt;br /&gt;
*Create or extend the models for the remaining calls.&lt;br /&gt;
*Port the remaining calls using the new models.&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the LimeSurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2-4 days||PHP, CodeIgniter, MySQL|| Moderate||dionet/magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Re-factoring database calls into models (Quotas Controller): CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. As CodeIgniter is based on MVC architecture, all database calls should be in served via models and &amp;quot;Active Records&amp;quot; should be used everywhere. This task aim for searching through the&lt;br /&gt;
&lt;br /&gt;
Quotas Controller and moving all database calls to models. (i.e. making new functions in models to serve the purpose and call it in controller instead of using db_execute_assoc()!).&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Download LimeSurvey&#039;s CodeIgniter branch&lt;br /&gt;
*Read the Documentation&lt;br /&gt;
*Find outdated database calls in Quotas Controller (db_execute_assoc()).&lt;br /&gt;
*Identify which calls have equivalent methods in models.&lt;br /&gt;
*Port these calls using the existing models.&lt;br /&gt;
*Create or extend the models for the remaining calls.&lt;br /&gt;
*Port the remaining calls using the new models.&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the LimeSurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2-4 days||PHP, CodeIgniter, MySQL|| Moderate||dionet/magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Re-factoring database calls into models (Saved Controller): CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. As CodeIgniter is based on MVC architecture, all database calls should be in served via models and &amp;quot;Active Records&amp;quot; should be used everywhere. This task aim for searching through the&lt;br /&gt;
&lt;br /&gt;
Saved Controller and moving all database calls to models. (i.e. making new functions in models to serve the purpose and call it in controller instead of using db_execute_assoc()!).&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Download LimeSurvey&#039;s CodeIgniter branch&lt;br /&gt;
*Read the Documentation&lt;br /&gt;
*Find outdated database calls in Saved Controller (db_execute_assoc()).&lt;br /&gt;
*Identify which calls have equivalent methods in models.&lt;br /&gt;
*Port these calls using the existing models.&lt;br /&gt;
*Create or extend the models for the remaining calls.&lt;br /&gt;
*Port the remaining calls using the new models.&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the LimeSurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2-4 days||PHP, CodeIgniter, MySQL|| Moderate||dionet/magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Re-factoring database calls into models (Statistics Controller): CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. As CodeIgniter is based on MVC architecture, all database calls should be in served via models and &amp;quot;Active Records&amp;quot; should be used everywhere. This task aim for searching through the&lt;br /&gt;
&lt;br /&gt;
Statistics Controller and moving all database calls to models. (i.e. making new functions in models to serve the purpose and call it in controller instead of using db_execute_assoc()!).&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Download LimeSurvey&#039;s CodeIgniter branch&lt;br /&gt;
*Read the Documentation&lt;br /&gt;
*Find outdated database calls in Statistics Controller (db_execute_assoc()).&lt;br /&gt;
*Identify which calls have equivalent methods in models.&lt;br /&gt;
*Port these calls using the existing models.&lt;br /&gt;
*Create or extend the models for the remaining calls.&lt;br /&gt;
*Port the remaining calls using the new models.&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the LimeSurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2-4 days||PHP, CodeIgniter, MySQL|| Moderate||dionet/magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Re-factoring database calls into models (Survey Controller): CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. As CodeIgniter is based on MVC architecture, all database calls should be in served via models and &amp;quot;Active Records&amp;quot; should be used everywhere. This task aim for searching through the&lt;br /&gt;
&lt;br /&gt;
Survey Controller and moving all database calls to models. (i.e. making new functions in models to serve the purpose and call it in controller instead of using db_execute_assoc()!).&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Download LimeSurvey&#039;s CodeIgniter branch&lt;br /&gt;
*Read the Documentation&lt;br /&gt;
*Find outdated database calls in Survey Controller (db_execute_assoc()).&lt;br /&gt;
*Identify which calls have equivalent methods in models.&lt;br /&gt;
*Port these calls using the existing models.&lt;br /&gt;
*Create or extend the models for the remaining calls.&lt;br /&gt;
*Port the remaining calls using the new models.&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the LimeSurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2-4 days||PHP, CodeIgniter, MySQL|| Moderate||dionet/magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Re-factoring database calls into models (Survey Permission Controller): CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. As CodeIgniter is based on MVC architecture, all database calls should be in served via models and &amp;quot;Active Records&amp;quot; should be used everywhere. This task aim for searching through the&lt;br /&gt;
&lt;br /&gt;
Survey Permission Controller and moving all database calls to models. (i.e. making new functions in models to serve the purpose and call it in controller instead of using db_execute_assoc()!).&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Download LimeSurvey&#039;s CodeIgniter branch&lt;br /&gt;
*Read the Documentation&lt;br /&gt;
*Find outdated database calls in Survey Permission Controller (db_execute_assoc()).&lt;br /&gt;
*Identify which calls have equivalent methods in models.&lt;br /&gt;
*Port these calls using the existing models.&lt;br /&gt;
*Create or extend the models for the remaining calls.&lt;br /&gt;
*Port the remaining calls using the new models.&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the LimeSurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2-4 days||PHP, CodeIgniter, MySQL|| Moderate||dionet/magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Re-factoring database calls into models (Templates Controller): CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. As CodeIgniter is based on MVC architecture, all database calls should be in served via models and &amp;quot;Active Records&amp;quot; should be used everywhere. This task aim for searching through the&lt;br /&gt;
&lt;br /&gt;
Templates Controller and moving all database calls to models. (i.e. making new functions in models to serve the purpose and call it in controller instead of using db_execute_assoc()!).&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Download LimeSurvey&#039;s CodeIgniter branch&lt;br /&gt;
*Read the Documentation&lt;br /&gt;
*Find outdated database calls in Templates Controller (db_execute_assoc()).&lt;br /&gt;
*Identify which calls have equivalent methods in models.&lt;br /&gt;
*Port these calls using the existing models.&lt;br /&gt;
*Create or extend the models for the remaining calls.&lt;br /&gt;
*Port the remaining calls using the new models.&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the LimeSurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2-4 days||PHP, CodeIgniter, MySQL|| Moderate||dionet/magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Re-factoring database calls into models (Tokens Controller): CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. As CodeIgniter is based on MVC architecture, all database calls should be in served via models and &amp;quot;Active Records&amp;quot; should be used everywhere. This task aim for searching through the&lt;br /&gt;
&lt;br /&gt;
Tokens Controller and moving all database calls to models. (i.e. making new functions in models to serve the purpose and call it in controller instead of using db_execute_assoc()!).&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Download LimeSurvey&#039;s CodeIgniter branch&lt;br /&gt;
*Read the Documentation&lt;br /&gt;
*Find outdated database calls in Tokens Controller (db_execute_assoc()).&lt;br /&gt;
*Identify which calls have equivalent methods in models.&lt;br /&gt;
*Port these calls using the existing models.&lt;br /&gt;
*Create or extend the models for the remaining calls.&lt;br /&gt;
*Port the remaining calls using the new models.&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the LimeSurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2-4 days||PHP, CodeIgniter, MySQL|| Moderate||dionet/magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Re-factoring database calls into models (Translate Controller): CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. As CodeIgniter is based on MVC architecture, all database calls should be in served via models and &amp;quot;Active Records&amp;quot; should be used everywhere. This task aim for searching through the&lt;br /&gt;
&lt;br /&gt;
Translate Controller and moving all database calls to models. (i.e. making new functions in models to serve the purpose and call it in controller instead of using db_execute_assoc()!).&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Download LimeSurvey&#039;s CodeIgniter branch&lt;br /&gt;
*Read the Documentation&lt;br /&gt;
*Find outdated database calls in Translate Controller (db_execute_assoc()).&lt;br /&gt;
*Identify which calls have equivalent methods in models.&lt;br /&gt;
*Port these calls using the existing models.&lt;br /&gt;
*Create or extend the models for the remaining calls.&lt;br /&gt;
*Port the remaining calls using the new models.&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the LimeSurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2-4 days||PHP, CodeIgniter, MySQL|| Moderate||dionet/magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Re-factoring database calls into models (User Controller): CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. As CodeIgniter is based on MVC architecture, all database calls should be in served via models and &amp;quot;Active Records&amp;quot; should be used everywhere. This task aim for searching through the&lt;br /&gt;
&lt;br /&gt;
User Controller and moving all database calls to models. (i.e. making new functions in models to serve the purpose and call it in controller instead of using db_execute_assoc()!).&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Download LimeSurvey&#039;s CodeIgniter branch&lt;br /&gt;
*Read the Documentation&lt;br /&gt;
*Find outdated database calls in User Controller (db_execute_assoc()).&lt;br /&gt;
*Identify which calls have equivalent methods in models.&lt;br /&gt;
*Port these calls using the existing models.&lt;br /&gt;
*Create or extend the models for the remaining calls.&lt;br /&gt;
*Port the remaining calls using the new models.&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the LimeSurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2-4 days||PHP, CodeIgniter, MySQL|| Moderate||dionet/magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Code: Re-factoring database calls into models (User Groups Controller): CodeIgniter branch===&lt;br /&gt;
&lt;br /&gt;
This year LimeSurvey got ported to the CodeIgniter framework. As CodeIgniter is based on MVC architecture, all database calls should be in served via models and &amp;quot;Active Records&amp;quot; should be used everywhere. This task aim for searching through the&lt;br /&gt;
&lt;br /&gt;
User Groups Controller and moving all database calls to models. (i.e. making new functions in models to serve the purpose and call it in controller instead of using db_execute_assoc()!).&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Download LimeSurvey&#039;s CodeIgniter branch&lt;br /&gt;
*Read the Documentation&lt;br /&gt;
*Find outdated database calls in User Groups Controller (db_execute_assoc()).&lt;br /&gt;
*Identify which calls have equivalent methods in models.&lt;br /&gt;
*Port these calls using the existing models.&lt;br /&gt;
*Create or extend the models for the remaining calls.&lt;br /&gt;
*Port the remaining calls using the new models.&lt;br /&gt;
*Discuss the patch with your mentor and ask for feedback.&lt;br /&gt;
*Check-in your changes into the LimeSurvey svn trunk.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2-4 days||PHP, CodeIgniter, MySQL|| Moderate||dionet/magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
&lt;br /&gt;
===Documentation: Rewrite template editor wiki page===&lt;br /&gt;
&lt;br /&gt;
Limesurvey has a template editor which allows users to create and modify templates used when displaying surveys. These templates allow survey administrators to adjust the look and feel of their surveys and brand them as well. Currently the documentation for the template editor is out of date needs to be brought up to date with the latest version of limesurvey. Cropped screenshots should also be inserted to visually reference the documentation and the software.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Read the existing outdated documentation.&lt;br /&gt;
*Explore limesurvey&#039;s template editor and compare it to the existing documentation.&lt;br /&gt;
*Design a new structure for the documentation which is easy to follow and well structured.&lt;br /&gt;
*Discuss your planned documentation structure with your mentor.&lt;br /&gt;
*Rewrite the template editor documentation.&lt;br /&gt;
*Insert cropped screenshots where needed.&lt;br /&gt;
*Submit your documentation for review by your mentor.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|3 Days||Wiki editing,LimeSurvey|| Moderate [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&lt;br /&gt;
&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Documentation: Create a tutorial about how to replace the logo at a shipped template===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Limesurvey has a template editor which allows users to create and modify templates used when displaying surveys. These templates allow survey administrators to adjust the look and feel of their surveys and brand them as well. Problem is that some HTML and CSS knowledge is needed to fully style a template and this might be a problem to the common user. Usually replacing the logo at one of the shipped templates is all they need so the goal is to write a step by step tutorial with some screen shots about how to replace the logo.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Read the existing documentation about templates and create a new entry at the [http://docs.limesurvey.org/The+template+editor&amp;amp;structure;=English+Instructions+for+LimeSurvey#Tips_amp_Tricks Tipps &amp;amp; Tricks sub-section].&lt;br /&gt;
*Explore limesurvey&#039;s template editor and compare it to the existing documentation.&lt;br /&gt;
*Check the template editor at our demo system and note how the logos are embedded at different templates&lt;br /&gt;
*Write a step by step tutorial including screen shots on how to replace the images and/or change the logo file name at the templates&lt;br /&gt;
*Submit your documentation for review by your mentor.&lt;br /&gt;
*Discuss your tutorial with your mentor and if necessary overwork some parts&lt;br /&gt;
* Add everything at our wiki.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 Days||Wiki editing, LimeSurvey, HTML|| Easy [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&lt;br /&gt;
&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Documentation: Rewrite statistics wiki page===&lt;br /&gt;
&lt;br /&gt;
Limesurvey offers public statistics, which are shown to the user at the end of the survey, as well as more detailed statistics at the admin backend. The [http://docs.limesurvey.org/tiki-index.php?page=Statistics&amp;amp;structure;=English+Instructions+for+LimeSurvey current statistics documentation] is outdated and not very well structured. Lots of users don&#039;t know that they can filter data and limit statistics to certain questions only.&lt;br /&gt;
&lt;br /&gt;
To make the statistics more clear to the user, the documentation should be updated, extended and better structured. A video showing how to set filters and demonstrating other statistic features should be added, too.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Import the sample survey at /docs/demosurveys which contains all question types.&lt;br /&gt;
*Enable public statistics for this survey and all questions that are supported by this feature.&lt;br /&gt;
*Fill out the survey ~20-30 times (ask your friends for some help) to create some data to be used by the statistics.&lt;br /&gt;
*Explore the public and admin backend statistics and write down which features are available.&lt;br /&gt;
*Ask your mentor if all features are on your list.&lt;br /&gt;
*Think about a new structure for the wiki page&lt;br /&gt;
*Document each section and describe each feature in detail. Add some nice screenshots where appropriate.&lt;br /&gt;
*Create a short video showing how to set filters and use other important features.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|4 Days||Wiki editing, LimeSurvey, video capture|| Moderate [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&lt;br /&gt;
&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Documentation: Rewrite installation procedure.===&lt;br /&gt;
&lt;br /&gt;
LimeSurvey 2.0 has a new automatic installer which makes installation process a cake-walk. Hence, installation procedure needs to be updated explaining each and every step of the installation procedure and possible errors/warnings that a user might see during installation of LimeSurvey and there solutions.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Checkout LimeSurvey_CI branch.&lt;br /&gt;
*Read existing installation procedure.&lt;br /&gt;
*Run the automatic installer and play with it.&lt;br /&gt;
*Compare the missing things and update the wiki.&lt;br /&gt;
*Write down any error/warning you see during installation or while playing around with it.&lt;br /&gt;
*Make a troubleshooting section on installation wikipage which should contain possible warnings a user might see and there solution(s).&lt;br /&gt;
*Create a short video tutorial on how to install LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|4 days||Wiki editing, creating screen shots, writing documentation, creating videos|| difficult||magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Outreach &amp;amp; Marketing==&lt;br /&gt;
&lt;br /&gt;
===Outreach: Blog about LimeSurvey===&lt;br /&gt;
&lt;br /&gt;
Write an independant article about LimeSurvey on your blog. Explain what are advantages, what are disadavantages of the software - show how to create a first survey and also write about problems are on the way getting there. Motivate people to participate to help use make LimeSurvey better. The article should be in-depth and correct. It should help other to get hooked up without false promises.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Use LimeSurvey to setup your own survey (you can use our demo version for that)&lt;br /&gt;
*Blog about your experience after discussing your article with us.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 Days|| Writing skills || Easy ||c_schmitz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Marketing: Create an article on how to use LimeSurvey and OrangeHRM to conduct an employee engagement survey===&lt;br /&gt;
&lt;br /&gt;
OrangeHRM is a powerful and fully featured Human Resource Management Tool. Help empower open source by showing how two separate open source products can be used together to bring added value to their users.&lt;br /&gt;
&lt;br /&gt;
The article should include:&lt;br /&gt;
#An introduction.&lt;br /&gt;
#Setting up an employee engagement survey with LimeSurvey.&lt;br /&gt;
#Patching OrangeHRM (CustomExport.php and CustomizableCSVExport.php models) to allow the work_email field to be exported.&lt;br /&gt;
#Creating a custom export in OrangeHRM with the fields: firstName, lastName, workEmail.&lt;br /&gt;
#Using the OrangeHRM custom export to get a CSV list for LimeSurvey tokens import.&lt;br /&gt;
#Importing the tokens into the employee engagement survey.&lt;br /&gt;
#Sending out invitations and reminders.&lt;br /&gt;
#Viewing statistics and exporting results.&lt;br /&gt;
#Provide links to patched OrangeHRM files and example survey.&lt;br /&gt;
#Article conclusion.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Install OrangeHRM.&lt;br /&gt;
*Create the employee engagement survey.&lt;br /&gt;
*Discuss the employee engagement metrics measured with your mentor.&lt;br /&gt;
*Modify OrangeHRM custom export and generate patches (mentor can provide changes).&lt;br /&gt;
*Test the OrangeHRM custom export and LimeSurvey tokens import.&lt;br /&gt;
*Write the article.&lt;br /&gt;
*Submit the article to your mentor for review.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|4 Days||Survey Creation, Technical Writing, Source Code Patching|| Moderate||Machaven&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Marketing: Create an article on how to use LimeSurvey and OrangeHRM to conduct an employee satisfaction survey===&lt;br /&gt;
&lt;br /&gt;
OrangeHRM is a powerful and fully featured Human Resource Management Tool. Help empower open source by showing how two separate open source products can be used together to bring added value to their users.&lt;br /&gt;
&lt;br /&gt;
The article should include:&lt;br /&gt;
#An Introduction.&lt;br /&gt;
#Setting up an employee satisfaction survey with LimeSurvey.&lt;br /&gt;
#Patching OrangeHRM (CustomExport.php and CustomizableCSVExport.php models) to allow the work_email field to be exported.&lt;br /&gt;
#Creating a custom export in OrangeHRM with the fields: firstName, lastName, workEmail.&lt;br /&gt;
#Using the OrangeHRM custom export to get a CSV list for LimeSurvey tokens import.&lt;br /&gt;
#Importing the tokens into the employee satisfaction survey.&lt;br /&gt;
#Sending out invitations and reminders.&lt;br /&gt;
#Viewing statistics and exporting results.&lt;br /&gt;
#Provide links to patched OrangeHRM files and example survey.&lt;br /&gt;
#Article conclusion.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Install OrangeHRM.&lt;br /&gt;
*Create the employee satisfaction survey.&lt;br /&gt;
*iscuss the employee satisfaction metrics measured with your mentor.&lt;br /&gt;
*Modify OrangeHRM custom export and generate patches (mentor can provide changes).&lt;br /&gt;
*Test the OrangeHRM custom export and LimeSurvey tokens import.&lt;br /&gt;
*Write the article.&lt;br /&gt;
*Submit the article to your mentor for review.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|4 Days||Survey Creation, Technical Writing, Source Code Patching|| Moderate||Machaven&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Marketing: Create an article on how to use LimeSurvey to create and distribute a customer satisfaction survey===&lt;br /&gt;
&lt;br /&gt;
Show current and potential LimeSurvey users how they can use LimeSurvey to do customer satisfaction surveys.&lt;br /&gt;
&lt;br /&gt;
The article should include:&lt;br /&gt;
#An Introduction.&lt;br /&gt;
#Setting up an customer satisfaction survey with LimeSurvey.&lt;br /&gt;
#Importing the tokens into the customer satisfaction survey.&lt;br /&gt;
#Sending out invitations and reminders.&lt;br /&gt;
#Viewing statistics and exporting results.&lt;br /&gt;
#Provide a link to the example customer satisfaction survey.&lt;br /&gt;
#Article conclusion.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Create the customer satisfaction survey and test it.&lt;br /&gt;
*Discuss the customer satisfaction metrics measured with your mentor.&lt;br /&gt;
*Write the article.&lt;br /&gt;
*Submit the article to your mentor for review.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|4 Days||Survey Creation, Technical Writing, Source Code Patching|| Moderate||Machaven&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Quality Assurance==&lt;br /&gt;
&lt;br /&gt;
===Quality Assurance: Analyse user feedback and port suggestions to our idea tracker===&lt;br /&gt;
&lt;br /&gt;
From time to time Limesurvey [http://survey.limesurvey.org/ conducts user feedback surveys] to find out how our users use the software and which features they are missing. We received quite a lot feedback during the last months and a lot of valuable information can be found at the textual feedback. It&#039;s a mixture of praise, suggestions for new features and other useful comments. This needs to be summed up. Also useful suggestions for new features should be ported to [http://ideas.limesurvey.org/ our idea tracker] so we have this on our list for future development.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*We will give you access to our survey system so you can export the survey data into MS Word, Excel or what else you like.&lt;br /&gt;
*Go through all the textual user feedback and create a list of common complaints, suggested features and the like.&lt;br /&gt;
*Once you are done, order the lists by frequency and present it to your mentor.&lt;br /&gt;
*Your mentor will go through your list and mark those ideas worth porting to the idea tracker.&lt;br /&gt;
*Add ideas to the idea tracker&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|3 Days||Data analysis, Report Writing, Using idea tracker|| Moderate [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&lt;br /&gt;
&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Quality Assurance: Find and report 3 bugs or GUI design issues at the new Central Participant Database feature of the upcoming Limesurvey 2.0alpha version (1/2)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During this years Google Summer of Code a cool new feature called &amp;quot;Central Participant Database&amp;quot; was coded. It will be available at the upcoming Limesurvey 2.0 alpha release. Though this feature was carefully tested there might still be some bugs in there and we want you to have a detailed look at this feature to check if you can find any weird behavior, misleading user interface or bugs.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at our [http://www.limesurvey.org/en/component/content/article/1-general-news/226-new-qcentral-participants-databaseq-feature-is-ready-for-testing testing instructions] and the [http://docs.limesurvey.org/Central+participants+database+%28User+panel%29 CPDB documentation].&lt;br /&gt;
*Test this feature by checking each single function and note any weird behavior, error messages or anything else you think is worth being improved.&lt;br /&gt;
*Your mentor will go through your list and will discuss the details with you.&lt;br /&gt;
*Add all issues to the bugtracker.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 Days||Using bugtracker, Limesurvey|| Easy ||Aniessh&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Quality Assurance: Find and report 3 bugs at the new Expression Manager feature of the upcoming Limesurvey 2.0alpha version (1/2)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
At the upcoming Limesurvey 2.0 alpha release conditions will be replaced by a powerful Expression Manager (EM). This feature is capable to evaluate all kinds of expressions and it will be used for other feature besides conditions as well.&lt;br /&gt;
&lt;br /&gt;
Since this is a new feature with a very complex logic we have to test it carefully. Therefore it&#039;s your task to create tests and see if everything works as expected.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at our [http://www.limesurvey.org/en/component/content/article/1-general-news/226-new-qcentral-participants-databaseq-feature-is-ready-for-testing testing system details] and the [http://docs.limesurvey.org/Expression+Manager EM documentation].&lt;br /&gt;
*Test this feature by checking each single function and note any weird behavior, error messages or anything else you think is worth being improved.&lt;br /&gt;
*Your mentor will go through your list and will discuss the details with you.&lt;br /&gt;
*Add all issues to the bugtracker.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|3 Days||Using bugtracker, Limesurvey|| Moderate||TMS White&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Quality Assurance: Find and report 3 bugs at the overworked Admin Backend of the upcoming Limesurvey 2.0alpha version (1/2)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During this years Google Summer of Code we ported the whole Limesurvey code to an MVC framework called codeigniter. This implied a whole bunch of code changes and re-design. Though this feature was carefully tested, there might still be some bugs in there and we want you to have a detailed look at this feature to check if you can find any weird behavior, misleading user interface or bugs.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at the Limesurvey admin feature. Play around with the available features and check if all works as described at the manual. If not, note all details about the problem.&lt;br /&gt;
*Find out which new features were added at Limesurvey 2.0 and check the according sections at the admin panel carefully. Note any weird behavior.&lt;br /&gt;
*Your mentor will go through your list and will discuss the details with you.&lt;br /&gt;
*Add all issues to the bugtracker.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 Days||Limesurvey, Using bugracker|| Moderate||dionet&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Quality Assurance: Find and report 3 bugs at the overworked Survey Engine of the upcoming Limesurvey 2.0alpha version (1/2)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During this years Google Summer of Code we ported the whole Limesurvey code to an MVC framework called codeigniter. This implied a whole bunch of code changes and re-design. Though this feature was carefully tested there might still be some bugs in there and we want you to have a detailed look at this feature to check if you can find any weird behavior, misleading user interface or bugs.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Import a test survey with all question types and most of the additional question attributes (we can provide some test surevys).&lt;br /&gt;
*Check if data for each question type is stored correctly, if conditions work as expected and all other available features listed at our documentation.&lt;br /&gt;
*Note any weird behavior, error messages and the like.&lt;br /&gt;
*Your mentor will go through your list and will discuss the details with you.&lt;br /&gt;
*Add all issues to the bugtracker.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|3 Days||Limesurvey, Using bugracker|| Moderate||dionet&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Quality Assurance: Find and report 3 bugs or GUI design issues at the new Central Participant Database feature of the upcoming Limesurvey 2.0alpha version (2/2)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During this years Google Summer of Code a cool new feature called &amp;quot;Central Participant Database&amp;quot; was coded. It will be available at the upcoming Limesurvey 2.0 alpha release. Though this feature was carefully tested there might still be some bugs in there and we want you to have a detailed look at this feature to check if you can find any weird behavior, misleading user interface or bugs.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at our [http://www.limesurvey.org/en/component/content/article/1-general-news/226-new-qcentral-participants-databaseq-feature-is-ready-for-testing testing instructions] and the [http://docs.limesurvey.org/Central+participants+database+%28User+panel%29 CPDB documentation].&lt;br /&gt;
*Test this feature by checking each single function and note any weird behavior, error messages or anything else you think is worth being improved.&lt;br /&gt;
*Your mentor will go through your list and will discuss the details with you.&lt;br /&gt;
*Add all issues to the bugtracker.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 Days||Using bugtracker, Limesurvey|| Easy ||Aniessh&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Quality Assurance: Find and report 3 bugs at the new Expression Manager feature of the upcoming Limesurvey 2.0alpha version (2/2)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
At the upcoming Limesurvey 2.0 alpha release conditions will be replaced by a powerful Expression Manager (EM). This feature is capable to evaluate all kinds of expressions and it will be used for other feature besides conditions as well.&lt;br /&gt;
&lt;br /&gt;
Since this is a new feature with a very complex logic we have to test it carefully. Therefore it&#039;s your task to create tests and see if everything works as expected.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at our [http://www.limesurvey.org/en/component/content/article/1-general-news/226-new-qcentral-participants-databaseq-feature-is-ready-for-testing testing system details] and the [http://docs.limesurvey.org/Expression+Manager EM documentation].&lt;br /&gt;
*Test this feature by checking each single function and note any weird behavior, error messages or anything else you think is worth being improved.&lt;br /&gt;
*Your mentor will go through your list and will discuss the details with you.&lt;br /&gt;
*Add all issues to the bugtracker.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|3 Days||Using bugtracker, Limesurvey|| Moderate||TMS White&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Quality Assurance: Find and report 3 bugs at the overworked Admin Backend of the upcoming Limesurvey 2.0alpha version (2/2)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During this years Google Summer of Code we ported the whole Limesurvey code to an MVC framework called codeigniter. This implied a whole bunch of code changes and re-design. Though this feature was carefully tested, there might still be some bugs in there and we want you to have a detailed look at this feature to check if you can find any weird behavior, misleading user interface or bugs.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Have a look at the Limesurvey admin feature. Play around with the available features and check if all works as described at the manual. If not, note all details about the problem.&lt;br /&gt;
*Find out which new features were added at Limesurvey 2.0 and check the according sections at the admin panel carefully. Note any weird behavior.&lt;br /&gt;
*Your mentor will go through your list and will discuss the details with you.&lt;br /&gt;
*Add all issues to the bugtracker.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|2 Days||Limesurvey, Using bugracker|| Moderate||magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Quality Assurance: Find and report 3 bugs at the overworked Survey Engine of the upcoming Limesurvey 2.0alpha version (2/2)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
During this years Google Summer of Code we ported the whole Limesurvey code to an MVC framework called codeigniter. This implied a whole bunch of code changes and re-design. Though this feature was carefully tested there might still be some bugs in there and we want you to have a detailed look at this feature to check if you can find any weird behavior, misleading user interface or bugs.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Import a test survey with all question types and most of the additional question attributes (we can provide some test surevys).&lt;br /&gt;
*Check if data for each question type is stored correctly, if conditions work as expected and all other available features listed at our documentation.&lt;br /&gt;
*Note any weird behavior, error messages and the like.&lt;br /&gt;
*Your mentor will go through your list and will discuss the details with you.&lt;br /&gt;
*Add all issues to the bugtracker.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|3 Days||Limesurvey, Using bugracker|| Moderate||magiclko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Training==&lt;br /&gt;
&lt;br /&gt;
===Training: Create a video tutorial for creating a custom survey template===&lt;br /&gt;
&lt;br /&gt;
Limesurvey has a template editor which allows users to create and modify templates used when displaying surveys. These templates allow survey administrators to adjust the look and feel of their surveys and brand them as well. Create a video tutorial showing users how to create a copy of the default template and modify it.&lt;br /&gt;
&lt;br /&gt;
The Video should include:&lt;br /&gt;
#An overview of the template editor and a description of what each area of the template editor is used for.&lt;br /&gt;
#An explanation of the different screens.&lt;br /&gt;
#Inserting a company logo in to the template.&lt;br /&gt;
#Basic adjustments in the css to modify the appearance of questions.&lt;br /&gt;
#Customizing the survey description page.&lt;br /&gt;
#Customizing the end page.&lt;br /&gt;
&lt;br /&gt;
It will be best to record each video section separately and then join the video at the end. Your will need to create a script for your video which includes all the steps you will be showing in your video and the dialog associated with each step.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Create a script with dialog to explain what will be done in the video from start to end.&lt;br /&gt;
*Submit your video script to your mentor for review.&lt;br /&gt;
*Record/Produce each section for your video tutorial.&lt;br /&gt;
*Submit each video to your mentor for review.&lt;br /&gt;
*Merge your video sections into an xvid avi with mp3 audio.&lt;br /&gt;
*Submit your video to your mentor.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|4 Days||Screen Recording, Video and Sound Editing|| Moderate||Machaven&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Training: Create a video tutorial for creating a new survey from scratch===&lt;br /&gt;
&lt;br /&gt;
There are several videos around explaining how to create a survey with LimeSurvey. Unfortunately most of the are pretty outdated and old. We would like to have a kick-all video tutorial explaining how to create a survey that immediately will hook up people.&lt;br /&gt;
&lt;br /&gt;
The Video should include:&lt;br /&gt;
#Creation of a survey, with an easy explanation of the concept behind it (Survey-&amp;gt;Question groups-&amp;gt;Questions)&lt;br /&gt;
#Creating the survey, explaining the most important settings&lt;br /&gt;
#Creating question groups and questions plus answers&lt;br /&gt;
#Showing off a number of question types&lt;br /&gt;
#Showing off how a simple condition is created.&lt;br /&gt;
#Activating the survey&lt;br /&gt;
&lt;br /&gt;
It will be best to record each video section separately and then join the video at the end. Your will need to create a script for your video which includes all the steps you will be showing in your video and the dialog associated with each step.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Create a script with dialog to explain what will be done in the video from start to end.&lt;br /&gt;
*Submit your video script to your mentor for review.&lt;br /&gt;
*Record/Produce each section for your video tutorial.&lt;br /&gt;
*Submit each video to your mentor for review.&lt;br /&gt;
*Merge your video sections into an xvid avi with mp3 audio.&lt;br /&gt;
*Submit your video to your mentor.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|4 Days||Screen Recording, Video and Sound Editing|| Moderate||Machaven&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Training: Create demo surveys for the most important features===&lt;br /&gt;
&lt;br /&gt;
Limesurvey offers a wide range of features. Some of them are a little complex to set up in a survey. To help new users getting familiar with these feature, we intend to create several sample surveys which users can easily download from our manual and import for testing.&lt;br /&gt;
&lt;br /&gt;
Each survey should contain 8-10 questions, depending on the feature that is demonstrated.&lt;br /&gt;
&lt;br /&gt;
List of sample surveys:&lt;br /&gt;
#Use of [http://docs.limesurvey.org/tiki-index.php?page=Question+attributes#Array_Filter_and_Array_Filter_Exclusion array filter and array exclusive option]&lt;br /&gt;
#How to set different types of [http://docs.limesurvey.org/tiki-index.php?page=Setting+conditions&amp;amp;structure;=English+Instructions+for+LimeSurvey conditions]&lt;br /&gt;
#Create a quiz using [http://docs.limesurvey.org/tiki-index.php?page=Assessments&amp;amp;structure;=English+Instructions+for+LimeSurvey assessments ]and [http://docs.limesurvey.org/tiki-index.php?page=SGQA+identifier&amp;amp;structure;=English+Instructions+for+LimeSurvey SGQA identifier] to show the users answers at the end of the survey.&lt;br /&gt;
#Screen users by making use of [http://docs.limesurvey.org/tiki-index.php?page=Quotas&amp;amp;structure;=English+Instructions+for+LimeSurvey quotas]&lt;br /&gt;
#Demonstrate the use of ~10 different [http://docs.limesurvey.org/tiki-index.php?page=Question+attributes&amp;amp;structure;=English+Instructions+for+LimeSurvey question attributes].&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Get familiar with Limesurvey by using our [http://docs.limesurvey.org/tiki-index.php?page=Question+attributes&amp;amp;structure;=English+Instructions+for+LimeSurvey demo ]or installing Limesurvey yourself.&lt;br /&gt;
*Read the documentation linked above.&lt;br /&gt;
*Create a first survey and ask your mentor for feedback.&lt;br /&gt;
*Create the rest of the surveys.&lt;br /&gt;
*Create a topic in our forum and ask for some user feedback.&lt;br /&gt;
*Add feedback where useful.&lt;br /&gt;
*Merge all surveys in a big demo survey using group/question import/export while keeping the smaller survey versions.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|4 Days||Creating surveys using Limesurvey, communicate with coomunity|| easy [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&lt;br /&gt;
&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Training: Create a &amp;quot;How to design a &#039;&#039;good&#039;&#039; survey&amp;quot; tutorial===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: [http://docs.limesurvey.org/tiki-index.php?page=UserPage+Mazi Mazi]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Our manual describes all available features in detail but we don&#039;t have instructions on how to create a good survey yet, e.g. users might have huge matrix question which are all mandatory at their survey, that&#039;s a no go. Your task is to find out about some basics of survey design by asking google and asking our experienced users at the forum and then collect that data and structure it so we can have a list of issues one should take care of when designing a survey.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*Create a new forum topic explaining your task and asking for user feedback. Ask your mentor to also link this post at www.limesurvey.org and to twitter about it.&lt;br /&gt;
*Ask Google about the important issues when creating an online survey&lt;br /&gt;
*Sum up all information and create a structured document which deals with different parts to take care of.&lt;br /&gt;
*Discuss the work with your mentor&lt;br /&gt;
*Port all the details to a new wiki page&lt;br /&gt;
*Add the wiki page at a new tipps &amp;amp; tricks section of our wiki&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|3 days||Using search engines, writing documentation|| easy||holch&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Research==&lt;br /&gt;
&lt;br /&gt;
===Research: Usability testing===&lt;br /&gt;
&lt;br /&gt;
Usability testing and user input is a great source of ideas for improving your application. The goal of this assignment is to identify usability problems in LimeSurvey and discussing possible solutions for them.&lt;br /&gt;
&lt;br /&gt;
The general steps for this assignment would be:&lt;br /&gt;
#Work with LimeSurvey like a regular user would&lt;br /&gt;
##Set up a new survey&lt;br /&gt;
##Answer the survey at least once&lt;br /&gt;
##Make changes to the survey&lt;br /&gt;
##Use and export the results&lt;br /&gt;
##&amp;amp;hellip; (be creative!)&lt;br /&gt;
#Identify usability problems in LimeSurvey&lt;br /&gt;
##What was good/lacking in LimeSurvey?&lt;br /&gt;
##What was easy/hard to do?&lt;br /&gt;
#Discuss possible solutions to these usability problems with your mentor&lt;br /&gt;
#Write a social media post (blog, facebook, twitter) about your work at LimeSurvey, discuss the problems you have found and the ideas your propose to solve them.&lt;br /&gt;
##Tell others about what you have done during this assignment and how awesome LimeSurvey and their dev team is.&lt;br /&gt;
&lt;br /&gt;
For this assignment it is possible to make use of LimeService . LimeService provides free LimeSurvey installs for small users and requires no installation (even though installation could be a usability test in itself! How easy is it to install LimeSurvey). We advice to google for common usability problems before starting this assignment as a source of inspiration.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|3 Days||None, skills in web development are a plus|| Easy||ttielu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Research: Use Google Analytics to create a report about the common Limesurvey user===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea posted by: Mazi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Limesurvey uses Google Analytics to gather some basic background information about our users like where they come from, which browser they are using, which pages are visited most and the like. Because Google Analyitcs offers a lot of information we need a summary of the most important details. That&#039;s where you can give a helping hand.&lt;br /&gt;
&lt;br /&gt;
Task Steps:&lt;br /&gt;
*We will grant you access to our Google Analytics account so you can play around with the data a little&lt;br /&gt;
*Have a look at the available information and create a list of available data. Mark which data you consider important.&lt;br /&gt;
*Discuss the list and your proposed priorities with your mentor&lt;br /&gt;
*After we have agreed on the information the final report should include, gather the required information and create a report containing a 1 page summary plus 3-4 pages of additional information and charts.&lt;br /&gt;
*Discuss the work with your mentor&lt;br /&gt;
*Create a news article for the www.limesurvey.org website summing up your findings.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|4 days||writing reports (MS WOrd/Excel)|| moderate||Mazi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==User interface==&lt;br /&gt;
&lt;br /&gt;
===User interface: Icon creation===&lt;br /&gt;
&lt;br /&gt;
As easy as it is sounds icon creation is a demanding task. Icons have to fit to the existing theme and their meaning must be untuitive without being hard on the eye. We want you to create three icons for for LimeSurvey that represent the following entities:&lt;br /&gt;
*Survey&lt;br /&gt;
*Question group&lt;br /&gt;
*Question&lt;br /&gt;
&lt;br /&gt;
The icons must fit to the existing theme and shoudl be create using Inkscape as SVG file.&lt;br /&gt;
#Have a look at our existing icons in the LimeSurvey interface&lt;br /&gt;
#Have a look at our existing icons in SVG format in our Subversion repository at https://limesurvey.svn.sourceforge.net/svnroot/limesurvey/source/original art&lt;br /&gt;
#Create a couple drafts with a tool of your choice&lt;br /&gt;
#Discuss the drafts with your mentor&lt;br /&gt;
#Create the final icons&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|3 Days||Design, Inkscape|| Easy||c_schmitz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===User interface: Workflow improvements===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Idea added by: Mazi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There are some sections at the Limesurvey admin backend at which workflow improvements can be added. Often a summary page is shown even if you just made a minor change. Instead we should speed up the workflow and show just a pop-up, just to name a few issues.&lt;br /&gt;
&lt;br /&gt;
This is a list of issues I (Mazi) noticed. We can later splitt this up into some small and easy tasks:&lt;br /&gt;
*Problem: When adding new answer options and clicking into the answer text field, you have to manually delete the &amp;quot;Some example subquestion&amp;quot; text. For following answer options the text is deleted automatically when clicking into the input field.&lt;br /&gt;
*Solution: Add some Javascript to automatically delete the text once a user clicks into the input field.&lt;br /&gt;
*Problem: When switching to the token admin screen you don&#039;t see a list of available tokens. You have to click on the &amp;quot;Display Tokens&amp;quot; icon first.&lt;br /&gt;
*Solution: List all tokens below the &amp;quot;Token Summary&amp;quot; and above the &amp;quot;Token database options&amp;quot;.&lt;br /&gt;
*Problem: After having added a token entry you only see a short &amp;quot;New token was added&amp;quot; message with options to display tokens or add another token.&lt;br /&gt;
*Solution: It would be better to show the confirmation as a pop-up, like it is done after having added answer options or having changed global settings, and directly move on to the &amp;quot;add token entry&amp;quot; page because usually users want to add several token entries one by one.&lt;br /&gt;
*Alternative solution: When adding a token have two radio options above the save button: a) add another token after save (should be default) OR b) display tokens after save.&lt;br /&gt;
*Problem: When creating a new survey there are options to import or copy a survey. BUT there is a &amp;quot;save&amp;quot; button after the &amp;quot;import/copy survey&amp;quot; button as well. This is irritating because users might click the save button instead and then an error message will show up because no survey title etc. was entered at the previous tabs&lt;br /&gt;
*Solution: Hide &amp;quot;save&amp;quot; button at import and copy tab.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;TO BE CONTINUED&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Problem: ...&lt;br /&gt;
*Solution: ...&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
#Check the described issues using the online system we provide&lt;br /&gt;
#Search for the according code piece&lt;br /&gt;
#Overwork the code to improve the workflow&lt;br /&gt;
#Create a patch file and send it to your mentor for review.&lt;br /&gt;
#Once the mentor accepts your patch he will add it to the current development branch&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|Time frame||Skills||Difficulty||Mentor&lt;br /&gt;
|-&lt;br /&gt;
|X Days||PHP, maybe a little HTML and Javascript|| Easy||c_schmitz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=We want your ideas!=&lt;br /&gt;
&lt;br /&gt;
What floats your boat? Do you have another idea that gets you excited? Discuss your ideas in our [http://www.limesurvey.org/component/option,com_fireboard/Itemid,105/func,view/catid,11/id,24710/lang,en/ forums], [https://lists.sourceforge.net/lists/listinfo/limesurvey-developers mailing lists] or at #limesurvey on irc.freenode.net.&lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
*[http://docs.limesurvey.org/tiki-index.php?page=GSoC_Getting_Started How to get started with LimeSurvey]&lt;br /&gt;
&lt;br /&gt;
How to Get Started With LimeSurvey:&lt;br /&gt;
&lt;br /&gt;
- setting up the development environment, coding standards, and all the other important stuff that you need to know before the real fun begins!&lt;/div&gt;</summary>
		<author><name>Dionet</name></author>
	</entry>
</feed>