Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-61618

Connect the Data Privacy tool to the subsystem's manager to facilitate data export

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 3.3.5, 3.4.2, 3.5
    • Fix Version/s: 3.3.6, 3.4.3
    • Component/s: Privacy
    • Labels:
    • Testing Instructions:
      Hide
      1. Make sure you have mailcatcher or something of the kind running
      2. Clone the Moodle data privacy tool (https://github.com/snake/moodle-tool_dataprivacy) into admin/tool/dataprivacy
      3. Apply (if not already) the commits here
      4. Now, as a student, create a new data request for export.
      5. Run cron.
      6. Now, as an admin (or DPO), view requests and verify you can confirm the request
      7. Run cron again
      8. Now, as the student, confirm you see that your export request is listed as complete and that you can download the file.
      9. Check the mailcatcher email and verify you can see the file download link and that clicking it takes you to the file download (ignore file security - this is currently being addressed in another issue)
      Show
      Make sure you have mailcatcher or something of the kind running Clone the Moodle data privacy tool ( https://github.com/snake/moodle-tool_dataprivacy ) into admin/tool/dataprivacy Apply (if not already) the commits here Now, as a student, create a new data request for export. Run cron. Now, as an admin (or DPO), view requests and verify you can confirm the request Run cron again Now, as the student, confirm you see that your export request is listed as complete and that you can download the file. Check the mailcatcher email and verify you can see the file download link and that clicking it takes you to the file download (ignore file security - this is currently being addressed in another issue)
    • Affected Branches:
      MOODLE_33_STABLE, MOODLE_34_STABLE, MOODLE_35_STABLE
    • Fixed Branches:
      MOODLE_33_STABLE, MOODLE_34_STABLE
    • Pull Master Branch:
      MDL-61618-master

      Description

      Here's what needs to be done:

      1. New table 'tool_dataprivacy_request_contexts' to hold contexts for a given request
      Should have cols:

      • requestid
      • component
      • contextid
      • status (for now: pending, approved, rejected but allow for more)

      2. New constants in the api class to hold the context statuses above (pending , approved, rejected etc)
      3. 'New request made' adhoc task updates:

      • generate the contextlist_collection
      • for each contextlist:
        • store the component, context, etc in 'tool_dataprivacy_request_contexts' table
      • progress the request (current code does this already)

      4. At the point of approving (before scheduling the adhoc task):

      • set status of all respective contexts in the table to 'approved' (may evolve to a UI control eventually)

      5. 'Request approved' adhoc task updates:

      • fetch list of approved contexts (those with status 'approved')
      • reassemble a contextlist collection for these using approved_contextlist instead of contextlist.
      • pass to manager->export()
      • TODO: consider how to 'mop up' the contexts in the 'tool_dataprivacy_request_contexts' table. Do we do now or later? (scheduled task ?)

      Note: This work should be based on the tool: https://github.com/moodlehq/moodle-tool_dataprivacy and on MDL-61307 work.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jaked Jake Dallimore
                Reporter:
                jaked Jake Dallimore
                Peer reviewer:
                Jun Pataleta
                Participants:
                Component watchers:
                Andrew Nicols, Mathew May, Michael Hawkins, Shamim Rezaie, Simey Lameze
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Fix Release Date:
                  17/May/18