Table of Contents | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Overview
The team members page lists all the users that belong to the project. This is done by filtering and displaying a list of users based on a user group.
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
...
Using Reporting, all the users that belong is these two groups will be listed here along with other relevant details
...
.
...
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
which 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
Esure to check Injected as we
...
use parameter injection later in the report.
...
Define who to report using a user-reporter block
...
add a user-reporter block
nest this block inside the report-table block
...
...
edit the user-reporter block
...
type in Groups
pmd-project-members, pmd-project-leaders
...
Info |
---|
Reporting only fetches users from those groups |
...
In the user-reporter block
...
insert a text-sort block
...
...
edit the text-sort block
...
type
user:full name
for Key
...
...
choose 'ascending' for Order
...
Info |
---|
This |
...
sorts the users in ascending order based on their full name. |
Now we are ready to setup the report columns.
User Name
...
Within the report-table block
...
insert a report-column macro underneath the user-reporter block
...
...
name this column Name
...
insert a report-info block inside this report-column
...
...
edit the report-info block
...
name the Key
user:full name
...
Info |
---|
...
fetches the user's full name. |
...
insert a report-column block
...
name this column Email
...
...
insert a report-info block inside this report-column
...
...
edit the report-info block
...
name the Key
user:email
...
Info |
---|
...
fetches the user's email. |
Department
...
insert a report-column block
...
name this column Department
...
...
insert a report-info block inside this report-column
...
...
edit the report-info block
...
name the Key
user:department
...
Info |
---|
...
fetches the user's department. |
Position
...
insert a report-column block
...
name this column Position
...
...
insert a report-info block inside this report-column
...
...
edit the report-info block
...
name the Key
user:position
...
Info |
---|
...
fetches the user's position. |
Project Lead
This column will show a list of projects that the user is involved in as a leader.
...
insert a report-column block
...
name this column Project Lead or Leading Projects
...
...
insert a report-list block inside this report-column
...
Info |
---|
We will now report a list within the current report's column. |
...
insert a content-reporter block within the report-list block
...
...
edit the content-reporter block
...
set Type to
pages
...
set Labels to
subproject
...
Info |
---|
This allows the collection of pages that are subprojects. |
Inside the content-reporter block
...
insert a text-filter block
...
edit the text-filter block
...
name the
...
Key
data:Project Leader > collection:first > user:full name
...
...
set Exact Value to
%user
...
:full name%
Info |
---|
This is used to fetch subprojects that belong to the reporting user. |
Now that we have the content and structure
...
insert a report-body block under content-reporter
...
...
insert 2 report-info blocks inside report-body
...
For the first report-info block
...
name the Key
page:title
...
check Link To Item
...
For the second report-info block
nest this second report-info block with a pair of parentheses and name the Key
data:Project Status
.
Finally
...
insert a report-empty block under report-body
...
enter a message to display when the user is not leading any projects
...
Panel | ||
---|---|---|
|
...
The key |
...
The Project Leader Scaffold data block |
...
is returned in a list, so we use the Collection Supplier to fetch the first item in the list, and then finally |
...
convert it to the user's full name.
|
...
|
...
The reporter finds a list of subprojects with the Project Leader as a particular user and report it based on the current user in the table. Based on the report-info blocks we used, the page title and subproject status is shown in the fifth column: |
...
Projects Involved In
This column
...
is used to display a list of projects that the user is involved in as a member.
...
insert a report-column block
...
name this column Projects Involved In
...
...
insert a report-list block inside this report-column
...
Info |
---|
We will now report a list within the current report's column. |
...
insert a content-reporter block within the report-list block
...
...
edit the content-reporter block
...
set Type to
pages
...
set Labels to
subproject
...
Info |
---|
This allows the reporting to collect pages that are subprojects. |
Inside the content-reporter block
...
insert a text-filter block
...
edit the text-filter block
...
name the
...
Key
data:Project Members > collection:first > user:full name
...
...
set Exact Value to
%user:
...
full name%
Info |
---|
This is used to fetch subprojects that belong to the reporting user. |
Now that we have the content and structure
...
insert a report-body block under content-reporter
...
...
insert 2 report-info blocks inside report-body
...
For the first report-info block
...
name the
...
Key
page:title
...
check Link To Item
...
For the second report-info block
nest this second report-info block with a pair of parentheses and name the Key
data:Project Status
...
Finally
...
insert a report-empty block under report-body
...
enter a message to display when the user is not leading any projects
...
Macro Structure
...
Full source
...
Expand |
---|
...
| ||
|
...
|
...
|
...