1

AEM インストールの使用状況を少し調査しています。コンポーネントのすべてのインスタンスを見つけて、特定の構成オプションに対してどのような値があるかを確認したいと考えています。基本的に、すべてのノードからtitlemyOptionプロパティを で選択したいと思いますsling:resourceType myComponent

JCR-SQL2 クエリは次のようになると思います。

SELECT [title], [myProperty] FROM [nt:base]
where [sling:resourceType] like 'path/to/my/component'

私の問題は、このクエリを実行するための UI が見つからないことです。

  • CRX:DE クエリ ツール(CRX:DE > ツール > クエリ) は 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 を解析してテーブルを表示するコードを書きたくありません。

  • これを表示するクラス/コンポーネントを作成できることは理解していますが、これは 1 回限りのクエリであり、掘り下げているところです。このクエリを送信して表示するためだけに、Java、JS、または JSP を作成する必要はありません。

だから私の質問は...

CQ のどこかに埋もれている別のクエリ UI はありますか? SQL プロンプトまたはツールを使用する場合と同じように、列を指定して 1 回限りの JCR-SQL / SQL2 / XPath クエリを挿入し、表形式の出力を取得できますか?

きれいに印刷された 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/administration/bulk_editor.html

一括エディターは単純なクエリに対してのみ機能します。複雑なクエリについては、http: //adobe-consulting-services.github.io/acs-aem-tools/features/query-editor.htmlを試すことができます。

于 2014-12-04T19:17:42.943 に答える
1

Groovy Consoleの使用を検討してください。必要な出力を生成する短いスクリプトを簡単に作成できます。

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 に答える