Problem/Motivation

During the work on #3199972: Improve user interface text on the account cancellation screen and while reviewing that issue at #3228187: Drupal Usability Meeting 2021-08-20; It was highlighted that, relating to disabling/deleting/cancelling users, we use the terms "cancel"/"cancellation" to mean different things and in direct contradiction.

For example, on the Account Cancellation Form, in the title we use "cancel" to mean "cancelling the account" but further down the form we have a "Cancel" button which means "abort the current action". This is confusing on its own but potentially even more so for non-native English speakers.

Steps to reproduce

Proposed resolution

During our discussion at #3228187: Drupal Usability Meeting 2021-08-20 we agreed to open this follow-up issue with the following.

The agreement was that we should remove our usage of "cancel"/"cancellation" relating to cancelling a user, and instead use the terms "close"/"closure".

We agreed that "closing an account" or "account closure" is a well understood term, for example banks use this term when a customer wants to "close their account".

In this issue we will update usage in the user interface text, we agreed to move the potential backwords-compatibility-breaking changes to a separate issue: #3230923: [PP-1] Rename UserCancelForm and UserMultipleCancelConfirm along with associated routes and links.

Remaining tasks

  1. Locate all usage of "cancel" (relating to the user), "cancel account", "account cancellation". Main usage will be in UserCancelForm and UserMultipleCancelConfirm but also in other locations (e.g. user actions, user email templates, and tokens).
  2. In the UI, substitute those terms with "close", "close account", "account closure".
  3. Update issue summary with before and after screenshots.
  4. Review at usability meeting.

User interface changes

API changes

Data model changes

Release notes snippet

Issue fork drupal-3229146

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

AaronMcHale created an issue. See original summary.

paulocs made their first commit to this issue’s fork.

aaronmchale’s picture

Issue summary: View changes

There likely is some usage of "cancel" in user email templates and associated tokens, so noting those in the summary.

anul’s picture

Hi Aaron,

I have read through the description of this task and I must say this issue is nicely explained and documented here by you with great observations.

While going through the remaining tasks list mentioned in here, I verified it on my end to list down what all changes we will have to do to implement this one and it seems that this task includes many changes then it seems and I suggest we should break this task in two parts.

First part for UI terms changes and Second part for backend functions, variables, callbacks, routings, etc name changes, as all of them will require good amount of unit testing.

Let me know what do you think about the idea of breaking it in 2 parts.

Anul

aaronmchale’s picture

Hi Anul

First part for UI terms changes and Second part for backend functions, variables, callbacks, routings, etc name changes, as all of them will require good amount of unit testing.

Yes I think that's a sensible idea, I was also thinking that might be a good option, as it better addresses backwords compatibility. We don't necessarily need a backwards compatibility layer for the user interface and text changes, so these could be done for 9.3; The more technical changes would then require a BC-layer, or would need to be done in 10.0.x.

I'll ask for some more input from people in Slack.

Thanks,
-Aaron

anul’s picture

Sure Aaron,

Let me know the update on this, So that I can pick this one up for the first part (user interface and text changes) and we can create a new issue having second part (BC-layer) of it.

Anul

anul’s picture

aaronmchale’s picture

Title: Rename "Account cancellation" to "Account closure" » Rename "Account cancellation" to "Account closure" in UI
Issue summary: View changes
Related issues: +#3230923: [PP-1] Rename UserCancelForm and UserMultipleCancelConfirm along with associated routes and links

Didn't receive any feedback in the contrib Slack channel, but this seems like a sensible way to do so let's just go with it.

anul’s picture

Sure Aaron,

I am starting on this one.

anul’s picture

StatusFileSize
new241.32 KB
new71.47 KB

Hi Aaron,

As discussed in the thread. I have updated all the front end instances of :

1. 'Account cancellation' to 'Account closure'
2. 'Cancel Account' to 'Close Account'
3. 'Account cancelled' to 'Account closed'
4. 'Cancelling account' to 'Closing account'
5. 'Cancel the selected user account(s)' to 'Close the selected user account(s)'
6. Tried fixing maximum comments as well with 'cancel' term to 'close'.

Image

Adding a patch for the above changes. Please review.

Thanks
Anul

anul’s picture

Status: Active » Needs review
laisbonafe’s picture

StatusFileSize
new61.23 KB
new77.34 KB
new76.53 KB
new64.18 KB
new65.33 KB

Hi, I did a review for the patch #10, and I have sme considerations...

The select in page /people the option still the same "cancell", in my opnion this is a front-end change too, what do you think about?
in this print screen you can see the option,

In the other pages like, UserCancelForm and UserMultipleCancelConfirm evething (front-end) this ok.
UserCancelForm before patch

UserCancelForm after patch

UserMultipleCancelConfirm before patch

UserMultipleCancelConfirm after patch

aaronmchale’s picture

Status: Needs review » Needs work

Very thorough patch, good to see it also includes code comment updates, thanks!

  1. Regarding comment #12, that'll be because the actions live in configuration system.action.user_cancel_user_action.yml
    -label: 'Cancel the selected user account(s)'
    +label: 'Close the selected user account(s)'
    

    To update the actions label for existing sites, we're going to need an update hook.

  2. -    $this->selectCancel = $user->hasPermission('administer users') || $user->hasPermission('select account cancellation method');
    +    $this->selectCancel = $user->hasPermission('administer users') || $user->hasPermission('select account closure method');
    ...
    -    $selectCancel = $user->hasPermission('administer users') || $user->hasPermission('select account cancellation method');
    +    $selectCancel = $user->hasPermission('administer users') || $user->hasPermission('select account closure method');
    ...
    -    // Repeat with permission to select account cancellation method.
    -    $user->addRole($this->drupalCreateRole(['select account cancellation method']));
    +    // Repeat with permission to select account closure method.
    +    $user->addRole($this->drupalCreateRole(['select account closure method']));
    ...
    -    'access' => $account->hasPermission('access zero-out account cancellation method'),
    +    'access' => $account->hasPermission('access zero-out account closure method'),
    ...
    -select account cancellation method:
    -  title: 'Select method for cancelling account'
    +select account closure method:
    +  title: 'Select method for closing account'
    

    The permission ID can't be changed in this issue as that would be a BC-break, which we're leaving for the follow-up issue, so this needs to stay select account cancellation method etc. It is however fine to change the title of the permission to Select method for closing account etc.

    -  $form['access']['#value'] = \Drupal::currentUser()->hasPermission('cancel other accounts');
    +  $form['access']['#value'] = \Drupal::currentUser()->hasPermission('close other accounts');
    ...
    -cancel other accounts:
    -  title: 'Cancel other user accounts'
    +close other accounts:
    +  title: 'Close other user accounts'
    ...
    -    $admin_user = $this->drupalCreateUser(['cancel other accounts']);
    +    $admin_user = $this->drupalCreateUser(['close other accounts']);
    

    Same as above. Permission title is fine to change, but not the permission ID.

Setting to needs work for both of those.

Thanks,
-Aaron

anul’s picture

Hi Laís,

Thank you for testing a patch.

Aaron I noted and agree on what you have mentioned in your above comment #13. I will work on the same and add an updated patch with all the necessary changes required here.

Thanks
Anul

anul’s picture

StatusFileSize
new69.26 KB
new5.79 KB

Hi Aaron,

As per your above comment #13. I have updated the changes in my patch for #13 2nd point.

Also I am still looking for the update hook solution for our Close the selected user account(s) #13 1st point. I am little new to Drupal 9 and looking for how we can updated the .yml file (configurations) using hook_update_N(). If you have any example how we do that, it will be helpful.

Thanks
Anul

aaronmchale’s picture

#3199972: Improve user interface text on the account cancellation screen was just committed, making it easier to get this done now.

aaronmchale’s picture

We'll be looking at this issue at #3244123: Drupal Usability Meeting 2021-10-22, at this stage it doesn't need an actual review since this issue came directly out of a previous UX meeting.

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.

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.

Version: 11.x-dev » main

Drupal core is now using the main branch as the primary development branch. New developments and disruptive changes should now be targeted to the main branch.

Read more in the announcement.