1

我正在我们的 AEM 安装中进行一些使用研究。我想找到一个组件的所有实例,看看它们对某个配置选项有什么价值。所以基本上,我想从所有节点中选择title和属性。myOptionsling:resourceType myComponent

我相信 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,但只显示匹配节点的路径。当然,我可以单击每个以缩放到该节点,但这很乏味。我想要一个带有标题和属性值的表格输出。

  • Query Builder Debugger ( /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。

所以我的问题是...

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

我会满足于查询生成器的咒语来生成打印漂亮的 JSON,所以我至少可以观察 JSON 结果。

4

2 回答 2

2

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

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

更多信息: http: //docs.adobe.com/docs/en/cq/5-6/administering/bulk_editor.html

批量编辑器仅适用于简单查询,对于复杂查询,您可以尝试:http ://adobe-consulting-services.github.io/acs-aem-tools/features/query-editor.html 。

于 2014-12-04T19:17:42.943 回答
1

考虑使用Groovy 控制台。您可以轻松编写一个简短的脚本来生成所需的输出:

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')
}

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

于 2014-12-04T19:08:14.767 回答