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


В процессе обдумывания системы конфигурации Drupal 8 (которая, кстати, потрясающая), я наткнулся на следующее:

Файл YAML (из ядро/модули/пользователь/конфигурация/установка/пользователь.роль.аутентифицированный.yml)

id: authenticated
label: 'Authenticated user'
weight: 1
langcode: en
status: true
is_admin: false
dependencies: {  }

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

Спасибо!

Author: othermachines, 2015-09-01

1 answers

Как сказал Иван Ярош, все объекты конфигурации могут иметь зависимости от модулей и других объектов конфигурации, как автоматически создаваемых на основе кода (например, поле зависит от его хранилища полей и добавляемого пакета сущностей), так и устанавливаемых вручную (в принудительном поддиапазоне с той же структурой)

Зависимости гарантируют, что необходимые зависимости установлены, и они установлены в правильном порядке. Что важно, если вы импортируете новый тип узла с полями, отобразите конфигурации, представления, в которых они перечислены, и так далее.

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

Мы должны открыть основную проблему, чтобы попытаться лучше отследить это, это позволило бы ролям удалять разрешения, например, при удалении типа узла или установке модуля. Но это не является серьезной проблемой, так как ничего не произойдет, если эти разрешения больше не существуют.. это просто строка, и если ее никто не просит, то с ней ничего не происходит. Единственная проблема заключается в том, что вы а) в конечном итоге сталкиваетесь с ошибками в этих объектах конфигурации и б) разрешения могут снова активизироваться, когда вы, например, удаляете тип узла и добавляете его снова с тем же именем. Вы, возможно, не ожидали ваши разрешения настраиваются, чтобы пережить это.

 3
Author: Berdir, 2015-09-05 12:44:38