Make WordPress Core

Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#43551 closed enhancement (fixed)

Add a means to package personal data into a file

Reported by: allendav's profile allendav Owned by: allendav's profile allendav
Milestone: 4.9.6 Priority: normal
Severity: normal Version: 5.1
Component: Privacy Keywords: gdpr needs-patch
Focuses: Cc:

Description

Builds on the work done by #43438 to assemble the data.

Per ticket scrub discussion in Making WordPress gdpr-compliance chat today we are leaning toward mimicking the approach Facebook uses for exporting all a user's data (but just for personal data) i.e. a ZIP file with a "mini-website" inside comprised of HTML and other files (e.g. images) and including a single index HTML as well as a JSON blob (to address not just Article 15 but Article 20 as well.)

Note: for very large attachments, we might also adopt the approach Facebook takes and provide a time-limited link in the export HTML from which the user can separately download those files - this might warrant a separate issue however.

Related: adding this to the UI #43546

Attachments (3)

43551.diff (6.4 KB) - added by allendav 7 years ago.
Work in progress
43551.2.diff (9.1 KB) - added by allendav 7 years ago.
Updated to handle 1-base; updated to handle nested/structured personal data; improved HTML report format
43551.2.png (354.9 KB) - added by allendav 7 years ago.
Example report with the user's comments

Download all attachments as: .zip

Change History (15)

#1 @allendav
7 years ago

  • Keywords gdpr needs-patch added

@allendav
7 years ago

Work in progress

#2 @allendav
7 years ago

Work in progress. Also requires patches #43438 #43440 and #43546

#3 @xkon
7 years ago

After a bit of discussion some ideas came up so I'm putting these down here maybe for further discussion as well.

Since .zip(s) are going to be formed we have to establish some default limits.

  • A limit per file (if the file exceeds the size a link will take it's place into the export) we can probably calculate something from the max .zip file limit instead of having a default size for files as well.
  • A limit of 500MB (as default maybe) per .zip
  • The .zip limit should have a way to get altered as some servers might be able to handle bigger sizes or smaller even.
  • To consider: an extra option to avoid checking for a file size completely just in case somebody actually wants to allow everything to pass in .zip(s).

[ Hopefully I didn't forget anything :D ]

@allendav
7 years ago

Updated to handle 1-base; updated to handle nested/structured personal data; improved HTML report format

@allendav
7 years ago

Example report with the user's comments

#4 @allendav
7 years ago

See screenshot above

How to test:

  • Update to the latest trunk
  • Apply this patch (43551.2.diff)
  • Follow the instructions at https://github.com/allendav/wp-privacy-requests to install the temporary UX plugin until a patch becomes available for #43546
  • Initiate a personal data export request if you don't have one already under wp-admin > Tools > Personal Data Requests
  • Be sure to use an email address that has a few comments on the site
  • No need to confirm the request - immediately click on Download under the email address
  • When download is complete, a ZIP will be returned to you. Open it and behold the HTML report therein with your comments.

Design notes:

  • This leverages the concept of grouped items that was introduced in #43440 specifically #43440.5

Work in progress. Ruggedization and better error handling are needed as well as attachment support.

cc @azaozz @mikejolley @xkon @dejliglama @jesperher

This ticket was mentioned in Slack in #gdpr-compliance by allendav. View the logs.


7 years ago

#6 @Clorith
7 years ago

  • Owner set to allendav
  • Status changed from new to assigned

#7 @desrosj
7 years ago

  • Milestone changed from Awaiting Review to 4.9.6

Moving to the 4.9.6 milestone after consensus was reached in the most recent GDPR chat (https://wordpress.slack.com/archives/C9695RJBW/p1524063200000304).

#8 @allendav
7 years ago

NOTE: The ZIP generation is now already in the patch on #43546 - we might want to close or repurpose this issue.

This ticket was mentioned in Slack in #core by jeffpaul. View the logs.


7 years ago

This ticket was mentioned in Slack in #gdpr-compliance by allendav. View the logs.


7 years ago

#11 @desrosj
7 years ago

  • Resolution set to fixed
  • Status changed from assigned to closed

Closing this out. Refer to #43546 for work.

#12 @desrosj
7 years ago

  • Component changed from General to Privacy

Moving to the new Privacy component.

Note: See TracTickets for help on using tickets.