Hello
We've had quite a long break between DBSE meetings yet lots of things happened!
We:
- implemented all basic classes.
- implemented a basic question type plugin framework using folders to install a new question type.
- implemented controller/component functionality.
- implemented some basic methods for the section flat engine for the
prototype (this code isn't all finished tho, there are some quick hacks
in there like only creating and not updating database tables).
- implemented one really basic question type (string question) but the template is really basic.
In our last meeting we discussed the following:
- We discussed the new milestones.
Maarten will take care of the testing and debugging of the application
while Pieter-Jan will be implementing the rest of the project.
- We will use the survey end time as a check to see if the user
has finished the survey. The end time has to be set by calling a
finishSurvey(participant_id) method.
- The hasFinished() method will use the end time of the survey
to check if the survey is finished by a participant. We will not check
if all the given answers are valid since this is impossible (the
conditions engine has a huge effect on this check).
- Survey and section begin and end times will be added to a response.
- Responses will continue to have participant id's yet when
using getResponses() and getResponsesToQuestion() will get a
setParticipants argument. When set to false (default) the participants
will not be added to the responses and anonymous responses will be
returned.
- We discussed the problem we have with the plugin bootstrap and
configuration file. We will include this file in the application's
bootstrap file.
- We decided we will update the tables for the responses when a
survey is updated rather than dropping and creating them. This means the
data in the tables will continue to be there. The data might become
inconsistent due to bad updates (a question might become mandatory where
it wasn't). We will not handle these inconsistencies.
The next weeks we will be implementing the rest of the DBSE engine and do plenty of testing.
Pieter-Jan