Содержание
История[править]
ELiS изначально создавалась как ПО библиотеки для ограниченного типа ресурсов, к каждому из которых были собственные плееры (PDF, видео и т.д.).
Но в некоторых ситуациях удобней загружать произвольные файлы и тогда ELiS начинает играть роль подобную NextCloud и другим файловым хранилищам, но для движения в эту сторону надо разрешить загрузку произвольных файлов, даже таких, к которым нет плееров.
Первоначально схожую задачу решал модуль ELiS Web, который позволял публиковать произвольные файлы в ZIP-архиве и некоторые открывать прямо с сервера, но этот модуль не всегда применим, так как надо обременять пользователя упаковкой в ZIP-архив и при этом он отображает прямо с сервера HTML/JS-файлы, которые могут быть опасны и нельзя всем доверять использовать этот модуль.
Поэтому появилась необходимость в модуле, который сможет загружать произвольные файлы, а те, к которым в ELiS есть модули, открывать с помощью плееров.
Так и появился новый модуль ELiS Document, основная задача которого обеспечить загрузку произвольных файлов в ELiS.
Задачи модуля ELiS Document[править]
Модуль должен обеспечить загрузку файлов с произвольным расширением.
Можно загружать или так, что
- на каждый файл будут собственные метаданные (для этого появилась удобная кнопка загрузки по node/add);
- у множества файлов будут единые метаданные (аналогично ELiS Web).
Для решения этой задачи появилась новая нода с типом 'document'.
Генерация нод при загрузке файлов по кнопке[править]
Загрузка по кнопке отличается от загрузки путем создания ноды 'document'.
Если при загрузке с помощью кнопки загружаться будут файлы, для которых у ELiS есть поддержка и пользователь на создание этих файлов имеет права, эти файлы будут созданы в виде нод соответствующих типов с плеерами, т.е. если выбрать среди загружаемых файлов exe, pdf, mp4, то будет созданы ноды с типами 'document', 'pdf', 'myvideo' и для pdf и видео будут доступны соответствующие плееры.
Если загрузка по кнопке будет из папки, то все документы (ноды) будут вложены в эту папку (если есть права на прикрепление к ней). При этом некоторые поля папки будут скопированы и на ноды.
Установка модуля[править]
Зайдите на сервер по SSH и выполните команды:
# dnf install drupal7-elis-mod-document # cd /var/www/vh/library # su elis $ drush en -y elis_document $ exit
Перейдите в admin/people/permissions#edit-create-document-content и добавьте нужным ролям пользователей права на создание материалов типа 'document' ('Документ').
Использование путем создание материала 'document'[править]
По ссылке node/add/document вы сможете создать новую ноду и прикрепить произвольное количество документов к ней.
Использование кнопки загрузки[править]
Теперь это будет самый простой способ загрузки множества ресурсов в папку:
- перейдите в папку и нажмите вкладку "Добавить";
- нажмите кнопку с изображением загрузки документов и выберите документы для загрузки или перетащите файлы на кнопку из проводника;
- документы автоматически загрузятся и после обработки для каждого документа будет рабочая ссылка для перехода к его редактированию (для уточнения метаданных).
Заглавия нод будет взято из названия файлов.