- Page restrictions apply
- Added by admin, last edited by David Peterson [CustomWare] on Feb 27, 2007 (view change)
Create a reusable template for projects.
Ingredients
Plugins
Macros
date-data, eval-data, excerpt-data, hidden-data, list-data, list-option, number-data, table-data, text-data, user-options
This recipe consists of two stages, creating the project template and then including it into your project pages.
Creating the project template
First, I create a new Page Template called 'Project', with the following details:
- A summary of the project, which is also the page excerpt:
*Summary:* {excerpt-data:Summary|type=area|width=400px|height=100px|max-length=200}{excerpt-data} - Next, I add some details about the project:
h2. Details | Type: | {list-data:Type} {list-option}Website{list-option} {list-option}Application{list-option} {list-option}Other{list-option} {list-data} | | Project Leader: | {list-data:Project Leader|required=true} {user-options:groups=project-leaders} {list-data} | | Team Members: | {list-data:Team Members|type=check|multiple=true} {user-options:groups=employees} {list-data} | | Start Date: | {date-data:Start Date|format=dd-MMM-yyyy}today{date-data} | - Next, we list the milestones for the project:
h2. Milestones {table-data:Milestones} || Name || Due Date || Status || Estimated Time || Actual Time || Est/Act Time Diff || | {text-data:Name} | {date-data:Due Date|format=dd-MMM-yyyy}today{date-data} | {list-data:Status} {list-option}Unstarted{list-option} {list-option}In progress{list-option} {list-option}Awaiting approval{list-option} {list-option}Completed{list-option} {list-data} | {number-data:Estimated Time|decimal=true}{number-data} hrs | {number-data:Actual Time|decimal=true}{number-data} | {eval-data:Time Diff|format=#,##0.0#} ${Actual Time}-${Estimated Time} {eval-data} hrs | {table-data} - We can use the eval-data macro to automatically add up the total time for the currently listed milestones:
*Total Time:* {eval-data:Total Time|format=#,##0.0#}sumtable("Milestones", "Actual Time"){eval-data} - Lastly, we'll add a section for some general notes about the project:
h2. Notes {text-data:Notes|type=area|width=400px|height=150px}{text-data}
Using the project template
I can then import the latest version of my 'Project' template into any page using the live-template macro, allowing the data specified above to be edited:
{live-template:Project}
Even better, if I'm going to be doing this often, I can add a link to the general 'Projects' page which will create a new page based on the 'Project' template automatically using the add-page macro from the Linking Plugin:
(+) {add-page:template=Project|live=true}Add a new project{add-page}
Specifying 'live=true' will ensure that the created project page will always look up the current version of the 'Project' template. Otherwise, if you changed the template, you would have to also change each page the template is based on. Essentially, it will generate the {live-template} macro described above for you in the new page.
*Summary:* {excerpt-data:Summary|type=area|width=400px|height=100px|max-length=200}{excerpt-data}
h2. Details
| Type: | {list-data:Type}
{list-option}Website{list-option}
{list-option}Application{list-option}
{list-option}Other{list-option}
{list-data} |
| Project Leader: | {list-data:Project Leader|required=true}
{user-options:groups=project-leaders}
{list-data} |
| Team Members: | {list-data:Team Members|type=check|multiple=true}
{user-options:groups=employees}
{list-data} |
| Start Date: | {date-data:Start Date|format=dd-MMM-yyyy}today{date-data} |
h2. Milestones
{table-data:Milestones}
|| Name || Due Date || Status || Estimated Time || Actual Time || Est/Act Time Diff ||
| {text-data:Name} | {date-data:Due Date|format=dd-MMM-yyyy}today{date-data} | {list-data:Status}
{list-option}Unstarted{list-option}
{list-option}In progress{list-option}
{list-option}Awaiting approval{list-option}
{list-option}Completed{list-option}
{list-data} | {number-data:Estimated Time|decimal=true}{number-data} hrs
| {number-data:Actual Time|decimal=true}{number-data}
| {eval-data:Time Diff|format=#,##0.0#} ${Actual Time}-${Estimated Time} {eval-data} hrs |
{table-data}
*Total Time:* {eval-data:Total Time|format=#,##0.0#}sumtable("Milestones", "Actual Time"){eval-data}
h2. Notes
{text-data:Notes|type=area|width=400px|height=150px}{text-data}
|
Connect JIRA and SharePoint |
Atlassian Professional Services |
Atlassian Training |
Discussions