Экспорт и импорт данных Alfresco

мы должны экспортировать данные alfresco и импортировать их в другой репозиторий, и это не обязательно процесс резервного копирования/восстановления. мы стремимся к скрипту, который можно запускать и извлекать данные по некоторым условиям, набору файлов со всеми его метаданными.

У меня есть ссылка ниже, которая говорит о том же, но она старая, и что-то не может быть сделано, например, версии файла, извлечение на основе условий.

https://www.ibm.com/developerworks/cn/xml/x-cmis2/index.html

Я хотел бы знать о любых подходах, доступных для извлечения и импорта данных на открытом воздухе в другие репозитории.


person pappu_kutty    schedule 07.11.2017    source источник
comment
Экспорт из экземпляра Alfresco в другой или из Alfresco в/из другого (но говорящего на CMIS) репозитория?   -  person Gagravarr    schedule 07.11.2017
comment
Возможна ли автоматическая репликация?   -  person Akah    schedule 07.11.2017
comment
@Gagravarr, экспортируйте в другой экземпляр alfresco, например preprod, песочницу, среду QAc   -  person pappu_kutty    schedule 07.11.2017
comment
@Akah, я не знаю, автоматическая репликация - это вариант, так как нам нужно выполнить некоторые условия перед экспортом   -  person pappu_kutty    schedule 07.11.2017
comment
Поскольку у вас есть возможность выполнить некоторую репликацию данных с одного alfresco на другой: docs.alfresco.com/5.0/concepts/. У вас также есть система массового импорта.   -  person Akah    schedule 07.11.2017


Ответы (1)


Нет ничего готового для этого. Подсистема репликации не подходит для частой репликации более чем небольшого количества узлов.

Итак, вам придется написать собственное решение или посмотреть сторонние решения, которые могут это сделать. Одним из примеров является Simflofy. Другим примером является модуль Parashift Alfstream.

Если вы хотите разработать это самостоятельно, я предлагаю вам сделать что-то вроде:

  1. Напишите код для экспорта одного или нескольких файлов в файловую систему. Это должно быть хранилище, совместно используемое исходным и всеми целевыми репозиториями.
  2. Наряду с каждым файлом напишите файл «манифеста», в котором описаны метаданные файла, включая настраиваемые свойства и значения свойств. Вы должны использовать тот же формат, который инструмент массового импорта файловой системы ожидает при выполнении импорта.
  3. Добавьте в очередь сообщение, описывающее, где находятся экспортированные данные и куда их нужно импортировать.
  4. В целевом репозитории напишите прослушиватель, который подписывается на очередь.
  5. Когда прослушиватель получает сообщение, он может инициировать массовый импорт файловой системы в целевой системе. BFSIT импортирует файлы и установит метаданные, как описано в файле манифеста, созданном на шаге 2.
  6. При желании целевая система может поместить в очередь еще одно сообщение, подтверждающее выполнение импорта, которое затем исходный репозиторий может использовать для выполнения задачи.

Некоторым для этого удалось успешно использовать Apache Camel, но это не является строго необходимым.

person Jeff Potts    schedule 07.11.2017
comment
Джефф... какая-нибудь ссылка на код для экспорта файла из alfresco?. Можем ли мы использовать Apache Camel для экспорта больших наборов файлов? - person pappu_kutty; 08.11.2017
comment
@Jeff Potts: Подсистема репликации не подходит для частой репликации более чем небольшого количества узлов. =› Не могли бы вы объяснить, почему? Меня это очень интересует! - person Akah; 08.11.2017
comment
@pappu_kutty, экспорт можно выполнить из вашего пользовательского класса, работающего в JVM Alfresco, с помощью Java API Alfresco, см. NodeService и ContentReader. По сути, вы просто захватываете узел, используя его ссылку на узел, получаете для него CotnentReader, а затем записываете байты в файл. - person Jeff Potts; 08.11.2017
comment
@Akah, по моему опыту, задания часто терпят неудачу, особенно если между исходным и целевым репозиториями есть какая-то задержка. Когда задания терпят неудачу, нет хорошего способа получить уведомление об ошибке, и определить, что пошло не так, или как восстановить, может быть сложно. Количество людей, пишущих для этого собственное решение, также подтверждает, что готовое решение в большинстве случаев неадекватно. Вероятно, это нормально для нескольких небольших узлов, которые реплицируются нечасто. - person Jeff Potts; 08.11.2017
comment
@JeffPotts, мы начали оценивать доступные продукты, разработка пользовательских инструментов будет нашим последним вариантом. - person pappu_kutty; 08.11.2017