Versions option

Build 1501 on 14/Nov/2017  This topic last edited on: 29/Oct/2012, at 16:11

Versions option outputs in the XML all the old versions of the object. For example, if the 'story' object with id 6825 has 7 old versions, executing ../do.ashx?cmd=objsnav&ids=6825&options=versions&max=0 produces:

  <story nav:objectType="story" id="obj6825"  . . .>

    . . .

    <nav:versions>

      <nav:version Time="2011-05-23T22:51:57.010Z" LoginGuid="e08dabe1-df95-4f22-8a01-00595bb7db8c" UserId="1705" UserDesc="TeraDP\MiMo" Code="Carbon">

        <nav:obj>

          <story nav:objectType="story" id="obj6825" name="story_59afba28-80cb-41d9-91ff-6c85ab99a301" creationDate="2011-05-03T15:53:01.467Z" modifiedDate="2011-05-04T23:26:28.630Z" size="69" rightsStatus="Expiration" rightsExpiration="2011-01-01T00:00:00.000Z" nWords="13" nChars="57">

            <nav:objectTypeAttrs mediaType="None" deadlineGap="0" textElement="" textAttrib="" typeKind="" typeLink="" />

            <nav:versionCreation>

              <nav:actionDesc Action="Update" Time="2011-05-23T22:51:57.010Z" LoginGuid="e08dabe1-df95-4f22-8a01-00595bb7db8c" UserId="1705" UserDesc="TeraDP\MiMo" />

            </nav:versionCreation>

            <nav:creation>

              <nav:actionDesc Action="Create" Time="2011-05-03T15:53:01.467Z" LoginGuid="bce00113-8d85-4eef-a820-b5fa9db2cc80" UserId="1705" UserDesc="TeraDP\MiMo" />

            </nav:creation>

            <nav:modified>

              <nav:actionDesc Action="Update" Time="2011-05-04T23:26:28.630Z" LoginGuid="8f1ebbe5-e752-42e1-b148-a82a83e51cfb" UserId="1705" UserDesc="TeraDP\MiMo" />

            </nav:modified>

            <folderRef idref="obj8" />

            <creatorRef idref="obj1705" />

            <modifierRef idref="obj1705" />

            <title>Try a new story</title>

            . . . 

          </story>

        </nav:obj>

      </nav:version>

      <nav:version Time="2011-05-04T23:26:28.630Z" LoginGuid="8f1ebbe5-e752-42e1-b148-a82a83e51cfb" UserId="1705" UserDesc="TeraDP\MiMo" Code="Normal">

        . . .

      </nav:version>

      <nav:version Time="2011-05-04T23:23:20.777Z" LoginGuid="8f1ebbe5-e752-42e1-b148-a82a83e51cfb" UserId="1705" UserDesc="TeraDP\MiMo" Code="Normal">

        . . .

      </nav:version>

      <nav:version Time="2011-05-04T23:22:41.250Z" LoginGuid="8f1ebbe5-e752-42e1-b148-a82a83e51cfb" UserId="1705" UserDesc="TeraDP\MiMo" Code="Normal">

        . . .

      </nav:version>

      <nav:version Time="2011-05-04T23:21:09.937Z" LoginGuid="8f1ebbe5-e752-42e1-b148-a82a83e51cfb" UserId="1705" UserDesc="TeraDP\MiMo" Code="Normal">

        . . .

      </nav:version>

      <nav:version Time="2011-05-04T22:04:52.987Z" LoginGuid="3e4189fa-22f6-40ae-8f9a-7391f8daa640" UserId="1705" UserDesc="TeraDP\MiMo" Code="Normal">

        . . .

      </nav:version>

      <nav:version Time="2011-05-03T15:59:59.113Z" LoginGuid="bce00113-8d85-4eef-a820-b5fa9db2cc80" UserId="1705" UserDesc="TeraDP\MiMo" Code="Normal">

        . . .

      </nav:version>

    </nav:versions>

    <folderRef idref="obj8" />

    <creatorRef idref="obj1705" />

    <modifierRef idref="obj1705" />

    <variants nav:handle="1" />

    <title>Try a new story</title>

    . . .

  </story>

Each 'nav:version' element correspond to an old version, ordered with the most recent one first. The attributes of the 'nav:version' elements specify when the version was created, by whom (including the specific login) and if the version is a carbon-copy or a normal one (see http://forum.teradp.com/topic.asp?whichpage=1&TOPIC_ID=255#3244). The 'nav:obj' sub-element contains the complete XML of the object old version - rendered exactly as when an old version is rendered directly (see http://forum.teradp.com/topic.asp?whichpage=1&TOPIC_ID=255#2648).

The example above uses the special max navigation depth 0 that do not render the renferenced object but renders all the object attributes - including those of the old versions. Using an explicit maximum depth - e.g. ../do.ashx?cmd=objsnav&ids=6825&options=versions&max=5 produces:

  <story nav:objectType="story" id="obj6825"  . . .>

    . . .

    <nav:versions>

      <nav:version Time="2011-05-23T22:51:57.010Z" LoginGuid="e08dabe1-df95-4f22-8a01-00595bb7db8c" UserId="1705" UserDesc="TeraDP\MiMo" Code="Carbon">

        <user idref="obj1705">

          <nav:refObject idref="obj1705" />

        </user>

        <nav:obj>

          <story nav:objectType="story" id="obj6825" name="story_59afba28-80cb-41d9-91ff-6c85ab99a301" creationDate="2011-05-03T15:53:01.467Z" modifiedDate="2011-05-04T23:26:28.630Z" size="69" rightsStatus="Expiration" rightsExpiration="2011-01-01T00:00:00.000Z" nWords="13" nChars="57" />

        </nav:obj>

      </nav:version>

      <nav:version Time="2011-05-04T23:26:28.630Z" LoginGuid="8f1ebbe5-e752-42e1-b148-a82a83e51cfb" UserId="1705" UserDesc="TeraDP\MiMo" Code="Normal">

        . . .

      </nav:version>

      <nav:version Time="2011-05-04T23:23:20.777Z" LoginGuid="8f1ebbe5-e752-42e1-b148-a82a83e51cfb" UserId="1705" UserDesc="TeraDP\MiMo" Code="Normal">

        . . .

      </nav:version>

      <nav:version Time="2011-05-04T23:22:41.250Z" LoginGuid="8f1ebbe5-e752-42e1-b148-a82a83e51cfb" UserId="1705" UserDesc="TeraDP\MiMo" Code="Normal">

        . . .

      </nav:version>

      <nav:version Time="2011-05-04T23:21:09.937Z" LoginGuid="8f1ebbe5-e752-42e1-b148-a82a83e51cfb" UserId="1705" UserDesc="TeraDP\MiMo" Code="Normal">

        . . .

      </nav:version>

      <nav:version Time="2011-05-04T22:04:52.987Z" LoginGuid="3e4189fa-22f6-40ae-8f9a-7391f8daa640" UserId="1705" UserDesc="TeraDP\MiMo" Code="Normal">

        . . .

      </nav:version>

      <nav:version Time="2011-05-03T15:59:59.113Z" LoginGuid="bce00113-8d85-4eef-a820-b5fa9db2cc80" UserId="1705" UserDesc="TeraDP\MiMo" Code="Normal">

        . . .

      </nav:version>

    </nav:versions>

    <folderRef idref="obj8">

      <nav:refObject idref="obj8">

        <folder nav:objectType="folder" id="obj8" name="Administrator" path="/system/users/Administrator">

          <nav:objectTypeAttrs mediaType="None" deadlineGap="0" textElement="" textAttrib="" typeKind="" typeLink="" />

          <nav:versions />

          <access nav:handle="1" />

          <folderParent idref="obj7" />

          <partitionRef idref="obj4027" />

          <description />

        </folder>

      </nav:refObject>

    </folderRef>

   . . .

  </story>

Note how in this case the rendering of the old versions has been truncated at the specified depth, and also the additional 'user' sub-element containing the referenced user object.

If the object does not have old versions the 'nav:versions' element will be empty.