Приветствую!
Проблема не проблема, задача. Нужно реализовать возможность нескольким пользователям редактировать сайт, добавлять новости, документы (разный контент, короче), но только в пределах своего «лягушатника». Количество изолированных разделов (лягушатников) будет около 10-15. В каждом будет (хорошо если) по 1-2 пользователя. Грубо говоря, редактор из транспортного цеха может публиковать новости транспортного цеха, редактировать общую страницу транспортного цеха, но не может ничего сделать с материалами отдела готовой продукции.
Решения навскидку такие:
1. Organic Groups (OG). Тут все понятно, но это overkill, по ощущениям. Никаких реальных групп не будет, вступать в них смысла нет, это чисто способ уложить задачу в готовое решение. Это я уже делал, все решаемо, но излишне тяжело в использовании.
2. Term Permissions (http://drupal.org/project/term_permissions). Сырой модуль, судя по issues. Суть — позволяет устанавливать права на использование определенных терминов таксономии. Сделать словарь со структурой, совпадающей со списком отделов, столько же ролей, распределить права. При добавлении сматериала позволяется выбрать только разрешенные термины (поле обязательное). Выводить страницы терминов (отделов) посредством views. Вроде все складно, но я этого не пробовал.
Есть какие-то еще варианты? Кто такое делал?
Спасибо за внимание!
Комментарии
В дру по умолчанию есть роли. Что не дает привязать материалы и разделы к этим ролям?
Типы материалов и роли — это не выход. 10 разделов, 10 ролей и 20 типов материалов? При том, что типы у всех будут одни и те же, стандартные — страницы и статьи, полностью одинаковые по структуре.
В древовидных CMS бывают права на ветку (или раздел), как в файловой системе. Term Permissions эту идею реализует в Друпале, с некоторыми нюансами, но у меня не было опыта с этим модулем.
я давно жду модуль который разделял бы права одной роли по под роли (маски) как на форумах...
Тут уж скорее «типа материалов на подтипы» нужно разделять. На форумах есть «точка входа», для которой можно задать права, в Друпале нечему их назначать. Типы материалов, больше ничего полезного «из коробки» нет.
А taxonomy_access и т.п.?
http://drupal.org/project/taxonomy_access
Automatically controls access to nodes (based on their taxonomy terms).
Three node access permission types: View, Update, Delete.
Не совсем то, насколько я вижу. Это решение для доступа к имеющимся материалам, а мне нужно вдобавок (и даже в первую очередь) решение для создания новых. Иными словами, роль А может создавать ноды и присваивать им термины X, Y или Z и больше никакие. Не похоже, чтобы taxonomy_access это решал.
Эм. Или я медленный? Вот здесь пишут:
* Просмотр позволяет пользователю получить доступ к материалу, помеченному данным термином.
* Обновление, Удаление позволяет пользователю обновлять и удалять всё содержимое, помеченное данным термином. Эти полномочия рекомендуется назначать только * администраторам содержимого.
* Создание позволяет пользователю создавать и редактировать материал, помечая его текущим термином.
* Вывод списка позволяет пользователю просматривать название данного термина в материале или в списке категорий. Он также управляет доступом к странице таксономии для данного термина. (странице вида "taxonomy/term/*", которая позволяет просмотреть список всех материалов сайта, помеченных данным термином).»
Действительно возможность разрешить роли пользвоаться термином при создании материала?
Вы бы уже давно поставили и проверили
Если нода закрыта другим модулем на просмотр. http://drupal.org/project/taxonomy_access - даст конкретному юзеру/роли просмотреть таки ноду если термин нужный есть у ноды?