Create a Release Note Template

Last modified by Vincent Massol on 2026/08/30 13:43

Steps

A new release note starts as a copy of a template page, whose xobjects are described in Release Note Structure.

  1. Create a page to hold the template, for example ReleaseNotes.Code.CompactTemplate.
  2. Enter its title and content, calling $doc.getValue('product') and $doc.getValue('version') wherever the release note's own values belong, and adding the releasenotechanges and releasenotecontributors macros where the changes and the credits should appear.

    template-page.png

  3. Point the "Template Reference" of the configuration at that page, as described in Configure the Release Notes Application.
  4. Create a release note: its title and content now come from your template, with the product and the version resolved.

    release-note-template.png

FAQ

When are the Velocity expressions of the template evaluated?

Not at creation time. The title and the content are copied verbatim into the new page and evaluated whenever it is rendered, against its own ReleaseNoteClass object.

Why does the template page display its own title unresolved?

Because it carries no ReleaseNoteClass object of its own to resolve the values against. Guard the title with a Velocity #if that falls back to a plain name when the product is empty, as the shipped template does.

Can the shipped template be edited instead?

Yes, ReleaseNotes.Code.ReleaseNoteTemplate is declared customizable, so an upgrade of the extension keeps your version of it.

Does the release note inherit the required rights of the template?

Yes. Release Notes Application 2.4+ The XWiki.RequiredRightClass objects of the template and its enforcement flag are copied to the release note, so a template whose content needs Script right produces a release note that declares and enforces it.

Related

Get Connected