WordPress.org

Make WordPress Core

Opened 22 months ago

Last modified 2 weeks ago

#44000 new enhancement

Add notification bubble to Tools menu for data export/erase requests

Reported by: scott.deluzio Owned by:
Milestone: Future Release Priority: normal
Severity: normal Version:
Component: Privacy Keywords: has-patch needs-refresh
Focuses: Cc:

Description

Currently, when a user has confirmed their GDPR export or erase request the site admin does not receive a notification or any visual indication that the request has been confirmed. Outside of visiting the Export/Erase pages they will have no way of knowing whether or not the request has been confirmed.
I'm suggesting a notification bubble (similar to when there are comments or plugin updates available) that will indicate the total number of export and erase requests that have been confirmed.

Attachments (8)

44000.patch (2.1 KB) - added by scott.deluzio 22 months ago.
Adds notification bubble to Tools menu for GDPR export/erase confirmations
remove-export-requests-with-44000.patch.jpg (26.7 KB) - added by birgire 22 months ago.
44000.2.diff (2.3 KB) - added by birgire 22 months ago.
tools-bubble-count.jpg (11.4 KB) - added by birgire 22 months ago.
44000.3.diff (1.7 KB) - added by birgire 22 months ago.
44000.4.diff (3.9 KB) - added by birgire 22 months ago.
tools-submenu-bubbles.JPG (14.3 KB) - added by birgire 22 months ago.
germain-tools-menu.png (7.8 KB) - added by scott.deluzio 6 weeks ago.
German tools menu

Download all attachments as: .zip

Change History (27)

@scott.deluzio
22 months ago

Adds notification bubble to Tools menu for GDPR export/erase confirmations

#1 @scott.deluzio
22 months ago

  • Keywords gdpr added

#2 @birgire
22 months ago

@scott.deluzio thanks for the patch.

I tested 44000.patch but got three notices when I deleted requests.

See remove-export-requests-with-44000.patch.jpg.

Last edited 22 months ago by birgire (previous) (diff)

@birgire
22 months ago

#3 @birgire
22 months ago

44000.2.diff is a suggestion that uses the wp_count_user_requests() function approach in #44034. The patch there would need to be applied here as well to test.

This counts the confirmed user requests for both export and erase, adds them together and displays a bubble count next to the Tools menu.

It also checks for the erase_others_personal_data and erase_others_personal_data capabilities, before displaying the bubble count.

So this approach can handle the case if user has e.g. erase_others_personal_data but not export_others_personal_data, so it would only display the bubble count for confirmed erase requests.

Further adjustments would be to add bubble counts to the sub-menus.

Version 2, edited 22 months ago by birgire (previous) (next) (diff)

#4 @birgire
22 months ago

44000.3.diff takes a similar approach as #43954 (43954.2.diff) and adds the Tools bubble directly into the wp-admin/menu.php file, instead of using a filter. It also re-uses the .plugin-count and .plugin-updates CSS classes as well.

I don't think we can add the submenus directly to the wp-admin/menu.php file as well, because we don't have specific submenu files, to use the in the $submenu['tools.php'] array. So we could look further into what's the best way to add bubbles to the submenus here.

ps: We array cast the counting object, in 44000.2.diff and 44000.3.diff, since it seems problematic to do $obj->request-confirmed with a dash in the property name.

Last edited 22 months ago by birgire (previous) (diff)

@birgire
22 months ago

@birgire
22 months ago

#5 @birgire
22 months ago

44000.4.diff adds the bubble count to the corresponding submenus of the Tools menu, but there's not enough space for it, as we can see in tools-submenu-bubbles.JPG.

#6 @scott.deluzio
22 months ago

@birgire thanks for the feedback/updates on this. Regarding the issue you pointed out in 44000.4.diff with there not being enough space for the bubble. Could that be resolved by a float:left; style on the bubble? The bubbles would then be on the correct line, and the text would then wrap to a new line.

Alternatively, renaming the submenus to shorter names would fix this issue. Something like Export PII, and Erase PII, perhaps?

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


22 months ago

#8 follow-up: @birgire
22 months ago

@scott.deluzio, thanks for the feedback

Hopefully there are some workarounds to avoid two lines per menu item

but I don't see an obvious solution at the moment.

I fear that renaming the menu items would be hard, but that would solve the problem :)

What does PII stand for?

I also played with the width of the menu wrap wider to see the effect on the "Export Personal Data" item:

178px (allows 4 digits)
174px (allows 3 digits)
169px (allows 2 digits)
160px (allows no digit)

but the 160px width is most likely not going to be changed.

#9 @desrosj
22 months ago

  • Component changed from General to Privacy

Moving to the new Privacy component.

#10 in reply to: ↑ 8 @scott.deluzio
21 months ago

Replying to birgire:

What does PII stand for?

PII stands for Personally Identifiable Information. However, with your comment I realize that is not obvious to everyone, and isn't likely to translate well either so perhaps that isn't the best idea.

#11 @desrosj
20 months ago

  • Summary changed from Add notification bubble to Tools menu for GDPR export/erase requests to Add notification bubble to Tools menu for data export/erase requests

#12 @desrosj
20 months ago

  • Keywords gdpr removed

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

#13 @pento
13 months ago

  • Version trunk deleted

#14 @xkon
6 weeks ago

I'm personally not much in favor of extra bubbles on the menus. I do understand that the bubbles would be visible from any page while navigating through wp-admin but since Requests target a very specific audience there's no need to have a permanent "look here" factor on the admin area for anyone that has access to view those menus.

We do have a ticket (#49035) on introducing information regarding the Requests at the Dashboard via an existing or new widget.

Would the dashboard widget help as a solution on a quick view of the Requests statuses instead of this approach @scottdeluzio?

#15 @scott.deluzio
6 weeks ago

@xkon that could work as a solution too. I know for my own personal workflow, I spend very little time looking at the Dashboard, so I would have to be intentional about looking there to see if there were any requests. That's just one person's usage of the Dashboard though, so I can't say that's typical at all.

The purpose of having the bubble would be so that you'd see the notification no matter where you were in the admin, considering some users may login and bypass the Dashboard altogether. Limiting the notice to the Dashboard assumes that people actually pay attention to the Dashboard, and if they do, that they won't "hide" the Dashboard widget showing this information.

I think your comment about Requests targeting a very specific audience can be satisfied by only showing the bubble to just the users who can act on those Requests rather than any user who can see the menu.

#16 @xkon
6 weeks ago

  • Milestone changed from Awaiting Review to 5.4

Ah, thanks for the reply @scottdeluzio! As always the more minds the better.

And yes I do hear clear & loud that not everyone tends to look at the Dashboard (I'm including myself there as well haha).

I think your comment about Requests targeting a very specific audience can be satisfied by only showing the bubble to just the users who can act on those Requests rather than any user who can see the menu.

This actually made me re-think my reply and yes showing the menus (and the bubbles along with them) will be definitely an option too and this also gives a nice plus as we're currently looking at #44176 that adjusts the capabilities so "privacy roles" can also be created with more granular control. So, that might as well take care of both concerns.

I'll mark this for 5.4 in case we can push both tickets together, so we can re-check the patch here and think of what options we have to avoid the menu breaking in 2 lines due to the longer text.

Export PII and Erase PII, don't look bad to me at all but I'm not sure how often we're able to change strings in this way, as well as if PII would be understandable to all Admins. We do know what PII stands for, but not the majority of the userbase :).

@scott.deluzio
6 weeks ago

German tools menu

#17 @scott.deluzio
6 weeks ago

Regarding Export PII and Erase PII, I agree that it probably isn't understandable to all English speaking admins. It may be even more confusing to non-English speaking admins, and those who are trying to translate the text. It may be best to avoid the abbreviations, and leave it as-is (for now anyway).

We're also looking at it from a strictly English perspective. The "Export Personal Data" and "Erase Personal Data" strings translate to much longer strings of text in several other languages.

"Export Personal Data" in English
versus
"Personenbezogene Daten exportieren" in German, for example which does wrap to two lines. https://translate.wordpress.org/projects/wp/dev/de/formal/?filters%5Bstatus%5D=either&filters%5Boriginal_id%5D=6015221&filters%5Btranslation_id%5D=55290459

There are others that are longer than English too. It may just be something we have to live with for the time being.

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


4 weeks ago

#19 @davidbaumwald
2 weeks ago

  • Keywords needs-refresh added
  • Milestone changed from 5.4 to Future Release

This ticket needs a refreshed patch, and with 5.4 Beta 1 approaching tomorrow, this is being moved to Future Release. If any maintainer or committer feels this can be included in 5.4 or wishes to assume ownership during a specific cycle, feel free to update the milestone accordingly.

Note: See TracTickets for help on using tickets.