AEM の使用時、ページやアセットなど様々なタイプの多数のコンテンツを管理できます。AEM ダッシュボードの簡単でカスタマイズ可能な方法を使用して、統合されたデータを表示するページを定義できます。
AEM ダッシュボードはユーザーごとに作成されるので、ユーザーは自分のダッシュボードのみにアクセスできます。
ただし、ダッシュボードテンプレートを使用して、共通の設定およびダッシュボードレイアウトを共有することができます。
新しいダッシュボードを作成するには、次の手順を実行します。
複数のダッシュボードを作成して、コンテンツについての情報を様々な表示からすばやく確認することができます。新しいダッシュボードを作成しやすくするために、AEM ではクローン機能が提供されています。この機能を使用して既存のダッシュボードを複製できます。ダッシュボードのクローンを作成するには、次の手順を実行します。
「ツール」セクションで、「設定コンソール」をクリックします。
ツリー内で、「ダッシュボード」をクリックします。
クローンを作成するダッシュボードをクリックします。
「クローン」をクリックします。
新しいダッシュボードの名前を入力します。
「ツール」セクションで、「設定コンソール」をクリックします。
ツリー内で、「ダッシュボード」をクリックします。
削除するダッシュボードをクリックします。
「削除」をクリックします。
「はい」をクリックして実行を確認します。
ダッシュボードコンポーネントは、通常の AEM コンポーネントにすぎません。ここでは、AEM に付属しているレポート用コンポーネントについて説明します。
AEM には、SiteCatalyst データの複数の指標をレンダリングする一連のコンポーネントが付属しています。これらのコンポーネントは、サイドキックの「ダッシュボード」セクションに一覧表示されます。
レポート用コンポーネントにはそれぞれ少なくとも次の 3 つのタブがあります。
基本:主要な設定が含まれています。
レポート:各レポートに固有の設定が含まれています。
スタイル:グラフのサイズや余白などのスタイル設定が含まれています。
レポート用コンポーネントはデフォルト設定で初期化されており、このデフォルト設定を使用してダッシュボードをすばやく設定できます。
「基本」タブから次の設定エントリにアクセスできます。
タイトル:ダッシュボードに表示されるタイトル。
要求 タイプデータの要求方法。
SiteCatalyst設定(オプション) SiteCatalystへの接続に使用する設定。指定がない場合、ダッシュボードページで(ページプロパティによって)設定されると見なされます。
レポートスイートID(オプション) グラフの生成に使用するSiteCatalystレポートスイート。
Web 統計を表示するために、取得するデータの日付範囲を定義する必要があります。「レポート」タブにある 2 つのフィールドを使用して、日付範囲を定義できます。
日付範囲を広く設定すると、ダッシュボードの応答性が低下する場合があります。
Date Fromデータの取得元 の絶対日付または相対日付。
日付 を絶対日付またはデータを取得する相対日付。
各コンポーネントで、固有の設定も定義されます。
日付 精度X軸の時間単位(日、時間など)。
指標表示するイベントのリスト。
要素:グラフ内の指標データを分類する要素のリスト。
要素:グラフ内の指標データを分類する要素。
指標表示するイベント。
いいえ. /レポートに表示される項目数。
指標表示するイベント。
要素:グラフ内の指標データを分類する要素。
このコンポーネントは、以下の設定に従い、訪問回数の多い Web サイトのセクションを示すグラフを表示します。
いいえ. /レポートに表示されるセクションの数。
日付 精度X軸の時間単位(日、時間など)。
指標表示するイベント。
要素:グラフ内の指標データを分類する要素。
ダッシュボードは通常のページ(cq:Page
)なので、あらゆるコンポーネントを使用してダッシュボードを構成できます。
デフォルトでテンプレートで有効にされているAnalyticsレポートコンポーネントを含むデフォルトのコンポーネントグループDashboard
があります。
テンプレートは、新しいダッシュボードのデフォルトのコンテンツを定義するものです。様々なタイプのダッシュボードを作成するために、複数のテンプレートを使用できます。
ダッシュボードテンプレートは他のページテンプレートと同様に作成されますが、/libs/cq/dashboards/templates/
に保存される点が異なります。「コンテンツページテンプレートの作成」の節を参照してください。
ダッシュボードテンプレートはユーザー間で共有されます。
ダッシュボードコンポーネントの開発は、通常の AEM コンポーネントの作成から成り立っています。ここでは、作成者の上位 10 人を表示するコンポーネントを例に説明します。
最上位の作成者コンポーネントは、/apps/geometrixx-outdoors/components/reporting
のリポジトリに保存され、以下で構成されます。
jcr データを読み取り、jsp
プレースホルダーを定義する html
ファイル。
データを取得して整理し、js
プレースホルダーに入力する html
ファイルを 1 つ含むクライアント側ライブラリ。
次の JavaScript ファイルは、geout.reporting.topauthors
のクライアントライブラリでコンポーネントの子として定義されます。
QueryBuilderは、cq:AuditEvent
ノードを読み取るリポジトリのクエリに使用されます。 クエリの結果として JSON オブジェクトが返され、このオブジェクトから作成者の貢献度が抽出されます。
$.ajax({
url: "/bin/querybuilder.json",
cache: false,
data: {
"orderby": "cq:time",
"orderby.sort": "desc",
"p.hits": "full",
"p.limit": 100,
"path": "/var/audit/com.day.cq.wcm.core.page/",
"type": "cq:AuditEvent"
},
dataType: "json"
}).done(function( res ) {
var authors = {};
// from JSON to Object
for(var r in res.hits) {
var userId = res.hits[r].userId;
if(userId == undefined) {
continue;
}
var auth = authors[userId] || {userId : userId};
auth.contrib = (auth.contrib || 0) +1;
authors[userId] = auth;
}
// order by contribution
var orderedByContrib = [];
for(var a in authors) {
orderedByContrib.push(authors[a]);
}
orderedByContrib.sort(function(a,b){return b.contrib - a.contrib});
// produce the list
for (var i=0, tot=orderedByContrib.length; i < tot; i++) {
var current = orderedByContrib[i];
$("<div> #" + (i + 1) +" "+ current.userId + " (" + current.contrib +" contrib.)</div>").appendTo("#authors-list");
}
});
JSP
にはglobal.jsp
とclientlib
の両方が含まれます。
<%@page session="false" contentType="text/html; charset=utf-8" %><%
%><%
%><%@include file="/libs/foundation/global.jsp?lang=ja" %><%
%>
<ui:includeClientLib categories="geout.reporting.topauthors" />
<%
String reportletTitle = properties.get("title", "Top Authors");
%>
<html>
<h3><%=xssAPI.encodeForHTML(reportletTitle) %></h3>
<div id="authors-list"></div>
</html>