Actions

LimeSurvey project ideas for Google Code-in 2011

From LimeSurvey Manual

Contents

Please note that we will apply for Google Code-in 2012 and the application was not accepted yet. We will remove this notice if we are accepted or (in case we won't) change the notice accordingly.

Welcome

Welcome Google Code-in Student aspirants (:razz:)!! Please check if you are an eligible candidate for the GCI program.

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:)

All tasks aim at the 2.1 development version.

How to claim a task

All tasks below will be entered in the Google Code-in task tracker (which is not yet available). You have to be a registered and accepted Google Code-In participant to claim a task.

Task ideas

Idea Template

This is just a template you can use to add your ideas:

Code/Documentation/Outreach/Quality assurance/Training/Research/User interface: Some descriptive task description

Idea posted by: <myname>

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.

Task steps:

  • Some steps like...
  • Install LimeSurvey or use the online system we provide
  • Analyse the problem
  • Discuss the issue and your proposed solution with your mentor
  • Code/document/translate/... and submit your work
  • Discuss the work with your mentor
  • Check-in your changes into the limesurvey svn trunk/add it to the wiki/...
Time frame Skills Difficulty Mentor
X days some skills the applicants should have easy/moderate/difficult mentorname

Second wave

...add your ideas here...

Create a LimeSurvey glossary

Idea posted by: Mazi

Sometimes you stumble upon a LimeSurvey feature and don't know about any details. Since LimeSurvey offers have quite a wide range of features, having an alphabetical list of keywords like assessments, conditions, label sets, quotas, ... with 2-3 sentences to describe each feature will help a lot. If possible these keywords should be linked to the according manual page.

You won't have to work on this alone. This can be collaborative work meaning you can ask at our forums, on Facebook, out on the streets for help. Create a list and ask others to add missing features.

Task steps:

  • Have a look at the english manual and check which features exist there: http://docs.limesurvey.org/English+Instructions+for+LimeSurvey
  • Ask your mentor to create a new wiki page
  • Create a user accout at www.limesurvey.org. Once done, click on the "documentation" link at the menu to be redirected to the wiki. You should already be logged in there and can edit pages now.
  • Create an alphabetical list of features. Add a feature description of 2-3 sentences and if possible link to the according english manual pages.
  • Ask other at our forum (or other places) to add missing features.
  • We expect the list to contain at least 25 features. The more the better.
  • Discuss the created glossary with your mentor
Time frame Skills Difficulty Mentor
5 days wiki editing, writing documentation moderate Mazi

Code: Port the "lost password" feature to Yii

Idea posted by: Mazi

LimeSurvey offers a "forgot password" feature so you can access your Limesurey installation even if you forgot your password. This feature has to be ported to the Yii framework.

Task steps:

  • ...
Time frame Skills Difficulty Mentor
3 days PHP, MVC, Yii framework easy c_schmitz

Documentation/Translation: (GERMAN) Merge article "Vorlagen / Vorlagen Editor" and "Templates   Styles" and add new/missing parts of english article "The template editor"

Idea posted by: vierundzwanzig

The english article "The template editor" has both the description for the template editor as well as the description for template styles. In the german part of the documentation this article is seperated into two articles "Vorlagen / Vorlagen Editor" and "Templates   Styles". For the reason of simplicity and unity both articles should be merged together. If the english article "The template editor" has new/missing parts this parts should be translated and added to the new merged article.

Task steps:

Time frame Skills Difficulty Mentor
3 days German and English language easy Mazi, vierundzwanzig

Documentation: Update the LimeSurvey 2.0 database layout

Idea posted by: Mazi

The documentation of the LimeSurvey database layout is oudated (see http://docs.limesurvey.org/LimeSurvey+1.8+database+layout+documentation&structure;=LimeSurvey+development). Your task is to have a look at the current layout, update the documentation and the table description.

Task steps:

  • Have a look at http://docs.limesurvey.org/LimeSurvey+1.8+database+layout+documentation&structure;=LimeSurvey+development
  • Install a subversion client and download LimeSurvey 2.0a (that's the version still based on CodeIgniter) using subversion and install it by running http://<yourserver>/limesurvey/index.php/admin
  • Install phpmyadmin: http://www.phpmyadmin.net/home_page/index.php
  • Have a look at the current database layout and compare it t the outdated docs.
  • Update the old document, list missing tables and columns, mark dependencies and keys, write a short description on what each table is used for.
  • If you have problems to find it please get in touch with us on IRC. #limesurvey@freenode.org (http://www.limesurvey.org/en/community-services/live-chat)
  • Discuss the work with your mentor
  • Add your file at our wiki (Create a user account at www.limesurvey.org. This can be used to log in at the wiki as well. After having registered, click the "documentation" link on the LimeSurvey main page and navigate to the page you want to update).
Time frame Skills Difficulty Mentor
2 days documentation, Excel, Database design easy/ Mazi, c_schmitz

Code: Enable filling out additional token attributes when registering for a survey

Idea posted by: Mazi

When using tokens and enabling public registration, the additionally added token attributes (see Have a look at additional token attributes: http://docs.limesurvey.org/Tokens&structure;=English+Instructions+for+LimeSurvey#User-defined_attribute_fields) can't be filled out at registration. This feature has to be added to the registration screen.

Task steps:

  • Install LimeSurvey or use the online system we provide
  • Analyse the problem
  • Discuss the issue and your proposed solution with your mentor
  • Code/document/translate/... and submit your work
  • Discuss the work with your mentor
  • Check-in your changes into the limesurvey svn trunk/add it to the wiki/...
Time frame Skills Difficulty Mentor
X days some skills the applicants should have easy/moderate/difficult c_schmitz

Translation: Update the German version of the english "optional settings" wiki page

Idea posted by: Mazi

The "optional settings" wiki page (http://docs.limesurvey.org/Optional+settings) holds information about LimeSurvey settings for certain parts of the programm that are to be set at the config.php file and are not included at the global settings.

The German version of this page (http://docs.limesurvey.org/tiki-index.php?page=Optionale+Einstellungen) is outdated and needs to be updated based on the english page.

Task steps:

  • Create a user account at www.limesurvey.org. This can be used to log in at the wiki as well. After having registered, click the "documentation" link on the LimeSurvey main page.
  • Have a look at the english base page: http://docs.limesurvey.org/tiki-index.php?page=Optional+settings
  • Port the document structure (page sections) to the German page (http://docs.limesurvey.org/tiki-index.php?page=Optionale+Einstellungen)
  • Check which settings are missing -> add those
  • Check which settings are incomplete -> extend those
  • Check which settings are not listd at the english version -> delete those
  • When you are done, check carefuly if no settings is missing
  • If you have any questions about a certain setting, ask it here, your mentor will be notified.
  • When you are done, submit your work here (just give the link to the translated page).
Time frame Skills Difficulty Mentor
3 days German language, wiki editing moderate Mazi, mot

Translation: Translate the english "optional settings" wiki page to Spanish

Idea posted by: Mazi

The "optional settings" wiki page (http://docs.limesurvey.org/Optional+settings) holds information about LimeSurvey settings for certain parts of the programm that are to be set at the config.php file and are not included at the global settings.

A Spanish version of this page doesn't exist and needs to be created based on the english page.

Task steps:

  • Create a user account at www.limesurvey.org. This can be used to log in at the wiki as well. After having registered, click the "documentation" link on the LimeSurvey main page.
  • Have a look at the english base page: http://docs.limesurvey.org/tiki-index.php?page=Optional+settings
  • On top right, choose the option to translate the current english version and assign the new page a matching name and the Spanish language
  • Translate the english page to Spanish
  • When you are done, check carefuly if no settings is missing
  • If you have any questions about a certain setting, ask it here, your mentor will be notified.
  • When you are done, submit your work here (just give the link to the translated page).
Time frame Skills Difficulty Mentor
5 days Spanish language, wiki editing difficult Mazi, holch

Translation: Update the German version of the english "Exporting results" wiki page

Idea posted by: Mazi

The "Exporting results" wiki page (http://docs.limesurvey.org/Exporting+results&structure;=English+Instructions+for+LimeSurvey) holds information about exporting survey data for different applications.

The German version of this page (http://docs.limesurvey.org/tiki-index.php?page=Ergebnisse+exportieren) is outdated and needs to be updated based on the english page.

Task steps:

  • Create a user account at www.limesurvey.org. This can be used to log in at the wiki as well. After having registered, click the "documentation" link on the LimeSurvey main page.
  • Have a look at the english base page: http://docs.limesurvey.org/Exporting+results
  • Port the document structure (page sections) to the German page (http://docs.limesurvey.org/tiki-index.php?page=Ergebnisse+exportieren)
  • Check which parts missing -> add those
  • Check which parts are incomplete -> extend those
  • When you are done, check carefuly if no settings is missing
  • If you have any questions about a certain part of the english page, ask here, your mentor will be notified.
  • When you are done, submit your work here (just give the link to the translated page).
Time frame Skills Difficulty Mentor
3 days German language, wiki editing moderate Mazi, mot

Translation: Update the French version of the english "Exporting results" wiki page

Idea posted by: Mazi

The "Exporting results" wiki page (http://docs.limesurvey.org/Exporting+results&structure;=English+Instructions+for+LimeSurvey) holds information about exporting survey data for different applications.

The French version of this page (http://docs.limesurvey.org/Exportation+des+r%C3%A9sultats) is outdated and needs to be updated based on the english page.

Task steps:

  • Create a user account at www.limesurvey.org. This can be used to log in at the wiki as well. After having registered, click the "documentation" link on the LimeSurvey main page.
  • Have a look at the english base page: http://docs.limesurvey.org/Exporting+results
  • Port the document structure (page sections) to the French page (http://docs.limesurvey.org/Exportation+des+r%C3%A9sultats)
  • Check which settings parts missing -> add those
  • Check which parts are incomplete -> extend those
  • When you are done, check carefuly if no settings is missing
  • If you have any questions about a certain part of the english page, ask here, your mentor will be notified.
  • When you are done, submit your work here (just give the link to the translated page).
Time frame Skills Difficulty Mentor
5 days French language, wiki editing moderate Mazi, Shnoulle

Translation: Translate the english "Exporting results" wiki page to Spanish

Idea posted by: Mazi

The "Exporting results" wiki page (http://docs.limesurvey.org/Exporting+results&structure;=English+Instructions+for+LimeSurvey) holds information about exporting survey data for different applications.

A Spanish version of this page doesn't exist and needs to be created based on the english page.

Task steps:

  • Create a user account at www.limesurvey.org. This can be used to log in at the wiki as well. After having registered, click the "documentation" link on the LimeSurvey main page.
  • Have a look at the english base page: http://docs.limesurvey.org/Exporting+results&structure;=English+Instructions+for+LimeSurvey
  • On top right, choose the option to translate the current english version and assign the new page a matching name and the Spanish language
  • Translate the english page to Spanish
  • When you are done, check carefuly if no section is missing
  • If you have any questions about a certain part of the english page, ask here, your mentor will be notified.
  • When you are done, submit your work here (just give the link to the translated page).
Time frame Skills Difficulty Mentor
5 days Spanish language, wiki editing difficult Mazi, holch

Documentation: Include description from question type articles into question types overview page

Idea posted by: vierundzwanzig

The english article "Question Types", http://docs.limesurvey.org/Question+types has its own description and images. It would be better to include the description from the question type articles. This can make maintenance easier.

Task steps:

  • Use http://docs.limesurvey.org/English+Instructions+for+LimeSurvey to get to the articles for the question types. For example, the first is "Question type - Array" at http://docs.limesurvey.org/Question+type+-+Array .
  • If the article doesn't have a header called "short description" (Wiki: !Short description) add the short description header.
  • The short description should be short and tell the user in one to three sentences what this question type is used for. You can use the existing description in the article if it fits well or copy and customise it. After your work is done it should look like
    =Short description=
    
    An array allows you to create subquestions as your left hand headings, and let your participants respond to a series of possible answers options using those subquestions.
    
    [[File:F_AFL.jpg]]
    
    ----
    
    =General description=
    
    ...
    
  • Have a look at the english page http://docs.limesurvey.org/Question+types
  • Edit http://docs.limesurvey.org/Question+types : Remove the old text/images and include the short description of the question type article.
  • Before:
    === Array===
    
    [[File:F_AFL.jpg]]
    
    [[Media:F_-_Array_Flexible_Labels.csv|Download this question type to import it at your survey]]
    
    To show scale details left/right of the answer scale you can use "|" as a separator when adding the answer text e. g.
    
    "sweet|bitter"
    
    or
    
    "not at all satisfied|extremely satisfied"
    
    [[File:H_SD.jpg]]
    
    [[Media:H_-_Array_Flexible_Labels_-_Semantic_Differential.csv|Download this question type to import it at your survey]]
    
    Find out [[Question type - Array|more about the Array question type...]]
    
  • After:
    === Array===
    
    {INCLUDE(page="Question type - Array",start="!Short description}}
    
    Find out [[Question type - Array|more about the Array question type...]]
    
  • Repeat this for all question types
  • Discuss your changes with your mentor
Time frame Skills Difficulty Mentor
2 days English language, understand wiki syntax easy Mazi

First wave (already ported to GCi system)

Localization

Localization: Translate LimeSurvey to your mother language

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/

Task Steps:

  • 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.
  • Read the documentation on Translating LimeSurvey
  • Translate as crazy - check your translation using a local copy of LimeSurvey.
  • Submit your updated/new translation to us.

Updating a translation from <70% to 100%:

Time frame Skills Difficulty Mentor
2 Days Translation Easy c_schmitz

New translation (at least 50%):

Time frame Skills Difficulty Mentor
3 Days Translation Moderate c_schmitz

Translation: (GERMAN) Translate the english "ExpressionScript" docs page to German

Idea posted by: Mazi

The upcoming LimeSurvey 2.0 version will contain a powerful "ExpressionScript" which replaces conditions and some other features. The documentation of this new feature is only available in English yet. Your task is to translate the current wiki page to German.

Task Steps:

Time frame Skills Difficulty Mentor
2 days German and English language easy mot2

Translation: (GERMAN) Translate the english "Central Participants Database" docs page to German

Idea posted by: Mazi

The upcoming LimeSurvey 2.0 version will have a new feature called "Central Participants Database" (CPDB). The documentation of this new feature is only available in English yet. Your task is to translate the current wiki page to German.

Task Steps:

Time frame Skills Difficulty Mentor
2 days German and English language easy mot2

Translation: (GERMAN) Translate the english "Creating a new survey" docs page to German

Idea posted by: Mazi

The "Creating a new survey" 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 update the German translation of that wiki page based on the current english wiki page.

Task Steps:

Time frame Skills Difficulty Mentor
2 days German and English language easy mot2

Translation: (GERMAN) Translate the english "Advanced question settings" docs page to German

Idea posted by: Mazi

The "Advanced qustion attributes" 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 update the German translation of that wiki page based on the current english wiki page.

Task Steps:

Time frame Skills Difficulty Mentor
2 days German and English language easy mot2

Translation: (GERMAN) Translate the english "Tokens" docs page to German

Idea posted by: Mazi

The "Tokens" 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 update the German translation of that wiki page based on the current english wiki page.

Task Steps:

Time frame Skills Difficulty Mentor
2 days German and English language easy mot2

Translation: (GERMAN) Translate the english "Installer" docs page to German

Idea posted by: Mazi

The new installer is one of the most important featres of the new LimeSurvey 2.0 version. Once the English instructions page (see this idea) was set up, the German translation of that page has to be created.

Task Steps:

  • Have a look at the english installer page once it was set up.
  • Create the German translation of this page directly at our wiki.
  • Check if your new/updated translation contains all information of the english base version.
  • Discuss the translation with your mentor
Time frame Skills Difficulty Mentor
2 days German and English language easy mot2

------------------

Translation: (FRENCH) Translate the english "ExpressionScript" docs page to French

Idea posted by: Mazi

The upcoming LimeSurvey 2.0 version will contain a powerful "ExpressionScript" which replaces conditions and some other features. The documentation of this new feature is only available in English yet. Your task is to translate the current wiki page to French.

Task Steps:

Time frame Skills Difficulty Mentor
2 days French and English language easy Shnoulle

Translation: (FRENCH) Translate the english "Central Participants Database" docs page to French

Idea posted by: Mazi

The upcoming LimeSurvey 2.0 version will have a new feature called "Central Participants Database" (CPDB). The documentation of this new feature is only available in English yet. Your task is to translate the current wiki page to French.

Task Steps:

Time frame Skills Difficulty Mentor
2 days French and English language easy Shnoulle

Translation: (FRENCH) Translate the english "Creating a new survey" docs page to French

Idea posted by: Mazi

The "Creating a new survey" 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 update the French translation of that wiki page based on the current english wiki page.

Task Steps:

Time frame Skills Difficulty Mentor
1 day French and English language easy Shnoulle

Translation: (FRENCH) Translate the english "Advanced question settings" docs page to French

Idea posted by: Mazi

The "Advanced question attributes" 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 update the French translation of that wiki page based on the current english wiki page.

Task Steps:

Time frame Skills Difficulty Mentor
2 days French and English language easy Shnoulle

Translation: (FRENCH) Translate the english "Tokens" docs page to French

Idea posted by: Mazi

The "Tokens" 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 update the French translation of that wiki page based on the current english wiki page.

Task Steps:

Time frame Skills Difficulty Mentor
2 days French and English language easy Shnoulle

Translation: (FRENCH) Translate the english "Installer" docs page to French

Idea posted by: Mazi

The new installer is one of the most important featres of the new LimeSurvey 2.0 version. Once the English instructions page (see this idea) was set up, the French translation of that page has to be created.

Task Steps:

  • Have a look at the english installer page once it was set up.
  • Create the French translation of this page directly at our wiki.
  • Check if your new/updated translation contains all information of the english base version.
  • Discuss the translation with your mentor
Time frame Skills Difficulty Mentor
2 days French and English language easy Shnoulle

---------------

Translation: (SPANISH) Translate the english "ExpressionScript" docs page to Spanish

Idea posted by: Mazi

The upcoming LimeSurvey 2.0 version will contain a powerful "ExpressionScript" which replaces conditions and some other features. The documentation of this new feature is only available in English yet. Your task is to translate the current wiki page to Spanish.

Task Steps:

Time frame Skills Difficulty Mentor
2 days Spanish and English language easy holch

Translation: (SPANISH) Translate the english "Central Participants Database" docs page to Spanish

Idea posted by: Mazi

The upcoming LimeSurvey 2.0 version will have a new feature called "Central Participants Database" (CPDB). The documentation of this new feature is only available in English yet. Your task is to translate the current wiki page to Spanish.

Task Steps:

Time frame Skills Difficulty Mentor
2 days Spanish and English language easy holch

Translation: (SPANISH) Translate the english "Creating a new survey" docs page to Spanish

Idea posted by: Mazi

The "Creating a new survey" 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 update the Spanish translation of that wiki page based on the current english wiki page.

Task Steps:

Time frame Skills Difficulty Mentor
1 day Spanish and English language easy holch

Translation: (SPANISH) Translate the english "Question types" docs page to Spanish

Idea posted by: Mazi

The "Question types" 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 update the Spanish translation of that wiki page based on the current english wiki page.

Task Steps:

Time frame Skills Difficulty Mentor
2 days Spanish and English language moderate holch

Translation: (SPANISH) Translate the english "Advanced question settings" docs page to Spanish

Idea posted by: Mazi

The "Advanced question attributes" 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 update the Spanish translation of that wiki page based on the current english wiki page.

Task Steps:

Time frame Skills Difficulty Mentor
2 days Spanish and English language easy holch

Translation: (SPANISH) Translate the english "Tokens" docs page to Spanish

Idea posted by: Mazi

The "Tokens" 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't exist yet. Your task is to create the Spanish translation of that wiki page based on the current english wiki page.

Task Steps:

Time frame Skills Difficulty Mentor
3 days Spanish and English language difficult holch

Translation: (SPANISH) Translate the english "Installer" docs page to Spanish

Idea posted by: Mazi

The new installer is one of the most important featres of the new LimeSurvey 2.0 version. Once the English instructions page (see this idea) was set up, the Spanish translation of that page has to be created.

Task Steps:

  • Have a look at the english installer page once it was set up.
  • Create the Spanish translation of this page directly at our wiki.
  • Check if your new translation contains all information of the english base version.
  • Discuss the translation with your mentor
Time frame Skills Difficulty Mentor
2 days French and English language moderate holch

Code

Code: Usability changes for LimeSurvey

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.

Task Steps:

  • Install LimeSurvey - create a small survey, play around with the interface.
  • Pick a couple things you would like to change to have better usability
  • Discuss the found issues with your mentor
  • Together we will either pick one of your found issues or the mentor will make an suggestion for another change.
  • Code the usability change and create a patch
  • Discuss the patch with your mentor and the mentor
  • If necessary make re-submit patch with discusse changes
Time frame Skills Difficulty Mentor
2 days PHP, HTML, CSS, maybe SQL Moderate c_schmitz

Code: Implement "Embedd all text answers" setting at admin statistics

Idea posted by: Mazi

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.

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 "Embedd all text answers" 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.

Task Steps:

  • Install LimeSurvey - create a small survey with text questions and add some dummy data.
  • Have a look at the data summary and the available export options.
  • Add a "Embedd all text answers" setting.
  • Implement the code to embedd that data and create a patch
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the limesurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2 days PHP, some very basic HTML, SQL Moderate c_schmitz

Code: Implement Google map at admin statistics

Idea posted by: Mazi

LimeSurvey offers a "Map" 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' answers at that overview.

Task Steps:

  • Install LimeSurvey - create a small survey with a map question and add some dummy data.
  • Have a look at the admin statistics of that question.
  • Implement the code to embedd a Map and mark the users' answers in there and create a patch
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the limesurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
3 days PHP, some very basic HTML, (knowledge about Google Maps API or: learning by doing) Moderate c_schmitz

Code: Implement jqgrid at token overview table

Idea posted by: Mazi

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.

Task Steps:

  • Install LimeSurvey - create a small survey with a token table and add a few dummy people there.
  • Have a look at the jqgrid docs at http://www.trirand.com/jqgridwiki/doku.php
  • Implement jqgrid for the token overview and create a patch
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the limesurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2 days Javascript, PHP, HTML, maybe a little CSS Difficult c_schmitz

Code: Implement jqgrid at browse response table

Idea posted by: Mazi

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.

Task Steps:

  • Install LimeSurvey - import a test survey with all question types (we'll hand that to you) and add some test answer data.
  • Have a look at the jqgrid docs at http://www.trirand.com/jqgridwiki/doku.php
  • Implement jqgrid for the browse response table and create a patch
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the limesurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2 days Javascript, PHP, HTML, maybe a little CSS Moderate aniessh

Code: Improve drag and drop functionality at attribute mapping

Idea posted by: Aniessh

Central Participant'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.

Task Steps:

  • Install LimeSurvey - create a small survey with a token table and add a few dummy people there.
  • Create some attributes at the token level.
  • Create some attributes at the Central Participant Database panel.
  • Copy the previously added dummy people from token table to the central table.
  • 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.
  • Suggest how to improve the user interface.
  • Improve the user interface and create a patch.
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the limesurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2 days Javascript, PHP, HTML, CSS Moderate aniessh

Code: Add drag and drop feature to ranking question

Idea posted by: Mazi

LimeSurvey contains a "ranking" question type (see http://docs.limesurvey.org/Question+type+-+Ranking&structure;=English+Instructions+for+LimeSurvey) which isn'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.

There is already a workaround and a 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.

Task Steps:

  • Install LimeSurvey - create a test survey with ranking question types and different question attributes
  • Have a look at the question type within the survey to see what could be improved.
  • Check the workaround linked above and the demo survey to see where we would like to go to.
  • Implement a generic solution to make the ranking question type a little nicer (no DB changes required).
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the limesurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
3 days Javascript, PHP, CSS difficult c_schmitz

Code: Add option to switch between bar chart and pie chart at statistics

Idea posted by: Mazi

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.

Task Steps:

  • Install LimeSurvey - import a test survey with all question types (we can provide one) and add some test data.
  • 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.
  • Discuss your suggestions with your mentor and together create a concept how to deal with the problem.
  • Implement a generic solution.
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the limesurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
4 days PHP, MySQL, a little HTML difficult c_schmitz

Code: Refactor the CodeIgniter branch

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, ...

Task Steps:

  • Download the LimeSurvey CI-branch
  • Find a class or method with smelly (bad) code
  • Discuss the code smell with the mentor and make a proposal on how to improve the code
  • Work out the improvement and create a patch
  • Discuss your patch with the mentor
  • Check-in your changes into the limesurvey svn trunk
Time frame Skills Difficulty Mentor
2-4 days (depending on chosen smell) PHP, CodeIgniter (depending on chosen smell) Moderate mrp001

Code: Make unit tests for the CodeIgniter branch

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.

Task Steps:

  • Download the LimeSurvey CI-branch
  • Find an untested class which could use some testing
  • Discuss the badly tested class/method with the mentor and make a proposal on how to test the code
  • Write tests for class/method and create a patch
  • Discuss your patch with the mentor
  • Check-in your changes into the limesurvey svn trunk.
Time frame Skills Difficulty Mentor
2-4 days (depending on chosen class/method) PHP, CodeIgniter (depending on chosen class/method) Moderate mrp001

Code: Re-factoring HTML into views : CodeIgniter branch

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.

Code: Re-factoring database calls into models (Browse Controller): CodeIgniter branch

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 "Active Records" should be used everywhere. This task aim for searching through the

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()!).

Task Steps:

  • Download LimeSurvey's CodeIgniter branch
  • Read the Documentation
  • Find outdated database calls in Browse Controller (db_execute_assoc()).
  • Identify which calls have equivalent methods in models.
  • Port these calls using the existing models.
  • Create or extend the models for the remaining calls.
  • Port the remaining calls using the new models.
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the LimeSurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2-4 days PHP, CodeIgniter, MySQL Moderate dionet/magiclko

Code: Re-factoring database calls into models (Check Integrity Controller): CodeIgniter branch

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 "Active Records" should be used everywhere. This task aim for searching through the

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()!).

Task Steps:

  • Download LimeSurvey's CodeIgniter branch
  • Read the Documentation
  • Find outdated database calls in Check Integrity Controller (db_execute_assoc()).
  • Identify which calls have equivalent methods in models.
  • Port these calls using the existing models.
  • Create or extend the models for the remaining calls.
  • Port the remaining calls using the new models.
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the LimeSurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2-4 days PHP, CodeIgniter, MySQL Moderate dionet/magiclko

Code: Re-factoring database calls into models (Conditions Controller): CodeIgniter branch

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 "Active Records" should be used everywhere. This task aim for searching through the

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()!).

Task Steps:

  • Download LimeSurvey's CodeIgniter branch
  • Read the Documentation
  • Find outdated database calls in Conditions Controller (db_execute_assoc()).
  • Identify which calls have equivalent methods in models.
  • Port these calls using the existing models.
  • Create or extend the models for the remaining calls.
  • Port the remaining calls using the new models.
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the LimeSurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2-4 days PHP, CodeIgniter, MySQL Moderate dionet/magiclko

Code: Re-factoring database calls into models (Database Controller): CodeIgniter branch

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 "Active Records" should be used everywhere. This task aim for searching through the

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()!).

Task Steps:

  • Download LimeSurvey's CodeIgniter branch
  • Read the Documentation
  • Find outdated database calls in Database Controller (db_execute_assoc()).
  • Identify which calls have equivalent methods in models.
  • Port these calls using the existing models.
  • Create or extend the models for the remaining calls.
  • Port the remaining calls using the new models.
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the LimeSurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2-4 days PHP, CodeIgniter, MySQL Moderate dionet/magiclko

Code: Re-factoring database calls into models (Data Entry Controller): CodeIgniter branch

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 "Active Records" should be used everywhere. This task aim for searching through the

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()!).

Task Steps:

  • Download LimeSurvey's CodeIgniter branch
  • Read the Documentation
  • Find outdated database calls in Data Entry Controller (db_execute_assoc()).
  • Identify which calls have equivalent methods in models.
  • Port these calls using the existing models.
  • Create or extend the models for the remaining calls.
  • Port the remaining calls using the new models.
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the LimeSurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2-4 days PHP, CodeIgniter, MySQL Moderate dionet/magiclko

Code: Re-factoring database calls into models (Email Templates Controller): CodeIgniter branch

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 "Active Records" should be used everywhere. This task aim for searching through the

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()!).

Task Steps:

  • Download LimeSurvey's CodeIgniter branch
  • Read the Documentation
  • Find outdated database calls in Email Templates Controller (db_execute_assoc()).
  • Identify which calls have equivalent methods in models.
  • Port these calls using the existing models.
  • Create or extend the models for the remaining calls.
  • Port the remaining calls using the new models.
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the LimeSurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2-4 days PHP, CodeIgniter, MySQL Moderate dionet/magiclko

Code: Re-factoring database calls into models (Export Controller): CodeIgniter branch

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 "Active Records" should be used everywhere. This task aim for searching through the

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()!).

Task Steps:

  • Download LimeSurvey's CodeIgniter branch
  • Read the Documentation
  • Find outdated database calls in Export Controller (db_execute_assoc()).
  • Identify which calls have equivalent methods in models.
  • Port these calls using the existing models.
  • Create or extend the models for the remaining calls.
  • Port the remaining calls using the new models.
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the LimeSurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2-4 days PHP, CodeIgniter, MySQL Moderate dionet/magiclko

Code: Re-factoring database calls into models (Labels Controller): CodeIgniter branch

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 "Active Records" should be used everywhere. This task aim for searching through the

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()!).

Task Steps:

  • Download LimeSurvey's CodeIgniter branch
  • Read the Documentation
  • Find outdated database calls in Labels Controller (db_execute_assoc()).
  • Identify which calls have equivalent methods in models.
  • Port these calls using the existing models.
  • Create or extend the models for the remaining calls.
  • Port the remaining calls using the new models.
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the LimeSurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2-4 days PHP, CodeIgniter, MySQL Moderate dionet/magiclko

Code: Re-factoring database calls into models (Printable Survey Controller): CodeIgniter branch

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 "Active Records" should be used everywhere. This task aim for searching through the

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()!).

Task Steps:

  • Download LimeSurvey's CodeIgniter branch
  • Read the Documentation
  • Find outdated database calls in Printable Survey Controller (db_execute_assoc()).
  • Identify which calls have equivalent methods in models.
  • Port these calls using the existing models.
  • Create or extend the models for the remaining calls.
  • Port the remaining calls using the new models.
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the LimeSurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2-4 days PHP, CodeIgniter, MySQL Moderate dionet/magiclko

Code: Re-factoring database calls into models (Question Controller): CodeIgniter branch

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 "Active Records" should be used everywhere. This task aim for searching through the

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()!).

Task Steps:

  • Download LimeSurvey's CodeIgniter branch
  • Read the Documentation
  • Find outdated database calls in Question Controller (db_execute_assoc()).
  • Identify which calls have equivalent methods in models.
  • Port these calls using the existing models.
  • Create or extend the models for the remaining calls.
  • Port the remaining calls using the new models.
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the LimeSurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2-4 days PHP, CodeIgniter, MySQL Moderate dionet/magiclko

Code: Re-factoring database calls into models (Question Group Controller): CodeIgniter branch

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 "Active Records" should be used everywhere. This task aim for searching through the

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()!).

Task Steps:

  • Download LimeSurvey's CodeIgniter branch
  • Read the Documentation
  • Find outdated database calls in Question Group Controller (db_execute_assoc()).
  • Identify which calls have equivalent methods in models.
  • Port these calls using the existing models.
  • Create or extend the models for the remaining calls.
  • Port the remaining calls using the new models.
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the LimeSurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2-4 days PHP, CodeIgniter, MySQL Moderate dionet/magiclko

Code: Re-factoring database calls into models (Quotas Controller): CodeIgniter branch

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 "Active Records" should be used everywhere. This task aim for searching through the

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()!).

Task Steps:

  • Download LimeSurvey's CodeIgniter branch
  • Read the Documentation
  • Find outdated database calls in Quotas Controller (db_execute_assoc()).
  • Identify which calls have equivalent methods in models.
  • Port these calls using the existing models.
  • Create or extend the models for the remaining calls.
  • Port the remaining calls using the new models.
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the LimeSurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2-4 days PHP, CodeIgniter, MySQL Moderate dionet/magiclko

Code: Re-factoring database calls into models (Saved Controller): CodeIgniter branch

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 "Active Records" should be used everywhere. This task aim for searching through the

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()!).

Task Steps:

  • Download LimeSurvey's CodeIgniter branch
  • Read the Documentation
  • Find outdated database calls in Saved Controller (db_execute_assoc()).
  • Identify which calls have equivalent methods in models.
  • Port these calls using the existing models.
  • Create or extend the models for the remaining calls.
  • Port the remaining calls using the new models.
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the LimeSurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2-4 days PHP, CodeIgniter, MySQL Moderate dionet/magiclko

Code: Re-factoring database calls into models (Statistics Controller): CodeIgniter branch

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 "Active Records" should be used everywhere. This task aim for searching through the

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()!).

Task Steps:

  • Download LimeSurvey's CodeIgniter branch
  • Read the Documentation
  • Find outdated database calls in Statistics Controller (db_execute_assoc()).
  • Identify which calls have equivalent methods in models.
  • Port these calls using the existing models.
  • Create or extend the models for the remaining calls.
  • Port the remaining calls using the new models.
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the LimeSurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2-4 days PHP, CodeIgniter, MySQL Moderate dionet/magiclko

Code: Re-factoring database calls into models (Survey Controller): CodeIgniter branch

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 "Active Records" should be used everywhere. This task aim for searching through the

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()!).

Task Steps:

  • Download LimeSurvey's CodeIgniter branch
  • Read the Documentation
  • Find outdated database calls in Survey Controller (db_execute_assoc()).
  • Identify which calls have equivalent methods in models.
  • Port these calls using the existing models.
  • Create or extend the models for the remaining calls.
  • Port the remaining calls using the new models.
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the LimeSurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2-4 days PHP, CodeIgniter, MySQL Moderate dionet/magiclko

Code: Re-factoring database calls into models (Survey Permission Controller): CodeIgniter branch

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 "Active Records" should be used everywhere. This task aim for searching through the

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()!).

Task Steps:

  • Download LimeSurvey's CodeIgniter branch
  • Read the Documentation
  • Find outdated database calls in Survey Permission Controller (db_execute_assoc()).
  • Identify which calls have equivalent methods in models.
  • Port these calls using the existing models.
  • Create or extend the models for the remaining calls.
  • Port the remaining calls using the new models.
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the LimeSurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2-4 days PHP, CodeIgniter, MySQL Moderate dionet/magiclko

Code: Re-factoring database calls into models (Templates Controller): CodeIgniter branch

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 "Active Records" should be used everywhere. This task aim for searching through the

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()!).

Task Steps:

  • Download LimeSurvey's CodeIgniter branch
  • Read the Documentation
  • Find outdated database calls in Templates Controller (db_execute_assoc()).
  • Identify which calls have equivalent methods in models.
  • Port these calls using the existing models.
  • Create or extend the models for the remaining calls.
  • Port the remaining calls using the new models.
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the LimeSurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2-4 days PHP, CodeIgniter, MySQL Moderate dionet/magiclko

Code: Re-factoring database calls into models (Tokens Controller): CodeIgniter branch

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 "Active Records" should be used everywhere. This task aim for searching through the

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()!).

Task Steps:

  • Download LimeSurvey's CodeIgniter branch
  • Read the Documentation
  • Find outdated database calls in Tokens Controller (db_execute_assoc()).
  • Identify which calls have equivalent methods in models.
  • Port these calls using the existing models.
  • Create or extend the models for the remaining calls.
  • Port the remaining calls using the new models.
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the LimeSurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2-4 days PHP, CodeIgniter, MySQL Moderate dionet/magiclko

Code: Re-factoring database calls into models (Translate Controller): CodeIgniter branch

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 "Active Records" should be used everywhere. This task aim for searching through the

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()!).

Task Steps:

  • Download LimeSurvey's CodeIgniter branch
  • Read the Documentation
  • Find outdated database calls in Translate Controller (db_execute_assoc()).
  • Identify which calls have equivalent methods in models.
  • Port these calls using the existing models.
  • Create or extend the models for the remaining calls.
  • Port the remaining calls using the new models.
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the LimeSurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2-4 days PHP, CodeIgniter, MySQL Moderate dionet/magiclko

Code: Re-factoring database calls into models (User Controller): CodeIgniter branch

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 "Active Records" should be used everywhere. This task aim for searching through the

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()!).

Task Steps:

  • Download LimeSurvey's CodeIgniter branch
  • Read the Documentation
  • Find outdated database calls in User Controller (db_execute_assoc()).
  • Identify which calls have equivalent methods in models.
  • Port these calls using the existing models.
  • Create or extend the models for the remaining calls.
  • Port the remaining calls using the new models.
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the LimeSurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2-4 days PHP, CodeIgniter, MySQL Moderate dionet/magiclko

Code: Re-factoring database calls into models (User Groups Controller): CodeIgniter branch

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 "Active Records" should be used everywhere. This task aim for searching through the

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()!).

Task Steps:

  • Download LimeSurvey's CodeIgniter branch
  • Read the Documentation
  • Find outdated database calls in User Groups Controller (db_execute_assoc()).
  • Identify which calls have equivalent methods in models.
  • Port these calls using the existing models.
  • Create or extend the models for the remaining calls.
  • Port the remaining calls using the new models.
  • Discuss the patch with your mentor and ask for feedback.
  • Check-in your changes into the LimeSurvey svn trunk.
  • Done!
Time frame Skills Difficulty Mentor
2-4 days PHP, CodeIgniter, MySQL Moderate dionet/magiclko

Documentation

Documentation: Rewrite template editor wiki page

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.

Task Steps:

  • Read the existing outdated documentation.
  • Explore limesurvey's template editor and compare it to the existing documentation.
  • Design a new structure for the documentation which is easy to follow and well structured.
  • Discuss your planned documentation structure with your mentor.
  • Rewrite the template editor documentation.
  • Insert cropped screenshots where needed.
  • Submit your documentation for review by your mentor.
Time frame Skills Difficulty Mentor
3 Days Wiki editing,LimeSurvey Moderate Mazi
}

Documentation: Rewrite the survey settings page

Task Steps:

  • Read the existing outdated documentation.
  • Explore limesurvey's template editor and compare it to the existing documentation.
  • Design a new structure for the documentation which is easy to follow and well structured.
  • Discuss your planned documentation structure with your mentor.
  • Rewrite the documentation.
  • Insert cropped screenshots where needed.
  • Submit your documentation for review by your mentor.
Time frame Skills Difficulty Mentor
3 Days Wiki editing,LimeSurvey Moderate Mazi
}

Documentation: Create a tutorial about how to replace the logo at a shipped template

Idea posted by: Mazi

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.

Task Steps:

  • Read the existing documentation about templates and create a new entry at the Tipps & Tricks sub-section.
  • Explore limesurvey's template editor and compare it to the existing documentation.
  • Check the template editor at our demo system and note how the logos are embedded at different templates
  • 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
  • Submit your documentation for review by your mentor.
  • Discuss your tutorial with your mentor and if necessary overwork some parts
  • Add everything at our wiki.
Time frame Skills Difficulty Mentor
2 Days Wiki editing, LimeSurvey, HTML Easy Mazi
}

Documentation: Rewrite statistics wiki page

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 current statistics documentation is outdated and not very well structured. Lots of users don't know that they can filter data and limit statistics to certain questions only.

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.

Task Steps:

  • Import the sample survey at /docs/demosurveys which contains all question types.
  • Enable public statistics for this survey and all questions that are supported by this feature.
  • Fill out the survey ~20-30 times (ask your friends for some help) to create some data to be used by the statistics.
  • Explore the public and admin backend statistics and write down which features are available.
  • Ask your mentor if all features are on your list.
  • Think about a new structure for the wiki page
  • Document each section and describe each feature in detail. Add some nice screenshots where appropriate.
  • Create a short video showing how to set filters and use other important features.
Time frame Skills Difficulty Mentor
4 Days Wiki editing, LimeSurvey, video capture Moderate Mazi
}

Documentation: Rewrite installation procedure.

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.

Task Steps:

  • Checkout LimeSurvey_CI branch.
  • Read existing installation procedure.
  • Run the automatic installer and play with it.
  • Compare the missing things and update the wiki.
  • Write down any error/warning you see during installation or while playing around with it.
  • Make a troubleshooting section on installation wikipage which should contain possible warnings a user might see and there solution(s).
  • Create a short video tutorial on how to install LimeSurvey.
Time frame Skills Difficulty Mentor
4 days Wiki editing, creating screen shots, writing documentation, creating videos difficult magiclko

Outreach & Marketing

Outreach: Blog about LimeSurvey

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.

Task Steps:

  • Use LimeSurvey to setup your own survey (you can use our demo version for that)
  • Blog about your experience after discussing your article with us.
Time frame Skills Difficulty Mentor
2 Days Writing skills Easy c_schmitz

Marketing: Create an article on how to use LimeSurvey and OrangeHRM to conduct an employee engagement survey

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.

The article should include:

  1. An introduction.
  2. Setting up an employee engagement survey with LimeSurvey.
  3. Patching OrangeHRM (CustomExport.php and CustomizableCSVExport.php models) to allow the work_email field to be exported.
  4. Creating a custom export in OrangeHRM with the fields: firstName, lastName, workEmail.
  5. Using the OrangeHRM custom export to get a CSV list for LimeSurvey tokens import.
  6. Importing the tokens into the employee engagement survey.
  7. Sending out invitations and reminders.
  8. Viewing statistics and exporting results.
  9. Provide links to patched OrangeHRM files and example survey.
  10. Article conclusion.

Task Steps:

  • Install OrangeHRM.
  • Create the employee engagement survey.
  • Discuss the employee engagement metrics measured with your mentor.
  • Modify OrangeHRM custom export and generate patches (mentor can provide changes).
  • Test the OrangeHRM custom export and LimeSurvey tokens import.
  • Write the article.
  • Submit the article to your mentor for review.
Time frame Skills Difficulty Mentor
4 Days Survey Creation, Technical Writing, Source Code Patching Moderate Machaven

Marketing: Create an article on how to use LimeSurvey and OrangeHRM to conduct an employee satisfaction survey

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.

The article should include:

  1. An Introduction.
  2. Setting up an employee satisfaction survey with LimeSurvey.
  3. Patching OrangeHRM (CustomExport.php and CustomizableCSVExport.php models) to allow the work_email field to be exported.
  4. Creating a custom export in OrangeHRM with the fields: firstName, lastName, workEmail.
  5. Using the OrangeHRM custom export to get a CSV list for LimeSurvey tokens import.
  6. Importing the tokens into the employee satisfaction survey.
  7. Sending out invitations and reminders.
  8. Viewing statistics and exporting results.
  9. Provide links to patched OrangeHRM files and example survey.
  10. Article conclusion.

Task Steps:

  • Install OrangeHRM.
  • Create the employee satisfaction survey.
  • iscuss the employee satisfaction metrics measured with your mentor.
  • Modify OrangeHRM custom export and generate patches (mentor can provide changes).
  • Test the OrangeHRM custom export and LimeSurvey tokens import.
  • Write the article.
  • Submit the article to your mentor for review.
Time frame Skills Difficulty Mentor
4 Days Survey Creation, Technical Writing, Source Code Patching Moderate Machaven

Marketing: Blog about LimeSurvey (2)

The article should include:

- Research how a general basic customer satisfaction survey should look like

- Create it in LimeSurvey

- Write about your experience in setting this up.

Task Steps:

  • Create the customer satisfaction survey.
  • Write the article.
  • Submit the article to your mentor for review.
Time frame Skills Difficulty Mentor
2 Days Survey Creation, Technical Writing Moderate Machaven

Marketing: Create an article on how to use LimeSurvey to create and distribute a customer satisfaction survey

Show current and potential LimeSurvey users how they can use LimeSurvey to do customer satisfaction surveys.

The article should include:

  1. An Introduction.
  2. Setting up an customer satisfaction survey with LimeSurvey.
  3. Importing the tokens into the customer satisfaction survey.
  4. Sending out invitations and reminders.
  5. Viewing statistics and exporting results.
  6. Provide a link to the example customer satisfaction survey.
  7. Article conclusion.

Task Steps:

  • Create the customer satisfaction survey and test it.
  • Discuss the customer satisfaction metrics measured with your mentor.
  • Write the article.
  • Submit the article to your mentor for review.
Time frame Skills Difficulty Mentor
4 Days Survey Creation, Technical Writing, Source Code Patching Moderate Machaven

Quality Assurance

Quality Assurance: Analyse user feedback and port suggestions to our idea tracker

From time to time LimeSurvey 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'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 our idea tracker so we have this on our list for future development.

Task Steps:

  • 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.
  • Go through all the textual user feedback and create a list of common complaints, suggested features and the like.
  • Once you are done, order the lists by frequency and present it to your mentor.
  • Your mentor will go through your list and mark those ideas worth porting to the idea tracker.
  • Add ideas to the idea tracker
Time frame Skills Difficulty Mentor
3 Days Data analysis, Report Writing, Using idea tracker Moderate Mazi
}

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)

Idea posted by: Mazi

During this years Google Summer of Code a cool new feature called "Central Participant Database" 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.

Task Steps:

  • Have a look at our testing instructions and the CPDB documentation.
  • Test this feature by checking each single function and note any weird behavior, error messages or anything else you think is worth being improved.
  • Your mentor will go through your list and will discuss the details with you.
  • Add all issues to the bugtracker.
Time frame Skills Difficulty Mentor
2 Days Using bugtracker, LimeSurvey Easy Aniessh

Quality Assurance: Find and report 3 bugs at the new ExpressionScript feature of the upcoming LimeSurvey 2.0alpha version (1/2)

Idea posted by: Mazi

At the upcoming LimeSurvey 2.0 alpha release conditions will be replaced by a powerful ExpressionScript (EM). This feature is capable to evaluate all kinds of expressions and it will be used for other feature besides conditions as well.

Since this is a new feature with a very complex logic we have to test it carefully. Therefore it's your task to create tests and see if everything works as expected.

Task Steps:

  • Have a look at our testing system details and the EM documentation.
  • Test this feature by checking each single function and note any weird behavior, error messages or anything else you think is worth being improved.
  • Your mentor will go through your list and will discuss the details with you.
  • Add all issues to the bugtracker.
Time frame Skills Difficulty Mentor
3 Days Using bugtracker, LimeSurvey Moderate TMS White

Quality Assurance: Find and report 3 bugs at the overworked Admin Backend of the upcoming LimeSurvey 2.0alpha version (1/2)

Idea posted by: Mazi

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.

Task Steps:

  • 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.
  • 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.
  • Your mentor will go through your list and will discuss the details with you.
  • Add all issues to the bugtracker.
Time frame Skills Difficulty Mentor
2 Days LimeSurvey, Using bugracker Moderate dionet

Quality Assurance: Find and report 3 bugs at the overworked Survey Engine of the upcoming LimeSurvey 2.0alpha version (1/2)

Idea posted by: Mazi

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.

Task Steps:

  • Import a test survey with all question types and most of the additional question attributes (we can provide some test surevys).
  • Check if data for each question type is stored correctly, if conditions work as expected and all other available features listed at our documentation.
  • Note any weird behavior, error messages and the like.
  • Your mentor will go through your list and will discuss the details with you.
  • Add all issues to the bugtracker.
Time frame Skills Difficulty Mentor
3 Days LimeSurvey, Using bugracker Moderate dionet

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)

Idea posted by: Mazi

During this years Google Summer of Code a cool new feature called "Central Participant Database" 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.

Task Steps:

  • Have a look at our testing instructions and the CPDB documentation.
  • Test this feature by checking each single function and note any weird behavior, error messages or anything else you think is worth being improved.
  • Your mentor will go through your list and will discuss the details with you.
  • Add all issues to the bugtracker.
Time frame Skills Difficulty Mentor
2 Days Using bugtracker, LimeSurvey Easy Aniessh

Quality Assurance: Find and report 3 bugs at the new ExpressionScript feature of the upcoming LimeSurvey 2.0alpha version (2/2)

Idea posted by: Mazi

At the upcoming LimeSurvey 2.0 alpha release conditions will be replaced by a powerful ExpressionScript (EM). This feature is capable to evaluate all kinds of expressions and it will be used for other feature besides conditions as well.

Since this is a new feature with a very complex logic we have to test it carefully. Therefore it's your task to create tests and see if everything works as expected.

Task Steps:

  • Have a look at our testing system details and the EM documentation.
  • Test this feature by checking each single function and note any weird behavior, error messages or anything else you think is worth being improved.
  • Your mentor will go through your list and will discuss the details with you.
  • Add all issues to the bugtracker.
Time frame Skills Difficulty Mentor
3 Days Using bugtracker, LimeSurvey Moderate TMS White

Quality Assurance: Find and report 3 bugs at the overworked Admin Backend of the upcoming LimeSurvey 2.0alpha version (2/2)

Idea posted by: Mazi

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.

Task Steps:

  • 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.
  • 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.
  • Your mentor will go through your list and will discuss the details with you.
  • Add all issues to the bugtracker.
Time frame Skills Difficulty Mentor
2 Days LimeSurvey, Using bugracker Moderate magiclko

Quality Assurance: Find and report 3 bugs at the overworked Survey Engine of the upcoming LimeSurvey 2.0alpha version (2/2)

Idea posted by: Mazi

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.

Task Steps:

  • Import a test survey with all question types and most of the additional question attributes (we can provide some test surevys).
  • Check if data for each question type is stored correctly, if conditions work as expected and all other available features listed at our documentation.
  • Note any weird behavior, error messages and the like.
  • Your mentor will go through your list and will discuss the details with you.
  • Add all issues to the bugtracker.
Time frame Skills Difficulty Mentor
3 Days LimeSurvey, Using bugracker Moderate magiclko

Training

Training: Create a video tutorial for creating a custom survey template

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.

The Video should include:

  1. An overview of the template editor and a description of what each area of the template editor is used for.
  2. An explanation of the different screens.
  3. Inserting a company logo in to the template.
  4. Basic adjustments in the css to modify the appearance of questions.
  5. Customizing the survey description page.
  6. Customizing the end page.

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.

Task Steps:

  • Create a script with dialog to explain what will be done in the video from start to end.
  • Submit your video script to your mentor for review.
  • Record/Produce each section for your video tutorial.
  • Submit each video to your mentor for review.
  • Merge your video sections into an xvid avi with mp3 audio.
  • Submit your video to your mentor.
Time frame Skills Difficulty Mentor
4 Days Screen Recording, Video and Sound Editing Moderate Machaven

Training: Create a video tutorial for creating a new survey from scratch

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.

The Video should include:

  1. Creation of a survey, with an easy explanation of the concept behind it (Survey->Question groups->Questions)
  2. Creating the survey, explaining the most important settings
  3. Creating question groups and questions plus answers
  4. Showing off a number of question types
  5. Showing off how a simple condition is created.
  6. Activating the survey

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.

Task Steps:

  • Create a script with dialog to explain what will be done in the video from start to end.
  • Submit your video script to your mentor for review.
  • Record/Produce each section for your video tutorial.
  • Submit each video to your mentor for review.
  • Merge your video sections into an xvid avi with mp3 audio.
  • Submit your video to your mentor.
Time frame Skills Difficulty Mentor
4 Days Screen Recording, Video and Sound Editing Moderate Machaven

Training: Create a video tutorial for creating a "Maps" question

At last years Google Code in a student created an extension to the "short text" question type so it can be used as a "Maps" question type. If this feature is activated at the advanced question settings, the user will be displayed a map at the survey and he/she can place a mark on that map indicating a certain location. The results are then stored a s a text string with lat./long. data.

Unfortunately no real documentation exists for this type of questions so your task would be to play around with the different settingsm, find out what each setting is used for and then extend the according section at the manual and create a short video tutorial explaining how this question type works.

The Video should include:

  1. Explaining what the question can be used for
  2. A summary of the most important settings
  3. Two sample setups for this question type
  4. Showing how the question look slike at the survey
  5. Showing how the recorded results wil look like

It will be best to record each video section separately and then join the video at the end.

Task Steps:

  • Have a look at the available "Maps" question type settings
  • Play around with them to find out what each setting does
  • Extend/complete the documentation at our wiki
  • Create a short video tutorial on how to use that question type
  • Submit the documentation and video to your mentor for review.
  • Discuss the results with your mentor and eventually overwork some parts
  • Submit your video to your mentor and complete the codumentation at our wiki.
Time frame Skills Difficulty Mentor
4 Days Screen Recording, Video and Sound Editing Moderate Machaven

Training: Create demo surveys for the most important features

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.

Each survey should contain 8-10 questions, depending on the feature that is demonstrated.

List of sample surveys:

  1. Use of array filter and array exclusive option
  2. How to set different types of conditions
  3. Create a quiz using assessments and SGQA identifier to show the users answers at the end of the survey.
  4. Screen users by making use of quotas
  5. Demonstrate the use of ~10 different question attributes.

Task Steps:

  • Get familiar with LimeSurvey by using our demo or installing LimeSurvey yourself.
  • Read the documentation linked above.
  • Create a first survey and ask your mentor for feedback.
  • Create the rest of the surveys.
  • Create a topic in our forum and ask for some user feedback.
  • Add feedback where useful.
  • Merge all surveys in a big demo survey using group/question import/export while keeping the smaller survey versions.
Time frame Skills Difficulty Mentor
4 Days Creating surveys using LimeSurvey, communicate with coomunity easy Mazi
}

Training: Create a "How to design a good survey" tutorial

Idea posted by: Mazi

Our manual describes all available features in detail but we don'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'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.

Task Steps:

  • 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.
  • Ask Google about the important issues when creating an online survey
  • Sum up all information and create a structured document which deals with different parts to take care of.
  • Discuss the work with your mentor
  • Port all the details to a new wiki page
  • Add the wiki page at a new tipps & tricks section of our wiki
Time frame Skills Difficulty Mentor
3 days Using search engines, writing documentation easy holch

Training: Create a video tutorial on how to use the new expression engine

Idea posted by: Mazi

The enxt LimeSurvey version will use a powerful ExpressionScript which can be used for conditions, assessments, advanced filterinfg and many more. Since this feature is a little complex, it would be nice to have a video tutorial on how to set up the according expressions for certain features.

Task Steps:

  • Have a look at the Expression manager documentation here: http://docs.limesurvey.org/Expression+Manager and here: http://docs.limesurvey.org/Expression+Manager+HowTos
  • Create a list of the most important features for which the Expression manager can be used.
  • Discuss the list with your mentor and think which parts should be covered at the video tutorial.
  • Create a video tutorial about the most important features. The users should learn how the Expression manager works and how to set up expressions for different features
  • Show the video to your mentor and discuss necessary changes.
  • When you are done, upload the video at LimeSurvey's youtube channel and also add it at the online documentation.
Time frame Skills Difficulty Mentor
4 days Screen Recording, Video and Sound Editing hard twmswhite, Machaven

Research

Research: Usability testing

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.

The general steps for this assignment would be:

  1. Work with LimeSurvey like a regular user would
    1. Set up a new survey
    2. Answer the survey at least once
    3. Make changes to the survey
    4. Use and export the results
    5. … (be creative!)
  2. Identify usability problems in LimeSurvey
    1. What was good/lacking in LimeSurvey?
    2. What was easy/hard to do?
  3. Discuss possible solutions to these usability problems with your mentor
  4. 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.
    1. Tell others about what you have done during this assignment and how awesome LimeSurvey and their dev team is.

For this assignment it is possible to make use of LimeSurvey Professional . LimeSurvey Professional 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.

Time frame Skills Difficulty Mentor
3 Days None, skills in web development are a plus Easy ttielu

Research: Use Google Analytics to create a report about the common LimeSurvey user

Idea posted by: Mazi

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's where you can give a helping hand.

Task Steps:

  • We will grant you access to our Google Analytics account so you can play around with the data a little
  • Have a look at the available information and create a list of available data. Mark which data you consider important.
  • Discuss the list and your proposed priorities with your mentor
  • 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.
  • Discuss the work with your mentor
  • Create a news article for the www.limesurvey.org website summing up your findings.
Time frame Skills Difficulty Mentor
4 days writing reports (MS WOrd/Excel) moderate Mazi

Research: Analyse LimeSurvey usage - Question types

Idea posted by: Mazi

From time to time LimeSurvey runs some surveys itself, we simply use those surveys to find out more about our users. The resulting data tells us a lot about the areas where we have to improve the program and makes it easier to prioritize tasks.

Now there are more than 20 question types at LimeSurvey and we are planning to extend some of them. Therefore we need to know which question types are used most by our users.

Task Steps:

  • Have a look at the available question types at http://docs.limesurvey.org/Question+types&structure;=English+Instructions+for+LimeSurvey
  • Think which information might be important and which questions could be asked
  • Discuss the questions and your proposed survey design with your mentor
  • After we have agreed on the questions we want to ask, set up the survey at our online system and test it carefully.
  • Start the survey and write a short description so we can annunce it at the forums, on twitter at on the LimeSurvey homepage.
Time frame Skills Difficulty Mentor
3 days LimeSurvey moderate Mazi

Research: Analyse LimeSurvey usage - Survey related features

Idea posted by: Mazi

From time to time LimeSurvey runs some surveys itself, we simply use those surveys to find out more about our users. The resulting data tells us a lot about the areas where we have to improve the program and makes it easier to prioritize tasks.

There are several survey related features like conditions, assessments or quotas but we don't really kniow to what extend they are used.

Task Steps:

  • Have a look at the LimeSurvey documentation and make a list of survey related features
  • Think which information might be important and which questions could be asked
  • Discuss the questions and your proposed survey design with your mentor
  • After we have agreed on the questions we want to ask, set up the survey at our online system and test it carefully.
  • Start the survey and write a short description so we can annunce it at the forums, on twitter at on the LimeSurvey homepage.
Time frame Skills Difficulty Mentor
3 days LimeSurvey moderate Mazi

Research: LimeSurvey user feedback on templates and GUI design

Idea posted by: Mazi

From time to time LimeSurvey runs some surveys itself, we simply use those surveys to find out more about our users. The resulting data tells us a lot about the areas where we have to improve the program and makes it easier to prioritize tasks.

After having ported the code to a PHP framework recently, we are planning to now focus on improving the really outdated GUI. Therefore we need to know what our users think about the current GUI and where we should start working. It's your task to have a look at the current GUI and think about some GUI related questions.

Task Steps:

  • Have a look at the LimeSurvey admin interface and make some notes about things you like and things you don't like.
  • Import a test survey containing all question types (we can provide such a survey) and test it using the shipped templates. Create a like/dislike list.
  • Have a look at your lists and think how we can ask other users about the issues you noted. This includes rating questions and open text questions.
  • Discuss the questions and your proposed survey design with your mentor.
  • After we have agreed on the questions we want to ask, set up the survey at our online system and test it carefully.
  • Start the survey and write a short description so we can annunce it at the forums, on twitter at on the LimeSurvey homepage.
Time frame Skills Difficulty Mentor
5 days LimeSurvey difficult Mazi

Research: Create a report on the "LimeSurvey user feedback on templates and GUI design survey"

Idea posted by: Mazi

From time to time LimeSurvey runs some surveys itself, we simply use those surveys to find out more about our users. The resulting data tells us a lot about the areas where we have to improve the program and makes it easier to prioritize tasks.

One of these surveys includes comments about how we can improve the GUI. There will be lots of text comments so we need to sum them up in a report.

Task Steps:

  • Wait until someone has completed the "Research: LimeSurvey user feedback on templates and GUI design" task. There should be at least ~50 responses to that survey
  • Export the survey results and check the text comments.
  • There will be several similar comments like "the icons suck". Sum them up and create a list about what is top priority.
  • Create a report which should also include the closed questions and write a short summary text (~ 20 sentences)
  • Discuss the finding with your mentor and eventually overwork the report.
Time frame Skills Difficulty Mentor
3 days LimeSurvey, report writing, data summary moderate Mazi

User interface

User interface: Icon creation

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:

  • Survey
  • Question group
  • Question

The icons must fit to the existing theme and shoudl be create using Inkscape as SVG file.

  1. Have a look at our existing icons in the LimeSurvey interface
  2. 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
  3. Create a couple drafts with a tool of your choice
  4. Discuss the drafts with your mentor
  5. Create the final icons
Time frame Skills Difficulty Mentor
3 Days Design, Inkscape Moderate c_schmitz

User interface: Token section workflow improvements

Idea added by: Mazi

There are some sections at the LimeSurvey admin backend like the token part 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.

This is a list of issues referring to the token screen:

  • Problem: When switching to the token admin screen you don't see a list of available tokens. You have to click on the "Display Tokens" icon first.
  • Solution: List all tokens below the "Token Summary" and above the "Token database options".
  • Problem: After having added a token entry you only see a short "New token was added" message with options to display tokens or add another token.
  • 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 "add token entry" page because usually users want to add several token entries one by one.
  • 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.

TO BE CONTINUED

  • Problem: ...
  • Solution: ...

Steps:

  1. Check the described issues using the online system we provide
  2. Search for the according code piece, for this task /admin/tokens.php is a good start
  3. Overwork the code to improve the workflow
  4. Create a patch file and send it to your mentor for review.
  5. Once the mentor accepts your patch he will add it to the current development branch
Time frame Skills Difficulty Mentor
X Days PHP, maybe a little HTML and Javascript Easy c_schmitz

User interface: Survey designer workflow improvements

Idea added by: Mazi

There are some sections at the LimeSurvey admin backend like the survey designer 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.

This is a list of issues referring to the survey designer:

  • Problem: When adding new answer option and clicking into the answer text field, you have to manually delete the "Some example subquestion" text. For following answer options the text is deleted automatically when clicking into the input field.
  • Solution: Add some Javascript to automatically delete the text once a user clicks into the input field.
  • Problem: When creating a new survey there are options to import or copy a survey. BUT there is a "save" button after the "import/copy survey" 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
  • Solution: Hide "save" button at import and copy tab.

TO BE CONTINUED

  • Problem: ...
  • Solution: ...

Steps:

  1. Check the described issues using the online system we provide
  2. Search for the according code piece
  3. Overwork the code to improve the workflow
  4. Create a patch file and send it to your mentor for review.
  5. Once the mentor accepts your patch he will add it to the current development branch
Time frame Skills Difficulty Mentor
X Days PHP, maybe a little HTML and Javascript Easy c_schmitz

User interface: User and rights management workflow improvements

Idea added by: Mazi

There are some sections at the LimeSurvey admin backend like when adding users and settings rights 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.

This is a list of issues referring to the user management and rights setting screens.

  • Problem: After having added a new user there is a summary screen showing the username and email address. You can either click "continue" to get to the user list summary or click the "set user permissions" button which leads you to the next logical step of setting the permissions for this user (a user without any permissions set doesn't make much sense).
  • Solution: We should show the summary as a pop uf and automatically redirect the admin to the screen where permissions for the newly added user can be set.
  • Problem: After having set permissions as the next workflow step described below, the user receives a short status update and can only click "continue" which leads him to the user overview.
  • Solution: We should automatically redirect the admin to the user overview and show the status update as a pop-up. We could also think about redirecting him to the screen where template permissions can be set which would be the next logical step.

TO BE CONTINUED

  • Problem: ...
  • Solution: ...

Steps:

  1. Check the described issues using the online system we provide
  2. Search for the according code piece
  3. Overwork the code to improve the workflow
  4. Create a patch file and send it to your mentor for review.
  5. Once the mentor accepts your patch he will add it to the current development branch
Time frame Skills Difficulty Mentor
X Days PHP, maybe a little HTML and Javascript Easy c_schmitz

We want your ideas!

What floats your boat? Do you have another idea that gets you excited? Discuss your ideas in our forums, mailing lists or at #limesurvey on irc.freenode.net.

Getting Started

How to Get Started With LimeSurvey:

- setting up the development environment, coding standards, and all the other important stuff that you need to know before the real fun begins!