MultiPage Survey - user's manual
MultiPage Survey (MPS) is a polling component for Joomla. It allows an unlimited number of questions per poll or survey. It is NOT related to the poll component of Joomla.
Questions can be text or images or both. The mosImage control will take care of that.
To use MPS you will need to have some ideas beforehand, probably on paper. You will need to make a mock-up survey using Word with Forms for example.
In this mock-up version you will define all your questions and all the possible answers to these questions.
Of course if you want to branch to a specific question when a user selects a certain answer, you will also have to define this.
The results are stored in a database (external if you prefer to use not to charge Joomla's DB for this).
In MPS questions and answers have NO real relationship. If you have many questions with a "Yes/No" type of answer, you will define all questions one by one, but the "Yes/No" answer (group) only once! Answers are reusable in the same and between multiple surveys. It is so possible to start a survey with entering all the answers or all the questions. Personally I prefer to start with all answers so I can select them directly when I define a question. This way I don't have to go back and forth between question editing and answer editing. Questions are best entered starting from the end: you will be able to select the questions for the routing information.
Although answers do not belong to questions, questions DO belong to surveys. They are not reusable. If you need to ask the same questions in different surveys, you will have to define them again.
System requirements
MultiPage Survey needs PHP 5 or better to be installed. Do not install on Php 4 or less!
How to define a survey?
A survey is a collection of questions and answers. A survey has a few properties:

|
Title
|
The title of the survey, make this short and clear. This title is used in the first list box of the presentation of the surveys.
|
|
Sort Order
|
In which order do you want to present all your surveys? This field allows you to place the first survey you made in the last place if you wish.
|
|
Published
|
If you want the visitors to answer your questions, the survey must be published.
|
|
Multiple answering
|
Define if a user can answer your survey multiple times or not. Selecting "No" will result in a timeout of one year.
|
|
Timeout before new answering
|
Define the number of hours before the visitor can answer again to you survey.
|
|
Store Answers
|
For debugging purposes, you can set this option to ‘no' and no answers will arrive in the database, the survey will work as usual.
|
|
Debug mode
|
setting this to Yes will give you much information of how the survey behaves. You can see the current question number, the next question when a user selects a certain answer etc. This is handy when you are not sure of all your answers and routing of individual answers to different questions.
|
How to define a question?
A question has many options and possibilities.

This is what they are used for:
|
Survey
|
A question must belong to a survey. If not, you will never see this question on the screen. Select the survey in which you want this question asked.
|
|
Question number
|
This is a unique NUMBER that you define. This number is not displayed but used internally to branch to this question or another.
|
|
Short Text
|
This text is used in listboxes in the backend and as a small presentation in the front-end. Keep is straight and simple.
|
|
Default next question
|
This is the next question in the survey. You can select any question already defined or "End of survey". If the answers to this question have their own logic, you will define this later (see routing).
A handy tip: enter your questions in reverse order so they will all be available for selection.
|
|
Answer required
|
This defines if you can go to the next question if you didn't answer this one.
|
|
Presentation Layout
|
Select the correct position for the selection boxes for the answers. The following options are defined:
- Top
- Left (default)
- Right
- Bottom
Horizontal - All answers are presented vertically unless you specify this option.
|
|
Answer presentations
|
This is the place where you attach an existing answer to your question. If you already defined an answers, you will have noticed that there is no default presentation for them. They can be represented as
- Free Text (textbox)
- Dropdown lists
- Standard lists
- Multi-select lists
- Checkboxes
- Mutually exclusive radio buttons
|
|
Fulltext checkbox
|
The Full Text checkbox allows you to display the full text of the answer rather than the short text. The full text can contain HTML, text, or images or both. Full text display is only usable for radio buttons and checkboxes. All other answer types will default to the short text display.
|
|
Answers to this question
|
In each list you can select the answer that goes with your question. Multiple answer groups are allowed per question. The number of horizontal options is defined in the Configuration screen. Unused answer options are eliminated and then shifted to the front. There are no blank spaces/columns between answer options.
|
|
Number of identical lines
|
You can now repeat the line of answers you just defined an unlimited number of times. It defaults to 1 (one).
In case you specify more than one option per line or more than one line of answers, the default routing will take place for this question. Individual answer routing will be disabled.
|
|
Row labels
|
In case you want a small text in front of each line (often some kind of numbering) enter these labels here, one per line without commas etc.
|
|
Column labels
|
The same goes for the column labels on top of the columns. You should specify the correct number of labels to obtain a correct display.
|
|
Full text of the question
|
Here you enter the HTML text of your question with or without images. The full text will be used to display you question in the survey. Use the mosImage control to add images to your question. You will automatically use your default WYSIWYG editor.
|
Individual answer definition
Individual answers are the smallest part of the survey. They contain a short text, a group name and a full text with HTML, images etc.

The full text can be displayed only if the question defines this answer as a checkbox type or a radio button type.
Grouping
Once you have a group of individual answers (like "Yes" and "No" and "Please select") you must group them using the group button in the toolbar. The group must have a distinguishable name. This is the name you will select when you attach this answer to a question.
If you create a group with the first individual answer, you will be able to select this group name in the answer definition screen when creating the next answers in this group. That's a little easier than grouping all individual answers later.
Routing
Now you have a certain number of questions with all their answers, you will be able to define the route(s) that people will take when answering your survey.
Start by reviewing all your questions and define the "End of survey" only for these questions that really end the survey. All other questions should now be linked logically so that one questions leads to another.
What if you want a user to answer a certain question if he has answered "Yes" to the previous question and a different question in case he answered "No"?
For this you will have to go to the Routing screen.
Filter the questions per survey here; it will be easier to define all routing.

Now you have all the questions of your survey accompanied by their answers. Click on an answer to edit the routing. By default ALL individual answers are presented in the survey. In the routing screen you can define whether any individual answer is a "null option", a "default option", where to go if a user selects this option, and in which order you want this option to be displayed.
In case you have multiple answers for a question, ONLY the routing will be ignored. You are still able to change the order of the individual answers or their display.
Let's take the following example:
Questions:
|
Number
|
Question
|
Type of answer display
|
|
1
|
Do you own a car?
|
Yes / No
|
|
2
|
What insurance do you have for this car?
|
Select insurance type (dropdown)
|
|
3
|
How much do you pay for this insurance?
|
Free text (textbox)
|
|
4
|
Do you have a garage?
|
Yes / No
|
|
5
|
Do you have a garden?
|
Yes / No
|
Obviously, if a visitor does not own a car, questions 2 and 3 are not relevant.
The routing to define will be like this
|
Question
|
Individual answer
|
Routing
|
Where to define route
|
|
1
|
yes
|
Go to 2
|
Routing screen
|
|
2
|
Any
|
Go to 3
|
Default routing in question
|
|
3
|
Any
|
Go to 4
|
Default routing in question
|
|
4
|
Any
|
Go to 5
|
Default routing in question
|
|
5
|
Any
|
End of survey
|
Default routing in question
|
Be sure to add an "End of Survey" route somewhere, if not the survey will never end and everybody keeps answering the same questions over and over again! The answers stored in the database will be of ONE complete survey only. The "default" option for the routes corresponds to the routing defined in the question.
Options
|
Null option
|
A Null option is a selectable option. It is stored in the DB like any other answer. If you define that a question must have an answer ("Required" in the question definition) than selecting this option will disable the "Next" button. Obviously the free text, checkboxes and multi-select lists cannot have a null option since you could select the null option AND a valid option.
|
|
Use option
|
If you defined many options with your answer, but you don't need some of them, just uncheck the "use option" box. Now these individual answers will not be visible in the survey.
|
|
Default option
|
The "default option" is the one pre-selected in the answer. If a question is "required" than you could define "default option" and "null option" at the same time to force the user to select a different option in the survey.
|
|
Order
|
The "Order" textbox contains the order in which all options appear on the screen. Sometime you need to have the "Yes" option first, and sometimes the "No" option. Simply put a numerical order here.
|
Presenting a survey
A survey is presented in the front-end of Joomla by creating a Menu-Component with MPS. All published surveys are available to the visitor. You can disable this selection list by entering a survey ID in the Parameters for this menu. Now the dropdown list disappears and the selected survey will start immediately. To get the list back, remove the survey ID from the parameters box.

Configuration
Many options necessary for the correct operation of MPS are configurable. You will also define the texts when people already answered the survey as well as a welcome text. Let's take a tour of the options available:

The display tab
|
Use separator image between lines
|
In case you have defined multiple answer lines in your questions, a separator might give a better visual effect.
|
|
Separator image
|
Use an image as a separator here. The image should be 16 pixels high.
|
|
Separator text
|
You can also use text as separator, something like -next option--
|
|
Separator color
|
Select the color you want for the separator line
|
|
Maximum horizontal options
|
The number of horizontal options in your questions.
|
External Database tab
In case you prefer to store the results of your survey(s) on a different server, you will have to fill this part.
Here you specify the common information to access you DB server. If you don't use an external server, check the "NO" box. If this is set to "Yes", you must specify the correct information in the table below it!
Thanks Msg, Answered Msg and Welcome Msg tabs
These tabs contain an editor to display a nice message for each of these possibilities:

Results
Of course once you have many filled in surveys by all of your visitors, you will want to exploit the results.

The results are stored in the database and can be exported in CSV/Text format. The will be downloadable in a compressed ZIP file. The resulting file can then be used by Excel, Access or OpenOffice, or simply any program of your choice that can read data in a comma separated value format.
To create the dump of the results data you must fill in the range of results that interest you. If you provide the survey as a service to another company, probably you will not want to give them the same data again and again. Specifying the range of answers to be exported eliminates this risk.
Select the survey to dump and press the "Create Dump button" then press the "Download dump" button to download the resulting zip-file to your computer.
Download may not work on localhost installations. You can find the zip file in the /images/stories directory of your Joomla Installation.
The structure of the results file:
|
Column 1
|
The ID of this answer in the DB, usually not interesting
|
|
Column 2
|
The survey ID
|
|
Column 3
|
The Question Number
|
|
Column 4
|
A unique value to recreate complete surveys from all individual answers
|
|
Column 5
|
Date and time of submission of the answers
|
|
Column 6
|
The complete answer set per question
|
The answer set is coded as follows:
If the answer only has one option then it is here
If the answer has multiple options, options are separated by | (pipe)
If the answer has multiple lines, lines are separated by \r (return, not linefeed)
If the answer has multiple options and multiple lines a combination of the above options is used. |