This didn't start to really stick out to me until I recently had to start writing out pain-staking instructions for configuring Drupal sites.

Most places under the administration panel, the instructions are:

"Do some blah blah thing and click Save configuration."

Others (for example, Taxonomy), it's:

"Click Add Vocabulary, and enter the following settings, and click Save:"

Then in other places still (user profiles, node add page), it's Save again.

So how about we standardize on all forms using "Save" instead of variations like "Save configuration."

Comments

patchnewbie’s picture

Assigned: Unassigned » patchnewbie

This would be a good patch for someone new to Drupal dev.

Stefan Nagtegaal’s picture

I would prefer to have page dependant submit buttons strings like we have 'Save blocks'. (Which isn't the best either, but okay).

"Save blocks" => 'Save block configuration'
'Save' (on taxonomy page) => 'Save taxonomy' (Or some better description!)
etc, etc

webchick’s picture

But I already know I'm on the blocks page. What else would I be saving?

Furthermore, there's no clean way to do this for nodes, and have it look consistent with capitalization etc. of other pages. Let's go for simple, no? :)

catch’s picture

Massive, massive +1 for standarising on Save. I noticed this when doing #195678 but thought they were all "save configuration" on purpose. Another issue is when you're used to seeing "Save" but actually see something else - you can start wondering where the "Save" button went - might only be for a fraction of a second but it's enough to make things less smooth.

robloach’s picture

Subscribing and sticking my vote in for "Save". You're already on a configuration screen, so you already know you're going to be saving the configuration. It would also help bring some standardization with the contrib modules' update from "Submit" to "Save".

keith.smith’s picture

Status: Active » Needs review
StatusFileSize
new7.8 KB

Completely untested patch changing the instances of "Save configuration" I found during a grep of core into "Save"

webchick’s picture

Title: String freeze: "Save" vs. "Save configuration" -- let's pick one! » String freeze: "Save" vs. "Save $foo" -- let's pick one!
Status: Needs review » Needs work

I grepped for "'Save " and found a bunch more:

./modules/aggregator/aggregator.pages.inc:  $form['submit'] = array('#type' => 'submit', '#value' => t('Save categories'));
./includes/locale.inc:      '#value' => t('Save language')
./includes/locale.inc:    '#value' => t('Save settings')
./includes/locale.inc:  $form['submit'] = array('#type' => 'submit', '#value' => t('Save translations'));
./install.php:      '#value' => st('Save configuration'), # should probably be "Next"
./install.php:    '#value' => st('Save configuration'),  # should probably be "Next"
etc.
keith.smith’s picture

Status: Needs work » Needs review
StatusFileSize
new1.07 KB

Hrm. Yes, apparently I didn't imagine the full...er....range...of values that could follow "Save " on a submit button.

Turns out I missed, well, most of them.

But, this creates another question: on /admin/content/types/page, for instance, we have "Save content type" and "Delete content type". If we modify the "Save content type" to "Save", would not "Delete content type" (and friends) need to transition to simply "Delete"? What about "Reset to defaults"? Should this be simply "Reset"? It's easy enough to change these too, but I thought I'd pose the question before I did it.

Also, this issue was spawned [I think] from comments on the inconsistencies in the installer submit buttons. Indeed, those buttons used both "Save configuration" and "Save". I had initially (in the patch in #6) modified these to simply "Save". I interpret webchick's commented text in #7 to suggest that [at least the first two of] these perhaps should be "Next". I ran through the installer this way, though, and it felt strange to me -- with a "Next" button, I expect there to be a "Previous" or "Back" button, I think.

The attached patch changes the three occurrences in install.php to "Save and continue" (and does not address "Save *" buttons anywhere else). I ran through the installer again, and this seemed pretty natural -- even the last button named this seems ok since you still "continue" to the final installer page.

Any feedback on this and whether "Delete *" buttons should also be modified to just Delete is greatly appreciated.

webchick’s picture

Any feedback on this and whether "Delete *" buttons should also be modified to just Delete is greatly appreciated.

I'd +1 that change. However...

What about "Reset to defaults"? Should this be simply "Reset"?

I would say no. "Reset" doesn't give enough context about what that button will actually do. "Reset to defaults" doesn't really, either, but "Remove all variables from the variable table that affect this settings page so that the default values are used" is too long. ;P So it's fine for now I think. Unless we maybe want "Reset to default values"?

"Save" vs. "Delete" on the other hand, are very clear about what they're talking about, since they're on the form itself, so I support shorter names there.

I interpret webchick's commented text in #7 to suggest that [at least the first two of] these perhaps should be "Next". I ran through the installer this way, though, and it felt strange to me -- with a "Next" button, I expect there to be a "Previous" or "Back" button, I think.

Yeah, that's true. This came up because one of the GHOP students mentioned that the wording here was all over the place during the installation section. Sometimes it was Next, sometimes it was Save configuration, etc. and pointed out that we should standardize on something that means "Go to the next step in the installer." It's scope creep for this issue, so feel free to leave it as just "Save" for now.

keith.smith’s picture

Status: Needs review » Needs work

I've moved the patch in #8 dealing with installer buttons only to the issue it actually belonged in, http://drupal.org/node/199402.

keith.smith’s picture

Status: Needs work » Needs review
StatusFileSize
new16.25 KB

OK. The attached path modifies "Save foo" buttons so that they simply say "Save", and "Delete foo" buttons so that they say "Delete".

I grepped pretty extensively through stuff, and hope that I got them all, along with references to them in help text and the like.

We need to give this a good test since it has the potential to break, well, a lot of stuff.

No installer buttons have been renamed in the making of this patch. (They have their own issue at http://drupal.org/node/199402.)

keith.smith’s picture

StatusFileSize
new16.23 KB

Bit of fuzz, so rerolling.

gábor hojtsy’s picture

While I am sympathetic with the goals of this patch, I am not sure whether there was some kind of usability reason behind longer text on buttons, so they are easier to click. Anyway, more review/feedback would be good.

webchick’s picture

I can't speak to that myself, but I do know that arguably the most common form that all users will submit (the create content form) was changed to "Save" earlier this cycle. So my feeling is that those longer buttons are probably legacy things.

Nick Lewis’s picture

+1 for "Save".

Reasons:
-More text != usability. It should be clear to the user what any button labeled "save" will save without providing an extra noun, and descriptive text.
-The language is the same as most desktop applications.
-It's a simple rule; therefore, it will encourage consistent language throughout the drupal UI.

gábor hojtsy’s picture

As explained earlier, this needs a bit more thought. We cannot change all "Save ..." to "Save" without considering other UI elements around the buttons. (Heh, until a minute ago we even had one remaining button titled 'Submit').

pancho’s picture

While this is not our common approach, I think in this case we really could rename all "Save x" buttons to "Save" for now, and wait to see if this creates any UI problems in one or the other case. We now have a general rule, and for an exception to that rule, there has to be strong evidence that the rule doesn't make sense in that case.

webchick’s picture

Version: 6.x-dev » 7.x-dev

RC1 is out. No more string changes. Bumping to 7.x.

birdmanx35’s picture

Okay, there is a bit of fuzz when applied to core, but overall this still applies cleanly to HEAD.

gdd’s picture

Status: Needs review » Needs work

Patch now failing in

comment.module
content_types.inc
system.module
user.admin.inc

Rest applies with offset and/or fuzz. Needs a reroll.

keith.smith’s picture

Component: documentation » user interface text

I'll re-roll this soon.

SeanBannister’s picture

Waiting to test a reroll

keith.smith’s picture

Assigned: patchnewbie » keith.smith

Yes, I'll reroll. I completely lost this patch off my radar.

keith.smith’s picture

Status: Needs work » Needs review
StatusFileSize
new56.12 KB

At long last, here's a new patch to rename buttons to simply "Save".

Gabor's comments in #16 are well taken; if this is committed, we need follow-up patches to rename "Delete foo" buttons to "Delete, and, possibly "Reset to defaults" to simply "Reset".

I had a few tests fail, but they also fail without the patch. Let's see what the testing bot says.

Status: Needs review » Needs work

The last submitted patch failed testing.

robloach’s picture

Status: Needs work » Needs review

I just tested this patch locally and tests are running, and it looks good in my eyes... Submitting for re-test.

Status: Needs review » Needs work

The last submitted patch failed testing.

robloach’s picture

Uhh, I think the testing suite needs to update Drupal HEAD.

robloach’s picture

Status: Needs work » Needs review
StatusFileSize
new37.75 KB

The thing I like about "Save $foo" is that it gives it some context, so if you want to override it using something like String Overrides, you can.

In any case, here's an updated patch that only hits "Save configuration".

Status: Needs review » Needs work

The last submitted patch, 199430.patch, failed testing.

catch’s picture

We have context for t() now. I don't think context is actually supplied in many places, but it ought to be possible to do tell which form you're on or similar assuming everything's done right. #334283: Add msgctxt-type context to t()

plach’s picture

After reading #927792-13: Please explain what is still considered for D7 I guess this is for D8 now.

catch’s picture

Version: 7.x-dev » 8.x-dev
Category: bug » task

Agreed.

jhedstrom’s picture

Issue summary: View changes
Issue tags: +Needs issue summary update
robloach’s picture

"Save".... Will see about rerolling this patch.

mgifford’s picture

Assigned: keith.smith » Unassigned

Unassigning stale issue. Hopefully someone else will pursue this.

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

Bug reports should be targeted against the 8.1.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.2.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.1.x-dev » 8.2.x-dev

Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.

Bug reports should be targeted against the 8.2.x-dev branch from now on, and new development or disruptive changes should 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.

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

Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.3.x-dev branch from now on, and new development or disruptive changes should 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.

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

Drupal 8.3.6 was released on August 2, 2017 and is the final full bugfix release for the Drupal 8.3.x series. Drupal 8.3.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.4.0 on October 4, 2017. (Drupal 8.4.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.4.x-dev branch from now on, and new development or disruptive changes should 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.4.x-dev » 8.5.x-dev

Drupal 8.4.4 was released on January 3, 2018 and is the final full bugfix release for the Drupal 8.4.x series. Drupal 8.4.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.5.0 on March 7, 2018. (Drupal 8.5.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.5.x-dev branch from now on, and new development or disruptive changes should 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.5.x-dev » 8.6.x-dev

Drupal 8.5.6 was released on August 1, 2018 and is the final bugfix release for the Drupal 8.5.x series. Drupal 8.5.x will not receive any further development aside from security fixes. Sites should prepare to update to 8.6.0 on September 5, 2018. (Drupal 8.6.0-rc1 is available for testing.)

Bug reports should be targeted against the 8.6.x-dev branch from now on, and new development or disruptive changes should 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.6.x-dev » 8.8.x-dev

Drupal 8.6.x will not receive any further development aside from security fixes. Bug reports should be targeted against the 8.8.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.9.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: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.7 was released on June 3, 2020 and is the final full bugfix release for the Drupal 8.8.x series. Drupal 8.8.x will not receive any further development aside from security fixes. Sites should prepare to update to Drupal 8.9.0 or Drupal 9.0.0 for ongoing support.

Bug reports should be targeted against the 8.9.x-dev branch from now on, and new development or disruptive changes should 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: 8.9.x-dev » 9.2.x-dev

Drupal 8 is end-of-life as of November 17, 2021. There will not be further changes made to Drupal 8. Bugfixes are now made to the 9.3.x and higher branches only. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

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

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

Drupal 9.3.15 was released on June 1st, 2022 and is the final full bugfix release for the Drupal 9.3.x series. Drupal 9.3.x will not receive any further development aside from security fixes. Drupal 9 bug reports should be targeted for the 9.4.x-dev branch from now on, and new development or disruptive changes should 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.4.x-dev » 9.5.x-dev

Drupal 9.4.9 was released on December 7, 2022 and is the final full bugfix release for the Drupal 9.4.x series. Drupal 9.4.x will not receive any further development aside from security fixes. Drupal 9 bug reports should be targeted for the 9.5.x-dev branch from now on, and new development or disruptive changes should 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: 9.5.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. 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 work » Postponed (maintainer needs more info)
Issue tags: +stale-issue-cleanup

Thank you for creating this issue to improve Drupal.

We are working to decide if this task is still relevant to a currently supported version of Drupal. There hasn't been any discussion here for over 8 years which suggests that this has either been implemented or is no longer relevant. Your thoughts on this will allow a decision to be made.

Since we need more information to move forward with this issue, the status is now Postponed (maintainer needs more info). If we don't receive additional information to help with the issue, it may be closed after three months.

Thanks!

catch’s picture

Title: String freeze: "Save" vs. "Save $foo" -- let's pick one! » "Save" vs. "Save $foo" -- let's pick one!
Status: Postponed (maintainer needs more info) » Active

This is still valid. Sometimes we have just 'Save', sometimes 'Save block' or 'Save layout' or 'Save settings' or 'Save configuration'. The vast majority are 'Save' so I think we should standardise on that.

No such thing as 'string freeze' any more so updating the issue title.

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.