[wp-trac] [WordPress Trac] #43546: Add to the privacy tools UX a means to export personal data by username or email address

WordPress Trac noreply at wordpress.org
Sat Apr 28 06:52:37 UTC 2018


#43546: Add to the privacy tools UX a means to export personal data by username or
email address
--------------------------------+-----------------------
 Reporter:  allendav            |       Owner:  allendav
     Type:  enhancement         |      Status:  assigned
 Priority:  normal              |   Milestone:  4.9.6
Component:  General             |     Version:  trunk
 Severity:  normal              |  Resolution:
 Keywords:  gdpr needs-testing  |     Focuses:
--------------------------------+-----------------------

Comment (by iandunn):

 [attachment:43546.11.diff] has these changes:

 * First pass at a cron job instead of manually calling
 `wp_privacy_delete_old_export_files()` when generating a new file. Right
 now it's setup on the admin side, because
 `wp_schedule_delete_old_privacy_export_files()` is in `wp-
 admin/includes/file.php`, but I think it'll need to be moved to a front-
 end include file, because otherwise the job is even less likely to run as
 often as needed on small sites.
 * Switch from `rand()` to `wp_generate_password()`.
 * Fix the failing unit test. sanity check on fix for unit test - seems
 wiser to compare the urls, not hardcode/duplicate  the surrounding link
 markup in the test itself, but don't have a lot of context, so could be
 missing something
 * Add `wp_privacy_export_expiration` filter for determining the expiration
 lifetime. The email text previously had it hardcoded, but I switched to
 pulling from the filter instead, and updated the string to list the date
 it will expire on, rather than "3 day from now". I tried using
 `human_time_diff()` to preserve the original string, but it's not accurate
 enough in all cases, because it often rounds to the nearest
 week/month/etc). I think a date is probably less ambiguous, too, because
 there may be a delay between when the email is sent and when the user
 opens it. So it could say "3 days" because it was sent 2 days ago, but in
 reality the reader only has 1 day left to open it. I also added an
 explanation of ''why'' the file will be deleted, to avoid any confusion.
 * Adds `@group privacy` to the unit tests. If someone has time, it'd be
 good to make sure all the GDPR tests have this.
 * Removes the `@` from `unlink`, since suppressing error messages is
 general a bad practice. I'm guessing it was originally done to avoid them
 showing up in an AJAX response? That's no longer an issue since it's
 called via cron now.
 * Tell `list_files()` to exclude `index.html`, so it doesn't get deleted.
 * Miscellaneous cleanup.

 Some other feedback

 * `Download Personal Data` and `Email Data` function like buttons, and are
 visually formatted as buttons, but are setup as links. Would it be more
 semantic (and maybe accessible?) to use an actual `<button>`?
 * If we're going to add additional files to the `.zip` besides the
 `index.php`, then it might be nice to prefix a folder for all the files.
 That way, if someone downloads the file to `~/Downloads`, when they unzip
 the file, they don't get a ton of files extracted to `~/Downloads`, where
 they'd be mixed in with tons of other files, making them hard to find, and
 creating a mess. Instead, they'd be extracted to `~/Downloads/wp-personal-
 data-file-iandunn-at-example-org-ZG56zBVyy0jynV8W61aVsZ5vKfUmLk1o/`.
 * Similarly, would the HTML file be better named something like `wp-
 personal-data-file-iandunn-at-example-org-
 ZG56zBVyy0jynV8W61aVsZ5vKfUmLk1o.html` instead of `index.html`, which
 doesn't describe the contents at all, and may conflict with other export
 files?
 * If no data is available, it'd be nice to display a message in
 `index.html` indicating that; otherwise the user might be confused why
 they're not seeing anything. Or, maybe short circuit the entire process,
 and just send them an email saying that there isn't any data, instead of
 giving them a link to click?
 * I'm not sure why the email says, "This email has been sent to
 {address}". Isn't that obvious from the `To` header?

 Replying to [comment:25 aaroncampbell]:
 > It would also be nice to have a manual delete option so an admin could
 choose to delete the file once it has been downloaded or emailed.

 It looks like this exists in the bulk edit row, but it'd be nice to have
 `remove` link next to the `download` link, too, to make it more
 discoverable and convenient.

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/43546#comment:30>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list