This issue is part of: #2721129: Workflow Initiative

In this issue we will iterate on prototypes for the Trash module UI and other related changes. This issue will not include the final designs, just enough prototypes to get sign-off from a product manager, according to the core governance process.

1. map out where revision tabs should live for entity types. Which entity types need this exposed through UI (how do we decide which ones do, which ones don't?)
2. where do we put the configuration for wether to add a revision to the revision log or not. Per entity type, meaning all entity types have configuration. Where does this per entity log live?
3. What does the actual trash look like?

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

dixon_ created an issue. See original summary.

dixon_’s picture

Issue summary: View changes
yoroy’s picture

Issue tags: +Usability
yoroy’s picture

https://www.drupal.org/project/trash could be considered the initial prototype for this :)

yoroy’s picture

Issue summary: View changes
yoroy’s picture

Issue summary: View changes
yoroy’s picture

Which entity types do we have in core?

yoroy’s picture

Issue summary: View changes
catch’s picture

#1 and #2 don't feel strictly related to trash module, they're something we'll need to figure out earlier if core entity types get revision-enabled - could that be split out?

yoroy’s picture

Certainly! Created two stub issues for those.

yoroy’s picture

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.0-beta1 was released on August 3, 2016, which means new developments and disruptive changes should now be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

dixon_’s picture

jojototh’s picture

I am working on UX prototypes for Trash module.

Few goals:

1) Undo - add ability to undo “Move to trash” action

2) Single list of trashed items - currently every entity type has it’s own separate list of trashed items

3) Unifying when to show confirmation page
- When deleting content from /admin/content using checkboxes - user is redirected to the confirmation screen “Are you sure you want to delete these items?” When selecting “Delete” option from the “Operations” column on the same page or clicking on “Delete” on the node page itself moves content to trash directly

4) Wording: “Delete” vs “Move to trash” vs “Purge”
- “Delete” is used in the tab on node/edit and as an option under the “Operations” column on the /admin/content
- “Move to trash” is used in the confirmation message after deleting an item
- “Purge” is used in context of removing deleted item from the Trash. My feeling is that “Purge” may sound too technical to general user
- Proposal is to use Move to trash” & “Empty trash”

5) Settings page for trash
- set if the trash should be automatically emptied after some time
- set the number of days after which the trash will be emptied
- default content moderation state after moving items to trash
- default content moderation stat after restoring items
- set if you want to configure this for each entity type
^ if the last is set to yes - all of these settings could be overridden on the content moderation settings page per entity type

I will be adding wireframes/mockups here

jojototh’s picture

My proposal re 1) Undo is to place the Undo link into the notification message that displays after item is moved to trash. This is the same approach as is used on Gmail, Amazon, in Google Material guidelines to name few examples

Undo proposal

jojototh’s picture

Here is a mockup for 2) Single list of trashed items

My proposal is to mimic admin/content page with few changes
- remove unnecessary filters
- replace columns and change their order to what makes more sense for trash

Note: this mockup is showing what the ultimate goal will be, probably not how it will be in the beginning.

Trash UI

jojototh’s picture

re 3) Unifying when to show confirmation page

Motivation for confirmation page is to inform user that there is no point of return. Since we are adding the "Undo" functionality as a layer of "security" that user can recover data I am proposing to:
- drop the confirmation page when moving items to trash
- show confirmation page when user is restoring items from trash and emptying trash

jojototh’s picture

re 4) Wording: “Delete” vs “Move to trash” vs “Purge”

My proposal is to use "Move to trash” & “Empty trash” to be consistent. This would mean that when Trash module is enabled all instances of "Delete" (for example on node/edit, node, or admin/content) should read "Move to trash".

jojototh’s picture

After our discussion on the weekly UX call I've updated the trash list so that name is in the first column

Trash list

jojototh’s picture

re 3) Unifying when to show confirmation page

Also on the UX call, we agreed on this scenarios:
- show the confirmation page when user is emptying trash (destructive action)
- drop it when moving items to trash and restoring items from trash

timmillwood’s picture

1) undo - done, but needs #2800737: Add TrashManager::undo to revert to previous revision to improve it as it currently goes to the restore confirmation form.
2) done, but not with the polish of the screenshot in #19.
3) opened #2806517: Override /admin/content/node/delete to move entities to trash for this.
4) changed delete tab to "move to trash", the rest is still todo.
5) waiting on #2799785: Entity types with non-config bundles can not be moderated

Bojhan’s picture

This is looking great!

I am not totally sure we need to follow Mac's pattern of "Move to trash" but also not worried if we chose to go down that path. To me Delete signifies the same, if you have a trash function.

jojototh’s picture

re #22 the reason for "Move to trash" is to show difference when you have the Trash module enable. With Trash disabled it would say Delete (destructive action), with Trash enabled it should say "Move to trash" (restorable)

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.0-alpha1 will be released the week of January 30, 2017, which means new developments and disruptive changes should now be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

dixon_’s picture

Status: Active » Needs review

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.0-alpha1 will be released the week of July 31, 2017, which means new developments and disruptive changes should now be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.0-alpha1 will be released the week of January 17, 2018, which means new developments and disruptive changes should now be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.6.x-dev » 8.7.x-dev

Drupal 8.6.0-alpha1 will be released the week of July 16, 2018, which means new developments and disruptive changes should now be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.7.x-dev » 8.8.x-dev

Drupal 8.7.0-alpha1 will be released the week of March 11, 2019, which means new developments and disruptive changes should now be targeted against the 8.8.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.0-alpha1 will be released the week of October 14th, 2019, which means new developments and disruptive changes should now be targeted against the 8.9.x-dev branch. (Any changes to 8.9.x will also be committed to 9.0.x in preparation for Drupal 9’s release, but some changes like significant feature additions will be deferred to 9.1.x.). For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.9.x-dev » 9.1.x-dev

Drupal 8.9.0-beta1 was released on March 20, 2020. 8.9.x is the final, long-term support (LTS) minor release of Drupal 8, which means new developments and disruptive changes should now be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 9.1.x-dev » 9.2.x-dev

Drupal 9.1.0-alpha1 will be released the week of October 19, 2020, which means new developments and disruptive changes should now be targeted for the 9.2.x-dev branch. For more information see the Drupal 9 minor version schedule and the Allowed changes during the Drupal 9 release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Drupal 9.2.0-alpha1 will be released the week of May 3, 2021, which means new developments and disruptive changes should now be targeted for the 9.3.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.0-rc1 was released on November 26, 2021, which means new developments and disruptive changes should now be targeted for the 9.4.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.0-alpha1 was released on May 6, 2022, which means new developments and disruptive changes should now be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.5.x-dev » 10.1.x-dev

Drupal 9.5.0-beta2 and Drupal 10.0.0-beta2 were released on September 29, 2022, which means new developments and disruptive changes should now be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

smustgrave’s picture

Status: Needs review » Needs work
Issue tags: +Needs issue summary update, +Needs Review Queue Initiative

This issue is being reviewed by the kind folks in Slack, #need-reveiw-queue. We are working to keep the size of Needs Review queue [2700+ issues] to around 400 (1 month or less), following Review a patch or merge require as a guide.

Since this hasn't been touched in 6 years tagging for IS for remaining tasks (if any) for D10

Version: 10.1.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch, which currently accepts only minor-version allowed changes. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.