Part 2 - Creating a subproject template
- Li Xuan Liew (Deactivated)
- Robert Alexander Marshall
Overview
The subproject live template is used to store important subproject details, such as start/end dates, milestones and related documents.
Using Scaffolding elements, we will build a form for storing project data similar to the one above .
What's in this guide
Under each section is the source of that particular template. Alternatively, the full template is available in the last section.
The templates can be easily inserted into your Confluence instance using the Confluence Source Editor.
Creating a Template
In the confluence side bar
go to Space tools
select Content Tools
In the User Created Templates section
choose Create New Template
When creating a field with predefined options, choose
select for drop-down menus
check for checklist
autocomplete for input field with live search
Subproject Details
create a 2 x 8 table
select the Heading Column button so that the table headers are vertical
Project Title
Name the first row Title of Project and insert a Reporting block as below.
Project Type
In a new row
type Project Type
Next, create a dropdown menu with some predefined categories to describe the nature of the project.
insert a list-data block
nest the list-data with some list-option blocks
Each list-option is an entry in the dropdown menu.
Project Status
Next
create a row for Project Status
create a list-data block
nest the list-data with list-option blocks
insert the Status macro to customise selection items
Project Lead
Next
create the Project leader row
insert a list-data block
nest a user-options block inside the list-data block
For the groups parameter
insert a user group with all the project leaders
In our example, this group parameter value is pmd-project-leaders.
Project Members
Now for Project members
create a list-data block
choose
auto complete
fortype
This means the field will allow livesearch during input.
Project Dates
Next
create two date fields for the start and end date of project
insert a date-data block for each
For the date format, use dd MMMM yyyy
.
Days Left: if-else statements and parameter injection
Finally, create a simple if-else statement that will display the days left for ongoing projects or display a completed message if the project is over.
With report-eval, we can do calculations on predefined variables, suppliers or Scaffolding data blocks.
For the full list of calculations, visit our documentation.
In the report-eval block, we will perform the calculation of Days Left using parameter injection
set the parameters for report-eval
Name - Days Left
Default Value - 0
Format - ##,00
Check the Hidden option to use the result of this calculation as a variable
For the report-eval calculation formula, type
(%data:Project End Date > date:milliseconds% - %global:current date > date:milliseconds%)/1000/60/60/24
In the first part
%data:Project End Date
calls a Scaffolding Data block that contains the end date of the project
Next
a keychain is used to convert this date object to milliseconds
The second part
%global:current date
calls the current date via the Global supplier
Then
a keychain is also used to convert the date object into milliseconds
Together, the above formula means
convert both end date and current date into milliseconds
get the difference (in milliseconds)
convert back to days with division
The created variable holds the difference of end date and current date in days.
The report-eval variable can then be accessed via the Variable supplier. The key is the name of the report-eval block (variable:Days Left
).
To create a report-block macro for the if-else statement, in the report-block macro
insert a local-reporter block
set the keychain to
@self
Next
create a number-filter macro
set the keychain to
variable:Days Left
set Above Value to
0
This creates the 'if' statement if Days Left is above 0.
insert a report-body block
set injected to
true
Inside the report-body block
type
%variable:Days Left > number:#% day(s)
The parameter injection above is paired with a keychain that formats the Number as #. This formats the display of Days Left
as a whole number.
Now create the 'else' statement
insert another number-filter macro
set the keychain to
variable:Days Left
set Below Value to
0
This creates the 'else' statement else if Days Left is below 0.
insert a report-body block
type This project has ended
This displays a report-block as below.
Subproject details livetemplate
<table class="relative-table wrapped" style="width: 37.7372%;">
<colgroup>
<col style="width: 36.1757%;"/>
<col style="width: 63.5228%;"/>
</colgroup>
<tbody>
<tr>
<th>Title of project</th>
<td>
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="1eb06ca4-9a7f-4946-9c72-6f493f8f7f8f" ac:name="report-info" ac:schema-version="1">
<ac:parameter ac:name="">content:title</ac:parameter>
</ac:structured-macro>
</p>
</div>
</td>
</tr>
<tr>
<th colspan="1">Project type</th>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="06461ea1-55c1-4dad-bbc0-bb49b59e26b4" ac:name="list-data" ac:schema-version="1">
<ac:parameter ac:name="name">Project Type</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="95e3e9b0-111c-49a3-9b38-c82e97e2afc7" ac:name="list-option" ac:schema-version="1">
<ac:parameter ac:name="sortValue">1</ac:parameter>
<ac:parameter ac:name="label">Equipment</ac:parameter>
<ac:parameter ac:name="value">Equipment</ac:parameter>
<ac:rich-text-body>
<p> Equipment</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="27e84db2-015a-41e9-9513-360260d38343" ac:name="list-option" ac:schema-version="1">
<ac:parameter ac:name="sortValue">2</ac:parameter>
<ac:parameter ac:name="label">Human Resources</ac:parameter>
<ac:parameter ac:name="value">Human Resources</ac:parameter>
<ac:rich-text-body>
<p>Human Resources</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="eebd563b-e845-4f89-a08b-773e9fb1bdd4" ac:name="list-option" ac:schema-version="1">
<ac:parameter ac:name="sortValue">3</ac:parameter>
<ac:parameter ac:name="label">Marketing</ac:parameter>
<ac:parameter ac:name="value">Marketing</ac:parameter>
<ac:rich-text-body>
<p>Marketing</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="04eeed5f-dfef-492b-bbe4-ffec0ee09d94" ac:name="list-option" ac:schema-version="1">
<ac:parameter ac:name="sortValue">4</ac:parameter>
<ac:parameter ac:name="label">Software</ac:parameter>
<ac:parameter ac:name="value">Software</ac:parameter>
<ac:rich-text-body>
<p>Software</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="3b4806a9-6e50-4d52-9393-91d79b922e15" ac:name="list-option" ac:schema-version="1">
<ac:parameter ac:name="sortValue">5</ac:parameter>
<ac:parameter ac:name="label">Others</ac:parameter>
<ac:parameter ac:name="value">Others</ac:parameter>
<ac:rich-text-body>
<p>Others</p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</p>
</div>
</td>
</tr>
<tr>
<th colspan="1">Project status</th>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="7b9af378-8611-4bc1-86df-a576367a655b" ac:name="list-data" ac:schema-version="1">
<ac:parameter ac:name="name">Project 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>
<tr>
<th>Project leader</th>
<td>
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="721b955c-610a-4a26-997f-18e9da0339fd" ac:name="list-data" ac:schema-version="1">
<ac:parameter ac:name="name">Project Leader</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="399b7252-b502-4f71-b6ad-9f3c6e3d98a5" ac:name="user-options" ac:schema-version="1">
<ac:parameter ac:name="groups">pmd-project-leaders</ac:parameter>
<ac:rich-text-body>
<p> </p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</p>
</div>
</td>
</tr>
<tr>
<th>Project members</th>
<td>
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="86803746-577d-420f-b6cf-47fa43a0c9ea" ac:name="list-data" ac:schema-version="1">
<ac:parameter ac:name="multiple">true</ac:parameter>
<ac:parameter ac:name="name">Project Members</ac:parameter>
<ac:parameter ac:name="type">auto complete</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:parameter ac:name="blankText">No members</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="bb91a8ee-a1cb-41ab-ab06-8c967c7ac7c7" ac:name="user-options" ac:schema-version="1">
<ac:parameter ac:name="groups">pmd-project-members</ac:parameter>
<ac:rich-text-body>
<p> </p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</p>
</div>
</td>
</tr>
<tr>
<th>Start date</th>
<td>
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="b4b0ca7a-ec0c-4d7d-ae2c-58ce87ca0fe9" ac:name="date-data" ac:schema-version="1">
<ac:parameter ac:name="format">dd MMMM yyyy</ac:parameter>
<ac:parameter ac:name="name">Project 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="f6f0a856-87d6-4aff-a616-e446a78d9bea" ac:name="date-data" ac:schema-version="1">
<ac:parameter ac:name="format">dd MMMM yyyy</ac:parameter>
<ac:parameter ac:name="name">Project 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 colspan="1">Days left</th>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="e1062e71-f8d0-4427-8882-e44dac773b66" ac:name="report-eval" ac:schema-version="1">
<ac:parameter ac:name="default">0</ac:parameter>
<ac:parameter ac:name="hidden">true</ac:parameter>
<ac:parameter ac:name="format">##,00</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:parameter ac:name="">Days Left</ac:parameter>
<ac:plain-text-body><![CDATA[(%data:Project End Date > date:milliseconds% - %global:current date > date:milliseconds%)/1000/60/60/24]]></ac:plain-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="cb311386-9493-44a6-af29-ab7c190ed0c1" 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="4e7c657c-0c99-4c95-b343-8f3f58fe4c05" ac:name="local-reporter" ac:schema-version="1">
<ac:parameter ac:name="">@self</ac:parameter>
<ac:rich-text-body> </ac:rich-text-body>
</ac:structured-macro>
<p>
<ac:structured-macro ac:macro-id="8381c68f-f058-47c6-839f-2a0f47f460cb" ac:name="number-filter" ac:schema-version="1">
<ac:parameter ac:name="aboveValue">0</ac:parameter>
<ac:parameter ac:name="">variable:Days Left</ac:parameter>
</ac:structured-macro>
</p>
<ac:structured-macro ac:macro-id="af877eef-0630-442c-adf7-dc516a17a520" ac:name="report-body" ac:schema-version="1">
<ac:parameter ac:name="injected">true</ac:parameter>
<ac:rich-text-body>
<p>%variable:Days Left > number:#% day(s)</p>
</ac:rich-text-body>
</ac:structured-macro>
<p>
<ac:structured-macro ac:macro-id="20f5798d-143e-41d8-9569-dd0564fd327c" ac:name="number-filter" ac:schema-version="1">
<ac:parameter ac:name="belowValue">0</ac:parameter>
<ac:parameter ac:name="">variable:Days Left</ac:parameter>
</ac:structured-macro>
</p>
<ac:structured-macro ac:macro-id="90136fad-3ffa-45ae-bfa9-17fd2df2f8ea" ac:name="report-body" ac:schema-version="1">
<ac:rich-text-body>
<p>This project has ended</p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</p>
</div>
</td>
</tr>
</tbody>
</table>
Milestones
Now create a form that tabulates all the related milestones of each subproject, along with the due date and budget.
Add a milestones table
insert a table-data macro
name it
Project Milestones
set initial rows to
1
Within the table-data macro
insert a 10 x 2 table
Select the Heading Row button so that the table headers are horizontal.
Milestone ID
name the first column ID
insert a number-data macro in the second row.
Milestone name
name the second column Name
insert a text-data macro in the second row
Choose line
or area
for the type, depending on the length of milestone names.
Due date
name the third column Due date
insert a date-data macro in the second row
Enter dd MMMM yyyy
for the Display Format.
Status
name the fourth column Status
insert a list-data macro in the second row
nest the list-data macro with some list-option macro blocks
As in the previous section, Project Details, make a dropdown menu to choose the milestone status.
Again, use the Status macro to customise selection items with colours.
Estimated time
name the fifth column Estimated time
insert a number-data block (to allow user to input hours estimated to complete a milestone)
Additionally, check Allow Decimal Values if you'd like users to input for example, 2.5 hours.
After the number-data block
type in hours (as below)
Actual time
name the sixth column Actual time
insert a number-data block (to allow user to input actual hours spent to achieve a milestone)
Additionally, check Allow Decimal Values if you'd like users to input for example, 2.5 hours.
After the number-data block
type in hours, similar to the previous example
Time difference
name the seventh column Time difference
insert a eval-data block (to calculate the difference between actual time and estimated time)
In the eval-data block
type
${Actual Time}-${Estimated Time}
A prefix is not needed here because eval-data is used strictly for Scaffolding data blocks only.
For more information, visit our documentation.
After the number-data block
type in hours, similar to the previous example
Budget
name the eighth column Budget
insert a number-data block (to allow user to input the budget allocated for a particular milestone)
edit the number-data block to
check Allow Decimal Values
set the Display Format as
$#,##0.00
Expenditure
name the ninth column Actual expenditure
insert a number-data block (to allow user to input the actual amount spent on a particular milestone)
edit the number-data block to
check Allow Decimal Values
set the Display Format as
$#,##0.00
Expenditure Difference
name the last column Expenditure difference
insert an eval-data block (to calculate the difference between actual expenditure and budget allocation)
edit the eval-data block to
set the Display Format as
$#,##0.00
In the eval-data block
type
${Budget}-${Expenditure}
Total Budget and Expenditure
After the table, add two eval-data blocks to calculate the sum of all milestone's budget allocation and actual expenditure.
Subproject milestones livetemplate
<h2>Milestones</h2>
<ac:structured-macro ac:macro-id="02300977-32f9-47f8-b823-7bd706ddde57" ac:name="table-data" ac:schema-version="1">
<ac:parameter ac:name="name">Project Milestones</ac:parameter>
<ac:parameter ac:name="initialRows">1</ac:parameter>
<ac:rich-text-body>
<table class="relative-table wrapped" style="width: 100.0%;">
<colgroup>
<col/>
<col style="width: 16.3506%;"/>
<col style="width: 16.3506%;"/>
<col style="width: 18.24%;"/>
<col style="width: 16.3506%;"/>
<col style="width: 16.3506%;"/>
<col style="width: 16.3506%;"/>
<col/>
<col/>
<col/>
</colgroup>
<tbody>
<tr>
<th colspan="1">ID</th>
<th>
<p>Name</p>
</th>
<th colspan="1">Due Date</th>
<th colspan="1">Status</th>
<th colspan="1">
<span>Estimated time</span>
</th>
<th>Actual time</th>
<th>Time difference</th>
<th colspan="1">Budget</th>
<th colspan="1">Actual expenditure</th>
<th colspan="1">Expenditure Difference</th>
</tr>
<tr>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="48cbccf4-7374-494a-ae3a-6a6ddeaa70ef" ac:name="number-data" ac:schema-version="1">
<ac:parameter ac:name="minValue">1</ac:parameter>
<ac:parameter ac:name="name">Milestone ID</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>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="5f5a0300-b130-4e34-a483-f95d8aeca74f" ac:name="text-data" ac:schema-version="1">
<ac:parameter ac:name="name">Name</ac:parameter>
<ac:parameter ac:name="type">line</ac:parameter>
<ac:parameter ac:name="content">text</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>
</div>
</td>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="0ae3bac1-4a49-4a48-9804-89232ba09483" ac:name="date-data" ac:schema-version="1">
<ac:parameter ac:name="format">dd MMMM yyyy</ac:parameter>
<ac:parameter ac:name="name">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>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="b201093c-948b-49d5-94b9-6791ff312376" ac:name="list-data" ac:schema-version="1">
<ac:parameter ac:name="name">Status</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="1eb3887e-33ed-4191-b0fd-310c920633b9" 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="a7a95a35-01f9-44a0-a66e-674bb4a28b08" 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="18967985-f49f-45e4-bd54-2a0103a7d0e9" 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="d5094294-8d8a-4a40-aa81-1c763c3bc5fb" 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="88e7dfd5-da14-45c9-9128-b85b7a99f439" 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="e9907196-c52b-49c4-b82c-c28df13f1149" 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="bc457abe-1f19-46ad-9d59-7630f4105588" 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="5a51a925-52ce-4218-b2d4-c1d1de8df594" 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>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="82c3d400-8d1e-4445-9ba4-ee5b23a1ea5b" ac:name="number-data" ac:schema-version="1">
<ac:parameter ac:name="name">Estimated Time</ac:parameter>
<ac:parameter ac:name="decimal">true</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>hours<p> </p>
</div>
</td>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="2fe01a8b-f277-49c7-ab5f-141034afeaa3" ac:name="number-data" ac:schema-version="1">
<ac:parameter ac:name="name">Actual Time</ac:parameter>
<ac:parameter ac:name="decimal">true</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>hours<p> </p>
</div>
</td>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="9fc6f0c0-2f20-4bea-8a5a-cfab409512ca" ac:name="eval-data" ac:schema-version="1">
<ac:parameter ac:name="name">Time Difference</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:plain-text-body><![CDATA[${Actual Time}-${Estimated Time}]]></ac:plain-text-body>
</ac:structured-macro>
</p>hours<p> </p>
</div>
</td>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="54c0e6a7-d281-47ff-a44d-ed2e032f65f9" ac:name="number-data" ac:schema-version="1">
<ac:parameter ac:name="format">$#,##0.00</ac:parameter>
<ac:parameter ac:name="name">Budget</ac:parameter>
<ac:parameter ac:name="decimal">true</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>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="3d11761c-2359-4943-96c0-01d71b87799f" ac:name="number-data" ac:schema-version="1">
<ac:parameter ac:name="format">$#,##0.00</ac:parameter>
<ac:parameter ac:name="name">Expenditure</ac:parameter>
<ac:parameter ac:name="decimal">true</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>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="ed54b449-0c4c-4af8-8737-c2ee61253e53" ac:name="eval-data" ac:schema-version="1">
<ac:parameter ac:name="format">$#,##0.00</ac:parameter>
<ac:parameter ac:name="name">Project Budget Difference</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:plain-text-body><![CDATA[${Budget}-${Expenditure}]]></ac:plain-text-body>
</ac:structured-macro>
</p>
</div>
</td>
</tr>
</tbody>
</table>
</ac:rich-text-body>
</ac:structured-macro>
<p> </p>
<h4>Total budget:</h4>
<p>
<ac:structured-macro ac:macro-id="18443199-58ab-489d-8f6f-a4506f180a11" ac:name="eval-data" ac:schema-version="1">
<ac:parameter ac:name="format">$#,##0.00</ac:parameter>
<ac:parameter ac:name="name">Budget Total</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:plain-text-body><![CDATA[sumtable("Project Milestones", "Budget")]]></ac:plain-text-body>
</ac:structured-macro>
</p>
<h4>Total expenditure:</h4>
<p>
<ac:structured-macro ac:macro-id="2a409a81-f48d-4406-bce3-1991cd3f72cb" ac:name="eval-data" ac:schema-version="1">
<ac:parameter ac:name="format">$#,##0.00</ac:parameter>
<ac:parameter ac:name="name">Expenditure Total</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:plain-text-body><![CDATA[sumtable("Project Milestones", "Expenditure")]]></ac:plain-text-body>
</ac:structured-macro>
</p>
Notes section
Create a Notes section for extra notes related to the project, or other details that are not captured in the Milestones section.
The hidden-data block shows a message when user has not added any notes in the text-data block (Optional).
Remember to state the name of the macro block for the condition to be based in hidden-data.
In this case, we set the name of our text-data block as Project Notes, so the condition for hidden-data is when Project Notes is not empty, hide this message.
Subproject notes livetemplate
<h2>Notes</h2>
<p>
<ac:structured-macro ac:macro-id="2abf2f98-7d7f-458b-bf5b-a327eea9e277" ac:name="hidden-data" ac:schema-version="1">
<ac:parameter ac:name="whenNotEmpty">Project Notes</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:rich-text-body>
<p>
<em>No notes for this project.</em>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="b557f535-98ad-44cc-92f7-8b6a73a2f45c" ac:name="text-data" ac:schema-version="1">
<ac:parameter ac:name="name">Project Notes</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>
Related Documents section
This section is useful when documents like invoices, quotations are related to a particular subproject.
The attachment-data block allows users to quickly upload subproject related documents and find them easily in the future.
Similar to the Notes section, there is a hidden-data block that shows a message when there are no attachments in this section.
insert a hidden-data block
set When Has Rows to Related Documents
Now
insert a table-data block
name the table-data block Related Documents.
In the table-data block
insert 2 x 2 table
Select the Heading Row button so that the table headers are horizontal.
name the first column Attachment
insert an attachment-data macro in the second row
name the second column Description
insert a text-data macro in the second row
edit the text-data macro
choose either
line
orarea
for the type, depending on the length of attachment descriptions
Subproject documents livetemplate
<h2>Related Documents</h2>
<p>
<ac:structured-macro ac:macro-id="1e600d57-9846-477e-aa4c-bef1be9a22d8" ac:name="hidden-data" ac:schema-version="1">
<ac:parameter ac:name="whenHasRows">Related Documents</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:rich-text-body>
<p>
<em>No attachments for this project.</em>
</p>
</ac:rich-text-body>
</ac:structured-macro>
</p>
<ac:structured-macro ac:macro-id="f1d4bf0a-ae16-49a2-bc24-a47510f27cb7" ac:name="table-data" ac:schema-version="1">
<ac:parameter ac:name="name">Related Documents</ac:parameter>
<ac:parameter ac:name="initialRows">1</ac:parameter>
<ac:rich-text-body>
<table class="wrapped relative-table" style="width: 45.7411%;">
<colgroup>
<col style="width: 59.0164%;"/>
<col style="width: 40.9836%;"/>
</colgroup>
<tbody>
<tr>
<th>Attachment</th>
<th>Description</th>
</tr>
<tr>
<td>
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="24bd0a56-44c1-4de5-bd36-17766e801014" ac:name="attachment-data" ac:schema-version="1">
<ac:parameter ac:name="include">.*png</ac:parameter>
<ac:parameter ac:name="name">Attachment</ac:parameter>
</ac:structured-macro>
</p>
</div>
</td>
<td>
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="c39a80f7-702f-4543-8760-3cf339374ed5" ac:name="text-data" ac:schema-version="1">
<ac:parameter ac:name="name">Attachment description</ac:parameter>
<ac:parameter ac:name="type">line</ac:parameter>
<ac:parameter ac:name="content">text</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>
</div>
</td>
</tr>
</tbody>
</table>
</ac:rich-text-body>
</ac:structured-macro>
Full source
<table class="relative-table wrapped" style="width: 37.7372%;">
<colgroup> <col style="width: 36.1757%;"/> <col style="width: 63.5228%;"/> </colgroup>
<tbody>
<tr>
<th>Title of project</th>
<td>
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="1eb06ca4-9a7f-4946-9c72-6f493f8f7f8f" ac:name="report-info" ac:schema-version="1">
<ac:parameter ac:name="">content:title</ac:parameter>
</ac:structured-macro>
</p>
</div>
</td>
</tr>
<tr>
<th colspan="1">Project type</th>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="06461ea1-55c1-4dad-bbc0-bb49b59e26b4" ac:name="list-data" ac:schema-version="1">
<ac:parameter ac:name="name">Project Type</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="95e3e9b0-111c-49a3-9b38-c82e97e2afc7" ac:name="list-option" ac:schema-version="1">
<ac:parameter ac:name="sortValue">1</ac:parameter>
<ac:parameter ac:name="label">Equipment</ac:parameter>
<ac:parameter ac:name="value">Equipment</ac:parameter>
<ac:rich-text-body>
<p> Equipment</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="27e84db2-015a-41e9-9513-360260d38343" ac:name="list-option" ac:schema-version="1">
<ac:parameter ac:name="sortValue">2</ac:parameter>
<ac:parameter ac:name="label">Human Resources</ac:parameter>
<ac:parameter ac:name="value">Human Resources</ac:parameter>
<ac:rich-text-body>
<p>Human Resources</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="eebd563b-e845-4f89-a08b-773e9fb1bdd4" ac:name="list-option" ac:schema-version="1">
<ac:parameter ac:name="sortValue">3</ac:parameter>
<ac:parameter ac:name="label">Marketing</ac:parameter>
<ac:parameter ac:name="value">Marketing</ac:parameter>
<ac:rich-text-body>
<p>Marketing</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="04eeed5f-dfef-492b-bbe4-ffec0ee09d94" ac:name="list-option" ac:schema-version="1">
<ac:parameter ac:name="sortValue">4</ac:parameter>
<ac:parameter ac:name="label">Software</ac:parameter>
<ac:parameter ac:name="value">Software</ac:parameter>
<ac:rich-text-body>
<p>Software</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="3b4806a9-6e50-4d52-9393-91d79b922e15" ac:name="list-option" ac:schema-version="1">
<ac:parameter ac:name="sortValue">5</ac:parameter>
<ac:parameter ac:name="label">Others</ac:parameter>
<ac:parameter ac:name="value">Others</ac:parameter>
<ac:rich-text-body>
<p>Others</p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</p>
</div>
</td>
</tr>
<tr>
<th colspan="1">Project status</th>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="7b9af378-8611-4bc1-86df-a576367a655b" ac:name="list-data" ac:schema-version="1">
<ac:parameter ac:name="name">Project 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>
<tr>
<th>Project leader</th>
<td>
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="721b955c-610a-4a26-997f-18e9da0339fd" ac:name="list-data" ac:schema-version="1">
<ac:parameter ac:name="name">Project Leader</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="399b7252-b502-4f71-b6ad-9f3c6e3d98a5" ac:name="user-options" ac:schema-version="1">
<ac:parameter ac:name="groups">pmd-project-leaders</ac:parameter>
<ac:rich-text-body>
<p> </p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</p>
</div>
</td>
</tr>
<tr>
<th>Project members</th>
<td>
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="86803746-577d-420f-b6cf-47fa43a0c9ea" ac:name="list-data" ac:schema-version="1">
<ac:parameter ac:name="multiple">true</ac:parameter>
<ac:parameter ac:name="name">Project Members</ac:parameter>
<ac:parameter ac:name="type">auto complete</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:parameter ac:name="blankText">No members</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="bb91a8ee-a1cb-41ab-ab06-8c967c7ac7c7" ac:name="user-options" ac:schema-version="1">
<ac:parameter ac:name="groups">pmd-project-members</ac:parameter>
<ac:rich-text-body>
<p> </p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</p>
</div>
</td>
</tr>
<tr>
<th>Start date</th>
<td>
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="b4b0ca7a-ec0c-4d7d-ae2c-58ce87ca0fe9" ac:name="date-data" ac:schema-version="1">
<ac:parameter ac:name="format">dd MMMM yyyy</ac:parameter>
<ac:parameter ac:name="name">Project 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="f6f0a856-87d6-4aff-a616-e446a78d9bea" ac:name="date-data" ac:schema-version="1">
<ac:parameter ac:name="format">dd MMMM yyyy</ac:parameter>
<ac:parameter ac:name="name">Project 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 colspan="1">Days left</th>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="e1062e71-f8d0-4427-8882-e44dac773b66" ac:name="report-eval" ac:schema-version="1">
<ac:parameter ac:name="default">0</ac:parameter>
<ac:parameter ac:name="hidden">true</ac:parameter>
<ac:parameter ac:name="format">##,00</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:parameter ac:name="">Days Left</ac:parameter>
<ac:plain-text-body><![CDATA[(%data:Project End Date > date:milliseconds% - %global:current date > date:milliseconds%)/1000/60/60/24]]></ac:plain-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="cb311386-9493-44a6-af29-ab7c190ed0c1" 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="4e7c657c-0c99-4c95-b343-8f3f58fe4c05" ac:name="local-reporter" ac:schema-version="1">
<ac:parameter ac:name="">@self</ac:parameter>
<ac:rich-text-body> </ac:rich-text-body>
</ac:structured-macro>
<p>
<ac:structured-macro ac:macro-id="8381c68f-f058-47c6-839f-2a0f47f460cb" ac:name="number-filter" ac:schema-version="1">
<ac:parameter ac:name="aboveValue">0</ac:parameter>
<ac:parameter ac:name="">variable:Days Left</ac:parameter>
</ac:structured-macro>
</p>
<ac:structured-macro ac:macro-id="af877eef-0630-442c-adf7-dc516a17a520" ac:name="report-body" ac:schema-version="1">
<ac:parameter ac:name="injected">true</ac:parameter>
<ac:rich-text-body>
<p>%variable:Days Left > number:#% day(s)</p>
</ac:rich-text-body>
</ac:structured-macro>
<p>
<ac:structured-macro ac:macro-id="20f5798d-143e-41d8-9569-dd0564fd327c" ac:name="number-filter" ac:schema-version="1">
<ac:parameter ac:name="belowValue">0</ac:parameter>
<ac:parameter ac:name="">variable:Days Left</ac:parameter>
</ac:structured-macro>
</p>
<ac:structured-macro ac:macro-id="90136fad-3ffa-45ae-bfa9-17fd2df2f8ea" ac:name="report-body" ac:schema-version="1">
<ac:rich-text-body>
<p>This project has ended</p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</p>
</div>
</td>
</tr>
</tbody>
</table>
<h2>Milestones</h2>
<ac:structured-macro ac:macro-id="02300977-32f9-47f8-b823-7bd706ddde57" ac:name="table-data" ac:schema-version="1">
<ac:parameter ac:name="name">Project Milestones</ac:parameter>
<ac:parameter ac:name="initialRows">1</ac:parameter>
<ac:rich-text-body>
<table class="relative-table wrapped" style="width: 100.0%;">
<colgroup> <col/> <col style="width: 16.3506%;"/> <col style="width: 16.3506%;"/> <col style="width: 18.24%;"/> <col style="width: 16.3506%;"/> <col style="width: 16.3506%;"/> <col style="width: 16.3506%;"/> <col/> <col/> <col/> </colgroup>
<tbody>
<tr>
<th colspan="1">ID</th>
<th>
<p>Name</p>
</th>
<th colspan="1">Due Date</th>
<th colspan="1">Status</th>
<th colspan="1">
<span>Estimated time</span>
</th>
<th>Actual time</th>
<th>Time difference</th>
<th colspan="1">Budget</th>
<th colspan="1">Actual expenditure</th>
<th colspan="1">Expenditure Difference</th>
</tr>
<tr>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="48cbccf4-7374-494a-ae3a-6a6ddeaa70ef" ac:name="number-data" ac:schema-version="1">
<ac:parameter ac:name="minValue">1</ac:parameter>
<ac:parameter ac:name="name">Milestone ID</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>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="5f5a0300-b130-4e34-a483-f95d8aeca74f" ac:name="text-data" ac:schema-version="1">
<ac:parameter ac:name="name">Name</ac:parameter>
<ac:parameter ac:name="type">line</ac:parameter>
<ac:parameter ac:name="content">text</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>
</div>
</td>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="0ae3bac1-4a49-4a48-9804-89232ba09483" ac:name="date-data" ac:schema-version="1">
<ac:parameter ac:name="format">dd MMMM yyyy</ac:parameter>
<ac:parameter ac:name="name">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>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="b201093c-948b-49d5-94b9-6791ff312376" ac:name="list-data" ac:schema-version="1">
<ac:parameter ac:name="name">Status</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="1eb3887e-33ed-4191-b0fd-310c920633b9" 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="a7a95a35-01f9-44a0-a66e-674bb4a28b08" 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="18967985-f49f-45e4-bd54-2a0103a7d0e9" 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="d5094294-8d8a-4a40-aa81-1c763c3bc5fb" 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="88e7dfd5-da14-45c9-9128-b85b7a99f439" 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="e9907196-c52b-49c4-b82c-c28df13f1149" 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="bc457abe-1f19-46ad-9d59-7630f4105588" 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="5a51a925-52ce-4218-b2d4-c1d1de8df594" 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>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="82c3d400-8d1e-4445-9ba4-ee5b23a1ea5b" ac:name="number-data" ac:schema-version="1">
<ac:parameter ac:name="name">Estimated Time</ac:parameter>
<ac:parameter ac:name="decimal">true</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>hours<p> </p>
</div>
</td>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="2fe01a8b-f277-49c7-ab5f-141034afeaa3" ac:name="number-data" ac:schema-version="1">
<ac:parameter ac:name="name">Actual Time</ac:parameter>
<ac:parameter ac:name="decimal">true</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>hours<p> </p>
</div>
</td>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="9fc6f0c0-2f20-4bea-8a5a-cfab409512ca" ac:name="eval-data" ac:schema-version="1">
<ac:parameter ac:name="name">Time Difference</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:plain-text-body><![CDATA[${Actual Time}-${Estimated Time}]]></ac:plain-text-body>
</ac:structured-macro>
</p>hours<p> </p>
</div>
</td>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="54c0e6a7-d281-47ff-a44d-ed2e032f65f9" ac:name="number-data" ac:schema-version="1">
<ac:parameter ac:name="format">$#,##0.00</ac:parameter>
<ac:parameter ac:name="name">Budget</ac:parameter>
<ac:parameter ac:name="decimal">true</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>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="3d11761c-2359-4943-96c0-01d71b87799f" ac:name="number-data" ac:schema-version="1">
<ac:parameter ac:name="format">$#,##0.00</ac:parameter>
<ac:parameter ac:name="name">Expenditure</ac:parameter>
<ac:parameter ac:name="decimal">true</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>
<td colspan="1">
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="fc9f1db6-24fe-4074-8670-0f5c082c1381" ac:name="eval-data" ac:schema-version="1">
<ac:parameter ac:name="format">$#,##0.00</ac:parameter>
<ac:parameter ac:name="name">Project Budget Difference</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:plain-text-body><![CDATA[${Budget}-${Expenditure}]]></ac:plain-text-body>
</ac:structured-macro>
</p>
</div>
</td>
</tr>
</tbody>
</table>
</ac:rich-text-body>
</ac:structured-macro>
<p> </p>
<h4>Total budget:</h4>
<p>
<ac:structured-macro ac:macro-id="18443199-58ab-489d-8f6f-a4506f180a11" ac:name="eval-data" ac:schema-version="1">
<ac:parameter ac:name="format">$#,##0.00</ac:parameter>
<ac:parameter ac:name="name">Budget Total</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:plain-text-body><![CDATA[sumtable("Project Milestones", "Budget")]]></ac:plain-text-body>
</ac:structured-macro>
</p>
<h4>Total expenditure:</h4>
<p>
<ac:structured-macro ac:macro-id="2a409a81-f48d-4406-bce3-1991cd3f72cb" ac:name="eval-data" ac:schema-version="1">
<ac:parameter ac:name="format">$#,##0.00</ac:parameter>
<ac:parameter ac:name="name">Expenditure Total</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:plain-text-body><![CDATA[sumtable("Project Milestones", "Expenditure")]]></ac:plain-text-body>
</ac:structured-macro>
</p>
<h2>Notes</h2>
<p>
<ac:structured-macro ac:macro-id="2abf2f98-7d7f-458b-bf5b-a327eea9e277" ac:name="hidden-data" ac:schema-version="1">
<ac:parameter ac:name="whenNotEmpty">Project Notes</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:rich-text-body>
<p>
<em>No notes for this project.</em>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="b557f535-98ad-44cc-92f7-8b6a73a2f45c" ac:name="text-data" ac:schema-version="1">
<ac:parameter ac:name="name">Project Notes</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>
<h2>Related Documents</h2>
<p>
<ac:structured-macro ac:macro-id="1e600d57-9846-477e-aa4c-bef1be9a22d8" ac:name="hidden-data" ac:schema-version="1">
<ac:parameter ac:name="whenHasRows">Related Documents</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:rich-text-body>
<p>
<em>No attachments for this project.</em>
</p>
</ac:rich-text-body>
</ac:structured-macro>
</p>
<ac:structured-macro ac:macro-id="f1d4bf0a-ae16-49a2-bc24-a47510f27cb7" ac:name="table-data" ac:schema-version="1">
<ac:parameter ac:name="name">Related Documents</ac:parameter>
<ac:parameter ac:name="initialRows">1</ac:parameter>
<ac:rich-text-body>
<table class="wrapped relative-table" style="width: 45.7411%;">
<colgroup> <col style="width: 59.0164%;"/> <col style="width: 40.9836%;"/> </colgroup>
<tbody>
<tr>
<th>Attachment</th>
<th>Description</th>
</tr>
<tr>
<td>
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="24bd0a56-44c1-4de5-bd36-17766e801014" ac:name="attachment-data" ac:schema-version="1">
<ac:parameter ac:name="include">.*png</ac:parameter>
<ac:parameter ac:name="name">Attachment</ac:parameter>
</ac:structured-macro>
</p>
</div>
</td>
<td>
<div class="content-wrapper">
<p>
<ac:structured-macro ac:macro-id="c39a80f7-702f-4543-8760-3cf339374ed5" ac:name="text-data" ac:schema-version="1">
<ac:parameter ac:name="name">Attachment description</ac:parameter>
<ac:parameter ac:name="type">line</ac:parameter>
<ac:parameter ac:name="content">text</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>
</div>
</td>
</tr>
</tbody>
</table>
</ac:rich-text-body>
</ac:structured-macro>