2013-07-26 2 views
2

나는 리포지토리를 가지고 있으며 알 프레스코 웹 사이트를 통해 리포지토리에 폴더를 만들 때 이름, 제목 및 설명을 설정할 수 있습니다.커뮤니티 Alfresco에서 제목과 설명을 설정하는 방법은 무엇입니까?

opencmis java를 통해 동일한 파일을 만들려고하면 "이 속성은 '속성'cmis : title '이 유효하지 않습니다. "설명 cm를"하지만 그 중 하나가 작동하지 않습니다

Map<String, String> newFolderProps = new HashMap<String, String>(); 
newFolderProps.put(PropertyIds.NAME, "this is my new folder"); 
newFolderProps.put("cmis:description", "this is my description"); //this doesn't work. 
newFolderProps.put("cmis:title", "this is my title"); //this doesn't work. 

//I also tried this too: 

newFolderProps.put(PropertyIds.DESCRIPTION, "this is my description"); //this doesn't work either. 
newFolderProps.put(PropertyIds.OBJECT_TYPE_ID, "cmis:folder"); //this works! 
Folder newFolderObject=rootfolder.createFolder(newFolderProps); 

가 나는 또한 시도 :

여기 내 코드입니다.

Alfresco에서 새 폴더를 만들 때 제목과 설명을 어떻게 설정합니까?

+0

이 코드는 http://chemistry.apache.org/java/developing/guide.html#getting-started-with-opencmis – user2624246

답변

3

이러한 두 가지 특정 속성은 cm : title이라는 측면에서 정의됩니다. CMIS는 본질적으로 측면을 지원하지 않습니다. 애스 팩트에 정의 된 애스펙트 및 속성을 사용하려면 Alfresco OpenCMIS Extension을 사용해야합니다.

컴파일하고 실행할 수있는 작업 클래스 인 gist을 만들었습니다 (존재하지 않는 경우) 폴더를 만들고 설명과 제목을 설정 한 다음 해당 폴더 내에서 문서를 만들고 설정합니다 그것에 대한 설명과 제목.

properties.put(PropertyIds.OBJECT_TYPE_ID, "cmis:folder, P:cm:titled"); 

나머지 : 당신이 유형을 지정할 때 다음, 당신은 또한 측면을 지정해야합니다

parameter.put(SessionParameter.OBJECT_FACTORY_CLASS, "org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl"); 

그리고 : 당신이 알 프레스코의 객체 팩토리를 사용하여 세션을 설정할 경우

핵심 비트

은 당신이 그 (것)들이 있던대로 재산은 작동하고, 그러나 cm 인 속성 이름에주의하십시오 : 묘사와 cm : 제목 :

properties.put(PropertyIds.NAME, folderName); 
properties.put("cm:description", TEST_DESCRIPTION); 
properties.put("cm:title", TEST_TITLE); 
+0

에서 GettingStarted.java 샘플 코드를 기반으로하는 CMIS 1.1을 지원하기 때문에 Alfresco 객체 팩토리를 사용하지 않고 대신 보조 객체 유형이라고하는 CMIS의 기본 지원을 사용합니다. 예를 들어 다른 답변을 참조하십시오. –

1

2 차 속성을 설정하기 위해 사용자 정의 Alfresco 클래스를 사용할 필요가 없습니다. Apache Chemistry 사용 CMIS 1.1.0 클라이언트;

Map<String, Object> props = new HashMap<>(); 
props.put(PropertyIds.OBJECT_TYPE_ID, "cmis:document"); 
props.put(PropertyIds.NAME, "my-doc.txt"); 
List<String> secondary = new ArrayList<>(); 
secondary.add("P:cm:titled"); 
props.put(PropertyIds.SECONDARY_OBJECT_TYPE_IDS, secondary); 
props.put("cm:title", "My Very Fancy Document"); 
props.put("cm:description", "This document was generated by me!"); 

코드를 더 이상 변경할 필요가 없습니다. 오래된 Alfresco를 사용하고 있다면 아마도 작동하지 않을 것이지만 대부분의 현재 설치는 즉시 사용할 수 있습니다. 당신이 알 프레스코의 버전을 사용하는 경우