java – 如何在社区Alfresco中设置标题和描述?

我有一个存储库,通过露天网站,我可以在存储库中创建文件夹时设置名称,标题和说明.

但是,如果我尝试通过opencmis java创建相同的内容,我会收到错误“属性’cmis:title’对此类型或其中一个辅助类型无效!”

这是我的代码:

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);

我也试过“cm:description”,但这也不起作用.

在Alfresco中创建新文件夹时如何设置标题和说明?

解决方法:

这两个特定属性在名为cm:标题的方面中定义. CMIS本身不支持各方面.要使用方面中定义的方面和属性,必须使用Alfresco OpenCMIS Extension.

我创建了一个gist,它是一个可以编译和运行的工作类,它将创建一个文件夹(如果它不存在),设置描述和标题,然后在该文件夹中创建一个文档并设置描述和标题在上面.

关键位是使用Alfresco对象工厂建立会话的位置:

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

然后,当您指定类型时,还必须指定方面:

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

其余的属性就像你拥有它们一样工作,但要注意属性名称cm:description和cm:title:

properties.put(PropertyIds.NAME, folderName);
properties.put("cm:description", TEST_DESCRIPTION);
properties.put("cm:title", TEST_TITLE);
上一篇:Alfresco工作流通过java代码触发


下一篇:java-Spring RESTful客户端:根标签异常