Part 8 - Creating the project space homepage
Now that we have created the subprojects and also have multiple dashboards built using Reporting, it's time to bring everything together in the homepage.
In the editor, click on Page Layout, and select three column section.
First section
Project Overview
- Create a header called Project Overview and insert a text-area block underneath.
- Edit the text-area block and set Type to
area
, and Content Type torichtext
.
Second section
Project Dashboards
Create a header called Project Dashboards and add the links to Reporting dashboards underneath it.
Project Overview
Insert a header called Project Details and insert a 2 x 5 table. This table will contain information about the project's start and end dates.
- For the first three rows, name the headers Start Date, End Date and Launch Date.
- Insert a date-data block for the first three rows, set the Format to
dd MMMM yy
. - In the next row, name the header Number of subprojects.
- Insert a report-block in the row.
- Insert a content-reporter block inside the report-block, set Types to page.
- Insert a text-filter inside the content-reporter block, name the Key
content:title
and set the Exact Value toCafe Rockettoria Projects
. - Insert a report-body block under content-reporter.
- Insert a report-info block under report-body.
Edit the report-info block, name the Key
page:children > collection:size
.What does this mean?
The content-reporter block returns the page titled Cafe Rockettoria Projects,which is the name of the parent page for subprojects. In report-info the page object returns its children (subprojects) and is paired with a
collection:size
keychain to determine the number of children (subprojects) under Cafe Rockettoria Projects.In the next row, name the header Overall Status .
Insert a list-data block and name it
Overall Status
.- Inside list-data, insert four list-option blocks.
- Label these list-options as
Unstarted
,In Progress
,Awaiting Approval
andCompleted
.
Recently Updated
- Create a header called Recently Updated.
- Insert a Recently Updated macro underneath it.
Third section
Search This Project
- Create a header called Search This Project.
- Insert a Livesearch macro underneath it.
- Edit the Livesearch macro and set the Size to medium.
Subprojects in This Space
- Create a header called Subprojects in this space.
- Insert a report-list block.
- Insert a content-reporter block inside report-list.
- Edit the content-reporter, set the Types to
page
and Labels tosubproject
. - Insert a text-sort block inside content-reporter, name the Key
content:title
. - Insert a report-body block under content-reporter.
- Insert a report-info block inside report-body.
- Edit the report-info block, name the Key
content:title
and check Link To Item.
Project Members
- Create a header called Project members.
- Insert a report-list block.
- Insert a user-reporter block inside report-list.
- Edit the user-reporter, set the Groups to
pmd-project-leaders, pmd-project-members
. - Insert a text-sort block inside user-reporter, name the Key
user:full name
. - Insert a report-body block under user-reporter.
- Insert a report-info block under user-reporter.
- Edit the report-info block, name the Key
user:full name
and check Link To Item.
Project details structure
Project Details Source
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="3a3d79d7-e240-46f2-8ff1-a73bf1534537" ac:name="list-data" ac:schema-version="1">
<ac:parameter ac:name="name">Overall Status</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="bc5aef71-f6de-4cf3-8099-86feccbbea00" ac:name="list-option" ac:schema-version="1">
<ac:parameter ac:name="sortValue">1</ac:parameter>
<ac:parameter ac:name="label">Unstarted</ac:parameter>
<ac:parameter ac:name="value">Unstarted</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="1dc308a4-d0b0-4611-a03a-87fa7f8141ce" ac:name="status" ac:schema-version="1">
<ac:parameter ac:name="colour">Grey</ac:parameter>
<ac:parameter ac:name="title">Unstarted</ac:parameter>
<ac:parameter ac:name=""/>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="5053a7df-450f-4b38-ad46-bad0111b4186" ac:name="list-option" ac:schema-version="1">
<ac:parameter ac:name="sortValue">2</ac:parameter>
<ac:parameter ac:name="label">In progress</ac:parameter>
<ac:parameter ac:name="value">In progress</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="27c86cda-4642-4289-b044-05efd23bcd3f" ac:name="status" ac:schema-version="1">
<ac:parameter ac:name="colour">Yellow</ac:parameter>
<ac:parameter ac:name="title">In Progress</ac:parameter>
<ac:parameter ac:name=""/>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="d9124413-7181-4b77-ac38-3e72539eb4d2" ac:name="list-option" ac:schema-version="1">
<ac:parameter ac:name="sortValue">3</ac:parameter>
<ac:parameter ac:name="label">Awaiting approval</ac:parameter>
<ac:parameter ac:name="value">Awaiting approval</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="e8fa6644-a9fe-486e-9973-47d3ba0f1b1f" ac:name="status" ac:schema-version="1">
<ac:parameter ac:name="colour">Blue</ac:parameter>
<ac:parameter ac:name="title">Awaiting Approval</ac:parameter>
<ac:parameter ac:name=""/>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="d401ff0b-6e1e-4e8d-85a8-f79c9dc53a79" ac:name="list-option" ac:schema-version="1">
<ac:parameter ac:name="sortValue">4</ac:parameter>
<ac:parameter ac:name="label">Completed</ac:parameter>
<ac:parameter ac:name="value">Completed</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="18c4d013-92c7-4465-99b0-ac373d968a5c" ac:name="status" ac:schema-version="1">
<ac:parameter ac:name="colour">Green</ac:parameter>
<ac:parameter ac:name="title">Completed</ac:parameter>
<ac:parameter ac:name=""/>
</ac:structured-macro> </p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</p>
</div>
Subprojects in this space structure
Subprojects in this space Source
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="fe320223-7bb7-4119-bded-8770260e9b67" ac:name="report-block" ac:schema-version="1">
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="21c856ca-3d77-45f5-8806-6eaef43b90b3" ac:name="content-reporter" ac:schema-version="1">
<ac:parameter ac:name="types">page</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="bd79874b-a5e2-4eaa-890e-c7746396a761" ac:name="text-filter" ac:schema-version="1">
<ac:parameter ac:name="value">Cafe Rockettoria Projects</ac:parameter>
<ac:parameter ac:name="">content:title</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="ee86ee1d-5e5d-4c2b-83c9-d962f6427792" ac:name="report-body" ac:schema-version="1">
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="b4f1590b-0f22-4563-a846-96ffc095bf5f" ac:name="report-info" ac:schema-version="1">
<ac:parameter ac:name="">page:children > collection:size</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</p>
</div>
Project members structure
Project Members Source
<ac:structured-macro ac:macro-id="34e4560b-12e7-431f-bca8-e684092dd74f" ac:name="report-list" ac:schema-version="1">
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="c414d93c-c493-466f-913c-7c1346ad0ab5" ac:name="user-reporter" ac:schema-version="1">
<ac:parameter ac:name="groups">pmd-project-members, pmd-project-leaders</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="d1f96720-3838-476b-9cd7-c15e433a1209" ac:name="text-sort" ac:schema-version="1">
<ac:parameter ac:name="">user:full name</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="039e4743-db18-45fb-80f4-248f0b5537c1" ac:name="report-body" ac:schema-version="1">
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="eb5bd370-be14-4535-8584-e046e0c667a6" ac:name="report-info" ac:schema-version="1">
<ac:parameter ac:name="link">true</ac:parameter>
<ac:parameter ac:name="">user:full name</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
Full source
Project Space homepage Source
<ac:layout>
<ac:layout-section ac:type="three_equal">
<ac:layout-cell>
<h3>Project Overview</h3>
<hr/>
<p>
<ac:image ac:align="center" ac:border="true" ac:width="320">
<ri:attachment ri:filename="Screen Shot 2017-01-03 at 5.43.15 PM.png"/>
</ac:image>
</p>
<p> <ac:structured-macro ac:macro-id="397b88aa-1e94-4277-9d35-19c887474488" ac:name="text-data" ac:schema-version="1">
<ac:parameter ac:name="name">Project Overview</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:rich-text-body>
<p> </p>
</ac:rich-text-body>
</ac:structured-macro>
</p>
</ac:layout-cell>
<ac:layout-cell>
<h3>Project Dashboards</h3>
<hr/>
<ul>
<li>
<ac:link>
<ri:page ri:content-title="Project Status & Budget"/>
<ac:plain-text-link-body><![CDATA[Project Status & Budget]]></ac:plain-text-link-body>
</ac:link>
</li>
<li>
<ac:link>
<ri:page ri:content-title="Document Library"/>
</ac:link>
</li>
<li>
<ac:link>
<ri:page ri:content-title="Team Members"/>
</ac:link>
</li>
</ul>
<h3>
<span>Project Details</span>
</h3>
<hr/>
<p>
<span>
<br/>
</span>
</p>
<table class="wrapped">
<colgroup>
<col/>
<col/>
</colgroup>
<tbody>
<tr>
<th>Start Date</th>
<td>
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="e2e12b49-cde0-49dc-b9f2-46273f5ebe65" ac:name="date-data" ac:schema-version="1">
<ac:parameter ac:name="format">dd MMMM yyyy</ac:parameter>
<ac:parameter ac:name="name">Start Date</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:plain-text-body><![CDATA[ ]]></ac:plain-text-body>
</ac:structured-macro>
</p>
</div>
</td>
</tr>
<tr>
<th>End Date</th>
<td>
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="1e679b20-8c80-4635-ba94-c6faab118862" ac:name="date-data" ac:schema-version="1">
<ac:parameter ac:name="format">dd MMMM yyyy</ac:parameter>
<ac:parameter ac:name="name">End Date</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:plain-text-body><![CDATA[ ]]></ac:plain-text-body>
</ac:structured-macro>
</p>
</div>
</td>
</tr>
<tr>
<th>
<p>Launch Date</p>
</th>
<td>
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="c4d9c91c-ac18-40d3-beae-cfe35e1c4d47" ac:name="date-data" ac:schema-version="1">
<ac:parameter ac:name="format">dd MMMM yyyy</ac:parameter>
<ac:parameter ac:name="name">Launch Date</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:plain-text-body><![CDATA[ ]]></ac:plain-text-body>
</ac:structured-macro>
</p>
</div>
</td>
</tr>
<tr>
<th colspan="1">Number of subprojects</th>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="fe320223-7bb7-4119-bded-8770260e9b67" ac:name="report-block" ac:schema-version="1">
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="21c856ca-3d77-45f5-8806-6eaef43b90b3" ac:name="content-reporter" ac:schema-version="1">
<ac:parameter ac:name="types">page</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="bd79874b-a5e2-4eaa-890e-c7746396a761" ac:name="text-filter" ac:schema-version="1">
<ac:parameter ac:name="value">Cafe Rockettoria Projects</ac:parameter>
<ac:parameter ac:name="">content:title</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="ee86ee1d-5e5d-4c2b-83c9-d962f6427792" ac:name="report-body" ac:schema-version="1">
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="b4f1590b-0f22-4563-a846-96ffc095bf5f" ac:name="report-info" ac:schema-version="1">
<ac:parameter ac:name="">page:children > collection:size</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</p>
</div>
</td>
</tr>
<tr>
<th colspan="1">Overall status</th>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="3a3d79d7-e240-46f2-8ff1-a73bf1534537" ac:name="list-data" ac:schema-version="1">
<ac:parameter ac:name="name">Overall Status</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="bc5aef71-f6de-4cf3-8099-86feccbbea00" ac:name="list-option" ac:schema-version="1">
<ac:parameter ac:name="sortValue">1</ac:parameter>
<ac:parameter ac:name="label">Unstarted</ac:parameter>
<ac:parameter ac:name="value">Unstarted</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="1dc308a4-d0b0-4611-a03a-87fa7f8141ce" ac:name="status" ac:schema-version="1">
<ac:parameter ac:name="colour">Grey</ac:parameter>
<ac:parameter ac:name="title">Unstarted</ac:parameter>
<ac:parameter ac:name=""/>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="5053a7df-450f-4b38-ad46-bad0111b4186" ac:name="list-option" ac:schema-version="1">
<ac:parameter ac:name="sortValue">2</ac:parameter>
<ac:parameter ac:name="label">In progress</ac:parameter>
<ac:parameter ac:name="value">In progress</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="27c86cda-4642-4289-b044-05efd23bcd3f" ac:name="status" ac:schema-version="1">
<ac:parameter ac:name="colour">Yellow</ac:parameter>
<ac:parameter ac:name="title">In Progress</ac:parameter>
<ac:parameter ac:name=""/>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="d9124413-7181-4b77-ac38-3e72539eb4d2" ac:name="list-option" ac:schema-version="1">
<ac:parameter ac:name="sortValue">3</ac:parameter>
<ac:parameter ac:name="label">Awaiting approval</ac:parameter>
<ac:parameter ac:name="value">Awaiting approval</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="e8fa6644-a9fe-486e-9973-47d3ba0f1b1f" ac:name="status" ac:schema-version="1">
<ac:parameter ac:name="colour">Blue</ac:parameter>
<ac:parameter ac:name="title">Awaiting Approval</ac:parameter>
<ac:parameter ac:name=""/>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="d401ff0b-6e1e-4e8d-85a8-f79c9dc53a79" ac:name="list-option" ac:schema-version="1">
<ac:parameter ac:name="sortValue">4</ac:parameter>
<ac:parameter ac:name="label">Completed</ac:parameter>
<ac:parameter ac:name="value">Completed</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="18c4d013-92c7-4465-99b0-ac373d968a5c" ac:name="status" ac:schema-version="1">
<ac:parameter ac:name="colour">Green</ac:parameter>
<ac:parameter ac:name="title">Completed</ac:parameter>
<ac:parameter ac:name=""/>
</ac:structured-macro> </p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</p>
</div>
</td>
</tr>
</tbody>
</table>
<h3>Recently Updated</h3>
<hr/>
<p>
<ac:structured-macro ac:macro-id="a484e0c5-c4f7-44d4-9bd5-5f71c9b2c16e" ac:name="recently-updated" ac:schema-version="1">
<ac:parameter ac:name="max">5</ac:parameter>
<ac:parameter ac:name="hideHeading">true</ac:parameter>
</ac:structured-macro>
</p>
</ac:layout-cell>
<ac:layout-cell>
<h3>Search this Project</h3>
<hr/>
<p>
<ac:structured-macro ac:macro-id="56d575d3-be0c-4dd2-8223-e505998d76f7" ac:name="livesearch" ac:schema-version="1">
<ac:parameter ac:name="placeholder">Search this project</ac:parameter>
</ac:structured-macro>
</p>
<h3>Subprojects in this Space</h3>
<hr/>
<p> </p>
<ac:structured-macro ac:macro-id="aec4fae0-1f1f-47e5-a6ec-b91e963c2b68" ac:name="report-list" ac:schema-version="1">
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="ce57995e-02a0-4fe8-852b-aab7186075b7" ac:name="content-reporter" ac:schema-version="1">
<ac:parameter ac:name="types">page</ac:parameter>
<ac:parameter ac:name="labels">subproject</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="00f9028d-5e31-47c3-8975-a21d604da9c9" ac:name="text-sort" ac:schema-version="1">
<ac:parameter ac:name="">content:title</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="03a2e222-7088-4091-a01e-e62da0742600" ac:name="report-body" ac:schema-version="1">
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="5a62ccb3-2cf7-4aa5-bf7a-14eb37d278d7" ac:name="report-info" ac:schema-version="1">
<ac:parameter ac:name="link">true</ac:parameter>
<ac:parameter ac:name="">content:title</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
<h3>Project Members</h3>
<hr/>
<p> </p>
<ac:structured-macro ac:macro-id="34e4560b-12e7-431f-bca8-e684092dd74f" ac:name="report-list" ac:schema-version="1">
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="c414d93c-c493-466f-913c-7c1346ad0ab5" ac:name="user-reporter" ac:schema-version="1">
<ac:parameter ac:name="groups">pmd-project-members, pmd-project-leaders</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="d1f96720-3838-476b-9cd7-c15e433a1209" ac:name="text-sort" ac:schema-version="1">
<ac:parameter ac:name="">user:full name</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="039e4743-db18-45fb-80f4-248f0b5537c1" ac:name="report-body" ac:schema-version="1">
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="eb5bd370-be14-4535-8584-e046e0c667a6" ac:name="report-info" ac:schema-version="1">
<ac:parameter ac:name="link">true</ac:parameter>
<ac:parameter ac:name="">user:full name</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</ac:layout-cell>
</ac:layout-section>
</ac:layout>