Responses

Responses to an assessment will be stored in the content repository as well. Here we will make use of the revision possibility, so each response will become a new revision. As a response most likely contains multiple answers to a question, we will store these answers as in a seperate column. As we want to do data reporting on a database level and make the answers easily accessible from other applications we will refrain from putting the answers themselve into the CR, but get them into a table of their own, controlled by the CR.

In contrast to surveys and tests, some assessment types (like vocabulary test) do not have a fixed set of items that need to be answered. This needs to be taken into account. In this case, as_response does not represent one response to an assessment, but a container for all the responses to this assessment, in terms of the vocabulary. Undecided if this has implementation implications though...

as_responses stores all the responses (without the actual answers).

  • response_id - id for the response
  • assessment_id - Which assessment does this response belong to.
  • title - title for this response. Useful in trials.
  • description - what is this response all about
  • respondee_id - user_id of the respondee who owns this response. If someone else enters the data on behalf of the respondee, the creation_user will be different. In all other cases the respondee_id and creation_user_id are identical.
  • state - state of the response. This can be graded, approved, finished, aborted (if the students decided not to submit the test after all), needs_reanswer (if some items the respondee already answered have been change by the professor) or in progress (obviously others might be possible as well, for our requirements these three should be enough). Might be good to use workflow here (according to Joel).
  • grade - percentage value for this response. This is calculated through the item_checks and will be delivered to the evaluation/grading system once the response has the appropriate state (e.g. graded).
  • edit_p - Is this response still editable.

as_response_items stores all the actual answers given to items in a certain response.

  • response_id - which response does this answer belong to.
  • item_id - which item does this response answer
  • choice_id - id of the choice of the item, if it was a multiple choice question. Additionally the answer will be stored in the appropriate column below
  • boolean
  • text
  • number
  • short_text
  • date
  • cr_item_id - item id of the content item if a file was uploaded.
  • grade - grade for this particular answer.