projectdoc Toolbox

projectdoc introduces structure on a Confluence space. It adds the concept of homepages for document types.

Parent
Audience
Expected Duration
10 minutes
Tags

projectdoc introduces structure on a Confluence space. It adds the concept of homepages for document types. These structures help to organize information as a team more effectively.

We give some detailed information here on how to use spaces for team collaboration with projectdoc.

For a shorter overview refer to Macro Structures as part of the projectdoc Introduction.

Contents

 

Prerequisites

Please make sure you have read the article about projectdoc Documents.

Space Properties

Purpose

projectdoc allows to define properties that are visible within spaces. This is useful if you want to refer to the value of a property from any page within a space. A typical use case is that you define a property to store the version of a product you are documenting in that space. Whenever you need to refer to the current version, you use a macro to fetch this information.

Space properties also allow template authors to determine the elements to be displayed. If for instance a space defines a property to define the main programming language, the template author may be able to render links to resources for this language.

 

Some blueprint add-ons allow you to import metadata from artifacts of your project. You may read POM files, buildmetadata files, or Maven Plugin Descriptors. This information is made available by space properties.

Space properties are useful to organize information within a space. It also allows to control the behaviour of macros inside the space uniformly.

Implementation

Space properties are stored as properties on the space homepage.

You may also reference additional pages whose properties should be used as space properties by the use of the space properties extension property.

Homepages for Doctypes

Homepages for document types add an additional feature to the organization tools in your Confluence wiki.

Purpose

If you are using Confluence you are probably already familiar with index pages. If you create a new page with a blueprint, the new page is tagged with a label which is bound to a page that lists all documents of this type.

Screenshot showing references to index and homepages 


The screenshot shows a link to the Topic homepage and three links to index pages.

Index pages start with "All ..." in the title per convention.

 

Homepages are similar. If you create a new page, you may decide to send this page to its homepage.

Wizard showing the Default Target checkbox



The Default Target checkbox will move the new page to the homepage.

If this box is unchecked (the default) the page will be stored as a child to the current page.

 

Homepages collect the documents of a give type, but in contrast to index pages, they reference only the root documents. This allows you to create hierarchies of documents on the homepage, while the index page still lists all documents in a long list.

Maven Project Directory Layout

 

Homepages help to organize your space. If you are a software developer you probably know the concept of a project directory layout. Usually it does not really matter where your place your files as long as they are stored in a well known place. For software developers using Java and Maven it is natural to store these files under src/main/java and the test files at src/test/java. Every type of file has a defined default location. This helps software developers that participate in multiple projects to find the files they are looking for fast and easily. It is a convention that removes the need to configure the development environments manually due to valid defaults.

The same is true for homepages.

Most files simply have to be stored in one location. If you collect meeting minutes or requirements, out-items or stakeholder information, you often want to store them in one place for your project. This is what homepages are about.

Doctype Homepages

Per default the blueprint for each doctype defines one homepage.

Homepages are typically created at space creation. Index pages are created on demand.

Most homepages have links to the homepages for the document types used in that space. The links show if there is content on the homepage.

The example shows four links. There are no documents stored on the homepages of Tours, FAQs, and Topics. They are rendered with an opacity of 50%.

The team has already added some glossary items. Therefore the link is shown in a highlighted style.

 

The highlighting features makes it easy for readers to judge on first glance which page has actually documents attached.

 

The link actually checks if a document of this type has already been created. The semantics are to check if any team member has ever invested time to create a document of the given type.

In most cases the simplified version of "there is a document of this kind" will be matching the situation.

Delegate Homepages

A homepage is not required to be part of a space. The homepage for a doctype can be delegated to another space.

This is e.g. useful if you want to store all stakeholders for multiple projects in a designated space.

 

The Default Target checkbox reads

Check to store the page to the default location of the current space.

Note that this default location is not required to be part of the current space!

Personally defined Homepages

You may also define your personal homepage for documents of a given type.

Simply set the space property named Doctype Home to point to your selected homepage. Whenever you create a new page of that type – and select to send this page to its homepage by checking the Default Location box on the blueprint wizard – that page is stored as a child of the designated homepage.

 

To set the default page for a user's library, add this to the user's homepage:

The space key has the format

projectdoc.doctype.XYZ.home

Where XYZ stands for the doctype of the homepage. The identifier of the doctype is found in the doctype's documentation under the key ID.

The value is the key of the space followed by the title of the homepage.

Resources

The following resources provide information to get started with projectdoc.

projectdoc Introduction
A short introduction into the concepts and features of the projectdoc Toolbox.
projectdoc Document
projectdoc is based on projectdoc documents. Creating a projectdoc document is easy: A projectdoc document is a Confluence page using document properties and sections.
projectdoc Space Relationships
projectdoc allows to group spaces and to set them in two kinds of relationships: delegate and search.
Learning projectdoc
Getting started with the projectdoc Toolbox is not easy. Some basic concepts are more than just good-to-know and the number of macros and doctypes may be simply overwhelming. This tip gives some advice on how to get started.

Further information on spaces:

projectdoc Space Relationships
projectdoc allows to group spaces and to set them in two kinds of relationships: delegate and search.
Accessing projectdoc Space Properties with cURL
Learn how to access projectdoc space properties via REST API with cURL.
Space Properties
Lists the configuration options at space level.
Space Property Controls
Lists valid controls for properties to be used as space properties.
Spaces Introduction
Provides a gentle introduction to the concept of spaces using projectdoc.
Using Space Properties
Space properties are defined for spaces and are accessed via the Space Property Macro. This tip goes into detail in how to use space properties with inheritence and extension pages.