Оптимальный вариант реализации базы знаний с разграничением доступа на Drupal

Главные вкладки

Аватар пользователя Murz Murz 22 июня 2015 в 22:06

Необходимо сделать базу знаний для организации порядка 50-100 человек с разграничением доступа и email-уведомлениями об изменениях. База знаний будет представлять из себя древовидный каталог статей, все это довольно легко решается с помощью модуля Book (из коробки) или Nodehierarchy (сторонний модуль который сто лет не обновлялся, но вроде как работает) - основной вопрос не в этом.

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

1. Разграничение доступа.

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

Заводить кучу ролей (Директор, Секретарь, Старший дворник, Младший дворник, Бухгалтер...) тоже не хочется т.к. в таблице разграничения доступа получится АД Wink Поэтому разграничение доступа через роли не подходит.

Заводить для каждого случая отдельный тип материала вариант плохой, т.к. их со временем получится слишком много да и сменить тип материала у уже созданной ноды не так просто, поэтому модули типа Content Access отпадают.

Модуль Organic Groups - слишком тяжелое и переполненное функционалом решение для такой довольно простой задачи.

Модули Taxonomy Access Control и Taxonomy Access Control Lite вроде бы подходят, но там разграничение идет по отдельному словарю таксономии, без группировки самих пользователей.

Подскажите какие ещё варианты реализации могут быть для данной задачи?

2. Уведомления по Email.

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

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

Подскажите каким способом оптимальнее решить эту задачу?

3. Для некоторых материалов необходимо реализовать функционал подтверждения об ознакомлении для каждого пользователя. Т.е., например, выходит новая инструкция "Правила обращения с веником версия 1.0" и каждый дворник должен поставить свою электронную подпись "Прочитал, ознакомился, согласен, вопросов нет". И при обновлении версии инструкции (новая ревизия) до 1.1 - заново со всех собрать подписи об ознакомлении.

Для этой задачи вообще пока идей нет какие модули заиспользовать.

---
Ну и в целом, если кто-то уже решал подобную задачу - поделитесь пожалуйста какие модули использовали и как в итоге это все работает. Заранее благодарю всех, кто решит помочь мне в решении этой задачи!

Комментарии

Аватар пользователя dashiwa dashiwa 23 июня 2015 в 3:59

"для такой довольно простой задачи."
нестандартное решение под кастомную базу,походу..
слишком просто для друпала)