# Rebuilding User Preferences

**URL:** https://meta.discourse.org/t/rebuilding-user-preferences/61675
**Category:** UX
**Tags:** feedback
**Created:** [April 26, 2017, 8:53pm UTC](https://meta.discourse.org/t/rebuilding-user-preferences/61675 "2017-04-26T20:53:58Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![neil](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neil/32/102150_2.png) [@neil](https://meta.discourse.org/u/neil)
#### Post date: [April 26, 2017, 8:53pm UTC](https://meta.discourse.org/t/rebuilding-user-preferences/61675/1 "2017-04-26T20:53:58Z")

</div>

I’m tackling one of the last items on [our 1.8 task list](https://meta.discourse.org/t/discourse-version-1-8/49801): breaking up the user preferences page into tabs.

Some goals:

- Clear organization
- Update fewer fields at a time
- Avoid [confusing messages](https://meta.discourse.org/t/saving-edits-on-user-preferences-page-with-required-custom-fields-is-unclear/51090) about a mandatory field being blank
- Mobile-friendly

Here are some screenshots of what I have so far:

 ![](https://global.discourse-cdn.com/meta/original/3X/2/7/2762a0e635c7c9a14e52d792eb3276ed22ee4cdf.png)

 ![](https://global.discourse-cdn.com/meta/original/3X/2/a/2af5aa7903fd3af06cad2234f74647a28566ad28.png)

 ![](https://global.discourse-cdn.com/meta/original/3X/1/e/1e8932bfff89deede5161a46cd1a463f48e08b84.png)

That last section “Site” could probably have a better name. I’m trying to avoid a word like “Other” or “Misc”…

Thoughts? Things you’d like to see?

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [April 26, 2017, 8:58pm UTC](https://meta.discourse.org/t/rebuilding-user-preferences/61675/2 "2017-04-26T20:58:51Z")

</div>

That looks awesome 🙂

> [@neil](#):
>
> better name.

Maybe “interface”?

Any chance of getting either a “plugins” section in the user preferences? Or even better some easy hooks for plugins to register new pages?

---

<div class="post-metadata">

### Author: ![jomaxro](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jomaxro/32/126216_2.png) [@jomaxro](https://meta.discourse.org/u/jomaxro)
#### Post date: [April 26, 2017, 9:02pm UTC](https://meta.discourse.org/t/rebuilding-user-preferences/61675/3 "2017-04-26T21:02:06Z")

</div>

> [@neil](#):
>
> I’m trying to avoid a word like “Other” or “Misc”…

I’m personally not against “other” or “misc”. Many sites and programs have an “other” section, and there are some settings that truly do not fit into a category.

> [@david](#):
>
> Any chance of getting either a “plugins” section in the user preferences?

👍

> [@neil](#):
>
> Thoughts? Things you’d like to see?

This might be out of scope, but has there been any thoughts on adding a search bar like site settings? It would make it easier for site staff to help link someone to the correct preference, and also deal with the fact that using Ctrl+F to find a preference no longer works with the individual tabs.

---

<div class="post-metadata">

### Author: ![neil](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neil/32/102150_2.png) [@neil](https://meta.discourse.org/u/neil)
#### Post date: [April 26, 2017, 9:06pm UTC](https://meta.discourse.org/t/rebuilding-user-preferences/61675/4 "2017-04-26T21:06:04Z")

</div>

> [@jomaxro](#):
>
> This might be out of scope, but has there been any thoughts on adding a search bar like site settings?

I’d say it’s out of scope. You’ll be able to give people links to individual tabs in their preferences.

---

<div class="post-metadata">

### Author: ![jomaxro](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jomaxro/32/126216_2.png) [@jomaxro](https://meta.discourse.org/u/jomaxro)
#### Post date: [April 26, 2017, 9:09pm UTC](https://meta.discourse.org/t/rebuilding-user-preferences/61675/5 "2017-04-26T21:09:25Z")

</div>

> [@neil](#):
>
> I’d say it’s out of scope.

Sounds good, I’ll write up a separate topic with the idea later.

> [@neil](#):
>
> breaking up the user preferences page into tabs

To double check, is this the entire scope of the task? There are many previous topics that had an idea for a user preference, but were rejected (that’s a harsh word, but I’m failing to find a better one) out of concern that they would add to the long list. Are any new preferences part of this work, or will they have to come later?

---

<div class="post-metadata">

### Author: ![neil](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neil/32/102150_2.png) [@neil](https://meta.discourse.org/u/neil)
#### Post date: [April 26, 2017, 9:23pm UTC](https://meta.discourse.org/t/rebuilding-user-preferences/61675/6 "2017-04-26T21:23:33Z")

</div>

I’m not adding new preferences as part of this work. We want to break up what we have into small sections.

---

<div class="post-metadata">

### Author: ![jomaxro](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jomaxro/32/126216_2.png) [@jomaxro](https://meta.discourse.org/u/jomaxro)
#### Post date: [April 26, 2017, 9:27pm UTC](https://meta.discourse.org/t/rebuilding-user-preferences/61675/7 "2017-04-26T21:27:36Z")

</div>

Looking at the above screenshots, `Title` does not appear in `Account`, so I’m assuming it was put in `Profile`. If so, why is `Name` part of `Account` and not `Profile`?

Would you be able to provide a list of which preferences are on each tab?

---

<div class="post-metadata">

### Author: ![fantasticfears](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fantasticfears/32/119608_2.png) [@fantasticfears](https://meta.discourse.org/u/fantasticfears)
#### Post date: [April 26, 2017, 9:29pm UTC](https://meta.discourse.org/t/rebuilding-user-preferences/61675/8 "2017-04-26T21:29:17Z")

</div>

It’s getting easier to find the settings! I feel the indentation is a little bit weird. Labels in the main section is right aligned but the section menu is left aligned and have indentation.

---

<div class="post-metadata">

### Author: ![cpradio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cpradio/32/4970_2.png) [@cpradio](https://meta.discourse.org/u/cpradio)
#### Post date: [April 26, 2017, 9:39pm UTC](https://meta.discourse.org/t/rebuilding-user-preferences/61675/9 "2017-04-26T21:39:06Z")

</div>

Will the Account section be hidden if SSO is enabled and the appropriate `SSO overrides X` settings are enabled?

---

<div class="post-metadata">

### Author: ![neil](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neil/32/102150_2.png) [@neil](https://meta.discourse.org/u/neil)
#### Post date: [April 26, 2017, 9:39pm UTC](https://meta.discourse.org/t/rebuilding-user-preferences/61675/10 "2017-04-26T21:39:08Z")

</div>

Agreed. Labels above input fields could look better.

---

<div class="post-metadata">

### Author: ![neil](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neil/32/102150_2.png) [@neil](https://meta.discourse.org/u/neil)
#### Post date: [April 26, 2017, 9:40pm UTC](https://meta.discourse.org/t/rebuilding-user-preferences/61675/11 "2017-04-26T21:40:09Z")

</div>

Good point. Empty sections will need to be hidden.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [April 26, 2017, 9:54pm UTC](https://meta.discourse.org/t/rebuilding-user-preferences/61675/12 "2017-04-26T21:54:56Z")

</div>

Mailing list mode (which is suppressed by default on a typical install, isn’t it?) should have some text explaining that the site will email you for _every single new post_ except those you have muted.

We’ll probably tweak copy in a few places here as we go, too. All feedback is welcome at this stage.

---

<div class="post-metadata">

### Author: ![LeoMcA](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/leomca/32/87233_2.png) [@LeoMcA](https://meta.discourse.org/u/LeoMcA)
#### Post date: [April 26, 2017, 10:00pm UTC](https://meta.discourse.org/t/rebuilding-user-preferences/61675/13 "2017-04-26T22:00:03Z")

</div>

> [@david](#):
>
> Any chance of getting either a “plugins” section in the user preferences? Or even better some easy hooks for plugins to register new pages?

A hook for plugins to register new tabs, plus plugin outlets on each of the existing tabs would be 👌 💯

---

<div class="post-metadata">

### Author: ![jomaxro](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jomaxro/32/126216_2.png) [@jomaxro](https://meta.discourse.org/u/jomaxro)
#### Post date: [May 4, 2017, 12:30am UTC](https://meta.discourse.org/t/rebuilding-user-preferences/61675/14 "2017-05-04T00:30:09Z")

</div>

Just deployed this to one of my sites: thoughts incoming…

On the account tab there is no note regarding SSO. While it should be obvious, it may not be to all users that their email/password isn’t changeable due to that. I’d love something explicit. Having email appear at all seems odd without a SSO note - it’s not an editable field…

 ![](https://global.discourse-cdn.com/meta/original/3X/b/f/bf307b323bd948bd7237283456534ea5be5647dd.png)

Having a lengthy About me causes the Profile tab to become quite lengthy due to the preview. Could the preview be hidden behind a button, or have an “expand me” option? Alternately, About me could open a “normal” dual-pane composer window.

The Dropdown custom field has different sizing that other fields. Text custom fields seem OK:

 ![](https://global.discourse-cdn.com/meta/original/3X/c/7/c77dd2c7ba30be776e6bd193746c20a9f7da5e96.png)

No header on the Notifications tab:

 ![](https://global.discourse-cdn.com/meta/original/3X/c/7/c77dd2c7ba30be776e6bd193746c20a9f7da5e96.png)

If there is only one (or zero) Themes, the field should be hidden.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [May 4, 2017, 1:40am UTC](https://meta.discourse.org/t/rebuilding-user-preferences/61675/15 "2017-05-04T01:40:03Z")

</div>

Please avoid numbered lists, or lists in general, it is needless complication in feedback..

---

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [May 4, 2017, 4:53am UTC](https://meta.discourse.org/t/rebuilding-user-preferences/61675/16 "2017-05-04T04:53:45Z")

</div>

Is there a css or other way to exclude one of these tabs? It’s not pressing but the ACCOUNT tab only has one item on it which is the username, not needed in my SSO setup.

Agreeing with @jomaxro about SSO confusion - maybe it would be possible to link across to the sso prefs page (in our case in wordpress) from the ACCOUNTS tab? Or with css display some custom text explaining here where to change the email address and password?

Seems a bit odd that TABS and CATEGORIES is indented. Perhaps a bug that will be fixed?

 ![](https://global.discourse-cdn.com/meta/original/3X/7/5/75dd2bcdb4bff50387db31f0ef13ac233df82064.png)

---

<div class="post-metadata">

### Author: ![jomaxro](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jomaxro/32/126216_2.png) [@jomaxro](https://meta.discourse.org/u/jomaxro)
#### Post date: [May 4, 2017, 5:12am UTC](https://meta.discourse.org/t/rebuilding-user-preferences/61675/17 "2017-05-04T05:12:02Z")

</div>

> [@tobiaseigen](#):
>
> Is there a css or other way to exclude one of these tabs?

I’m sure they can be hidden by CSS, but I’m on mobile so I can’t look up the classes.

> [@tobiaseigen](#):
>
> Seems a bit odd that TABS and CATEGORIES is indented. Perhaps a bug that will be fixed?

The indent is intentional as both the tabs and categories “tabs” are for notifications.

---

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [May 4, 2017, 5:51am UTC](https://meta.discourse.org/t/rebuilding-user-preferences/61675/18 "2017-05-04T05:51:00Z")

</div>

> [@jomaxro](#):
>
> The indent is intentional as both the tabs and categories “tabs” are for notifications.

this seems weird to me and I am not following. are there other places in discourse where menus are indented like this?

---

<div class="post-metadata">

### Author: ![ChrisBeach](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chrisbeach/32/214628_2.png) [@ChrisBeach](https://meta.discourse.org/u/ChrisBeach)
#### Post date: [May 4, 2017, 6:59am UTC](https://meta.discourse.org/t/rebuilding-user-preferences/61675/19 "2017-05-04T06:59:31Z")

</div>

Looks great 👍

Given that we’re no longer bombarding members with long lists of preferences, please take the opportunity to add occasional explanatory text under any options that aren’t obvious.

“Mailing List Mode” - for example - the grey text underneath it explains that it “overrides the activity summary,” but doesn’t actually explain what “Mailing List Mode” is, in practice. [_edit: I see @codinghorror also mentions this specific point_]

Even as an admin and long-time Discourse user, I’m a bit unclear on the exact implications of some of our settings.

---

<div class="post-metadata">

### Author: ![cpradio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cpradio/32/4970_2.png) [@cpradio](https://meta.discourse.org/u/cpradio)
#### Post date: [May 4, 2017, 10:52am UTC](https://meta.discourse.org/t/rebuilding-user-preferences/61675/20 "2017-05-04T10:52:28Z")

</div>

> [@tobiaseigen](#):
>
> this seems weird to me and I am not following. are there other places in discourse where menus are indented like this?

Yes, under Messages, you will have Archive for admins, moderators, and staff that are indented.

> [@tobiaseigen](#):
>
> Is there a css or other way to exclude one of these tabs?

There is for all pages:

```plaintext
.user-navigation .preferences-nav .nav-account { display: none; } /* Account */
.user-navigation .preferences-nav .nav-profile { display: none; } /* Profile */
.user-navigation .preferences-nav .nav-emails { display: none; } /* Emails */
.user-navigation .preferences-nav .nav-notifications { display: none; } /* Notifications */
.user-navigation .preferences-nav .nav-categories { display: none; } /* Notiication -> Categories */
.user-navigation .preferences-nav .nav-tags { display: none; } /* Notiication -> Tags */
.user-navigation .preferences-nav .nav-interface { display: none; } /* Interface */

```

> [@tobiaseigen](#):
>
> maybe it would be possible to link across to the sso prefs page (in our case in wordpress) from the ACCOUNTS tab? Or with css display some custom text explaining here where to change the email address and password?

These are good thoughts. We actually use a plugin-outlet `above-user-preferences` in a plugin. I see this outlet is still there. [Here](https://github.com/sitepoint/discourse-theme/blob/master/assets/javascripts/discourse/templates/connectors/above-user-preferences/sso_notice.hbs) is a way to add text to it (note: it appears in all Profile Preference areas, so you will want to word it accordingly)

You can create a theme component that does the following (in `</head>`):

```plaintext
<script type='text/x-handlebars' data-template-name='/connectors/above-user-preferences/sso_notice'>
  modified contents of connectors/above-user-preferences/sso_notice.hbs file goes here
</script>

```

I’ve exported it for convenience:  
[sso-customization.dcstyle.json](https://global.discourse-cdn.com/meta/original/3X/5/c/5cc1e2fb24394e55fcc4ffc3b20a74385f1b20b1.json) (596 Bytes)

[Next page](https://meta.discourse.org/t/rebuilding-user-preferences/61675.md?page=2)
