【发布时间】:2015-05-12 20:29:44
【问题描述】:
如何从 Alfresco 数据库 (PostgreSQL) 中检索文档的名称?我正在尝试获取给定用户创建的文档列表,例如管理员,从开始日期开始,例如2015-05-03:
SELECT child.child_node_name, node.audit_created
FROM alf_child_assoc child, alf_node node, alf_node_properties prop, alf_qname qname
WHERE child.child_node_id = node.id
AND node.id = prop.node_id
AND prop.qname_id = qname.id
AND qname.local_name = 'content'
AND node.audit_creator = 'admin'
AND node.audit_created > '2015-05-03'
ORDER BY node.audit_created
如何获取实际文档而不是所有内容项? 因为现在它还显示完整的节点引用,我只想要文档的人类可读名称。有什么建议吗?
顺便说一句,我正在处理后端(存储库),而不是共享。我正在使用 Alfresco 5.0.1。
【问题讨论】:
-
我建议添加一个命名空间,因为属性
content可能来自不同的命名空间(如果您添加了自定义类型)。为此,您需要在uri上加入alf_namespace。在您的情况下,将此添加到where:and qname.ns_id = alf_namespace.id and alf_namespace.uri = 'http://www.alfresco.org/model/content/1.0' -
我问你到底为什么要这样做? :)
-
是的,当然。现实生活中的例子:在我正在进行的项目中,我们有两个站点:一个用于人事文件,第二个用于财务文件。由于它是不同(自定义)类型的文档,它们(文档)具有不同的命名空间:
http://www.mycomp.com/personnel/content/1.0和http://www.mycomp.com/finance/content/1.0。所以显然按类型过滤文档是有意义的。 Here你可以找到更多关于自定义类型的信息。 -
那么,为什么不在露天使用 search.luceneSearch 方法 docs.alfresco.com/5.0/references/API-JS-luceneSearch.html 运行一个简单的脚本,然后在日志文件或带有要读取的 json 对象的 webscript 中提取您需要的所有信息?我不确定当您在顶部安装 Solr 和 Lucene 以询问存储库中的所有数据时,为什么人们会询问 Alfresco db。
-
对不起,我忘了编辑我的评论:在这里你可以使用 alfresco JS:@cm\:creator:"admin" 和 @cm\:created:"[2003\-12\- 16T00:00:00 TO MAX]" 和 TYPE:"cm:content" 把它放在 luceneSearch 方法中,你就已经准备好了:)
标签: postgresql alfresco