Sometimes, site admins need to make sure that all users see the same set of categories in their sidebar. Here’s how to do that:
Remove all the categories from default navigation menu categories and save. Make sure to apply the change historically when prompted.
Wait a few minutes.
Add all the categories you want to display to all users in default navigation menu categories. Again, make sure to apply the change historically when prompted.
Applying historically means applying this change to existing users as well as setting the default for those who will join in the future. You’ll need to click Yes when you see the following modal:
What’s the difference between removing the previous default and adding it in one step, or doing it in two steps with a pause in between?
I briefly thought this process would reset all personal customization. But based on my tests, that’s not the case. If a category wasn’t previously in the sidebar default setting and a user added it themselves, it won’t be removed just because the setting is cleared. Only what was previously configured in the setting is removed.
So, to make the sidebar the same for everyone, you would need to:
add all categories to the setting (and preferably not override this for everyone)
then remove all categories from the setting and override this for everyone
(wait a few minutes?)
add new categories and override this for everyone
Steps 2 and 4 need to be separated here because step one wasn’t applied for everyone. We could apply step one to everyone, so everyone has all categories in their sidebar, and after a few minutes, we remove all categories we don’t want in their sidebar, but that could result in a worse experience for a few minutes.
Are my tests, which show that the setting to clear manually added categories is not removed, incorrect? Is there another reason for the separation of the steps? I’d like to know so I can decide what information I might want to add to Configuring the default sidebar for your users.
@Moin
The way backfilling works here is a bit different than what one would expect. We don’t simply reset all the users’ sidebar categories when the default navigation menu categories setting is updated. Here’s what we do:
If the admin adds a few categories to the setting, only those newly added ones are added to all the users’ sidebars who didn’t have those set already.
If you remove a few categories from the setting, those are removed from all the users’ sidebars.
So the backfill doesn’t force the setting’s state on all the users, but it does a delta of existing values in the setting to those added or removed newly.
The key reason this is done is to preserve individual user’s preferences.
This is the PR this behavior was introduced in:
We recognized two ways of achieving the same categories on all the users:
Add all, apply historically, remove some, apply historically.
Remove all, apply historically, add some, apply historically.
In a recent attempt to do this for a big site, 1 didn’t work properly and 2 did. Hence I documented 2.
If you have time, do try out both the ways with a bunch of users to see if this works. If it helps, I can write an SQL query to confirm if the updating worked as expected. Do let me know what you think.
I tried the steps you described in the first post again. And I still notice the same problem: The category the user added to their sidebar is not removed, so the result is not that all users have the same categories in their sidebar.
Detailed repro steps
I created a brand new forum
I created 5 categories (category1, category2, category3, category4, category5)
I added category4 to my sidebar using the “edit sidebar categories” option
8. I checked my sidebar and only category4 which was added manually was in there (also the link to the site setting at the bottom indicates that the site setting is empty)
Expected result based on the title of this guide: all users have the same categories in their sidebar which means the ones in the setting and nothing else. Actual result: category4 is still in the sidebar, while it is not in the sidebar for users who haven’t added it manually.
In which step do you expect the category the user added (in my example category4) to their sidebar to be removed to get the result of all users having the same categories in their sidebar?
Based on what you said here, I don’t expect it to be removed, because the category is not removed from the setting because it wasn’t in it. But you say you used those steps to enforce the same categories for all users.
If I added all categories (method 1) category4 would have been added and removed, so I would expect it to disappear. That’s where I understand what happens. But your guide says I should use method 2, so I wonder what I am missing in my understanding and my testing.