Модуль ELiS UserLib позволяет пользователям в личном кабинете создавать собственную электронную библиотеку.
https://demo.elibsystem.ru/vod1/storage/demoelibsystem_userlib_create_own_lib-j127w1920h1080.mp4
Включение модуля создает в меню ссылку "Моя библиотека" и аналогичную вкладку в личном кабинете.
При переходе в библиотеку вначале в один клик пользователю будет предложено создать свою библиотеку. При клике создается нода типа 'subj' (папка) и в профиле пользователя в поле field_userlib указывается ссылка на созданную ноду.
Пользователь получает права на прикрепление к ноде своей библиотеки таких ресурсов, какие ему разрешено создавать стандартной системой прав Drupal.
Фактически на этом работа модуля заканчивается и дальше работают остальные модули, управляющие правами. Так если включен модуль ELiS DRM, пользователь сможет сам ограничивать просмотр своих ресурсов, а если включен модуль ELiS Site, то создавать для своей библиотеки подсайты.
Важным момент касается ограничения размещения ресурсов в других папках. Пользователи при редактировании могут указывать в поле field_parent_catalog не только дерево собственного каталога, но и чужие. Часто такой сценарий нежелателен (не желательно, чтобы пользователи включали свои ресурсы в чужие каталоги) и для ограничения такого поведения следует использовать модуль Subj access,
Модуль может использоваться в разнообразных сценариях, например для создания UGC-ресурсов или ЭБС агрегатора.
Процедура настройки модуля очень проста:
- включить модуль ELiS UserLib;
- в правах выбранных ролей, которым вы разрешите иметь собственную библиотеку, добавить право 'Create own library' (admin/people/permissions#module-elis_userlib);
- для этих же выбранных ролей добавить права на создание и редактирование каких-либо типов ресурсов. Чтобы пользователи могли создавать навигацию в своей библиотеке, им необходимо добавить право на создание "папок" (нод типа 'subj');
- Включить модуль Subj access;
- Для выбранных ролей с правом создания собственной библиотеки добавить право "Use subj owner access".
RPM-пакет: drupal7-elis-mod-userlib.