Open Source Software Technical Articles

Want the Best of the Wazi Blogs Delivered Directly to your Inbox?

Subscribe to Wazi by Email

Your email:

Connect with Us!

Current Articles | RSS Feed RSS Feed

Create and Record Surveys with LimeSurvey

  
  
  

What are your customers' favorite flavors – orange? Grape? Lemon? With the statistical survey application LimeSurvey, you can answer questions like this by creating surveys in a matter of minutes. LimeSurvey supports many kinds of questions, including multiple choice, lists, and long text, and integrates with a database of your choice, such as MySQL, Microsoft SQL Server, or PostgreSQL, to record responses and let you analyze the results.



LimeSurvey offers cool features like limiting responders to taking a survey just once, and supports quotas, which means you can restrict the survey to a limited number of whatever demographic criteria you set up. Since it connects to a database, you can configure LimeSurvey to let responders save partially completed surveys and continue later, when convenient. You can also create tokens, which allow you to do things like keep track of users who haven't taken the survey and send them reminders. And as appearances are everything, LimeSurvey offers templates to help you lay out your survey pages, and you can create new templates as well.



Installation



If this all sounds like a) just what you need; b) something worth investigating; or c) it couldn't hurt, try out LimeSurvey by setting it up on a local machine and running it through its paces before deploying it on a live server. If you need help along the way, the project website offers extensive documentation, and forum boards serve as a good source of information from an active user community. As a last resort, you can sign up for professional support.



To begin, download the latest LimeSurvey tarball and extract the files; the project doesn't offer any binary installation packages. Change to the newly extracted limesurvey/ directory. In the config.php file, you'll see placeholders where you must define things like the server you're on (localhost), the database name, its location, and admin username and password. Fill in these details and upload the limesurvey/ directory to the htdocs directory on your web server, then run the installation script to install the application.



If you don't already have a test machine set up, fret not. You can get a working Apache, PHP, and MySQL environment in a flash by installing XAMPP. You can set up LimeSurvey manually on top of XAMPP and get a feel for its installation. Alternatively, you can install the Bitnami LimeSurvey stack to get a working LimeSurvey installation within minutes without any configuration. All you need to do is specify an installation directory and the stack will do everything for you.



First Steps



Once LimeSurvey is installed, point your browser to http://127.0.0.1:8282/limesurvey/ to test the software. The port number may be different for you, depending on your system configuration. The default Apache port, defined in the httpd.conf file, is 8080 and LimeSurvey defaults to that too, but we are using 8282 for our LimeSurvey installation.



The default landing page shows a message that says there are no available surveys. This page doesn't have a login button; you must point your browser to http://127.0.0.1:8282/limesurvey/admin to log in.



Before you can build surveys, you need to be familiar with the basic survey elements. Each survey must have a name, at least one group, and at least one question. You can't proceed until all of these are in place. The software prompts you to create each of these elements one after the other. To begin, click the Create, import or copy a survey button on the top left of the Administrative interface, and provide all the details. You will then be prompted to create a group, and then add questions. It's all very logical.



LimeSurvey supports an abundance of question types. When adding a question, you can hover the mouse over each option in the drop-down list to see what kind of question it creates. By default questions aren't mandatory to answer, meaning users can skip to the next question in a survey without answering. If you want to force users to make a choice, click the Yes radio button next to Mandatory to make the question compulsory.



[caption id="attachment_102503" align="alignnone" width="300" caption="Question types"][/caption]

Note that when adding certain question types, such as multiple choice, you need to add subquestions, which is what LimeSurvey calls the listed options for questions, such as multiple choice answers.



LimeSurvey's administrative interface takes some time to get used to, what with the layered toolbars, a number of drop-down lists, and the various buttons on each toolbar. Thankfully, helpful tooltips appeal when you hover the mouse over buttons.



At the top of the admin page is the main Administration toolbar, which you can use to create users and groups, edit templates, and define global settings such as the name of your survey site, default language, default template, and email settings. One of the admin choices lets you back up your installation's database. Below it are toolbars that let you create and modify Surveys, Questions groups, and Questions.



On the Survey toolbar, click the Survey properties button, and click General settings. All the configuration settings you define here are specific to the survey you've selected. When you have several surveys, you have to define the settings for each separately. For example, each survey can have different template, defined under Presentation & navigation.



The various survey settings appear under heads such as General, Presentation & navigation, and Tokens. Under Publication & access control you can describe a lifetime for your survey. By default, the surveys remain active forever, but you can define a start and end time, down not just to the date but to the minute.



The default behavior lets responders take a survey multiple times. If you wish to limit responders to taking the survey only once, change the Set cookie to prevent repeated participation? option to Yes, under Publication & access control. Finally, you can choose among various CAPTCHA options to limit survey access:



[caption id="attachment_102504" align="alignnone" width="300" caption="CAPTHCA"][/caption]

Adding Quotas



As I mentioned, LimeSurvey supports quotas, so you can limit responses to a defined number in any categories you track. However, only a few question types support quotas.



To create a quota, click Survey properties -> Quotas on the Survey toolbar, then "Add new quota" and provide a name for the quota and a quota limit. You then need to specify the question it applies to. To do so, click the "Add answer" button. All the questions in the survey will be listed here. Pick the question to which you want to apply the quota and click Next. Select an answer, then set a cap for that answer. You can define multiple quotas for the same survey:

19a98812-f823-48dc-841e-bf029c63c6d7


[caption id="attachment_102505" align="alignnone" width="300" caption="Quotas"][/caption]

Accessing the Survey



At some point you'll be ready to release your survey to users on the Web. First, activate the survey by clicking the first button on the Survey toolbar. This creates the database table for the survey. Select the survey you want to post from the Surveys drop-down list at the top right of the administrative interface. You will be presented will information about the survey, such as its title, the start and expiry date and time, and number of questions. Near the top of this list is the Survey URL. You can post this link on your blog or website to direct users to the survey.



You can't add or delete questions in an active survey. If you need to do that, you must first deactivate the survey. For an active survey, you can still edit questions, add or edit answers, or change the survey name.



LimeSurvey allows you to export as an XML file the entire survey, or a question group within the survey, or individual questions in the survey, via an export button on the respective toolbars.



Analyzing Data



Once you've gathered responses to your survey, you can begin to analyze the results. Clicking on the Responses button on the Survey toolbar offers three options: Responses & statistics, Data entry screen, and Partial (saved) responses. You can use the data entry screen to add data you collected from other sources to that you've collected online. Click on Responses & statistics to analyze the data. The first screen offers a summary of the Full, Incomplete, and Total responses collected.



Instead of the toolbars we've seen in the administrative interface, the Responses & statistics page has a Browse responses toolbar that holds buttons that help you quickly assimilate the data you've collected, such as the Display the last 50 responses button. From here you can also export responses to the survey to a CSV or Excel file.



If you favor a graphical representation of your survey results, click the Get statistics from these responses button on the Browse responses toolbar. You can choose to view charts for the whole of the survey, or limit the graph to a question, or even an answer to a question. That is, you can view a graph depicting only female responders, over the age of 40, or a chart depicting all the collected data:



[caption id="attachment_102506" align="alignnone" width="300" caption="Analysis"][/caption]

LimeSurvey isn't the only online survey tool available in the market, nor the oldest; to the contrary, it's among the youngest. Nevertheless, it's an efficient and elegant application that answers the question – well, it pretty much answers any question you can pose!




This work is licensed under a Creative Commons Attribution 3.0 Unported License
Creative Commons License.


This work is licensed under a Creative Commons Attribution 3.0 Unported License
Creative Commons License.

Comments

Amazing post, thnx for the information! 
 
Data Entry Oahu
Posted @ Saturday, May 24, 2014 4:25 AM by John Smith
Post Comment
Name
 *
Email
 *
Website (optional)
Comment
 *

Allowed tags: <a> link, <b> bold, <i> italics