Для реализации этого подхода, учитывая весь накопленный опыт, возможно, придётся немного переделать некоторые вещи, но это кажется мне гораздо более логичным.
Думаю, это может быть переключатель в верхней панели. Что-то, к чему можно легко получить доступ из любого места.
Когда он активирован, статус должен быть понятным. Мы можем позаимствовать некоторые идеи из интерфейса функции «взаимодействие от имени пользователя» (impersonation) и улучшить оба этих механизма там, где это необходимо.
Думаю, нам стоит по-разному подходить к некоторым вещам.
Например, я не думаю, что мы должны заставлять администраторов переключаться в режим администратора, чтобы получить доступ к /admin.
Там, где у нас уже есть полностью отдельные пространства для административных задач, я думаю, мы должны продолжать позволять людям заходить туда.
Но для случаев, когда администраторы находятся в том же пространстве, что и обычные пользователи, я считаю, что более явное указание статуса было бы полезным.
То есть, по сути, отдельный переключатель для каждого администратора для suppress_secured_categories_from_admin, возможно, с несколькими дополнительными функциями, например, скрытием личных сообщений в активности пользователя?
Описание того, что это лишь добавляет лишние препятствия, кажется похожим на следующее:
Да, это хороший пример того, что мы можем сделать.
Кроме того, я довольно уверен, что мы сможем спроектировать это таким образом, чтобы люди, привыкшие к своим текущим рабочим процессам, могли продолжать работать как обычно (будь то с помощью настройки сайта или сохранения состояния переключателя и т. д.).
Было бы здорово это увидеть; у меня было много ситуаций, когда я не осознавал, что мои пользователи не могут выполнять действия (например, создавать события, работать с Kanban и т. д.), которые доступны мне.
Раз выдача прав администратора возможна, то можно ли их затем отозвать?
А что если в плагине изменить сериализатор пользователя, чтобы установить admin в false? Тогда все проверки на права администратора будут проваливаться, и будет отображаться интерфейс для неадминистраторов?
Или, запустить revoke_admin, а затем grant_admin через определённое время?
Думаю, мне нужен удобный способ, чтобы в большинстве случаев получать тот же опыт, что и мои пользователи, но при этом иметь возможность быстро и легко вернуться к своим «суперспособностям» (и чтобы меня распознавали как администратора).
Отзыв статуса администратора несколько подорвал бы эти преимущества!