Как в Alfresco заменить документ в первой его версии

Alfresco Community v.5.1.0 (201605)

У документа есть несколько версий, можно ли как то подменить самую первую версию документа на другой?
Эта первая версия документа доступна по ссылке alfresco/service/api/node/content/versionStore/version2Store/{uuid}, как я понял через workspace/SpaceStore можно смотреть только последнюю версию документа.
Так же не понимаю как найти эту версию через licene
Если есть вариант сделать это с помощью JavaScript консоли, то было бы здорово.


Ответы (1 шт):

Автор решения: xzdwq

Разобрался
Через setContent() не получится, потому что предыдущие версии документов хранятся в отдельном хранилице versionStore://version2Store/ которое является READONLY.
К примеру у документа существует 3 версии, 3-я версия является текущей и нам надо заменить 1-ю версию документа на другой файл (важно чтобы mimeType совпадал, иначе нужно будет отдельно править и тип документа).
Для этого вычислим uuid первой версии документа через JacaScript Console:

// получаем текущий документ
var doc = search.findNode("workspace://SpaceStore/{uuid}");
// массив всех версий
var allVersionDoc = doc.getVersionHistory();
print(allVersionDoc);
// первой версией документа является последний элемент массива версий
var firstVersionDoc = allVersion[2];
// получаем хранилище и uuid 1-й версии (versionStore/version2Store/{uuid})
print(firstVersionDoc.getNode());
  • Берем наш versionStore://version2Store/{uuid} и идем в консоль администратора (hostname.ru/alfresco/service/admin/admin-nodebrowser)
  • Выбираем Просмотр объектов -> Хранилище: workspace://version2Store -> Запрос: noderef: versionStore://version2Store/{uuid} -> Выполнить
  • В результате поиска находим в колонке Имя cm:content и берем из колонки Значение часть после contentUrl=store:// у меня это contentUrl=store:// 2020/3/13/{uuid}.bin
  • Берем новый документ NewDoc.pdf и переименовываем его (с изменением расширения) в {uuid}.bin из предыдущего пункта
  • Заходим на сервер в D:\alfresco\alf_data\contentstore\2020\3\13{uuid}.bin и заменяем документ на вновь созданный
→ Ссылка