Как задать одинаковые категории боковой панели для всех пользователей

Иногда администраторам сайта необходимо убедиться, что все пользователи видят один и тот же набор категорий в боковой панели. Вот как это сделать:

  • Удалите все категории из «default navigation menu categories» и сохраните изменения. При запросе обязательно примените изменения исторически.
  • Подождите несколько минут.
  • Добавьте все категории, которые вы хотите отображать для всех пользователей, в «default navigation menu categories». Снова убедитесь, что при запросе вы применяете изменения исторически.

Применение исторически означает, что это изменение будет применено как к существующим пользователям, так и установлено по умолчанию для тех, кто присоединится в будущем. Вам нужно будет нажать Да, когда увидите следующее модальное окно:

Примечание: Этот параметр не отображает приватные категории пользователям, у которых нет к ним доступа.

5 лайков

В чём разница между удалением предыдущего значения по умолчанию и добавлением нового за один шаг versus выполнение этого в два шага с паузой между ними?

Я кратко предположил, что этот процесс сбросит все индивидуальные настройки. Однако, судя по моим тестам, это не так. Если категория ранее не входила в настройки боковой панели по умолчанию, но пользователь добавил её самостоятельно, она не будет удалена только потому, что настройка была очищена. Удаляется только то, что было ранее настроено в этой настройке.

Таким образом, чтобы сделать боковую панель одинаковой для всех, необходимо:

  • добавить все категории в настройку (и желательно не переопределять это для всех)
  • затем удалить все категории из настройки и переопределить это для всех
  • (подождать несколько минут?)
  • добавить новые категории и переопределить это для всех

Шаги 2 и 4 должны быть разделены, поскольку шаг 1 не был применён ко всем. Мы могли бы применить шаг 1 ко всем, чтобы у всех были все категории в боковой панели, а через несколько минут удалить все категории, которые не нужны в их боковой панели, но это может привести к ухудшению опыта работы на короткое время.

Неверны ли мои тесты, показывающие, что настройка для очистки вручную добавленных категорий не удаляется? Есть ли другая причина для разделения шагов? Мне бы хотелось это узнать, чтобы решить, какую информацию я могу добавить на Configuring the default sidebar for your users.

3 лайка

@Moin
Здесь механизм донаполнения работает немного иначе, чем можно было бы ожидать. Мы не просто сбрасываем все категории боковой панели у пользователей при обновлении настройки default navigation menu categories. Вот что мы делаем:

  • Если администратор добавляет несколько категорий в настройку, то только эти новые категории добавляются в боковые панели всех пользователей, у которых их ещё не было.
  • Если вы удаляете несколько категорий из настройки, они удаляются из боковых панелей всех пользователей.

Таким образом, донаполнение не принудительно устанавливает состояние настройки для всех пользователей, а вычисляет разницу (дельту) между существующими значениями в настройке и теми, что были недавно добавлены или удалены.

Главная причина такого подхода — сохранение индивидуальных предпочтений пользователей.

Эта логика была внедрена в следующем PR:

Мы рассмотрели два способа достижения одинаковых категорий у всех пользователей:

  1. Добавить все, применить исторически, удалить некоторые, применить исторически.
  2. Удалить все, применить исторически, добавить некоторые, применить исторически.

В недавней попытке реализовать это для крупного сайта вариант 1 не сработал корректно, а вариант 2 — сработал. Поэтому я документировал именно вариант 2.

Если у вас есть время, попробуйте оба способа на группе пользователей, чтобы проверить их работоспособность. Если нужно, я могу написать SQL-запрос для подтверждения, что обновление прошло как ожидалось. Дайте знать, что вы думаете.

1 лайк

Я снова выполнил шаги, описанные вами в первом посте. И я всё ещё наблюдаю ту же проблему: категория, которую пользователь добавил в свою боковую панель, не удаляется, поэтому результат таков, что не у всех пользователей в боковой панели одинаковый набор категорий.

Подробные шаги воспроизведения
  1. Я создал новый форум с нуля
  2. Я создал 5 категорий (category1, category2, category3, category4, category5)
  3. Я добавил category4 в свою боковую панель, используя опцию «редактировать категории боковой панели»

  4. Категория была добавлена в мою боковую панель
  5. Я проверил настройку сайта default_navigation_menu_categories
  6. Как вы указываете в руководстве, я удалил все категории


и применил изменение ко всем пользователям

7. Теперь настройка была пустой

8. Я проверил свою боковую панель, и там осталась только category4, которую я добавил вручную (ссылка на настройку сайта внизу также указывает на то, что настройка пуста)

9. Я ждал около 45 минут, а затем добавил category1, category2 и category3 в настройку

и применил изменение ко всем пользователям

Ожидаемый результат, основанный на заголовке этого руководства: у всех пользователей в боковой панели одинаковый набор категорий, то есть только те, что указаны в настройке, и ничего больше.
Фактический результат: category4 всё ещё присутствует в боковой панели, хотя её нет у пользователей, которые не добавляли её вручную.

На каком этапе вы ожидаете, что категория, добавленная пользователем (в моём примере category4) в его боковую панель, будет удалена, чтобы добиться результата, при котором у всех пользователей в боковой панели одинаковый набор категорий?

Исходя из того, что вы сказали здесь, я не ожидаю, что она будет удалена, потому что категория не удаляется из настройки, так как её там и не было. Но вы утверждаете, что использовали эти шаги, чтобы принудительно установить одинаковые категории для всех пользователей.
Если бы я добавил все категории (метод 1), category4 была бы добавлена и затем удалена, поэтому я бы ожидал её исчезновения. Именно здесь я понимаю, что происходит. Но ваше руководство говорит, что нужно использовать метод 2, поэтому я задаюсь вопросом, что я упускаю в своём понимании и в моих тестах.

1 лайк