Make WordPress Core

Opened 6 years ago

Last modified 6 years ago

#43910 new enhancement

Add actions and filters so plugins can easily extend export/erasure functionality

Reported by: xkon's profile xkon Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version: 4.9.6
Component: Privacy Keywords: has-patch reporter-feedback 2nd-opinion
Focuses: Cc:

Description

Splitting this from #43481 .

We're waiting for some feedback first to add more thoughts into this, but it needs it's own ticket at the moment.

Attachments (2)

43910.diff (8.1 KB) - added by allendav 6 years ago.
43910.2.diff (8.5 KB) - added by audrasjb 6 years ago.
Patch refreshed for 4.9.8 release

Download all attachments as: .zip

Change History (26)

#1 @desrosj
6 years ago

  • Component changed from General to Privacy

Moving to the new Privacy component.

#2 @desrosj
6 years ago

  • Version set to 4.9.6

Marking Privacy change as introduced in 4.9.6.

#3 @allendav
6 years ago

Let's add actions:

  • in wp-admin/includes/user.php on _wp_personal_data_export_page after the page heading, after the request form, and after the requests table
  • in wp-admin/includes/user.php on _wp_personal_data_removal_page after the page heading, after the request form, and after the requests table
  • in wp-admin/privacy.php after the page heading, after the intro paragraphs, before our first table tow, after our last table row, and after the table itself
  • in wp-admin/tools.php (for ?wp-privacy-policy-guide ) before AND after the div containing WP_Privacy_Policy_Content::privacy_policy_guide,

Let's add filters:

  • in wp-admin/privacy.php for the "As a website owner" through "information for you to consider adding to your policy." intro paragraphs

#4 @allendav
6 years ago

  • Keywords needs-patch added

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


6 years ago

#6 @desrosj
6 years ago

  • Milestone changed from Awaiting Review to 4.9.8

#7 @birgire
6 years ago

We have these filters on the query arguments for the corresponding list tables:

  • ms_sites_list_table_query_args
  • comments_list_table_query_args
  • users_list_table_query_args

that are useful if one adds a custom drilldown on the list tables.

So here are more filters to consider:

  • export_personal_data_list_table_query_args
  • remove_personal_data_list_table_query_args

for the WP_Query arguments in WP_Privacy_Requests_Table::prepare_items().

Example:

/**
 * Filters the arguments for the requests query in the Privacy Requests list table.
 *
 * @since 4.9.8
 *
 * @param array $args An array of WP_Query arguments.
 */
$args = apply_filters( $this->request_type . '_list_table_query_args', $args );

$requests_query = new WP_Query( $args );
Last edited 6 years ago by birgire (previous) (diff)

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


6 years ago

@allendav
6 years ago

#9 @allendav
6 years ago

  • Keywords has-patch needs-testing added; needs-patch removed

@birgire - thank you! i added your snippet to my patch above

@desrosj @xkon feedback welcome - although they are filterable now, I took extra care to NOT change the introduction strings on the settings page so re-translation shouldn't be required

#11 @desrosj
6 years ago

Adding this here so I don't forget. Actions could be added to _wp_privacy_completed_request() for before and after data requests being marked completed.

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


6 years ago

This ticket was mentioned in Slack in #core-privacy by desrosj. View the logs.


6 years ago

#14 @desrosj
6 years ago

  • Keywords gdpr removed

Removing the GDPR keyword. This has been replaced by the new Privacy component and privacy focuses in Trac.

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


6 years ago

#16 @audrasjb
6 years ago

  • Keywords needs-refresh added

@audrasjb
6 years ago

Patch refreshed for 4.9.8 release

#17 @audrasjb
6 years ago

  • Keywords needs-refresh removed

Patch refreshed for 4.9.8 release.

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


6 years ago

#19 @pbiron
6 years ago

  • Keywords commit added; needs-testing removed

#20 @azaozz
6 years ago

  • Keywords reporter-feedback 2nd-opinion added; commit removed

Could somebody provide a few user cases that require so many actions and filters here? I agree it is good to have a few, but... 16 actions and 4-5 filters? Something seems "fishy"...

Also, don't think we should be filtering the core texts. They were created to be "legally sound". Need at least two-three examples of plugins that really really need to replace these texts with other content of an equal quality.

#21 @pento
6 years ago

  • Milestone changed from 4.9.8 to Awaiting Review

This ticket was mentioned in Slack in #core-privacy by desrosj. View the logs.


6 years ago

This ticket was mentioned in Slack in #core-privacy by desrosj. View the logs.


6 years ago

#24 @xkon
6 years ago

@audrasjb thanks for the patches !

I'm not sure if all those page actions are needed. The idea was to add filters / actions to help tap into the actual tools not the 'pages', let's try to not convert the wp-admin into a theme that has 1 action every other <div>, if that makes sense ( at least that was not something that I was thinking about personally ).

But! Since that start has been made, I wouldn't mind keeping 2 of them, these would be the actions right after the Export / Erasure page titles, that can come handy to add some more Help text for example there if needed. I know that some people wouldn't mind having an 'what this tool does' paragraph within the tools themselves for example, so some devs & admins might find that handy.

The WP_List_Table query filter that @birgire mentioned and as @desrosj said before/after an export/erasure happens ( even passing some data like a user id / mail ) could come handy for sure and I totally agree.

As for the texts I wouldn't touch them at all as @azaozz mentions they're there to stay and should be changed by core only if needed on each release. If there's an action needed there to 'add more' that's ok, but altering the text itself I'm not in favor of doing it.

Note: See TracTickets for help on using tickets.