ダッシュボード

AEM の使用時、ページやアセットなど様々なタイプの多数のコンテンツを管理できます。AEM ダッシュボードの簡単でカスタマイズ可能な方法を使用して、統合されたデータを表示するページを定義できます。

メモ

AEM ダッシュボードはユーザーごとに作成されるので、ユーザーは自分のダッシュボードのみにアクセスできます。

ただし、ダッシュボードテンプレートを使用して、共通の設定およびダッシュボードレイアウトを共有することができます。

chlimage_1-22

ダッシュボードの管理

ダッシュボードの作成

新しいダッシュボードを作成するには、次の手順を実行します。

  1. ツール」セクションで、「設定コンソール」をクリックします。
  2. ツリー内で、「ダッシュボード」をダブルクリックします。
  3. ダッシュボード」をダブルクリックします。
  4. タイトル(「My Dashboard」など)と​名前​を入力します。
  5. 作成」をクリックします。

ダッシュボードのクローン作成

複数のダッシュボードを作成して、コンテンツについての情報を様々な表示からすばやく確認することができます。新しいダッシュボードを作成しやすくするために、AEM ではクローン機能が提供されています。この機能を使用して既存のダッシュボードを複製できます。ダッシュボードのクローンを作成するには、次の手順を実行します。

  1. ツール」セクションで、「設定コンソール」をクリックします。

  2. ツリー内で、「ダッシュボード」をクリックします。

  3. クローンを作成するダッシュボードをクリックします。

  4. クローン」をクリックします。

  5. 新しいダッシュボードの​名前​を入力します。

ダッシュボードの削除

  1. ツール」セクションで、「設定コンソール」をクリックします。

  2. ツリー内で、「ダッシュボード」をクリックします。

  3. 削除するダッシュボードをクリックします。

  4. 削除」をクリックします。

  5. はい」をクリックして実行を確認します。

ダッシュボードコンポーネント

概要

ダッシュボードコンポーネントは、通常の AEM コンポーネントにすぎません。ここでは、AEM に付属しているレポート用コンポーネントについて説明します。

Web 分析レポート用コンポーネント

AEM には、SiteCatalyst データの複数の指標をレンダリングする一連のコンポーネントが付属しています。これらのコンポーネントは、サイドキックの「ダッシュボード」セクションに一覧表示されます。

レポート用コンポーネントにはそれぞれ少なくとも次の 3 つのタブがあります。

  • 基本:主要な設定が含まれています。

  • レポート:各レポートに固有の設定が含まれています。

  • スタイル:グラフのサイズや余白などのスタイル設定が含まれています。

レポート用コンポーネントはデフォルト設定で初期化されており、このデフォルト設定を使用してダッシュボードをすばやく設定できます。

基本設定

基本」タブから次の設定エントリにアクセスできます。

​タイトル:ダッシュボードに表示されるタイトル。

要求 タイプデータの要求方法。

SiteCatalyst設定(オプション) SiteCatalystへの接続に使用する設定。指定がない場合、ダッシュボードページで(ページプロパティによって)設定されると見なされます。

レポートスイートID(オプション) グラフの生成に使用するSiteCatalystレポートスイート。

レポート設定

Web 統計を表示するために、取得するデータの日付範囲を定義する必要があります。「レポート」タブにある 2 つのフィールドを使用して、日付範囲を定義できます。

メモ

日付範囲を広く設定すると、ダッシュボードの応答性が低下する場合があります。

Date Fromデータの取得元 の絶対日付または相対日付。

日付 を絶対日付またはデータを取得する相対日付。

各コンポーネントで、固有の設定も定義されます。

オーバータイムレポート

chlimage_1-26

日付 精度X軸の時間単位(日、時間など)。

​指標表示するイベントのリスト。

​要素:グラフ内の指標データを分類する要素のリスト。

ランクリストレポート

chlimage_1-27

​要素:グラフ内の指標データを分類する要素。

​指標表示するイベント。

いいえ. /​レポートに表示される項目数。

ランクレポート

chlimage_1-28

​指標表示するイベント。

​要素:グラフ内の指標データを分類する要素。

トップサイトセクションレポート

このコンポーネントは、以下の設定に従い、訪問回数の多い Web サイトのセクションを示すグラフを表示します。

chlimage_1-29

いいえ. /​レポートに表示されるセクションの数。

トレンドレポート

chlimage_1-30

日付 精度X軸の時間単位(日、時間など)。

​指標表示するイベント。

​要素:グラフ内の指標データを分類する要素。

ダッシュボードの拡張

概要

ダッシュボードは通常のページ(cq:Page)なので、あらゆるコンポーネントを使用してダッシュボードを構成できます。

デフォルトでテンプレートで有効にされているAnalyticsレポートコンポーネントを含むデフォルトのコンポーネントグループDashboardがあります。

Creating A Dashboard Template

テンプレートは、新しいダッシュボードのデフォルトのコンテンツを定義するものです。様々なタイプのダッシュボードを作成するために、複数のテンプレートを使用できます。

ダッシュボードテンプレートは他のページテンプレートと同様に作成されますが、/libs/cq/dashboards/templates/に保存される点が異なります。「コンテンツページテンプレートの作成」の節を参照してください。

メモ

ダッシュボードテンプレートはユーザー間で共有されます。

ダッシュボードコンポーネントの開発

ダッシュボードコンポーネントの開発は、通常の AEM コンポーネントの作成から成り立っています。ここでは、作成者の上位 10 人を表示するコンポーネントを例に説明します。

chlimage_1-31

最上位の作成者コンポーネントは、/apps/geometrixx-outdoors/components/reportingのリポジトリに保存され、以下で構成されます。

  1. jcr データを読み取り、jsp プレースホルダーを定義する html ファイル。

  2. データを取得して整理し、js プレースホルダーに入力する html ファイルを 1 つ含むクライアント側ライブラリ。

chlimage_1-32

次の JavaScript ファイルは、geout.reporting.topauthors のクライアントライブラリでコンポーネントの子として定義されます。

QueryBuilderは、cq:AuditEventノードを読み取るリポジトリのクエリに使用されます。 クエリの結果として JSON オブジェクトが返され、このオブジェクトから作成者の貢献度が抽出されます。

top_authors.js

$.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.jspclientlibの両方が含まれます。

top_authors.jsp

<%@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>

このページ