Uploaded image for project: 'OpenOLAT'
  1. OpenOLAT
  2. OO-852

New bulk assessment wizard with build file upload and scheduled execution




      The goal is to replace the existing course bulk assessment wizard:

      1. Start Screen
        1. List of available scheduled bulk assessments
        2. Cols: Course element, Score y/n, Status y/n, Comment y/n/, Return file y/n, Number of users assessed, Name of user who created the scheduled assessment, execution date [edit], [delete]
          1. When task has failed, add red "failed" instad of execution date
        3. Start new bulk assessment
      2. Bulk assessment wizard
        1. Step 1: select assessable course node
          1. This step is skipped if there is only one assessable course element or when launched from the list of scheduled assessments
        2. Step 2: add assessment data
          1. Input field to submitt tab or comma seperated values
            1. Columns: User identifyer (username or email or inst ID), Score, Status, Comment
          2. File upload filed to submit return files if node of type "task" with return box enabled in configuration (maybe new config of assessable node?)
          3. File must be a ZIP file with a directory for each assessed user. The directory uses the same user identifier as in the input field (username, email or inst ID)
        3. Step 3: validation of assessment data
          1. List with columns: User identifyier, Firstname, Lastname, Score, Status, Comment (callout), number of return box files
          2. User identifiers that could not be matched are listed in separate table
          3. Emtpy fields (score, status, comment, files) are treated as "don't modify"
          4. score
            1. 0 values in score is treated as "set to 0"
            2. number values in score are treated as "set to number"
            3. other values in score like characters are treated as "don't modify"
          5. status
            1. y, yes, passed, true, 1 values in status are treated as "passed"
            2. n, no, failed, false, 0 values in status are treated as "failed"
            3. all undefined values in status are treated as "don't modify"
          6. comment
            1. "" values in comment is treated as "set to empty"
            2. any value in comment is treated as "set to value"
          7. Format score values < cut value red, otherwhise green if cut value available
          8. Format failed values red, passed values green
        4. Step 4: Schedule assessment
          1. option 1: Execute assessment immediately (default)
          2. option 2: Execute assessment later
            1. Date and time input filed
            2. Date and time verified that it is in future
        5. Step 5 Finish
          1. Log to course admin logging table and make audit log entry for standard logfile
          2. Execute assessment synchronousor asynchrous if immediate execution is selected, Feedback when finished
          3. Store assessment task for executor in appropriate form
      3. Edit scheduled assessment
        1. Start Bulk assessment wizard but skip step 1
        2. Preload assessment data form and uploaded return data file to wizard step from assessment task datamodel
      4. Assessment task
        1. Data model
          1. On disk or DB depending on what fits best
          2. Add metadata about every user who ever saved the task (task creator and all modifiers)
          3. Add metadata about state of execution (scheduled / failed)
      5. Assessment task executor
        1. Execute tasks on time
          1. Log to course admin logging table and make audit log entry for standard logfile
          2. Set new Score, Status and Comment
          3. Add files from user return directories to the return box directories
          4. Already existing return files are replaced (versioned if possible)
          5. Skip users who do not exist (keep track and add to email text)
          6. Skip nodes that do not exist
            1. Set state of task to "failed"
            2. Send message to task creator and all modifiers that task failed
        2. When done, send email to task creator and all task modifiers from task metadata
        3. When done, delete task (no history about scheduled tasks other than logging table required)
      6. Other things
        1. Make sure things don't get messes up when two users edit/delete the same scheduled assessment or when the task is executed at that very time (no magic, but don't produce RS)
        2. Delete scheduled assessments when course node is deleted
        3. Delete scheduled assessments when course is deleted


          Issue Links



              srosse Stéphane Rossé
              gnaegi Florian Gnägi
              Kirsten Scherer
              0 Vote for this issue
              0 Start watching this issue



                  Time Tracking

                  Original Estimate - 3 days, 6 hours, 30 minutes
                  3d 6h 30m
                  Remaining Estimate - 0 minutes
                  Time Spent - 3 days, 2 hours, 45 minutes Time Not Required
                  3d 2h 45m