Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Section
show-titlefalse
titleDescription

This short introduction shows how a table of information can be transformed into a web of documents on your Confluence wiki using the PDAC1.

Although we will show tools of the projectdoc Toolbox, what we present here can also be achieved with other tools.

...

Section
titleHandling these Requirements

So what are the options to handle these requirements with the tabular approach and what is an alternative?

The alternative is single sourcing: Instead of adding lines to a table we see each line as an entity for which we create a new page. Information form these pages, single sources of truth for a particular information like the connection information for a particular team member, can be accessed and compiled in different contexts. Each representation for such a context we call view. So in different contexts you may have different views on the same information.

Section


Column
width33%


Panel
titlePage for Tina


NameChristina Meyer
E-Mailchristina@example.com
Phone

098 321-123

Mobile+01 123 23451
skypetina.m



Section
titleFields of expertise
  • ...
  • ...
  • ...


Section
titleHistory of projects
  1. ...
  2. ...
  3. ...




Column
width33%


Panel
titlePage for Mike


NameMichael Suba
E-Mailmichael@example.com
Phone098 321-204
Mobile+01 123 23671
skypesuper.mickey



Section
titleFields of expertise
  • ...
  • ...
  • ...


Section
titleHistory of projects
  1. ...
  2. ...
  3. ...




Column
width33%


Panel
titlePage for John


NameJohn Doely
E-Mailjohn@example.com
Phone098 321-451
Mobile+01 123 24656
skypemycorporationme



Section
titleFields of expertise
  • ...
  • ...
  • ...


Section
titleHistory of projects
  1. ...
  2. ...
  3. ...




Let's have a look at how we can engage the additional requirements we have listed above!

Section
titleSelecting on Information

Selecting on information on a table can be done by filtering. Filters may reduce the amount of columns and the amount of lines. You can have controls where you type and automatically prune the table.

How can we approach this requirement using single sourcing?

The page holding the contact information for a person can be based on a blueprint to make it easier to add new members and provide the information that is most relevant to the team. A blueprint is therefore a tool to support authors to compile similar information in a similar way and it shows the author which information is typically expected on such a page. This guidance is implicit with the table approach. The format and layout is defined by the order and number of columns of the table.

Note Box

The Person doctype There is a doctype for Person that provides a blueprint with common information one expects to find in an addess address book.

This doctype is part of the Core Doctypes, a free doctype add-on for the projectdoc Toolbox.

Information that should only be visible to team members having certain roles could be added on separate pages. The access to these pages is restricted by the wikis access control and are transcluded on the public page. Therefore the transclusion will only happen if the user has sufficient access to the restricted information. This feature is difficult to master with a table approach. You would need to have a tool that allows to grab information from an alternative location and render it into the page at request time. This is what transclusion does with Confluence tools.

You can add information in different formats. For instance the telephone number in form of its extension and in full format. You may also define different type of team members where different types of information is relevant.

Tip Box

Not shown here, but you can use the Display Document Property Ref Macro to render a property value and append or prepend additional information. This way you could have a property Phone Extension and a property Phone Number where the Phone number reuses the extension information. If the extension for a team member changes, the update is only needed in one place.

To automatically render the information of all team members in tabular form, use the Display Table Macro. This macro allows you to query for team members with certain properties and select to show only the personal information that is relevant to your use case. That is you have the information of team members in one place and then have multiple views on this information by using the Display Table Macro.

With the table approach this table is automatically provided. But since it is hard wired, there is only one view on that table (with some considerable variations if you add code for filtering and sorting to that table).


Section
titleReferencing Information

To reference a single member you would need to reference a single line in the table. This can be done with a named anchor, but this is usually troublesome.

If you have each team member on a separate page, the URL to that page references the team member. Via this URL all information about the team member that is relevant to the team is accessible. This URL can be easily added to other documents to create a web of information.

Since the URL points to a page in Confluence, changes to the name of the page will automatically update all references. This is not the case for named anchors. If the named anchor changed, the references are not updated automatically.


Section
titleAdding more Information

In tabular form it is often unwieldly unwieldy to have short information like a name in the same line as a list of special interestes interests or other multi-line notes. It makes the table less readable since all cells in a row need to have the same height. And although the height of rows may differ, a table with rows of the same height is usually more pleasent pleasant to read.

If the information for a team member is on a separate page, any information can be added. The projectdoc Toolbox distinguishes between Document Properties, which are typical single line and used to filter on team members for a search result and Document Sections which comprise multiple blocks like paragraphs or tables. Since each view selects on information, the information can be rendered in the most appropriate layout.

Having defined fields of expertise on could also collect names of team members who are proficient in that field. That is by clicking on an expertise on a team member page, the user would have access to a list of team members that also have knowledge in that area.

If you document projects and link to the people who are part of the team, a history of projects can be automaticall automatically rendered on the team member pages. The same is true for topics the team members are authors of if they are mentioned as as authors on the topic page.

The page for contact information of a team member becomes a portal to related information by itself.


...

Section
titleConclusion

Having each information on a separate page makes it referencablereferable. Think of having a separate page for each line of the original table. You can add any number of views on this information and some information will be collected automatically. We have discussed briefly the many advantages to have a single source for each piece of information.

On the other hand compiling a table with a couple of columns is very easy and can be conducted in an ad-hoc manner. Single sourcing requires some form of planning as to decide how such a page should look like by defining a blueprint. This is in contrast to instantly guessing the relevant columns of a table. For many people it is often more cumbersome to create a new page than to add a new line to an existing table.

So – as often – there is no right or wrong.
And therefore – as always – choose the tools that are most appropriate to your task at hand!

...