Part 7 - Creating the team resourcing page
Overview
The team resourcing page lists all the subprojects and shows the list of members involved in each subproject.
In addition, the e-mail address for the most immediate contact person is shown in the final column.
For this project, 2 user groups are created
pmd-project-leaders - all the project leaders involved in the project
pmd-project-members - all the project members involved in the project
Suppliers used
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
This means the Project Members Scaffolding data is stored as an Array List.
This keychain is useful for debugging purposes.
Content and Structure
Set the main structure of our report, which is a table.
create a report-table macro
Next, define what to report. This is done by
adding a content-reporter block
nesting this block inside the report-table block
edit the content-reporter block to set
Types to
+pages, -attachmentLabels to
subprojectScope to
Cafe Rockettoria Projects > children
Reporting only fetches pages labeled as subproject and is a children of Cafe Rockettoria Projects. The use of -attachment means that attachments are excluded.
In the content-reporter block
insert a text-sort block
edit the text-sort block
type
content:titlefor Keychoose 'ascending' for Order
This sorts the pages in ascending order based on the page title.
Now we are ready to setup the report columns.
Project Name
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:titlecheck Link To Item
Reporting fetches the page titles.
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 fetches the subproject status using the Scaffolding data block 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 fetches the subproject team leader using the Scaffolding data block 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 Membersset Separator to
newline
This displays the name of each team member in a new line.
Reporting fetches the subproject team members using the Scaffolding data block 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 fetches the subproject team leader email address by pairing it with the user:email keychain.
The Project Leader Scaffolding data block returns a list of users
the first item in the list is fetched (there is only one project leader in this perspective)
the user's email is returned based on the users profile page