The Dynamic Release Management (DRM) module allows technical publication teams to easily manage the documentation for multiple products across multiple release cycles.

In most technical writing projects, you need to maintain different versions of the same documentation set at the same time: As you're finalizing the delivery of the current version of Product A, you are already working on the next version of this product. You may also need to document multiple products, which may reuse the same content. The DRM module allows you to easily plan, deliver, and maintain your documentation releases.

Branching and merging

The DRM module provides two very flexible release management features:
  • Branching: Branching lets you create a new documentation version based on the current version. For example, let's say that you are working on the documentation for Version 1 of Product A, and you need to start working on Version 2 right away. You simply branch the Version 1 documentation set and work from this new base to make the changes for the new version.

    You can edit existing topics, add new ones, and remove unnecessary ones in Version 2 without impacting Version 1. When you edit a topic, you can apply the changes to all the versions of the object or you can branch the topic and apply the changes to the new version of the topic only.

  • Updating to previous versions: You can apply changes made in a new document version back to another version. For example, let's say that you had branched a topic to document new parameters added in Version 2 of the product. If Product Management decides to also add that feature in Version 1, you can simply update the new topic to that version, so that Version 1 now uses the updated topic.

Products, releases, and versions

In the DRM model, documentation is classified into three release management levels:

  • Products: At the top level, you define a product. A product has its own configurable metadata (such as name and description) and contains one or more releases.
  • Releases: A release provides a second level of logical grouping for the documentation. A release has its own configurable metadata (such as name and description) and contains one or more versions.
  • Versions: A version contains the actual documentation objects. Content is always created for a version. A version must exist before content can be added to it, and the same content object can be used in more than one version.
The following diagram shows these concepts:
DRM Overview

For example, dynamic release management could be implemented as follows for the IXIASOFT documentation:

DRM Ixiasoft

There are two main products in this sample implementation: DITA CMS and TEXTML Server. Each product has two releases, and each release has multiple versions. The content of the DITA CMS and TEXTML Server product documentation is created at the version level.