#jsp #servlets #alfresco #alfresco-share #opencmis
#jsp #сервлеты #на открытом воздухе #на открытом воздухе-поделиться #opencmis
Вопрос:
Я создал пользовательское веб-приложение с использованием Java-сервлетов и подключился к репозиторию Alfresco с использованием CMIS.
Теперь мое требование — создать навигатор библиотеки; для этого я должен отобразить уменьшенное изображение документа перед именем документа, используя <IMG/>
тег.
Как я могу добиться этого с помощью CMIS или любого другого rest API alfresco.
Комментарии:
1. вы пытались получить список объектов репозитория ?!?
Ответ №1:
CMIS понимает концепцию представлений. Эскизы и веб-превью в Alfresco отображаются как изображения CMIS. В этом сообщении в блоге приводятся подробности. В нем вы увидите пример кода, и я включил его ниже:
OperationContext context = session.createOperationContext();
context.setRenditionFilterString("cmis:thumbnail");
CmisObject doc = session.getObjectByPath("/Sites/ren/documentLibrary/Spring Surf and OpenCMIS Integration", context);
List<Rendition> renditions = doc.getRenditions();
for (Rendition rendition : renditions)
{
System.out.println("kind: " rendition.getKind());
System.out.println("mimetype: " rendition.getMimeType());
System.out.println("width: " rendition.getWidth());
System.out.println("height: " rendition.getHeight());
System.out.println("stream id: " rendition.getStreamId());
}
Обратите внимание, что вас может сбить с толку то, что представления не создаются автоматически при добавлении объектов в репозиторий. Обычно они создаются асинхронно, когда кто-то запрашивает просмотр библиотеки документов через общий клиент Alfresco.
Если вам нужно иметь возможность создать документ, а затем немедленно получить его версии, даже не входя в клиент Alfresco Share, вам нужно будет использовать правила или поведение, чтобы инициировать создание нужных версий.
Комментарии:
1. ПРИВЕТ, Джефф, я попробовал приведенный выше код, но, как вы сказали, у кого-то есть запросы на просмотр библиотеки документов через общий клиент Alfresco. необходимо. И я также пытался установить правило, но мое правило не работает, если я создал объект document с использованием Cmis, сценарий Js не выполняется.
2. Правила всегда должны срабатывать независимо от того, как добавлен документ. Какую конкретную версию вы используете?
Ответ №2:
Кажется, вы ищете держатель для документов.
Вместо того, чтобы использовать CMIS, лучше использовать Alfresco REST API. Ниже приведен REST API для получения держателя документа, в котором вам нужно динамически передавать ссылку на узел документа и тикет ALF
"http://localhost:8080/alfresco/s/api/node/workspace/" noderef "/content/thumbnails/doclib?c=queueamp;ph=trueamp;lastModified=doclib:1475322106180amp;alf_ticket=" alf_ticket
Я надеюсь, это поможет вам.
Комментарии:
1. Мой общий ресурс alfresco по умолчанию не получает миниатюр в режиме просмотра библиотеки. Есть ли какая-либо конфигурация в файле свойств.
2. Это утверждение неверно: «На самом деле невозможно получить держатель для документов с помощью CMIS». CMIS понимает представления, а миниатюра библиотеки документов — это представление с именем «doclib», которое доступно через CMIS.