LimeSurvey Project Ideas for Google Code-in 2012
From LimeSurvey Manual
Welcome Google Code-in Student aspirants!
Please check first if you are an eligible candidate for the GCI program. This page lists task ideas developed by core developers and the LimeSurvey community. This way we get a great mix of 'most-wanted' solutions from the users and the developers.
We wish good luck to you and we hope that this contest will be alot of fun for all of us(:biggrin:) !
How to claim a task
All tasks below will be entered in the Google Code-in task tracker (which will be available once the contest has officially started). You have to be a registered Google Code-in participant to claim a task.
Task ideas
Task category: Code
Code: Remove tags from LimeSurvey
In LimeSurvey there are still a couple places where the obsolete
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Checkout and install the 2.10 branch of LimeSurvey
- Create a small 1-question survey.
- Use a proper tool to search for
tags in the source code. - Remove each of these tags and replace them with proper HTML and CSS (CSS preferred)
- Important: Test if the appearance of your replacement matches the old behaviour
- Create a gitHub pull request and submit the pull request link for review.
Recommended skills | Mentor(s) | |
PHP, HTML, CSS | Moderate | c_schmitz |
Code: Add styled error message to pre-installer failure
Idea by: mdekker
After uploading LimeSurvey to a web server, normally the installer will run when the public url is requested. In the case that a specific directory (tmp/runtime) on the server is not writable the installer can not start. Currently just a single line describing the error is shown, this should be replace by an HTML page in the design of the installer.
Task steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Analyze the problem (if you have problems reproducing please contact your mentor)
- Discuss the issue and your proposed solution with your mentor
- Code/document/translate/... and submit your work
- Discuss the work with your mentor
- Issue a git pull request
Recommended skills | Mentor(s) |
PHP,HTML | mdekker |
Code: Implement ajax popup dialog at token overview table when adding a survey participant
Idea posted by: Mazi
The LimeSurvey admin backend already supports jqgrid features for the token overview screen. But when adding a new token entry, a new page is used which is old fashioned and could be far more user friendly when switching to a jQuery popup dialogue. That's what we need your help with!
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- 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
- Look at the current dialog when adding a token. This one should appear in a jQuery popup dialog instead. After the record was added, the new record should be shown first in the grid (grid needs to re-sorted by ID descending) so that the user automatically sees the new entry on top.
- When editing a record current inline editing is used - this has to be changed to using the popup dialog, too.
- Discuss the patch with your mentor and ask for feedback.
- Submit a github pull request.
- Done!
Skills | Mentor |
Javascript/jQuery, PHP, HTML, some CSS | c_schmitz |
Idea posted by: Mazi
For having more options to fully customize the LimeSurvey admin interface and to hide certain elements at a customized layout, all LimeSurvey admin menu elements (buttons, drop downs, text elements and so on) should be assigned their own, unique CSS ID.
Task Steps:
- Install LimeSurvey - Have a look at the HTML of the LimeSurvey admin interface.
- Create a list of elements on the main admin page, sorted by "buttons", "texts", "...anything else..." that need to be changed.
- Discuss the list with your mentor to check if all admin interface elements are listed
- Edit the related view for this screen and assign each element it's unique ID
- Discuss the patches with your mentor and ask for feedback.
- Submit a github pull request.
- Done!
Skills | Mentor |
HTML and CSS | c_schmitz, Mazi |
Code: Add unique CSS IDs to LimeSurvey token administration elements
Idea posted by: Mazi
For having more options to fully customize the LimeSurvey admin interface and to hide certain elements at a customized layout, all LimeSurvey admin menu elements (buttons, drop downs, text elements and so on) should be assigned their own, unique CSS ID.
Task Steps:
- Install LimeSurvey - Have a look at the HTML of the LimeSurvey admin interface.
- Create a list of elements on the token administration page and all pages linked there, sorted by "buttons", "texts", "...anything else..." that need to be changed.
- Discuss the list with your mentor to check if all admin interface elements are listed
- Edit the related views for these screens and assign each element it's unique ID
- Discuss the patches with your mentor and ask for feedback.
- Submit a github pull request.
- Done!
Skills | Mentor |
HTML and CSS | c_schmitz, Mazi |
Code: Add unique CSS IDs for all elements at LimeSurvey's "Browse responses" screen
Idea posted by: Mazi
For having more options to fully customize the LimeSurvey admin interface and to hide certain elements at a customized layout, all LimeSurvey admin menu elements (buttons, drop downs, text elements and so on) should be assigned their own, unique CSS ID.
Task Steps:
- Install LimeSurvey - Have a look at the HTML of the LimeSurvey admin interface.
- Create a list of elements on the browse response page and all pages linked there, sorted by "buttons", "texts", "...anything else..." that need to be changed.
- Discuss the list with your mentor to check if all admin interface elements are listed
- Edit the related view for these screens and assign each element it's unique ID
- Discuss the patches with your mentor and ask for feedback.
- Submit a github pull request.
- Done!
Skills | Mentor |
HTML and CSS | c_schmitz, Mazi |
Code: Improve work flow of the "send invitation/reminder" feature
Idea posted by: Mazi
Currently, when sending email invitations or reminders, you don't see the scope of concerned data sets (some have already received an invitation/reminder, some might have opted out, some might have a missing token/email address). The user sees the list of email receivers AFTER having sent the emails which is not that good. Your task is to present these details up front.
Task Steps:
- Install LimeSurvey - Create a simple test survey and create a token table which is filled with 2-3 test data sets.
- Have a look at the "send email invitation/reminder" feature and note the single work flow steps when sending these emails.
- The work-flow should be changed so that when clicking "send email invitations/reminders", a list of people who will receive the email is created up front so the user can look into the details.
- By default a checked checkbox is shown in front of each listed user who will receive an email .
- A button "send emails to selected users" is placed on top.
- Furthermore, you should add a "list people who will NOT receive the email" link below which shows this different list when being clicked (default = hidden). That second list of users who will NOT receive an email contains users sorted by status like
- "invitation already received" (invitations) / "max number of reminders already sent" (reminders)
- "missing token"
- "missing email"
- "opted out"
- anythingh else you can think of
- Discuss the patches with your mentor and ask for feedback.
- Submit a github pull request.
- Done!
Skills | Mentor |
PHP, MySQL, HTML, jQuery, CSS | c_schmitz |
Code: Add a "Check for duplicates" function at the token admin screen
Idea posted by: Mazi
A check for duplicate token data already exists for the CSV import feature. This is not sufficient because user A might import data from a CSV file and user B might add token data later manually, which might lead to duplicate entries. That's why we need a new function which is called by clicking a certain icon on the admin screen. Here is what this new function should do:
Task Steps:
- Install LimeSurvey - Create a simple test survey and create a token table which is filled with 2-3 test data sets.
- Have a look at the ducplicate check function which is used when importing token data from a CSV file.
- Talk to your mentor where at the admin interface a new icon for the duplicate token check can be added and how it might look like. Afterwards, add the icon and link to the new feature.
- Create a new view which is shown after the button was clicked. This view should contain columns the user wants to check for duplicates. We need at least:
- First name
- Last name
- Token
- For each column ticked at this screen, the script should check the whole token data for duplicates.
- Extend the current view to show the duplicates below the filter options described above. It should include a tabular overview similar to the standard token list which lists only duplicate entries. If only "email" was selected previously, the overview should be sorted by email, if only "last name" was checked, it should be sorted by last name and so on. If several filters were clicked, the data should be sorted by last name
- For each data set, mark the according cell where duplicate data was found with a red border.
- Add buttons and a function to delete and edit a certain data set at the table of duplicate entries. These features already exist at the standard token overview, so no need to re-invent the wheel.
- Discuss the patches with your mentor and ask for feedback.
- Submit a github pull request.
- Done!
Skills | Mentor |
PHP, MySQL, HTML, jQuery, CSS | c_schmitz |
Code: Add sorting and edit/delete token functionality to "Check for duplicates" function at the token admin screen
Idea posted by: Mazi
Important: This task can only be executed if task "Add a 'Check for duplicates' function at the token admin screen" is completed. Don't start to work on this before that or your work will be most likely futile.
Once the "Add a 'Check for duplicates' function at the token admin screen" task was completed, a next step is to add some additional functionality to the screen which lists the duplicates. Here are the details:
Task Steps:
- Install LimeSurvey - Create a simple test survey and create a token table which is filled with 2-3 test data sets.
- Have a look at the ducplicate check function it supports checking for duplicates based on:
- First name
- Last name
- Token
- For each column ticked at this screen, the script checks the whole token data for duplicates.
- Your task is to extend the current view which lists the duplicates: If only "email" was selected previously, the overview should be sorted by email, if only "last name" was checked, it should be sorted by last name and so on. If several filters were clicked, the data should be sorted by last name.
- Add buttons and a function to delete and edit a certain data set at the table of duplicate entries. These features already exist at the standard token overview, so no need to re-invent the wheel.
- Discuss the patches with your mentor and ask for feedback.
- Submit a github pull request.
- Done!
Skills | Mentor |
PHP, MySQL, HTML, jQuery, CSS | c_schmitz |
Code: Check for valid question code when adding/editing a question
Idea posted by: Mazi
Since LimeSurvey 1.92 we have a great new feature called ExpressionScript which requires unique question codes and disallows certain chars to be used. Currently, there is no check at question code input if the entered question code is valid. So this is your task.
Task Steps:
- Install LimeSurvey - create a small survey of 3-4 questions and assign them valid and non-valid question codes.
- Valid question codes may NOT
- start with a number
- contain dots
- use spaces
- ADD MORE RESTRICTIONS HERE
- Assign a JavaScript/jquery function to the question code fields which takes care of different validations:
- When adding or editing a question code, the validation function should check the code syntax for issues listed above and show a message like "Invalid question code" right to the field.
- Another check should check the input against a list of existing question codes (this has to be generated on page load) and show an error like "Question code already used at question #123 ('How old are you?')"
- Input should be validated at runtime when the user inputs the characters
- The question code input field should use a red border as long as it is invalid input. When the input is valid, a green border and a message like "Valid question code" should be used.
- Discuss the patch with your mentor and ask for feedback.
- Submit a github pull request.
- Done!
Skills | Mentor |
Javascript/jQuery, HTML, some PHP and MySQL | c_schmitz |
Code: Create unit tests
Now that we are using a PHP 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:
- 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.
Recommended skills | Mentor(s) |
PHP, Yii | mrp001 |
Code: Design a new LimeSurvey Template (Part 1, 2, 3)
Idea posted by: gautamgupta
Design a new good-looking template for LimeSurvey front-end in HTML5/CSS3. Go creative!
One template counts for 3 tasks. This is part N/3 of the task. Please claim the tasks in order.
Task Steps:
- Install LimeSurvey - Have a look at the template system.
- Start with the designing process, discuss the design with a mentor
- Finalize the design
- Submit a github pull request.
- Done!
Skills | Mentor |
HTML and CSS | TBD |
Code: Convert createCommand()->update() calls to use the model instead - Task ARU1
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). As a first step the update() commands have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand()->update" in updatedb_helper.php (There are about be about 87 of them, you need to do only 10 of these)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand()->update() calls to use the model instead - Task ARU2
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). As a first step the INSERT commands have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand()->update" in tokens_dynamic.php, Questions.php, ParticipantAttributeNames.php, Groups.php , update_helper.php and Answers.php. (There are about be about 6 of themin these files). Also do 4 more from updatedb_helper.php (so in total you have to do 10)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand()->update() calls to use the model instead - Task ARU3
NOTE: This task can only be executed if tasks ARI1 and ARI2 are completed. Do NOT start to work on this before that or your work will most likely be futile.LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). As a first step the update() commands have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand()->update" in updatedb_helper.php (There are about be about 73 of them, you need to do only 10 of these)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand()->update() calls to use the model instead - Task ARU4
IMPORTANT NOTE: This task can only be executed if task ARU3 is completed. Do NOT start to work on this before that or your work will most likely be futile.
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). As a first step the update() commands have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand()->update" in updatedb_helper.php (There are about be about 63 of them, you need to do only 11 of these)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand()->update() calls to use the model instead - Task ARU5
IMPORTANT NOTE: This task can only be executed if task ARU4 is completed. Do NOT start to work on this before that or your work will most likely be futile.
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). As a first step the update() commands have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand()->update" in updatedb_helper.php (There are about be about 52 of them, you need to do only 11 of these)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand()->update() calls to use the model instead - Task ARU6
IMPORTANT NOTE: This task can only be executed if task ARU5 is completed. Do NOT start to work on this before that or your work will most likely be futile.
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). As a first step the update() commands have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand()->update" in updatedb_helper.php (There are about be about 41 of them, you need to do only 11 of these)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand()->update() calls to use the model instead - Task ARU7
IMPORTANT NOTE: This task can only be executed if task ARU6 is completed. Do NOT start to work on this before that or your work will most likely be futile.
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). As a first step the update() commands have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand()->update" in updatedb_helper.php (There are about be about 30 of them, you need to do only 10 of these)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand()->update() calls to use the model instead - Task ARU8
IMPORTANT NOTE: This task can only be executed if task ARU7 is completed. Do NOT start to work on this before that or your work will most likely be futile.
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). As a first step the update() commands have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand()->update" in updatedb_helper.php (There are about be about 20 of them, you need to do only 10 of these)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand()->update() calls to use the model instead - Task ARU9
IMPORTANT NOTE: This task can only be executed if task ARU8 is completed. Do NOT start to work on this before that or your work will most likely be futile.
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). As a first step the update() commands have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand()->update" in updatedb_helper.php (There are about be about 10 of them)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand()->insert() calls to use the model instead - Task ARI1
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). As a first step the INSERT commands have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurences of "createCommand()->insert" in InstallerController.php and common_helper.php (should be about 10 of them)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand()->insert() calls to use the model instead - Task ARI2
LimeSurvey has been plainly ported from Adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). As a first step the INSERT commands have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand()->insert" in import_helper.php (There are about be about 17 of them, you need to do only 10 of these)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand()->insert() calls to use the model instead - Task ARI3
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). As a first step the INSERT commands have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand()->insert" in updatedb_helper.php (There are about be about 14 of them, you need to do only 10 of these)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand()->insert() calls to use the model instead - Task ARI4
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). As a first step the INSERT commands have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand()->insert" in ParticipantAttributeNames.php, Participants.php, ParticipantShares.php and Survey_url_paramenters.php (In total there should be 10 of these)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand()->insert() calls to use the model instead - Task ARI5
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). As a first step the INSERT commands have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
NOTE: This task can only be claimed if task ARI1 to ARI4 are completed. Do NOT start to work on this before that or your work will most likely be futile.
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand()->insert" in importhelper.php (about 7 occurences) and update_db_helper (about 4 occurences)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand()->select() calls to use the model instead - Task ARS1
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand).These SELECT query commands have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand()->select" in InstallerController.php, tokens.php, exportresults_helper.php, Answers.php, Groups.php, Label.php, Labelsets.php and ParticipantAttributeNames.php (about 11 occurences in total)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand()->select() calls to use the model instead - Task ARS2
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand).These SELECT query commands have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand()->select" in Participants.php (about 14 occurences in total, you need to do only 10)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand()->select() calls to use the model instead - Task ARS3
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand).These SELECT query commands have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand()->select" in ParticipantShares.php, Participant_attribute.php, Questions.php, Surveys_languagesettings.php, User.php (about 9 occurences in total)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand($query) calls to use the model instead - Task ARO1
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). These queries (which are written in plain SQL) have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand($" in RegisterController.php, Statistics_userController.php, checkintegrity.php, conditionsaction.php (about 11 occurences in total)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii, SQL | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand($query) calls to use the model instead - Task ARO2
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). These queries (which are written in plain SQL) have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand($" in database.php, export.php and surveyadmin.php (about 11 occurences in total)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii, SQL | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand($query) calls to use the model instead - Task ARO3
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). These queries (which are written in plain SQL) have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand($" in surveypermission.php, tokens.php, index.php (about 11 occurences in total)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii, SQL | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand($query) calls to use the model instead - Task ARO4
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). These queries (which are written in plain SQL) have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand($" in common_helper.php (about 25 occurences in total, you need to do only 10)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii, SQL | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand($query) calls to use the model instead - Task ARO5
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). These queries (which are written in plain SQL) have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand($" in export_helper.php (10 occurences in total)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii, SQL | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand($query) calls to use the model instead - Task ARO6
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). These queries (which are written in plain SQL) have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand($" in Survey_Common_Action.php, frontend_helper.php, activate_helper.php (10 occurrences in total)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii, SQL | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand($query) calls to use the model instead - Task ARO7
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). These queries (which are written in plain SQL) have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand($" in database_helper.php, exportresults_helper.php, em_manager_helper.php (about 10 occurrences in total)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii, SQL | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand($query) calls to use the model instead - Task ARO8
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). These queries (which are written in plain SQL) have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand($" in import_helper.php (about 45 occurrences in total, you need to do only 10)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii, SQL | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand($query) calls to use the model instead - Task ARO9
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). These queries (which are written in plain SQL) have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand($" in statistics_helper.php (about 25 occurrences in total, you need to do only 10)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii, SQL | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand($query) calls to use the model instead - Task ARO10
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). These queries (which are written in plain SQL) have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand($" in updatedb_helper.php (about 21 occurrences in total, you need to do only 10)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii, SQL | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand($query) calls to use the model instead - Task ARO11
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). These queries (which are written in plain SQL) have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand($" in Save.php, Conditions.php, Questions.php, Survey_links.php, Survey_permissions.php, Tokens_dynamic.php (about 10 occurrences )
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii, SQL | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand($query) calls to use the model instead - Task ARO12
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). These queries (which are written in plain SQL) have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand($" in CommentCheckQuestion.php, CommentListQuestion.php, ListQuestion.php, RadioArrayQuestion.php, RankingQuestion.php, SelectQuestion.php, TextArrayQuestion.php (about 10 occurrences )
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii, SQL | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand($query) calls to use the model instead - Task ARO13
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). These queries (which are written in plain SQL) have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand($" in label_helper.php, User.php, User_groups.php, CheckQuestion.php (about 11 occurrences )
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii, SQL | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand($query) calls to use the model instead - Task ARO14
IMPORTANT NOTE: This task can only be executed if task ARO8 is completed. Do NOT start to work on this before that or your work will most likely be futile because you duplicate someone elses work.
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). These queries (which are written in plain SQL) have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand($" in import_helper.php (about 35 occurrences in total, you need to do only 11)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii, SQL | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand($query) calls to use the model instead - Task ARO15
IMPORTANT NOTE: This task can only be executed if task ARO14 is completed. Do NOT start to work on this before that or your work will most likely be futile because you duplicate someone elses work.
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). These queries (which are written in plain SQL) have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand($" in import_helper.php (about 24 occurrences in total, you need to do only 11)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii, SQL | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand($query) calls to use the model instead - Task ARO16
IMPORTANT NOTE: This task can only be executed if task ARO15 is completed. Do NOT start to work on this before that or your work will most likely be futile because you duplicate someone elses work.
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). These queries (which are written in plain SQL) have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand($" in import_helper.php (about 13 occurrences in total, you need to do only 11)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii, SQL | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand($query) calls to use the model instead - Task ARO17
IMPORTANT NOTE: This task can only be executed if task ARO14 is completed. Do NOT start to work on this before that or your work will most likely be futile because you duplicate someone elses work.
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). These queries (which are written in plain SQL) have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand($" in statistics_helper.php (about 15 occurrences in total, you need to do only 11)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii, SQL | Carsten Schmitz (c_schmitz) |
Code: Convert createCommand($query) calls to use the model instead - Task ARO18
IMPORTANT NOTE: This task can only be executed if task ARO10 is completed. Do NOT start to work on this before that or your work will most likely be futile because you duplicate someone elses work.
LimeSurvey has been plainly ported from adodb to CodeIgniter to Yii and so many of our database queries are still direct SQL commands (CDBCommand). These queries (which are written in plain SQL) have to be changed to use the model (CActiveRecord) instead (to ensure data integrity)
Task Steps:
- Set up your LimeSurvey development environment (if not has already happened)
- Search for occurrences of "createCommand($" in updatedb_helper.php (about 15 occurrences in total, you need to do only 11)
- Replaces these with calls to the related ActiveRecord models instead - and don't forget test each by running the related application parts.
- Submit a gitHub pull request.
Recommended skills | Mentor(s) |
PHP, Yii, SQL | Carsten Schmitz (c_schmitz) |
Documentation & Training
Training: Create a video tutorial for creating a "Maps" question
Idea posted by: Mazi
LimeSurvey offers 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 as 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 settings, 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:
- Explaining what the question can be used for
- A summary of the most important settings
- Two sample setups for this question type
- Showing how the question looks like at the survey
- Showing how the recorded results will look like
It might 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.
Recommended skills | Mentor(s) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Screen Recording, Video and Sound Editing | Mazi
} Training: Create a video tutorial on how to use the new LimeSurvey ExpressionScript - ConditionsIdea posted by: Mazi Since version 1.92 LimeSurvey offers a powerful ExpressionScript which can be used for conditions, assessments, piping 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 correct expressions when using conditions. Task Steps:
|