projectdoc Toolbox

Renders a dynamic link to a projectdoc document in the wiki. A dynamic link is a link to a Confluence page that is identified by the page title and the delegate space closure. The target of the link is calculated at render time. In case the delegate space closure changes, a different document may be the target of the link.

Audience
Tags
ID
Since
4.6

Renders a dynamic link to a projectdoc document in the wiki. It is a specialized form of the Wiki Link Macro.

It is dynamic in the sense that the document to link to is determined by the provided document title and delegate space. The first matching document is linked to.

Parameters

Document Title

The title of the document to reference.

Since version 4.10 of the projectdoc Toolbox this value is added to the artificial property projectdoc Dynamic Link Titles.

Space Key

The key to the space the document is part of.

If empty, the macro tries to find a term with the given page title on the delegate space. Also see Space Closure to control the space closure to use.

Anchor

The Anchor allows to define a document fragment to reference on the target document.

The anchor value may have one of two forms:

  1. If the first character is a hashmark (#), then the anchor is used verbatim as fragment part of the generated URL
  2. If the first character is not a hashmark (#), then the anchor is a section title and a proper anchor is derived

So if the reference is to a section using the Section Macro, simply add the title of the section. If the user knows the identifier or anchor in the HTML code, use that identifier an put a hashmark (#) in front.

Valid values: Section Titles and Identifiers

 
  • My Section Title
  • #my-element-id
  • #myAnchorName

Label

The label to render instead of the document name.

It may contain property placeholders (like ${Title})  of the referenced document.

Lower Case

When checked the label of the link is rendered in lower case.

This is especially useful for text in the English locale to appear in the body of a section.

Tooltip

Allows to override the tooltip which defaults to the short description provided by the referenced termdocument

It may contain property placeholders (like ${Name} ${Short Name})  of the referenced document.

CSS Classes

The optional CSS classes to add to the link.

Since 4.10

 

The default class projectdoc-intra-site-link is added per default.

Space Closure

The space closure defines which spaces are to be considered for searching.

Valid values are

  • space-default
  • delegate-space
  • search-space
  • self-space (since 4.5)

Per default the delegate spaces are used. This is what the is most often needed: the location where new documents are stored per default is the location this macro will link to.

If you have a space that references the latest version of a product space, you may want to link to information to be found in any space. In this case the space contains the latest version of a space in its search space. Using this link will ensure that the latest version is linked.

The value self-space restricts the search to the local space, that is the space the the page with the macro is part of. This supports the use case where the template authors want to limit the search. 

Doctype Constraints

Referenced documents must match the doctype provided by this parameter to be considered a valid link target.

If a document does not meet the constraints or is not a projectdoc document, it is skipped while traversing the space closure (including the current space).

Since 4.9

 

The parameter is available since version 4.9 of the projectdoc Toolbox.

Link Render Control

Control how the link is rendered if the target document does not exist.

Valid values are:

create-link
Render a link to create a document (default)
empty
Render nothing
plain-text
Render the link label.

Abbreviation Mode

Renders the abbreviation or short name with the name as tooltip.

The following options are available:

OptionDescription
noneDoes not activate the abbreviation mode. The link uses the name to render the label and the document's short description as tooltip.
nameRenders the abbreviation or short name as label and the document's name as tooltip.
short-nameRenders the abbreviation or short name as label and the document's short name as tooltip.

Since 4.6

 

The parameter is supported since version 4.6.

Blueprint

The complete key of the page blueprint.

 

A page blueprint key looks like this:

de.smartics.atlassian.confluence.smartics-projectdoc-confluence:projectdoc-blueprint-doctype-blank

This example refers to the Blank Document.

If omitted, the new page will be based on the empty page template.

Request Parameters

Request parameters allow to call a Remote Controlled Document (e.g. using the Display Table Macro).

The left side (value) of the parameter assignments will be URL encoded. The expected pattern is

id-x:name1=value A, value B&id-y:$<name2>=[some value]

Remote Controller

 

This macro passes the Remote Controls via HTTP request parameters. Other Remote Controllers do this via macro parameters set in the rendering context.

Request Toggle Label

In case the macro adds request parameters it is able to react to a request that contains these request parameters with matching values. In case the macro is called on a page with its request parameters it will render the provided label and will not add its request parameter. This effectively allows the macro to toggle between two states: one in which the macro applies the request parameters and uses its standard label and one in which the request parameters are not applied and the toggle label is used.

Request Toggle Tooltip

Set the tooltip for the link when in the toggled state. This tooltip is only shown withe the Request Toggle Label.

If the toggle state for Remote Control is not in use, this parameter has no effect. To enforce this feature the Request Parameters and the Request Toggle Label must be specified. Whenever the macro recognizes that its request parameters are set, it enters the toggle state.

Related Macros

Ancestor Property Macro
Render the property value of an ancestor of this document, for the first ancestor that matches the specified document type.
Attachment Link Macro
Renders a link to an attached file for download.
Breadcrumb Macro
Renders a breadcrumb for the current page.
Child Documents Macro
Renders the list of child documents, matching the given filter criteria.
External Link Macro
Renders a locale dependent link to an external resource. The body of the macro contains the link label.
In-Document Link Macro
Renders a static link to a location within the same document. This is a static document link macro with a specialized interface.
Name Body List Macro
Lists references to projectdoc documents. The rendering will add a link to a document, if there is a document with the given name hat is added to the body.
Name List Macro
Lists references to projectdoc documents. The rendering will add a link to a document, if there is a document with the given name.
Parent Property Macro
Renders the property of the parent document, if it has the same doctype.
Role List Macro
Renders a name list while taking care of special role semantics. Confluence names of groups with view permissions are added to the list of values.
Static Document Link Macro
Renders a static link to a projectdoc document in the wiki. A static link is a link to a Confluence page that is identified by its space key and document title.
Tag Body List Macro
Lists references to projectdoc documents. The rendering will add a link to a document, if there is a document with the given name hat is added to the body.
Tag List Macro
Renders a name list while taking care of special tag semantics. Confluence labels are added virtually to this list and displayed in the tags table row of the document properties table.
Template Document Link Macro
Allows to render a link constructed with a template to a document dependent on the space closure.
Term Link Macro
Renders a dynamic link to a Glossary Item in the wiki.
Wiki Link Macro
Allows to render a link to a wiki page.

Resources

projectdoc Dynamic Link Titles
Lists the titles of all pages targeted by dynamic links.