Understanding the Snapshots feature

A snapshot is an object that captures a map at a particular point in time. You can use a snapshot to rebuild the map and the objects that it contains exactly as they were when the snapshot was created.

Note: The snapshot feature is slightly different for the IXIASOFT Dynamic Release Management module. See the Dynamic Release Management Mode User Guide for IXIASOFT CCMS if you are using this module.

When you create a snapshot for a map, the system creates an .xml file that contains a list of all the objects in the map and sub-maps along with their current version numbers.

For example, consider the following map, which contains a topic and a sub-map:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE bookmap PUBLIC "-//IXIA//DTD IXIA DITA Map//EN" "IxiaMap.dtd">
<bookmap id="lar1397749975458" xml:lang="en-us">
    <title>Sample map</title>
    <chapter href="lar1397750021477.xml"/>
    <chapter format="ditamap" href="lar1401202413026.ditamap"/>
</bookmap>

The following code shows the contents of the snapshot file for this map. The snapshot includes the all objects referenced in the topic (in this case, an image and referable content) as well as all the objects in the sub-map (in this case, a task that also includes an image).

<?xml version="1.0" encoding="UTF-8"?>
			
<!DOCTYPE snapshot PUBLIC "-//IXIA//DTD IXIA DITA Snapshot//EN" "snapshot.dtd">
<snapshot id="lar1397749975458" xml:lang="en-us">
   <title>Sample map--Snapshot</title>
   <snapshotmeta>
      <resourceid base="/content/authoring/" id="lar1397749975458.ditamap"/>
   </snapshotmeta>
   <manifest>
      <snapshotref cms-status="Authoring:done" 
                   href="../../authoring/lar1397749975458.ditamap" 
                   navtitle="Sample map" 
                   rev="4" 
                   type="bookmap">

         <!-- Snapshot for topic lar1397750021477.xml and its
              image and referable-content -->

         <snapshotref cms-status="Authoring:done" 
                      href="../../authoring/lar1397750021477.xml" 
                      navtitle="Topic 1" 
                      rev="3" 
                      type="concept">
            <snapshotref cms-status="Authoring:done" 
                         href="../../authoring/lar1397660192937.image" 
                         navtitle="lock manager icon" 
                         rev="1" 
                         type="imagemeta"/>
            <snapshotref cms-status="Authoring:done" 
                         href="../../authoring/lar1398347925155.xml" 
                         navtitle="Contact Technical Support" 
                         rev="3" 
                         type="referable-content"/>
         </snapshotref>

         <!-- Snapshot for sub-map lar1401202413026.ditamap and its
              task, which also includes an image -->
         <snapshotref cms-status="Authoring:done" 
                      href="../../authoring/lar1401202413026.ditamap" 
                      navtitle="Sample sub-map" 
                      rev="3" 
                      type="bookmap">
            <snapshotref cms-status="Authoring:done" 
                         href="../../authoring/lar1397660191604.xml" 
                         navtitle="Install Tomcat on Windows" 
                         rev="3" 
                         type="task">
               <snapshotref cms-status="Authoring:done" 
                            ref="../../authoring/lar1397660191290.image" 
                            navtitle="Apache Tomcat Configuration" 
                            rev="1" 
                            type="imagemeta"/>
            </snapshotref>
         </snapshotref>
      </snapshotref>
   </manifest>
</snapshot>
For the map and each object in the map, the following information is kept:
  • Status of the object
  • Link to the object in IXIASOFT CCMS Desktop
  • Navtitle
  • Revision number
  • Object type

This information allows CCMS Desktop to recreate the map exactly as it was when the snapshot was created. Once created, you can search for a snapshot in the Content Store like other objects.

Why use snapshots?

Creating a snapshot does not create copies of the map and its objects. It creates a text file that lists the map's contents at a specific point in time, and you can create a snapshot from a map that is in any state as long as the map is not locked.

In comparison, you could go back to old versions of all your maps that you delivered to your end users by publishing the maps at each milestone. But there are issues with publishing maps this way:
  • You need to bring the map and its objects to the final state of the Authoring cycle (for example, Authoring:done).
  • When you publish a map, the CCMS Desktop makes a copy of the map and all its objects and stores them in the Content Store, so the size of the database keeps growing even if the volume of source content is stable.

Creating a snapshot only make one text file, so it has virtually no impact on the number of objects in the Content Store. And you don't have to publish the map to Published:done

Uses of snapshots

After creating a snapshot, you can take advantage of the following:
  • Create a branch from a snapshot: You can use a snapshot to branch different versions of content. For example, your team is still working on the documentation for Version 10 of your product, but you need to start working on Version 11. You can create a snapshot of the Version 10 documentation and then create a branch from the snapshot. Since you can create the snapshot of a map from any state, the Version 10 documentation can remain in the Authoring:work status.
  • Generate the output of a snapshot: At any time you can see the content of a snapshot by generating its output. When you generate the output of a snapshot, the Output Generator retrieves from the Content Store the versions of the map and its objects as specified by the snapshot. New files are not created.
  • Keep a historical record of all your documentation releases: Every time that you release your documentation or at important milestones, you can make a snapshot of your map. This ensures that you can see the content of a specific release at any time by generating its output or return to it by branching the snapshot.