Реализация архива / резервного копирования для библиотеки документов 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), вы будете иметь очень мощный (и высокоуровневый) способ работы с библиотекой документов.

Другие вопросы по тегам