功能板 dashboards
使用AEM时,您可以管理多种不同类型的内容(例如,页面、资源)。 AEM功能板提供了一种易于使用和自定义的方法来定义显示合并数据的页面。
管理功能板 administering-dashboards
创建功能板 creating-a-dashboard
- 在 工具 部分中,单击 配置控制台。
- 在树中,双击 仪表板。
- 单击 新仪表板。
- 键入 Title (例如,我的仪表板)和 Name。
- 单击 创建。
克隆功能板 cloning-a-dashboard
您可能希望具有多个功能板,以便从不同视图快速查看有关您的内容的信息。 为了帮助您创建新功能板,AEM提供了一个克隆功能,您可以使用该功能复制现有功能板。 要克隆功能板,请按照以下步骤操作:
-
在 工具 部分中,单击 配置控制台。
-
在树中,单击 仪表板。
-
单击要克隆的功能板。
-
单击 克隆。
-
键入新仪表板的 Name。
删除功能板 removing-a-dashboard
-
在 工具 部分中,单击 配置控制台。
-
在树中,单击 仪表板。
-
单击要删除的仪表板。
-
单击 删除。
-
单击 是 以确认。
功能板组件 dashboard-components
概述 overview
仪表板组件只是常规的AEM组件。 本节介绍AEM附带的报表组件。
网站分析报表组件 web-analytics-reporting-components
AEM附带一组组件,这些组件呈现SiteCatalyst数据的多个指标。 这些组件在Sidekick中的 仪表板 部分下列出。
每个报表组件至少提供三个选项卡:
-
基本:包含主配置。
-
报告 包含每个报告的特定配置。
-
样式:包含样式配置,如图表大小和边距。
报表组件使用默认配置进行初始化,可帮助您快速设置功能板。
基本配置 basic-configuration
基本 选项卡提供对以下配置项的访问:
标题 仪表板上显示的标题。
请求类型 请求数据的方式。
SiteCatalyst配置(可选) 要用于连接到SiteCatalyst的配置。 如果未提供,则假定已在功能板页面(通过页面属性)上配置配置。
报表包ID(可选) 要用于生成图形的SiteCatalyst报表包。
报告配置 report-configuration
要显示Web统计信息,您需要定义要收集的数据的日期范围。 报表 选项卡提供了两个字段来定义该范围。
起始日期 从中获取数据的绝对或相对日期。
截止日期 获取数据的绝对或相对日期。
每个组件还会定义特定的设置。
超时报表 overtime-report
日期粒度 X轴的时间单位(例如,天、小时)。
量度 要显示的事件列表。
元素 划分图形中量度数据的元素列表。
排名列表报表 ranked-list-report
元素 在图形中划分量度数据的元素。
量度 要显示的事件。
否。 排名最前的项目 报告显示的项目数。
排名报表 ranked-report
量度 要显示的事件。
元素 在图形中划分量度数据的元素。
顶级网站区域报表 top-site-section-report
此组件根据以下配置显示一个图形,其中显示了网站中访问次数最多的部分。
否。 排名最前的项目 报表中显示的节数。
趋势报表 trended-report
日期粒度 X轴的时间单位(例如,天、小时)。
量度 要显示的事件。
元素 在图形中划分量度数据的元素。
扩展功能板 extending-dashboard
概述 overview-1
仪表板是普通页面(cq:Page
),因此任何组件都可以用于组装仪表板。
有一个默认组件组Dashboard
,其中包含模板上默认启用的Analytics报表组件。
创建功能板模板 creating-a-dashboard-template
模板定义新功能板的默认内容。 您可以使用多个模板来创建不同类型的功能板。
功能板模板与其他页面模板一样创建,只是它们存储在/libs/cq/dashboards/templates/
下。 请参阅创建Contentpage模板部分。
开发功能板组件 developing-a-dashboard-component
开发功能板组件包括创建常规AEM组件。 本节介绍显示前10个贡献者的组件的示例。
顶级创作组件存储在/apps/geometrixx-outdoors/components/reporting
的存储库中,由:
-
读取jcr数据并定义
html
占位符的jsp
文件。 -
客户端库,其中包含一个
js
文件,该文件用于提取和排序数据,然后填充html
占位符。
以下JavaScript文件在geout.reporting.topauthors
客户端库中定义为组件本身的子项。
QueryBuilder用于查询存储库以读取cq:AuditEvent
节点。 查询结果是JSON对象,将从该对象中提取作者贡献。
top_authors.js 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.jsp
和clientlib
。
top_authors.jsp top-authors-jsp
<%@page session="false" contentType="text/html; charset=utf-8" %><%
%><%
%><%@include file="/libs/foundation/global.jsp" %><%
%>
<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>