It was a long time ago when I posted updates on the status of my survey extension. Unfortunately June was a busy month for me, I had many exams and I was also working on Joomla! 1.6. But finally I have time to work on the survey component and to make up for the work.
Current status
Currently the administration interface of the component basically works, there are some elements which are missing on edit pages, but it's easy to add elements to existing and working forms. Mainly I was working on the relations of the different parts and it's mostly ready.
Main screen
Let's see a short introduction, how the back-end of my extension works.
The submenu has four items:
Surveys
The main page of the extension is the list of surveys. It's possible that in a later version I replace it with a dashboard, but there are more important tasks now. So, on this screen you can see the list of surveys. Listing is similar to the article manager, you can set how many items you want to display on a page, you can sort the columns by title, ordering etc. You can filter the items by category, access, state (published, unpublished, trash) or by a keyword. Categories in the rows have a direct link, so when you click on the name of the category, you get the category edit screen.
Categories
Categories is the place where you can create new categories, or edit existing ones. Currently it's the core com_categories component but later it will be replaced by a custom category manager.
Predefined questions
The other two items are predefined questions and predefined options. Due to the short time I have till the mid-term evaluation, I don't plan to finish this part in the alpha version, however it will be available in beta releases. Predefined questions allows you to create questions which don't belong to surveys, however make your life easier, because when you edit a real question of a real survey, you can load a predefined question with a click. This way you don't need to type each recurring question, you just create a predefined question and later load it where you want to use. Of course after loading the predefined question, you are able to customize it (modify the question, rename the options, remove or add options etc).
Predefined options
Predefined options are similar to predefined questions, the only difference is that you define here only the options of a question. This is good when you don't know the question yet, but you know you will use these options for a lot of questions. For example such a situation is a Yes / No answer, or Strongly Disagree / Disagree / Neither Agree nor Disagree / Agree / Strongly agree. Typing all of these option each time when you create a new question is boring, but predefined options help you to save time, you can load predefined options with a click.
Survey
When you click an a survey, you get a new interface. On the main screen you can see the survey details, statistics etc. This part hasn't not finished yet. When you click on the Edit button, you edit the details of the survey (title, start date, end date, access etc). There are three other submenu items: Question groups, Questions and Responses.
Question groups
Question groups allows you to organize questions better. It's similar to categories, but it's more. You can assign questions to question groups and in the settings of the survey if you select to display the questions group by group, then on front-end it displays the questions by group. So for example you assign three questions to group A, and you assign four questions to group B, then first the user gets the questions of group A, and when he/she clicks on the next button, then gets the questions of group B. Of course this is optional, it's not necessary to assign questions to question groups, and you can display all questions on a page even if you have question groups. It depends on the setting of the survey.
Questions
Here you can create questions to the survey. You can select the question group, the type of the question (single line, multiple lines, single choice, multiple choice etc). You can define the question options here (not finished) or load them from the predefined options (in beta releases).
Responses
A response comes into existence when a user submits the survey form. It's a collection of data, for example whose user that response is (if the survey is not anonymous), when the user submitted the survey, how many questions did the user answer etc. If you click on a response, you can see the answers submitted by the user to the question.
Changes in the plans
In the last few weeks I changed some things in my original plan. One of these changes was to develop the extension on Joomla! 1.6. This was my original plan, however when I started working on the extension, Joomla! 1.6 wasn't stable, it had many bugs etc, that's why I decided to use 1.5 instead. However it's stable enough now, so I'm happy to develop it with 1.6.