diff --git a/dashboard/xdocs/authoring.xml b/dashboard/xdocs/authoring.xml
new file mode 100644
index 00000000..a2fdec36
--- /dev/null
+++ b/dashboard/xdocs/authoring.xml
@@ -0,0 +1,73 @@
+
+
+ The dashboard plugin supports custom aggregators. This page is a
+ tutorial explaining how to create a custom aggregator.
+
+ An aggregator is a Jelly script that you plug in the dashboard plugin.
+ This Jelly script is called on each Maven subproject to extract a
+ single piece of data (ex: number of checkstyle errors, Clover test
+ coverage percentage, etc).
+
+ The Jelly script must output the aggregator data for a project.
+ For example:
+
+ Note that the Jelly script has access to all of the Dashboard plugin
+ properties.
+
+ Add the following properties to your master project's
+
+ If there is no existing goal that generates the data you need, create
+ a custom goal in your top level
+ If you think your aggregator could be useful to others, feel free to
+ donate it to the Maven project.
+ project.properties:
+ maven.xml. Make sure your
+ subprojects inherit from this top level project (so that
+ maven.xml is inherited).
+
maven.dashboard.report.showempty property. If
set to false, the HTML report table will not contain entries for
diff --git a/dashboard/xdocs/navigation.xml b/dashboard/xdocs/navigation.xml
index 42378cdb..22f99cb8 100644
--- a/dashboard/xdocs/navigation.xml
+++ b/dashboard/xdocs/navigation.xml
@@ -11,6 +11,7 @@