Part 5 - Creating the project status and budget page
The project status and budget page displays all the subprojects listed in a space and provides milestones and budget details at a glance.
Furthermore, charts can be generated using the data from the Reporting table to keep track of current cash flow.
Suppliers used
- Collection Supplier
- Content Supplier
- Global Supplier
- Scaffold Data Supplier
- User Supplier
- Variable Supplier
Pro Tip
When to use the Collection Supplier
Use the object supplier if you are unsure of the object type. Pair any key with an object:class
keychain and it will return the type of object, for example:
data:Project Members > object:class
returns
class java.util.ArrayList
which means the Project Members Scaffolding data is stored as an Array List.
This keychain is useful for debugging purposes.
Content and Structure
- First, create a report-table macro. This will be the main structure of our report, which is a table.
- Next, define what to report using a content-reporter block. Nest this block inside the report-table block.
- Edit the content-reporter block, and set Types to
+pages, -attachment
, Labels tosubproject
and Scope toCafe Rockettoria Projects > children
. - This means Reporting will only fetch pages labeled as subproject and is a children of Cafe Rockettoria Projects. Note that
-attachment
means attachments are excluded. - In the content-reporter block, insert a text-sort block.
- Edit the text-sort block and type
content:title
for Key. - Next, choose 'ascending' for Order.
- This will sort the pages in ascending order based on the page title.
Now we are ready to setup the report columns.
Project Name
- Still within the report-table block, insert a report-column macro underneath the content-reporter block.
- Name this column Project Name. Insert a report-info block inside this report-column.
- Edit the report-info block, name the Key
content:title
and check Link To Item.
Reporting will fetch the pages title.
Project Status
- Insert a report-column macro, name this column Project Status.
- Insert a report-info block inside this report-column.
- Edit the report-info block, name the Key data:Project Status.
Reporting will fetch the subproject status using the Scaffolding data block we created in the live template.
Days left: If-Else statements and parameter injection
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 technical documentation.
In the report-eval block, we will perform the calculation of Days Left using parameter injection. Set the parameters for report-eval as such:
Make sure to check the Hidden option as we would like to use the result of this calculation as a variable
Now for the report-eval calculation formula, type in:
(%
data:Project End Date > date:milliseconds
% - %
global:current date > date:milliseconds
%)/1000/60/60/24
What does this mean?
Notice that 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) and convert back to days with division.
Done! We now have a variable that holds the difference of end date and current date in days.
The report-eval variable can then be accessed via the Variable supplier, and the key being the name of the report-eval block (variable:Days Left
).
Now create a report-block macro for the if-else statement.
In the report-block macro, insert a local-reporter block and set the keychain to @self
.
Next, create a number-filter macro and set the keychain to variable:Days Left
. Then, set Above Value to 0
.
This will create the 'if' statement if Days Left is above 0.
Next, insert a report-body block and 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 #. That way, Days Left
is formatted to display as a whole number.
Now create the 'else' statement by inserting another number-filter macro.
Set the keychain to variable:Days Left
. Then, set Below Value to 0
.
This will create the 'else' statement else if Days Left is below 0.
Next, insert a report-body block and type: This project has ended.
You should now have a report-block that looks like this:
Haven't I done this in the subproject template?
report-eval creates a temporary variable in the given page. Therefore, the variabe is only accessible from that page and cannot be fetched and displayed in other pages. Using the flexibility of report-eval's calculation abilities, we created a temporary variable in the subproject page, and now we need to create another temporary variabe in the current report to get Days Left, using the same formula and report structure.
Number of Milestones
Insert a report-column under the previous Days Left column.
Name this column Number of milestones. Insert a report-info block inside this report-column.
Edit the report-info block, name the Key data:Project Milestones > collection:size
.
Reporting will fetch the number of milestones based on the number of rows in the Milestones table, hence why the collection:size
key is used.
Budget Total
This column will return the sum of all milestone budgets from a particular subproject. The sum of all subproject's budget can also be calculated using report-column.
Insert a report-column, name this column Budget total.
Edit the report-column, and set Summary Type to sum
, Summary Value to data:Budget Total
and Summary Format to $#,##0.00
, like below:
Insert a report-info block inside the report-column.
Name the Key data:Budget Total
and set the Format to $##,##0.00
Expenditure Total
This column will return the sum of all milestone expenditures from a particular subproject. The sum of all subproject's expenditures can also be calculated using report-column.
Insert a report-column, name this column Expenditure total.
Edit the report-column, and set Summary Type to sum
, Summary Value to data:Expenditure Total
and Summary Format to $#,##0.00
.
Insert a report-info block inside the report-column.
Name the Key data:Expenditure Total
and set the Format to $##,##0.00
Budget Deficit
This column will return the sum of all budget deficits from a particular subproject. It is calculated using the difference of actual expenditure and allocated budget for each subproject.
Insert a report-column, name this column Budget deficit.
Edit the report-column, and set Summary Type to sum
, Summary Value to variable:Budget Deficit
and Summary Format to $#,##0.00
.
Note that the variable supplier is used here because we are making a temporary variable in this report with the following calculation:
Insert a report-eval inside the report-column and name it Budget Deficit.
In the report-eval, type %data:Budget Total% - %data:Expenditure Total%
.
The formula above will calculate the difference of actual expenditure and allocated budget for each subproject.
Budget Deficit %
This column will return the budget deficit in percentage. It is calculated using the Budget Deficit
variable created in the previous section and dividing that amount by Budget Total
.
Insert a report-column, name this column Budget deficit percentage.
Insert a report-eval block inside report-column, name the report-eval block Percentage Deficit.
Edit the report-eval block, set Default Value to 0
and Format to #%
.
In the report-eval, type %variable:Budget Deficit% / %data:Budget Total%
.
Project Status & Budget table Source
<ac:structured-macro ac:macro-id="38aec1b2-1f0e-4759-8be8-e20dbcf76023" ac:name="report-table" ac:schema-version="1">
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="38314951-78e6-4773-b549-e46d953e2e5e" ac:name="content-reporter" ac:schema-version="1">
<ac:parameter ac:name="types">+pages, -attachment</ac:parameter>
<ac:parameter ac:name="scope">Cafe Rockettoria Projects > children</ac:parameter>
<ac:parameter ac:name="labels">subproject</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="d1e9c74e-605d-4a53-93f3-38d195a200b2" 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="aea2847c-88ea-4257-a597-ad46237c0264" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="title">Project Name</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="59a534ec-dac2-4750-a69c-747c111a21ae" 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:structured-macro ac:macro-id="92c73454-6ef4-432a-b915-c55216fd744b" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="title">Project Status</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="304641a2-8b08-4275-80a7-af69a6797359" ac:name="report-info" ac:schema-version="1">
<ac:parameter ac:name="">data:Project Status</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="acfe8cfe-a648-410c-bba0-66d9ce8fde86" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="title">Days Left</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="5d66226b-1f24-4836-9858-fe0eb8fb71dc" 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">#</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>
<p> </p>
</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>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="eebaac3b-8536-4d30-a992-dbf180241743" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="title">No. of milestones</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="92368731-3d0c-4ddb-9d73-16d10779a968" ac:name="report-info" ac:schema-version="1">
<ac:parameter ac:name="">data:Project Milestones > collection:size</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="ec1ac3e7-6f19-4954-8470-59f9b4b7c090" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="summaryFormat">$#,##0.00</ac:parameter>
<ac:parameter ac:name="summaryType">sum</ac:parameter>
<ac:parameter ac:name="summaryValue">data:Budget Total</ac:parameter>
<ac:parameter ac:name="title">Budget Total</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="75d93000-4110-47c5-8f92-f80f5f388038" ac:name="report-info" ac:schema-version="1">
<ac:parameter ac:name="format">$##,##0.00</ac:parameter>
<ac:parameter ac:name="">data:Budget Total</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="480602e1-27e7-4f72-b029-5e1c8563ff95" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="summaryFormat">$#,##0.00</ac:parameter>
<ac:parameter ac:name="summaryType">sum</ac:parameter>
<ac:parameter ac:name="summaryValue">data:Expenditure Total</ac:parameter>
<ac:parameter ac:name="title">Expenditure total</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="ac5e3f34-6661-46b0-917e-5f989fc91b52" ac:name="report-info" ac:schema-version="1">
<ac:parameter ac:name="format">$##,##0.00</ac:parameter>
<ac:parameter ac:name="">data:Expenditure Total</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="bea3b9c2-a11d-4d7a-9dd0-0e6f0d2bd294" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="summaryFormat">$##,##0.00</ac:parameter>
<ac:parameter ac:name="summaryType">sum</ac:parameter>
<ac:parameter ac:name="summaryValue">variable:Budget Deficit</ac:parameter>
<ac:parameter ac:name="title">Budget Deficit</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="a5fef81f-7ccd-474f-abe5-d6e228a0a49d" ac:name="report-eval" ac:schema-version="1">
<ac:parameter ac:name="format">$##,##0.00</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:parameter ac:name="">Budget Deficit</ac:parameter>
<ac:plain-text-body><![CDATA[%data:Budget Total% - %data:Expenditure Total%]]></ac:plain-text-body>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="36174fbf-2441-4bf8-b1eb-70f9a3ae138f" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="title">Budget Deficit %</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="18b2002e-3d2f-47ee-b629-2f642c9af30e" ac:name="report-eval" ac:schema-version="1">
<ac:parameter ac:name="default">0</ac:parameter>
<ac:parameter ac:name="format">#%</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:parameter ac:name="">Percentage Deficit</ac:parameter>
<ac:plain-text-body><![CDATA[%variable:Budget Deficit% / %data:Budget Total%]]></ac:plain-text-body>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
Chart: Subproject Budget Deficit
Using the same Reporting elements, we can construct charts with simplified Reporting tables such as this one.
This table is built using the columns Project Name and Budget Deficit %.
Insert a Chart macro and make the following settings:
Type: Bar
Display orientation: Vertical
Chart title: Subproject Budget Deficit
(Check) Show Legend
Columns: Project Name, Budget Deficit %
Content Orientation: Horizontal
Range Minimum Value: -100
Range Maximum Vale: 100
For the macro structure, see Chart Macro Structure.
Subproject Budget Deficit chart Source
<div class="tablesorter-header-inner">
<ac:structured-macro ac:macro-id="62e45cfa-e49d-47a1-b620-1e3ccf6e60d5" ac:name="chart" ac:schema-version="1">
<ac:parameter ac:name="orientation">vertical</ac:parameter>
<ac:parameter ac:name="columns">Project Name, Budget Deficit %</ac:parameter>
<ac:parameter ac:name="width">500</ac:parameter>
<ac:parameter ac:name="rangeAxisLowerBound">-100</ac:parameter>
<ac:parameter ac:name="dataOrientation">horizontal</ac:parameter>
<ac:parameter ac:name="title">Subproject Budget Deficit</ac:parameter>
<ac:parameter ac:name="type">bar</ac:parameter>
<ac:parameter ac:name="rangeAxisUpperBound">100</ac:parameter>
<ac:parameter ac:name="height">500</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="acf935c7-2b99-4f5e-a3f3-f09f2ead1685" ac:name="report-table" ac:schema-version="1">
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="09e59f25-8132-4bb6-ad37-dbc82230bc31" ac:name="content-reporter" ac:schema-version="1">
<ac:parameter ac:name="types">+pages, -attachment</ac:parameter>
<ac:parameter ac:name="scope">Cafe Rockettoria Projects > children</ac:parameter>
<ac:parameter ac:name="labels">subproject</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="8259caed-26ab-43ec-8f8f-9525ce1c8bc9" 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="1e79e38f-ad94-4140-868b-9d786e88f314" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="title">Project Name</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="5491e9fb-fbdb-42aa-b41f-8d3eabd66096" ac:name="report-info" 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="16fcd047-c174-494d-934d-81f978b5f6df" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="injected">true</ac:parameter>
<ac:parameter ac:name="title">Budget Deficit %</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="53885bcc-a1c8-4b4c-b3b9-a365c4500983" ac:name="report-eval" ac:schema-version="1">
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:parameter ac:name="">Percentage Deficit</ac:parameter>
<ac:plain-text-body><![CDATA[(%data:Budget Total% - %data:Expenditure Total%) / %data:Budget Total% * 100]]></ac:plain-text-body>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</div>
Chart: Subproject Budget Allocation
This table is built using the columns Project Name and Budget Total.
Insert a Chart macro and make the following settings:
Type: Pie
Display orientation: Vertical
Chart title: Subproject Budget Allocation
(Check) Show Legend
Columns: Project Name, Budget Total
Content Orientation: Vertical
For the macro structure, see Chart Macro Structure.
Subproject Budget Allocation chart Source
<div class="tablesorter-header-inner">
<ac:structured-macro ac:macro-id="371ec71d-180e-4ab3-a627-92f69dba6d6a" ac:name="chart" ac:schema-version="1">
<ac:parameter ac:name="orientation">vertical</ac:parameter>
<ac:parameter ac:name="columns">Project Name, Budget Total</ac:parameter>
<ac:parameter ac:name="width">500</ac:parameter>
<ac:parameter ac:name="dataOrientation">vertical</ac:parameter>
<ac:parameter ac:name="title">Subproject Budget Allocation</ac:parameter>
<ac:parameter ac:name="height">500</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="b307d24c-b13f-49fa-b883-bac6c9e10c45" ac:name="report-table" ac:schema-version="1">
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="9fcb1f89-0509-467a-89b9-09aa0c81e5f7" ac:name="content-reporter" ac:schema-version="1">
<ac:parameter ac:name="types">+pages, -attachment</ac:parameter>
<ac:parameter ac:name="scope">Cafe Rockettoria Projects > children</ac:parameter>
<ac:parameter ac:name="labels">subproject</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="41f99c63-eb30-484c-90a3-5c1914880643" 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="e5bde7db-710c-49a8-bf39-31ffe486055a" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="title">Project Name</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="d70b6f4a-744f-4466-83e9-92b616d3aa76" ac:name="report-info" 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="7fdb40ab-db1f-4f0b-9b8f-7aa49619f998" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="title">Budget Total</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="f570aa19-20fb-48e9-b44e-2005331c2df7" ac:name="report-info" ac:schema-version="1">
<ac:parameter ac:name="format">$##,##0.00</ac:parameter>
<ac:parameter ac:name="">data:Budget Total</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</div>
Chart: Subproject Budget Allocation
This table is built using the columns Project Name and Expenditure Total.
Insert a Chart macro and make the following settings:
Type: Pie
Display orientation: Vertical
Chart title: Subproject Expenditure
(Check) Show Legend
Columns: Project Name, Expenditure Total
Content Orientation: Vertical
For the macro structure, see Chart Macro Structure.
Subproject Expenditure chart Source
<div class="tablesorter-header-inner">
<ac:structured-macro ac:macro-id="c2e4b3a1-ce10-4157-a0a9-fb12a2bf2bf1" ac:name="chart" ac:schema-version="1">
<ac:parameter ac:name="orientation">vertical</ac:parameter>
<ac:parameter ac:name="columns">Project Name, Expenditure Total</ac:parameter>
<ac:parameter ac:name="width">500</ac:parameter>
<ac:parameter ac:name="dataOrientation">vertical</ac:parameter>
<ac:parameter ac:name="title">Subproject Expenditure</ac:parameter>
<ac:parameter ac:name="height">500</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="ef4e9f8c-2c17-4c0b-9824-51512d807e69" ac:name="report-table" ac:schema-version="1">
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="bb8a0082-8630-4702-aba6-8b0dcc088f9d" ac:name="content-reporter" ac:schema-version="1">
<ac:parameter ac:name="types">+pages, -attachment</ac:parameter>
<ac:parameter ac:name="scope">Cafe Rockettoria Projects > children</ac:parameter>
<ac:parameter ac:name="labels">subproject</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="741e05ef-7c7f-40fe-ba52-57a65f18cb81" 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="dedefbe7-ef65-4fa7-b03c-dfbada2345eb" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="title">Project Name</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="bb760de7-5068-4ebe-91a6-bd869d378da7" ac:name="report-info" 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="156a9cf0-ab28-4938-8205-c173956caf05" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="title">Expenditure Total</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="9abc2db9-b01c-42f7-8a6f-e0569f7a8d6c" ac:name="report-info" ac:schema-version="1">
<ac:parameter ac:name="format">$##,##0.00</ac:parameter>
<ac:parameter ac:name="">data:Expenditure Total</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</div>
Macro structure
Chart Macro Structure
Full source
Project Status & Budget Source
<ac:structured-macro ac:macro-id="38aec1b2-1f0e-4759-8be8-e20dbcf76023" ac:name="report-table" ac:schema-version="1">
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="38314951-78e6-4773-b549-e46d953e2e5e" ac:name="content-reporter" ac:schema-version="1">
<ac:parameter ac:name="types">+pages, -attachment</ac:parameter>
<ac:parameter ac:name="scope">Cafe Rockettoria Projects > children</ac:parameter>
<ac:parameter ac:name="labels">subproject</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="d1e9c74e-605d-4a53-93f3-38d195a200b2" 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="aea2847c-88ea-4257-a597-ad46237c0264" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="title">Project Name</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="59a534ec-dac2-4750-a69c-747c111a21ae" 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:structured-macro ac:macro-id="92c73454-6ef4-432a-b915-c55216fd744b" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="title">Project Status</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="304641a2-8b08-4275-80a7-af69a6797359" ac:name="report-info" ac:schema-version="1">
<ac:parameter ac:name="">data:Project Status</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="acfe8cfe-a648-410c-bba0-66d9ce8fde86" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="title">Days Left</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="5d66226b-1f24-4836-9858-fe0eb8fb71dc" 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">#</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>
<p> </p>
</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>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="eebaac3b-8536-4d30-a992-dbf180241743" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="title">No. of milestones</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="92368731-3d0c-4ddb-9d73-16d10779a968" ac:name="report-info" ac:schema-version="1">
<ac:parameter ac:name="">data:Project Milestones > collection:size</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="ec1ac3e7-6f19-4954-8470-59f9b4b7c090" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="summaryFormat">$#,##0.00</ac:parameter>
<ac:parameter ac:name="summaryType">sum</ac:parameter>
<ac:parameter ac:name="summaryValue">data:Budget Total</ac:parameter>
<ac:parameter ac:name="title">Budget Total</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="75d93000-4110-47c5-8f92-f80f5f388038" ac:name="report-info" ac:schema-version="1">
<ac:parameter ac:name="format">$##,##0.00</ac:parameter>
<ac:parameter ac:name="">data:Budget Total</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="480602e1-27e7-4f72-b029-5e1c8563ff95" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="summaryFormat">$#,##0.00</ac:parameter>
<ac:parameter ac:name="summaryType">sum</ac:parameter>
<ac:parameter ac:name="summaryValue">data:Expenditure Total</ac:parameter>
<ac:parameter ac:name="title">Expenditure total</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="ac5e3f34-6661-46b0-917e-5f989fc91b52" ac:name="report-info" ac:schema-version="1">
<ac:parameter ac:name="format">$##,##0.00</ac:parameter>
<ac:parameter ac:name="">data:Expenditure Total</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="bea3b9c2-a11d-4d7a-9dd0-0e6f0d2bd294" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="summaryFormat">$##,##0.00</ac:parameter>
<ac:parameter ac:name="summaryType">sum</ac:parameter>
<ac:parameter ac:name="summaryValue">variable:Budget Deficit</ac:parameter>
<ac:parameter ac:name="title">Budget Deficit</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="a5fef81f-7ccd-474f-abe5-d6e228a0a49d" ac:name="report-eval" ac:schema-version="1">
<ac:parameter ac:name="format">$##,##0.00</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:parameter ac:name="">Budget Deficit</ac:parameter>
<ac:plain-text-body><![CDATA[%data:Budget Total% - %data:Expenditure Total%]]></ac:plain-text-body>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="db161a3f-6dda-41f5-895c-ad3e35254e59" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="injected">true</ac:parameter>
<ac:parameter ac:name="title">Budget Deficit %</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="18b2002e-3d2f-47ee-b629-2f642c9af30e" ac:name="report-eval" ac:schema-version="1">
<ac:parameter ac:name="default">0</ac:parameter>
<ac:parameter ac:name="format">#%</ac:parameter>
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:parameter ac:name="">Percentage Deficit</ac:parameter>
<ac:plain-text-body><![CDATA[%variable:Budget Deficit% / %data:Budget Total%]]></ac:plain-text-body>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
<h2>
<br/>Charts</h2>
<div class="tablesorter-header-inner">
<p> </p>
<ac:structured-macro ac:macro-id="62e45cfa-e49d-47a1-b620-1e3ccf6e60d5" ac:name="chart" ac:schema-version="1">
<ac:parameter ac:name="orientation">vertical</ac:parameter>
<ac:parameter ac:name="columns">Project Name, Budget Deficit %</ac:parameter>
<ac:parameter ac:name="width">500</ac:parameter>
<ac:parameter ac:name="rangeAxisLowerBound">-100</ac:parameter>
<ac:parameter ac:name="dataOrientation">horizontal</ac:parameter>
<ac:parameter ac:name="title">Subproject Budget Deficit</ac:parameter>
<ac:parameter ac:name="type">bar</ac:parameter>
<ac:parameter ac:name="rangeAxisUpperBound">100</ac:parameter>
<ac:parameter ac:name="height">500</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="acf935c7-2b99-4f5e-a3f3-f09f2ead1685" ac:name="report-table" ac:schema-version="1">
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="09e59f25-8132-4bb6-ad37-dbc82230bc31" ac:name="content-reporter" ac:schema-version="1">
<ac:parameter ac:name="types">+pages, -attachment</ac:parameter>
<ac:parameter ac:name="scope">Cafe Rockettoria Projects > children</ac:parameter>
<ac:parameter ac:name="labels">subproject</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="8259caed-26ab-43ec-8f8f-9525ce1c8bc9" 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="1e79e38f-ad94-4140-868b-9d786e88f314" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="title">Project Name</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="5491e9fb-fbdb-42aa-b41f-8d3eabd66096" ac:name="report-info" 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="16fcd047-c174-494d-934d-81f978b5f6df" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="injected">true</ac:parameter>
<ac:parameter ac:name="title">Budget Deficit %</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="53885bcc-a1c8-4b4c-b3b9-a365c4500983" ac:name="report-eval" ac:schema-version="1">
<ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
<ac:parameter ac:name="">Percentage Deficit</ac:parameter>
<ac:plain-text-body><![CDATA[(%data:Budget Total% - %data:Expenditure Total%) / %data:Budget Total% * 100]]></ac:plain-text-body>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="371ec71d-180e-4ab3-a627-92f69dba6d6a" ac:name="chart" ac:schema-version="1">
<ac:parameter ac:name="orientation">vertical</ac:parameter>
<ac:parameter ac:name="columns">Project Name, Budget Total</ac:parameter>
<ac:parameter ac:name="width">500</ac:parameter>
<ac:parameter ac:name="dataOrientation">vertical</ac:parameter>
<ac:parameter ac:name="title">Subproject Budget Allocation</ac:parameter>
<ac:parameter ac:name="height">500</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="b307d24c-b13f-49fa-b883-bac6c9e10c45" ac:name="report-table" ac:schema-version="1">
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="9fcb1f89-0509-467a-89b9-09aa0c81e5f7" ac:name="content-reporter" ac:schema-version="1">
<ac:parameter ac:name="types">+pages, -attachment</ac:parameter>
<ac:parameter ac:name="scope">Cafe Rockettoria Projects > children</ac:parameter>
<ac:parameter ac:name="labels">subproject</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="41f99c63-eb30-484c-90a3-5c1914880643" 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="e5bde7db-710c-49a8-bf39-31ffe486055a" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="title">Project Name</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="d70b6f4a-744f-4466-83e9-92b616d3aa76" ac:name="report-info" 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="7fdb40ab-db1f-4f0b-9b8f-7aa49619f998" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="title">Budget Total</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="f570aa19-20fb-48e9-b44e-2005331c2df7" ac:name="report-info" ac:schema-version="1">
<ac:parameter ac:name="format">$##,##0.00</ac:parameter>
<ac:parameter ac:name="">data:Budget Total</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="c2e4b3a1-ce10-4157-a0a9-fb12a2bf2bf1" ac:name="chart" ac:schema-version="1">
<ac:parameter ac:name="orientation">vertical</ac:parameter>
<ac:parameter ac:name="columns">Project Name, Expenditure Total</ac:parameter>
<ac:parameter ac:name="width">500</ac:parameter>
<ac:parameter ac:name="dataOrientation">vertical</ac:parameter>
<ac:parameter ac:name="title">Subproject Expenditure</ac:parameter>
<ac:parameter ac:name="height">500</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="ef4e9f8c-2c17-4c0b-9824-51512d807e69" ac:name="report-table" ac:schema-version="1">
<ac:rich-text-body>
<ac:structured-macro ac:macro-id="bb8a0082-8630-4702-aba6-8b0dcc088f9d" ac:name="content-reporter" ac:schema-version="1">
<ac:parameter ac:name="types">+pages, -attachment</ac:parameter>
<ac:parameter ac:name="scope">Cafe Rockettoria Projects > children</ac:parameter>
<ac:parameter ac:name="labels">subproject</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="741e05ef-7c7f-40fe-ba52-57a65f18cb81" 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="dedefbe7-ef65-4fa7-b03c-dfbada2345eb" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="title">Project Name</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="bb760de7-5068-4ebe-91a6-bd869d378da7" ac:name="report-info" 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="156a9cf0-ab28-4938-8205-c173956caf05" ac:name="report-column" ac:schema-version="1">
<ac:parameter ac:name="title">Expenditure Total</ac:parameter>
<ac:rich-text-body>
<p>
<ac:structured-macro ac:macro-id="9abc2db9-b01c-42f7-8a6f-e0569f7a8d6c" ac:name="report-info" ac:schema-version="1">
<ac:parameter ac:name="format">$##,##0.00</ac:parameter>
<ac:parameter ac:name="">data:Expenditure Total</ac:parameter>
</ac:structured-macro>
</p>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
</div>