Information Systems Extension

 

Add-on to extend the projectdoc Toolbox to integrate remote information systems.

Parent
Categories
Confluence Version
9.2.x
Version
projectdoc Toolbox

The extension to the projectdoc Toolbox provides macros to link to and transclude from pages on remote servers.

Typically links to remote servers are fully qualified when copied to a Confluence page. This makes it difficult or cumbersome to change the URL at a later time. For instance the  URLs to an API documentation may contain a version information or the URL to the server providing architecture view images changes. The macros provided by this extension makes it easy to deal with such changes by externalizing path prefixes with space properties.


Categories of Macros

There are three kinds of macros in this extension. Macros that

  1. help to integrate by identifying domain information
  2. reference or transclude image and text information
  3. reference or transclude text information with explicit URL

The first two versions have in common that the base link is configured at space level (or at site level using the Delegate Space feature). The third category provide tools to access remote information at an individual basis with explicitly specifying the URL.

Domain References

The macros make it easier to link to resources on remote servers. The link is specified in form of a domain specific value, not as a plain URL.

  • The Javadoc Link Macro allows to create a link to information in the API documentation by specifying the class or method.

  • Reference to a view on the model create by the Enterprise Architect are created via the Image ID with the Enterprise Architect Image Link Macro.
  • The Nexus Link Macro renders links to artifacts with group, artifact, and version information.

Generic Macros

Specify references to images and text based on systems specified at space level.

Use the placeholder feature to create reusable and maintainable space properties.

Explicit URL

 Macros allow to transclude by specifying the URL explicitly.

Macros

The extension provides the following macros to specify links or transclusions to remote resources.

# Name Short Description
1
Renders an image generated from an Enterprise Architect diagram, transcluded from a server.
2
Transclude HTML content from a remote server.
3
4
5
Renders an image transcluded from a remote server.
6
7
Transclude content from a resource from a remote system.
8
Transclude text content from a remote server.

The following macros are deprecated since version 1.0 and will be removed soon. Please use the System Link Macro instead.

# Name Iteration Short Description
1
Deprecated
2
Deprecated
3
Deprecated
4
Deprecated
5
Deprecated
Transcludes a snippet from a project on a Subversion (SVN) server.

The macros supported users to parametrize locations. Since space properties have the placeholder feature built in since version 1.11 of the projectdoc Toolbox, the configuration is now much simpler.

Services

The extension provides the following services and components.

# Name Since Short Description
1
1.0
Autoconvert URLs to Macros of the Information Systems Extension.

Autoconverting

Keeping references to external systems up-to-date is a difficult task. It is to some degree easier to reference systems that are external to the Confluence server, but still in control of the team managing the documentation and communication infrastructure. None-the-less external information systems may change addresses. To change all references to an external information system easily, the Information Systems Extension provides macros to derive the base URI from a central configuration on the Confluence server. The autoconvert service enhances the usability of these macros by creating them on the user's paste action.

How it works

The macros of the Information Systems Extension use base URIs defined as space properties, shortcuts, or application links (see System Identifier to URI Resolution Algorithm for details). The macros are specialized or generic, as explained in Categories of Information System Macros.

By pasting an URL to a page the autoconvert service checks for the appropriate macro based on the pasted URL. The identification process has to take into account that not all URIs have to be autoconverted. That is the URI needs to match a specific pattern to uniquely identify the macro or determine that none of the macros match. Therefore it is recommended to associate the URI with a specific matcher by name with the space property

This information is reused by the Autoconvert component. The Autoconvert component tries to derive the appropriate macro.

Configuration

The configuration of the autoconverters is conducted in two steps:

  1. Define the information system(s)
  2. Map information system(s) to autoconverters

Define Information Systems

Define your information systems by binding an identifier to an URI. This binding may either be defined as a space property, a shortcut, or an application link.

Map Information Systems

Use the space property Autoconvert Hint to bind autoconverters to information systems.

Whitelist

Since the Confluence Whitelist restricts access to remote servers. URLs that are not listed in the Whitelist cannot be accessed from the Autoconvert code. Therefore all URLs configured for the projectdoc Autoconvert need also be added to the Whitelist.

Configuring the Whitelist, as part of the Confluence documentation by Atlassian, shows how to allow access to remote servers.

For the projectdoc Autoconvert only access to the remote system is required. The remote system does not access the Confluence server for this feature.

When pasting an URL to a Wikipedia article, the autoconverter will create a macro for the link.

The rendered macro will show the title of the article as its label instead of the URL.

Authentication

Since version 1.4 of the Information Systems Extension the autoconverter service and transclusion macros (System Transclusion Macro, Text Snippet Macro, and HTML Snippet Macro) use the Application Links configured in Confluence to access remote resources.

Impersonating OAuth

Impersonating OAuth using Application Links is supported.

The URL configured with projectdoc (for example as a space property using the url- prefix) needs to find a prefix URL configured as an application link. So the URLS of the system link and the Application Link have to match, not the prefix of your defined url-property and the name of the Application Link The first match is used to authenticate to access a protected resource on the remote service.

OAuth

Currently not supported.

Basic Authentication

Basic authentication using HTTP headers is supported.

A Basic Authentication Link is also established using the Application Links admin page.

This time you do not create an impersonating OAuth Link but an Application Link with Basic Authentication.

Space Properties

The extension defines the following space properties.

ID Short Description Default Value Since
Set the default value for macro parameters controlling the checking of the referenced resource.
false
3.1
Controls the title shown in code boxes rendered by macros in the Information Systems Extension.
file-name
3.1
Set the default value for selecting on line numbers.
3.1

Resources

Related information on the information system extension.

Autoconvert Information System URIs
Introduction to the autoconvert feature for URIs to external systems.
Categories of Information System Macros
Overview over the different categories of macros that are part of the Information Systems Extension.
Confluence as the Information Hub
Tools from the projectdoc Toolbox to import from and export to other information systems.
Information System Macros
List of macros linking to or transcluding from external information systems.
System Identifier to URI Resolution Algorithm
Describes how the system calculates the URI to an information system based on its identifier.