Assessment Creation

When creating an assessment the administrator has a couple of fields to determine the look and feel of the assessment along with the option to view the responses. This is a list of attributes the administrator can edit when creating an assessment. The grouping is based on the UI and not on the datamodell. So you should follow this with regards to the UI:

- Title: Title of the accessment
- Anonymous Accessment: boolean (yes/no). This shows whether the creator of the accessment will have the possibility to see the personal details of the respondee or not. In particular this will exclude the user_id from the CSV files. It shall still be possible to see the user that have not finished the survey though.
- Secure access only: boolean (yes/no). The assessment can only be taken if a secure connection (https) is used.
- Presentation Options: These options allow the respondee to select between different presentation styles. At least one of the checkboxes mentioned below has to be selected.
  - All questions at once
  - One question per page. If you have selected respondee may not edit their reponses, it will not be possible for them to go back and choose another answer to that question.
  - Sectioned
- Reuse responses: boolean (yes/no). If yes, the system will look for previous responses to the the questions and prefill the last answer the respondee has given in the assessment form of the respondee. It is debatable whether this function should be per assessment and/or per question
- Navigation of sections: select (default path, randomized, rule-based branching, maybe looping in the future).
- Show question titles: boolean (yes/no). If yes, the respondee will see the title of the question in addition to the question itself when taking the survey.
- Consent Pages: richtext. An assessment author should be able optionally to specify some consent statement that a user must agree to in order to proceed with the assessment. The datamodel needs to store the user's response positive response with a timestamp (in as_sessions). This isn't relevant in educational testing, but it is an important feature to include for other settings, notably medical and financial ones.

- Progress bar: select. (no progress bar, different styles). What kind of progress bar shall be displayed to the respondee while taking the assessment.
- Styles
  - Custom header / footer: richtext. Custom header and footer that will be displayed the the respondee when answering an assessment. Possibility to include system variables (e.g. first name).
  - Select presentation style. Style (form_template) that will be used for this assesment
  - Upload new: file. Possibility to upload a new style
  - Edit (brings up a page with the possibility to edit the selected style)
  - Customizable Entry page: richtext. The page that will be displayed before the first response.
  - Customizable buttons for Submit, Save, continue, cancel (e.g. using the style?)
  - Customizable thank you page: richtext.
  - Return_URL: text. URL the respondee will be redirected to after finishing the assessment. Should be redirected directly if no Thank you page is there. Otherwise the return_url should be set in the thank you page context, so we can have a "continue" URL.
- Times
  - Availabilty: 2 date widgets (from, and to). This will set the time the time the survey will become visible for the respondees. It is overriden by the parameter enabled (if a accessment is not enabled, it will never be visible, regardless of date).
  - How often can a accessment be taken: Number of times a survey can be taken by a respondee.
  - How long has a user to pause: Number of hours a respondee has to wait before he can take the accessment again.
  - Answer_time: integer: Time in minutes a respondee has to answer a survey.
- Show comments to the user
  - No comments: the user will not see the comments stored with the questions at all
  - All comments: the user will see all the comments associated with his answers to the questions
  - Only wrong comments: the user will only see the comments to questions which he answered in correctly.
- Permissions
  - Grant explicit permissions: Link to a seperate page that will allow the creator to grant and revoke permission for this survey. Permissions are (take_survey, administer_survey)
  - Grant permission on status in curriculum. Needs to be exactly defined. Otherwise we will write a small page, that allows the admin to select exams and a minimum point number the student has to have achieved in that exam.
  - Bulk upload: file. Upload a CSV file with email addresses to allow access to the accessment. Add users to the system if not already part of it. Notify users via email that they should take the accessment.
  - Password: short_text. Password that has to be typed in before the respondee get's access to the accessment. This should be done by creating a registered filter that returns a 401 to popup an HTTP auth box. look in oacs_dav::authenticate for an example of how to check the username/password
  - IP Netmask. short_text. Netmask that will be matched against the IP-Adress of the respondee. If it does not match, the user will not be given access. Again this should be handled by the creation of a registered filter on the URL where the assessment resides (for the respondee that is, meaning the entry URL for responding to the assessment).
- Notifications
  - Notifications will be done using the notification system of OpenACS.
  - For all notifications allow system variables should be used.
  - System_name
  - User_name
  - user_id
  - ... (free for the developer to think about what is useful)
  - Links to spam the following group of people (information can be taken out of as_sessions):
  - All respondees having access to the assessment
  - All respondees that have not started the assessment
  - All respondees with unfinished assessments
  - All respondees with finished assessment
  - Notification message: richtext. This will allow the creator to supply a message that will be send to the respondee, Possible messages:
    - To invite the respondee
    - To remind him for filling out the survey
    - To thank them for performing
  - Possible Messages for the staff
    - Inform the staff about reponses to be looked at
    - Remind the staff about responses
  - Reminder period for notification messages.
- Reponses
  - View responses per User (resulting in a page with all responses with checkboxes in front for deletion and a check/uncheck all link)
  - View responses per Question
  - View responses by Filter / Groups / Values (e.g. search for questions with a negative distractor)
  - Grant access to responses (using the permission system):
  - Closed - Only the owner of the assessment can see the responses
  - Admin - Only admins of the assessment can see the reponses
  - Respondees - Only respondees can see the responses
  - Registered_Users - Only registered users can see the responses
  - Public - Everyone can see the responses
  - grant permission to special parties
  - Import / Export
    - Import/export style: WebCT, CVS, Blackboard, IMS
    - Import Filename: file, select file that shall be imported
    - Import and export button
- Statistics
  - Number of completed assessments
  - Number of unfinished assessments
  - Average score (only with scoring module)
- Survey Import / Export
  - Type: (select box): CSV, WebCT, SCORM, Blackboard, IMS
  - File: file (file for import)
  - Download file name: short_text. Filename for the download of the export.
- Delete assessment with / without responses
- Assign category to the assessment
- Link to a mapping and browsing page to link sections to this assessment (or to create new sections).
- (Optional) For each section in the assessment display:
  - Section name
  - Link to section page
  - Reorder section buttons.
- Instant survey preview (needs to be defined how exactly this is going to happen)
- One additional option that should be included is a consent form; an assessment author should be able optionally to specify some consent statement that a user must agree to in order to proceed with the assessment. The datamodel needs to store the user's response whether it is positive or negative, along with a timestamp. This isn't relevant in educational testing, but it is an important feature to include for other settings, notably medical and financial ones.