Creating a Project Details Form
Scenario
Create a reusable template for projects.
Recipe
Apps | Scaffolding |
---|---|
Platform | Server, Data Center |
Level | Advanced |
Estimated time | 45 minutes ⏱ |
Macros | Date Data, Evaluate Data, List Data, List Option, Number Data, Table Data, Text Data, User Options |
Storage format
You can copy and paste this code into the Confluence Source Editor:
<h2>Details</h2> <table> <tbody> <tr> <td> <p>Type:</p> </td> <td> <p class="auto-cursor-target"> <br/> </p> <ac:structured-macro ac:macro-id="9c01f1cb-639b-498e-8eb5-e1732a947d9f" ac:name="list-data" ac:schema-version="1"> <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter> <ac:parameter ac:name="">Type</ac:parameter> <ac:rich-text-body> <p class="auto-cursor-target"> <br/> </p> <ac:structured-macro ac:macro-id="b026035d-9ba0-4732-89cb-e4017d088b12" ac:name="list-option" ac:schema-version="1"> <ac:parameter ac:name="value">Website</ac:parameter> <ac:rich-text-body> <p>Website</p> </ac:rich-text-body> </ac:structured-macro> <p class="auto-cursor-target"> <br/> </p> <ac:structured-macro ac:macro-id="b52e2c42-8a65-41df-887b-ce7a553c6af5" ac:name="list-option" ac:schema-version="1"> <ac:parameter ac:name="value">Application</ac:parameter> <ac:rich-text-body> <p>Application</p> </ac:rich-text-body> </ac:structured-macro> <p class="auto-cursor-target"> <br/> </p> <ac:structured-macro ac:macro-id="df58cece-33cd-4686-94d1-894a63530806" ac:name="list-option" ac:schema-version="1"> <ac:parameter ac:name="value">Other</ac:parameter> <ac:rich-text-body> <p>Other</p> </ac:rich-text-body> </ac:structured-macro> <p class="auto-cursor-target"> <br/> </p> </ac:rich-text-body> </ac:structured-macro> <p class="auto-cursor-target"> <br/> </p> </td> </tr> <tr> <td> <p>Project Leader:</p> </td> <td> <p class="auto-cursor-target"> <br/> </p> <ac:structured-macro ac:macro-id="1a8e9d11-9a4f-4422-8e08-1252f8168d5c" ac:name="list-data" ac:schema-version="1"> <ac:parameter ac:name="required">true</ac:parameter> <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter> <ac:parameter ac:name="">Project Leader</ac:parameter> <ac:rich-text-body> <p class="auto-cursor-target"> <br/> </p> <ac:structured-macro ac:macro-id="7d5d28e1-1d23-48fd-8846-fec95177edb3" ac:name="user-options" ac:schema-version="1"> <ac:parameter ac:name="groups">project-leaders</ac:parameter> <ac:rich-text-body> <p> <br/> </p> </ac:rich-text-body> </ac:structured-macro> <p class="auto-cursor-target"> <br/> </p> </ac:rich-text-body> </ac:structured-macro> <p class="auto-cursor-target"> <br/> </p> </td> </tr> <tr> <td> <p>Team Members:</p> </td> <td> <p class="auto-cursor-target"> <br/> </p> <ac:structured-macro ac:macro-id="570b588f-10d9-4272-847a-2492636e6622" ac:name="list-data" ac:schema-version="1"> <ac:parameter ac:name="multiple">true</ac:parameter> <ac:parameter ac:name="type">check</ac:parameter> <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter> <ac:parameter ac:name="">Team Members</ac:parameter> <ac:rich-text-body> <p class="auto-cursor-target"> <br/> </p> <ac:structured-macro ac:macro-id="dcc97c77-42bd-4a83-928a-933a33737c73" ac:name="user-options" ac:schema-version="1"> <ac:parameter ac:name="groups">employees</ac:parameter> <ac:rich-text-body> <p> <br/> </p> </ac:rich-text-body> </ac:structured-macro> <p class="auto-cursor-target"> <br/> </p> </ac:rich-text-body> </ac:structured-macro> <p class="auto-cursor-target"> <br/> </p> </td> </tr> <tr> <td> <p>Start Date:</p> </td> <td> <p class="auto-cursor-target"> <br/> </p> <ac:structured-macro ac:macro-id="03006ca5-08f1-4a9d-a8b8-04a20a86c864" ac:name="date-data" ac:schema-version="1"> <ac:parameter ac:name="format">dd-MMM-yyyy</ac:parameter> <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter> <ac:parameter ac:name="">Start Date</ac:parameter> <ac:plain-text-body><![CDATA[today]]></ac:plain-text-body> </ac:structured-macro> <p class="auto-cursor-target"> <br/> </p> </td> </tr> </tbody> </table> <h2>Milestones</h2> <ac:structured-macro ac:macro-id="000a8295-c9bd-40e8-8e9b-2a05f03fb3af" ac:name="table-data" ac:schema-version="1"> <ac:parameter ac:name="">Milestones</ac:parameter> <ac:rich-text-body> <p class="auto-cursor-target"> <br/> </p> <table> <tbody> <tr> <th> <p>Name</p> </th> <th> <p>Due Date</p> </th> <th> <p>Status</p> </th> <th> <p>Estimated Time</p> </th> <th> <p>Actual Time</p> </th> <th> <p>Est/Act Time Diff</p> </th> </tr> <tr> <td> <p class="auto-cursor-target"> <br/> </p> <ac:structured-macro ac:macro-id="468d9a43-5ad5-4f16-ae52-0e24c40e8c83" ac:name="text-data" ac:schema-version="1"> <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter> <ac:parameter ac:name="">Name</ac:parameter> <ac:rich-text-body> <p> <br/> </p> </ac:rich-text-body> </ac:structured-macro> <p class="auto-cursor-target"> <br/> </p> </td> <td> <p class="auto-cursor-target"> <br/> </p> <ac:structured-macro ac:macro-id="c0b7b6e2-0961-43fc-944e-27583a0e1728" ac:name="date-data" ac:schema-version="1"> <ac:parameter ac:name="format">dd-MMM-yyyy</ac:parameter> <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter> <ac:parameter ac:name="">Due Date</ac:parameter> <ac:plain-text-body><![CDATA[today]]></ac:plain-text-body> </ac:structured-macro> <p class="auto-cursor-target"> <br/> </p> </td> <td> <p class="auto-cursor-target"> <br/> </p> <ac:structured-macro ac:macro-id="e8dbdf40-fc61-4ee2-bf05-83cc23c4478b" ac:name="list-data" ac:schema-version="1"> <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter> <ac:parameter ac:name="">Status</ac:parameter> <ac:rich-text-body> <p class="auto-cursor-target"> <br/> </p> <ac:structured-macro ac:macro-id="d62ea728-633c-4ed3-b8cd-643d67035f8c" ac:name="list-option" ac:schema-version="1"> <ac:parameter ac:name="value">Unstarted</ac:parameter> <ac:rich-text-body> <p>Unstarted</p> </ac:rich-text-body> </ac:structured-macro> <p class="auto-cursor-target"> <br/> </p> <ac:structured-macro ac:macro-id="f2f5e018-eb06-4862-a184-a73af2e3ed3a" ac:name="list-option" ac:schema-version="1"> <ac:parameter ac:name="value">In progress</ac:parameter> <ac:rich-text-body> <p>In progress</p> </ac:rich-text-body> </ac:structured-macro> <p class="auto-cursor-target"> <br/> </p> <ac:structured-macro ac:macro-id="65090020-04c0-4ee6-ac07-beafa37dfcf9" ac:name="list-option" ac:schema-version="1"> <ac:parameter ac:name="value">Awaiting approval</ac:parameter> <ac:rich-text-body> <p>Awaiting approval</p> </ac:rich-text-body> </ac:structured-macro> <p> <br/> </p> <ac:structured-macro ac:macro-id="d70dbd48-b7ee-4d24-a8ac-b46ed0e9bf0a" ac:name="list-option" ac:schema-version="1"> <ac:parameter ac:name="value">Completed</ac:parameter> <ac:rich-text-body> <p>Completed</p> </ac:rich-text-body> </ac:structured-macro> <p class="auto-cursor-target"> <br/> </p> </ac:rich-text-body> </ac:structured-macro> <p class="auto-cursor-target"> <br/> </p> </td> <td> <p class="auto-cursor-target"> <br/> </p> <ac:structured-macro ac:macro-id="d1514be3-aa84-4911-b34c-6502ff46ff34" ac:name="number-data" ac:schema-version="1"> <ac:parameter ac:name="decimal">true</ac:parameter> <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter> <ac:parameter ac:name="">Estimated Time</ac:parameter> </ac:structured-macro> <p>hrs</p> </td> <td> <p class="auto-cursor-target"> <br/> </p> <ac:structured-macro ac:macro-id="5eb89cf0-eff7-45e9-947d-b0f14bd14711" ac:name="number-data" ac:schema-version="1"> <ac:parameter ac:name="decimal">true</ac:parameter> <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter> <ac:parameter ac:name="">Actual Time</ac:parameter> </ac:structured-macro> <p class="auto-cursor-target"> <br/> </p> </td> <td> <p class="auto-cursor-target"> <br/> </p> <ac:structured-macro ac:macro-id="6eca1ee2-16f3-4abe-8689-829f9ff7accc" ac:name="eval-data" ac:schema-version="1"> <ac:parameter ac:name="format">#,##0.0#</ac:parameter> <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter> <ac:parameter ac:name="">Time Diff</ac:parameter> <ac:plain-text-body><![CDATA[ ${Actual Time}-${Estimated Time} ]]></ac:plain-text-body> </ac:structured-macro> <p>hrs</p> </td> </tr> </tbody> </table> <p class="auto-cursor-target"> <br/> </p> </ac:rich-text-body> </ac:structured-macro> <p> <strong>Total Time:</strong> </p> <ac:structured-macro ac:macro-id="e00ee529-b9c3-4d6a-b249-3e65f60aa730" ac:name="eval-data" ac:schema-version="1"> <ac:parameter ac:name="format">#,##0.0#</ac:parameter> <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter> <ac:parameter ac:name="">Total Time</ac:parameter> <ac:plain-text-body><![CDATA[sumtable("Milestones", "Actual Time")]]></ac:plain-text-body> </ac:structured-macro> <h2>Notes</h2> <ac:structured-macro ac:macro-id="a4491bca-c3ab-42dd-ae5c-7c3155298cbd" ac:name="text-data" ac:schema-version="1"> <ac:parameter ac:name="width">400px</ac:parameter> <ac:parameter ac:name="type">area</ac:parameter> <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter> <ac:parameter ac:name="height">150px</ac:parameter> <ac:parameter ac:name="">Notes</ac:parameter> <ac:rich-text-body> <p> <br/> </p> </ac:rich-text-body> </ac:structured-macro> <p class="auto-cursor-target"> <br/> </p>
Macro structure
You can recreate the example in the editor view: