如何使用CMIS从Alfresco存储库查询所有类型的文档
我有多种自定义内容类型,并且可以根据单个类型查询文档。但我的要求是我想得到所有类型的文件 我从hr:hrdoctype编写了查询select*,因为我的hr:hrdoctype是所有其他类型的父类型。但它不起作用 但是,如果我将从hr:hr报销中选择*的话,这就行了 那么,我如何才能获得所有自定义类型的文档,这些文档具有单个父类型或单个条件。 请参阅下面的配置 在这种情况下,如果我将使用特定的内容类型,那么它的工作良好。但我希望使用单个查询获取所有类型的文档 请帮助我如何编写此需求的CMIS查询 Share-config-custom.xml:-如何使用CMIS从Alfresco存储库查询所有类型的文档,alfresco,alfresco-share,cmis,alfresco-webscripts,Alfresco,Alfresco Share,Cmis,Alfresco Webscripts,我有多种自定义内容类型,并且可以根据单个类型查询文档。但我的要求是我想得到所有类型的文件 我从hr:hrdoctype编写了查询select*,因为我的hr:hrdoctype是所有其他类型的父类型。但它不起作用 但是,如果我将从hr:hr报销中选择*的话,这就行了 那么,我如何才能获得所有自定义类型的文档,这些文档具有单个父类型或单个条件。 请参阅下面的配置 在这种情况下,如果我将使用特定的内容类型,那么它的工作良好。但我希望使用单个查询获取所有类型的文档 请帮助我如何编写此需求的CMIS查询
<type name="cm:content">
<subtype name="hr:hrdoctype" />
</type>
<type name="hr:hrdoctype">
<subtype name="hr:hrReimbursment" />
<subtype name="hr:hrMISCELLANEOUS" />
<subtype name="hr:hrWELFARE_POLICIES" />
<subtype name="hr:hrGENERAL_POLICIES" />
<subtype name="hr:hrPOLICIES_SIGNOFF_NOTES_FILE_NOTES" />
<subtype name="hr:hrPHOTOGRAPH" />
<subtype name="hr:hrPIF_PROFILE_OVERVIEW" />
<subtype name="hr:hrMPR_FORM" />
<subtype name="hr:hrPSYOMETRIC_REPORT" />
<subtype name="hr:hrTECHNICAL_TEST_ASSESSEMENT" />
<subtype name="hr:hrINTERVIEW_ASSESSEMENT_SHEET" />
</type>
Custom-content-model.xml:-
<types>
<type name="hr:hrdoctype">
<title>HR Document</title>
<parent>cm:content</parent>
<properties>
<property name="hr:employeeNumber">
<title>Employee Number</title>
<type>d:text</type>
</property>
<property name="hr:employeeName">
<title>Employee Name</title>
<type>d:text</type>
</property>
</properties>
</type>
<type name="hr:hrReimbursment">
<title>REIMBURSEMENT</title>
<parent>hr:hrdoctype</parent>
<properties>
<property name="hr:DocumentDescription">
<title>Document Description</title>
<type>d:text</type>
</property>
<property name="hr:ReimbursmentDate">
<title>Reimbursment Date</title>
<type>d:text</type>
</property>
</properties>
</type>
<type name="hr:hrMISCELLANEOUS">
<title>MISCELLANEOUS</title>
<parent>hr:hrdoctype</parent>
<properties>
<property name="hr:DocumentDescription1">
<title>Document Description</title>
<type>d:text</type>
</property>
</properties>
</type>
</types>
人力资源文件
cm:内容
员工编号
d:文本
员工姓名
d:文本
报销
hr:hrdoctype
文件说明
d:文本
偿还日期
d:文本
混杂的
hr:hrdoctype
文件说明
d:文本
我刚刚在我的存储库中测试了类似的案例
有四种基本CMIS类型:CMIS:document
,CMIS:folder
,CMIS:relationship
,CMIS:policy
。任何存储库都必须支持类型cmis:document
和cmis:folder
我的案例myc:xyz
类型继承自cmis:folder
类型
select * from cmis:folder where cmis:name='ABCD'
返回文件夹:
{
"cmis:objectId": "5b97929c-553b-4494-91cc-2c18e50b2f1c",
"cmis:objectTypeId": "F:myc:xyz",
"cmis:baseTypeId": "cmis:folder",
"cmis:name": "ABCD"
}
myc:xyz
文件夹:
select * from myc:xyz where cmis:name='ABCD'
返回同一文件夹,其中包含一些myc:xyz
type的附加属性:
{
"cmis:objectId": "5b97929c-553b-4494-91cc-2c18e50b2f1c",
"cmis:objectTypeId": "F:myc:xyz",
"cmis:baseTypeId": "cmis:folder",
"cmis:name": "ABCD",
"myc:AdditionalProperty1": "1111",
"myc:AdditionalProperty2": "2222"
}
select*from cmis:folder,其中cmis:name='ABCD'
(Firefox自动解码URL中的编码参数,这非常方便):
看起来您已经粘贴了共享配置的一个片段。我们需要看到的是您的内容模型XML,以显示这些类型实际上都是hr:hrdoctype的子类型。@Jeff Potts我已经编辑了我的问题,并添加了自定义内容模型的示例snipet。请检查一下。提前感谢。我编写了查询,从cmis:document中选择*,但它会提供一些不必要的文件,如ftl、xml和js。我的要求是,我有72种自定义类型的文档。我只想使用单亲类型引用这72种类型的节点。试试这个,它应该可以工作:在我的应用程序中,从hr:hrdoctype中选择cmis:name、cmis:objectTypeId、cmis:baseTypeId,在查询之后,它只返回存储库中的前100条记录。那么,如何获得100多条记录呢?使用参数:&maxItems=10&skipCount=20在哪里使用此参数?
http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/browser/?cmisselector=query&succinct=true&q=select * from cmis:folder where cmis:name='ABCD'