露天错误:模型'{custom.model}custommodel'不存在



使用Alfresco 5.0社区版。

尝试部署另一个问题的答案中提供的自定义模型时,但使用 [http://docs.alfresco.com/5.0/tasks/deploy-dynamic.html] 中指定的动态部署方法

尽管 GUI 说模型已"激活",但我在 alfresco.log 中收到以下警告:

21:24:30,587 WARN  [org.alfresco.repo.dictionary.DictionaryDAO] [ajp-apr-8009-exec-4]
                   org.alfresco.service.cmr.dictionary.DictionaryException: 
                   00140008 Model '{custom.model}custommodel' does not exist

当我尝试将其与CMIS 1.1一起使用时,我从Web服务返回错误:

Type 'P:cmod:customDoc' is unknown!

以下是使用opencmis java api的相关代码:

Map<String, Object> props = new HashMap<String, Object>();
props.put("cmis:objectTypeId", "cmis:document");
props.put("cmis:secondaryObjectTypeIds", Arrays.asList(new String[] {"P:cm:titled", "P:cmod:customDoc"}));
props.put("cmis:name", "myName");
props.put("cmod:property1", "value1");
ObjectId id = folder.createDocument(props, contentStream, VersioningState.MAJOR);

我是否正确指定了命名空间和方面(P:cmod:customDoc)?我也尝试了cmod:aspectBase和其他组合,得到了同样的错误。

我的目标是制作一个简单的模型,我可以在其中向文档对象添加一些额外的字段(扩展默认的 ContentModel)。

似乎警告只是这样,可以忽略。

但是使用 CMIS 1.1,我必须执行两个步骤才能从自定义方面添加额外的属性。 (尝试一步完成会给出错误"类型'P:cmod:customDoc'未知!

首先使用 cmis:secondaryObjectTypeIds 的 createDocument(),包括自定义命名空间,但不要添加任何自定义属性。

其次,将自定义属性添加到生成的文档中,然后 updateProperties()。 这会将自定义属性值添加到文档中。

Map<String, Object> props = new HashMap<String, Object>();
props.put("cmis:objectTypeId", "cmis:document");
props.put("cmis:secondaryObjectTypeIds", 
          Arrays.asList(new String[] {"P:cm:titled", "P:cmod:customDoc"}));
props.put("cmis:name", "myName");
Document document = folder.createDocument(props, contentStream, VersioningState.MAJOR);
props = new HashMap<String, Object>();
props.put("cmod:property1", "value1");  //here is where you add the custom properties
document = (Document) document.updateProperties(properties);

(注意:您需要从 updateProperties 结果中重新分配文档,否则它将缺少一些信息,例如父级)

相关内容

  • 没有找到相关文章