Как использовать API совместимости Alfresco

Я разрабатываю приложение, взаимодействующее с сообществом Alfresco 4.2. Я читал в документации, что есть два способа доступа к репозиторию с использованием REST API: - REST API - CMIS REST API Мне нужно, чтобы мое приложение: - Список корневых каталогов всех пользователей - Список элементов в каталоге - Восстановить файл - Общий доступ к документу (папке, файлу и т. д.) - Доступ к истории файла - Создание и удаление пользователя

Сначала я пытался использовать Apache Chemister API, следуя примеру, найденному в Интернете. Вы можете увидеть это сообщение по этой теме: >CmisObjectNotFoundException при попытке доступа к моему репозиторию Alfresco

Наконец, не имея опыта в этой теме, я подумал, что было бы лучше использовать API REST, предоставляемый Alfresco, для вызова CMIS. К сожалению, этот очень мало документирован, мне удалось сделать несколько вызовов REST http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/atom/children?Id=86f1c760-905e-4920-98a8-a6bdd10aa, но XML-поток не так прост для понимания   Мой вопрос: - Как лучше всего использовать? CMIS REST API? CMIS-клиент? - Где простое и понятное определение REST API, которые составляют CRUD в репозитории GED? - Как получить доступ к узлу пользовательской области

Спасибо !


person Ousmane MINTE    schedule 24.01.2017    source источник
comment
Зачем вам пытаться написать свой собственный клиент CMIS? Просто используйте один из многих хорошо протестированных клиентов CMIS с открытым исходным кодом и покончите с этим1.   -  person Gagravarr    schedule 25.01.2017
comment
Я просто хочу внедрить CRUD с помощью Apache Chemistry или Alfresco CMIS REST API.   -  person Ousmane MINTE    schedule 25.01.2017
comment
Просто используйте один из многих хорошо протестированных CMIS-клиентов с открытым исходным кодом, чтобы поговорить с Alfresco через CMIS, чтобы затем выполнить CRUD!   -  person Gagravarr    schedule 25.01.2017
comment
у тебя есть пример?   -  person Ousmane MINTE    schedule 25.01.2017
comment
В зависимости от того, какой язык вы используете, попробуйте chemistry.apache. org/python/docs/ или химия .apache.org/docs/cmis-samples/samples/retrieve-objects/ для начала!   -  person Gagravarr    schedule 25.01.2017
comment
пожалуйста, прочитайте этот пост, он поможет вам понять использование cmis или веб-скриптов?   -  person Yagami Light    schedule 28.02.2017


Ответы (1)


Список всех корневых каталогов пользователей

Используйте OpenCMIS и либо запрос, который использует путь к домашней папке пользователя, чтобы получить результаты, либо используйте такие методы, как getChildren для навигации по иерархии репозитория.

Список элементов в каталоге

То же, что и выше.

Восстановить файл

Это будет невозможно через CMIS. Вместо этого напишите веб-скрипт на основе Java. Ваш класс контроллера должен будет найти файл в хранилище архивов, а затем скопировать его в хранилище пробелов, чтобы восстановить его.

Поделитесь документом (папкой, файлом и т. д.)

Это зависит от того, что вы хотите здесь делать. Если вы просто хотите настроить разрешения, то это может быть возможно через CMIS. Вы можете использовать OpenCMIS для добавления или удаления локально установленных разрешений. Но CMIS не может нарушить (или восстановить) наследование ACL, поэтому, если вам нужно это сделать, CMIS не сработает.

Точно так же, если вы хотите сделать то же самое, что и функция «Quick Share» в Alfresco Share, CMIS, вероятно, не сможет вам помочь (хотя я не пробовал). По сути, если вы можете сделать это, установив свойства, вы можете сделать это с помощью CMIS, в противном случае напишите для этого свой собственный веб-скрипт.

Доступ к истории файла

Я предполагаю, что вы имеете в виду историю версий. Если это так, CMIS в порядке.

Создать и удалить пользователя

CMIS не может создавать или удалять пользователей или группы. Напишите свой собственный веб-скрипт или взгляните на 4.2 REST API для объектов-лиц< /а>.

person Jeff Potts    schedule 18.03.2017