AEM/CQ:用于具有表格输出的一次性JCR-SQL/SQL2/XPath查询的UI?

AEM/CQ:用于具有表格输出的一次性JCR-SQL/SQL2/XPath查询的UI?,aem,jcr-sql2,Aem,Jcr Sql2,我正在我们的AEM安装中做一些使用研究。我想找到一个组件的所有实例,看看它们对某个配置选项有什么价值。因此,基本上,我想使用sling:resourceTypemyComponent从所有节点中选择标题和myOption属性 我相信JCR-SQL2查询将是: SELECT [title], [myProperty] FROM [nt:base] where [sling:resourceType] like 'path/to/my/component' 我的问题是,我找不到运行此查询的UI

我正在我们的AEM安装中做一些使用研究。我想找到一个组件的所有实例,看看它们对某个配置选项有什么价值。因此,基本上,我想使用
sling:resourceType
myComponent
从所有节点中选择
标题
myOption
属性

我相信JCR-SQL2查询将是:

SELECT [title], [myProperty] FROM [nt:base]
where [sling:resourceType] like 'path/to/my/component'
我的问题是,我找不到运行此查询的UI

  • CRX:DE查询工具(CRX:DE>Tools>Query)接受XPath或SQL2,但仅显示匹配节点的路径。我确实可以单击每个节点以缩放到该节点,但这很繁琐。我想要一个带有标题和属性值的表格输出

  • 查询生成器调试器
    /libs/cq/search/content/querydebug.html
    使用自己的基于URL的查询语法,只输出JSON。我根据URL参数重新创建了查询

    property=sling:resourceType
    property.value=path/to/my/component
    p.hits=selective
    p.properties=title myProperty
    p.limit=-1
    
    。。。但我仍然不想编写代码来解析JSON并显示一个表

  • 我知道我可以编写一个类/组件来显示它,但这是一个一次性的查询,我只是在四处挖掘。我不希望仅仅为了发送和显示这个查询而编写Java、JS或JSP

所以我的问题是

在CQ的某个地方是否有另一个查询UI,它允许我使用指定列进行一次性JCR-SQL/SQL2/XPath查询,并获得表格输出,就像使用SQL提示符或工具一样?

我会满足于使用查询生成器咒语来生成打印精美的JSON,这样我至少可以看到JSON结果。

考虑使用。您可以轻松编写生成所需输出的简短脚本:

def QUERY = "SELECT [jcr:lastModified], [jcr:title] FROM [nt:base] WHERE [sling:resourceType] = 'foundation/components/title'"

session.workspace.queryManager.createQuery(QUERY, "JCR-SQL2").execute().rows.each { r ->
    println r.values.collect { it.string }.join('\t')
}

脚本可以简单地粘贴到文本区域,无需编译或上传任何内容到服务器。

您可以使用批量编辑器
/etc/importers/bulkeditor.html
。这非常符合你的要求

只需将根路径设置为
/content
取消选中内容模式,对于查询参数,请使用
“sling:resourceType”:path/to/my/component
。将自定义属性设置为
标题,myOption
。它在表格中显示结果

更多信息:


Bulk editor仅适用于简单查询,对于复杂查询,您可以尝试以下方法:。

AEM FIDLE与Groovy Console基本相同,但允许您通过JSP(或AEM支持的任何其他脚本语言)执行代码。。。