The team resourcing page lists all the subprojects and shows the list of members involved in each subproject. The most immediate contact person's e-mail address is also shown in the final column.
For this project, 2 user groups are created: pmd-project-leaders and pmd-project-members.
pmd-project-leaders include all the project leaders involved in the project.
pmd-project-members include all the project members involved in the project.
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.
Project Leader
- Insert a report-column macro, name this column Project Leader.
- Insert a report-info block inside this report-column.
- Edit the report-info block, name the Key
data:Project Leader
.
Reporting will fetch the subproject's team leader using the Scaffolding data block we created in the live template.
Project Members
- Insert a report-column macro, name this column Project Members.
- Insert a report-info block inside this report-column.
- Edit the report-info block, name the Key
data:Project Members
and set Seperator tonewline
. - This way, each team member's name will be displayed in a new line.
Reporting will fetch the subproject's team members using the Scaffolding data block we created in the live template.
Contact
- Insert a report-column macro, name this column Contact.
- Insert a report-info block inside this report-column.
- Edit the report-info block, name the Key
data:Project Leader > collection:first > user:email
. - Reporting will fetch the subproject's team leader's email address by pairing it with the
user:email
keychain.
The Project Leader Scaffolding data block returns a list of users, so the first item in the list is fetched (there is only one project leader in this perspective), and the user's email is returned based on the users profile page.