Why use variants for software releases?

Object Variants

Variant criteria are used by the book filter and the publishing filter to locate or work with variations of primary objects.

Why use variants for software releases?

There are two options in Author for modifying content for software releases:

  • update a single set of topics
  • use variants

The option you choose will depend on whether you only need to publish content for the current release, or if you need to maintain and republish content for multiple releases.

Option 1: Update a single set of topics

With this method you write and continue to update your content as it changes. Add or remove topics from the book as needed. This way, when you publish you'll always be delivering the latest content. However, this approach makes it is difficult to republish the document to reflect an earlier release as you'll need to reconstruct the content so it is accurate for that particular point in time.

Option 2: Using variants for each release

The second option is to use topic variants. Rather than continually updating a set of topics, you create a variant of any topic that will change for a new release. The benefit of this option is you can easily republish your books knowing they accurately reflect your content as it was for a specific release.

In addition, by using this approach you create variants and tag them for changes that are scheduled for your future releases. When you publish your books for the current release you know that these "future" variants will not be included in the content.

By using variants for software releases, you have the option to:

  • Republish any release at any time - the content for each release exists in the library; just use the filter to select the release you want to publish.
  • Go back and change an old release - as all objects are unique, a variant object's content can be changed without affecting any related variant objects.
  • Create a variant from a variant - as content changes through releases, instead of creating the new variant from the primary object, you choose the variant object that has the most appropriate content as your starting point.
  • Define fall-back criteria values - create a substitution path that flows back through the releases instead of just falling back to the primary object.
  • Manage variants using branching - take the fall-back path a step further and include branched fall-back paths.
  • Apply criteria to primary objects - criteria values can now be applied to primary objects to control their inclusion in the published documentation.
  • Compare variants - use the Object Compare function to view differences between two variant objects (or any two objects of the same type).