Реализация архива / резервного копирования для библиотеки документов Liferay 6.2
Необходимо реализовать функции архивирования / резервного копирования для библиотеки документов Liferay 6.2 с AdvancedFileSystemStore
как указано ниже.
dl.store.impl=com.liferay.portlet.documentlibrary.store.AdvancedFileSystemStore
У меня есть два сценария ниже. Пожалуйста, предложите, если есть какие-либо функции Liferay OOB, которые можно использовать для достижения нижеуказанного ИЛИ какие-либо указания о том, как добиться этого с помощью пользовательской разработки.
Сценарий 1: иметь только один сайт с разными папками, содержащими различные документы в разделе "Документы и носители". Эти папки необходимо периодически резервировать - скажем, раз в неделю. Иерархическая папка и документы должны храниться в папке архива.
Например:
Sample Site 1 > Documents and Media > RootFolder > Folder1 > File1
Sample Site 1 > Documents and Media > RootFolder > Folder1 > File2
Sample Site 1 > Documents and Media > RootFolder > Folder2 > File1
Sample Site 1 > Documents and Media > RootFolder > Folder2 > File2
После резервного копирования эта структура в каталоге архива должна быть:
ArchiveFolder > RootFolder > Folder1 > File1
ArchiveFolder > RootFolder > Folder1 > File2
ArchiveFolder > RootFolder > Folder2 > File1
ArchiveFolder > RootFolder > Folder2 > File2
Сценарий 2. Создайте несколько сайтов с разными папками, содержащими разные документы, в соответствующих разделах "Документы и мультимедиа". Все эти папки необходимо периодически архивировать - скажем, раз в неделю. Иерархическая папка и документы должны храниться в папке архива.
Например:
Sample Site 1 > Documents and Media > RootFolder > Folder1 > File1
Sample Site 1 > Documents and Media > RootFolder > Folder1 > File2
Sample Site 2 > Documents and Media > RootFolder > Folder1 > File1
Sample Site 2 > Documents and Media > RootFolder > Folder1 > File2
После резервного копирования эта структура в каталоге архива должна быть:
ArchiveFolder > Sample Site 1 > RootFolder > Folder1 > File1
ArchiveFolder > Sample Site 1 > RootFolder > Folder1 > File2
ArchiveFolder > Sample Site 2 > RootFolder > Folder1 > File1
ArchiveFolder > Sample Site 2 > RootFolder > Folder1 > File2
1 ответ
На мой взгляд, хорошим решением может быть пользовательский портлет.
Для определения папок вы можете выбирать между: - пользовательским интерфейсом, в котором администратор помещает исходную / целевую папку и идентификатор группы - файлом свойств, в котором читаются идентификаторы
Для запланированной операции вы можете выбрать между: - запланированной операцией (определенной в liferay-portlet.xml) - службой, вызываемой автоматическим системным cronjob
Работать с файлами очень просто в Liferay (для просмотра и копирования любого "узла" в древовидной структуре библиотеки документов): не заботьтесь о конкретном store.impl... используя API документов (доступно начиная с LR 6.1), вы будете иметь очень мощный (и высокоуровневый) способ работы с библиотекой документов.