I need some help getting started developing in Confluence. I am trying to build a Space which will hold all of the documentation related to various software projects. I am looking to first create templates for each document type as well as a template that would function as a ‘project home’ page. In the ‘project home’ page I have tables for each of the reproducible variables such as Project Name and Lead Developer. New documents for a project are created from buttons inside the ‘home’ page. What I would like to do is for any new project, when I create a new document from inside a ‘home’ page, the new document would pre-fill the various elements already complete in the ‘home’ page tables. While this might seem like a lot of work, each project can have up to 20 documents all with the same information in the header, footer etc.
Would I be able to develop this functionality using User Macros or should I do a full server build?
If the information is stored as text fragments to be reused as header, footer, etc, you could have each on a separate Confluence page (as child pages to the project home page) and use the Excerpt Macro to make it available on other pages. If you go with naming conventions, then the Excerpt Include Macro could be part of the page that is created with a blueprint wizard.
I’m not sure if the Page Properties Macro would meet your requirements according to individual values you have defined on your home page in form of a table.
I use the projectdoc Toolbox (where I am one of the authors) which allows you to define space properties that can be accessed by all pages in tabular form. Space properties like “Project Name” or “Version” can be accessed from all pages and display their current values. Using Space Properties is a tip on our website that shows how space properties work. The projectdoc Toolbox also provides some advanced transclusion features for content reuse. Detailed information can be found in the Online Manual.
There is also a free Web API Extension for the projectdoc Toolbox that allows to set space and document properties as part of an automated process.