Создать сайт в Alfresco, используя Apache Chemistry - PullRequest
0 голосов
/ 29 ноября 2018

Приветствую сообщество!Я использую Alfresco Community Edition 6.0.0 с Apache Chemistry API.До сих пор мне успешно удавалось создавать / извлекать содержимое из репозитория alfresco через него (файлы папок и документов).

Теперь я хотел бы использовать API-интерфейс Apache Chemistry для создания сайта под открытым небом (как я бы сделал, используя метод alfresco/api/-default-/public/alfresco/versions/1/sites POST в API-интерфейсе REST Alfresco).

Это возможно?Следуя тому, как я уже создал папки в репозитории, я сделал следующее:

Folder folder = retrieveSitesFolder(); // this returns the folder object using the node id of the "Sites" node
Map<String, Object> props = new HashMap<String, Object>();
props.put(PropertyIds.OBJECT_TYPE_ID, "F:st:site"); //this is recognized fine
props.put("st:siteVisibility", "PUBLIC");
props.put("st:sitePreset", "something");
props.put("cmis:name", "something"); 
Folder subFolder = folder.createFolder(props);

Здесь я следую модели сайта, касающейся свойств, которые я добавляю https://svn.alfresco.com/repos/alfresco-open-mirror/alfresco/COMMUNITYTAGS/V4.2a/root/projects/repository/config/alfresco/model/siteModel.xml

К сожалению, когда я запускаю этот фрагмент кода, я получаю следующую ошибку:

Exception in thread "main" org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException: 10290059 Site something does not exist.

, что мне кажется очень странным, так как я ожидаю, что мой код будет создавать этот сайт, не ища его в любом случае.

Что делает это более странным, это то, что когда я создал сайт с именем «что-то» через REST API и повторно запустил код, код запустился успешно, но я не получил никакого дополнительного сайта в alfresco/api/-default-/public/alfresco/versions/1/sites конечная точка REST API.

Может ли кто-нибудь пролить свет на это, пожалуйста?Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 07 декабря 2018

Как говорит Гаграварр, API не поддерживает создание функциональных сайтов, пока, как указал Биллерби, API REST не внес некоторых улучшений.

Apache Chemistry не имеет представления о том, что такое сайт, но, как вымы обнаружили, что st: site - это просто дочерний тип cm: folder.

Несмотря на то, что это скорее всего не будет работать через CMIS, я хотел бы отметить, что вы используете «что-то» для сайтапредустановки.Это не сработает, если вы не определили новую предустановку сайта под названием «что-то».

По умолчанию существует одна готовая предустановка сайта под названием «site-dashboard», котораяидентификатор для предустановки «Сайт совместной работы».

Вы можете изменить свой st: sitePreset на «site-dashboard» и посмотреть, получите ли вы что-нибудь еще.

...