<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic VersionHistory and JavaScript? in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/versionhistory-and-javascript/m-p/154173#M108657</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;It still doesn't appear to be possible to get at Version History through the&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;JavaScript API.&amp;nbsp; Is this intentional, and oversight, or am I missing something?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It does seem a bit silly, given that (with a sufficiently high pain threshold) one&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;can drag the information out through the keyhole from Freemarker:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;versionLabel = doc.processTemplate( '${document.versionHistory[0].versionLabel}' );&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 08 Mar 2008 23:00:03 GMT</pubDate>
    <dc:creator>sacco</dc:creator>
    <dc:date>2008-03-08T23:00:03Z</dc:date>
    <item>
      <title>VersionHistory and JavaScript?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/versionhistory-and-javascript/m-p/154173#M108657</link>
      <description>It still doesn't appear to be possible to get at Version History through theJavaScript API.&amp;nbsp; Is this intentional, and oversight, or am I missing something?It does seem a bit silly, given that (with a sufficiently high pain threshold) onecan drag the information out through the keyhole from Freemarke</description>
      <pubDate>Sat, 08 Mar 2008 23:00:03 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/versionhistory-and-javascript/m-p/154173#M108657</guid>
      <dc:creator>sacco</dc:creator>
      <dc:date>2008-03-08T23:00:03Z</dc:date>
    </item>
    <item>
      <title>Re: VersionHistory and JavaScript?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/versionhistory-and-javascript/m-p/154174#M108658</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have found a means to getting the version history of a node in Javascript … it's a bit &lt;/SPAN&gt;&lt;EM&gt;ugly &lt;/EM&gt;&lt;SPAN&gt;though …&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;function getHistory( doc )&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// *BEWARE* - HERE BE DRAGONS&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var field = doc.getClass().getDeclaredField( "services" );&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;field.setAccessible( true ); // ick - yuck - nasty - but necessary&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var versionService = field.get( doc ).getVersionService();&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return versionService.getVersionHistory( doc.nodeRef ).getAllVersions().toArray();&lt;BR /&gt;}&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;This returns a &lt;/SPAN&gt;&lt;STRONG&gt;JavaScript &lt;/STRONG&gt;&lt;SPAN&gt; array of org.alfresco.service.cmr.version.Version &lt;/SPAN&gt;&lt;STRONG&gt;Java&lt;/STRONG&gt;&lt;SPAN&gt; objects.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 May 2008 11:41:12 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/versionhistory-and-javascript/m-p/154174#M108658</guid>
      <dc:creator>martin_cowie</dc:creator>
      <dc:date>2008-05-14T11:41:12Z</dc:date>
    </item>
    <item>
      <title>Re: VersionHistory and JavaScript?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/versionhistory-and-javascript/m-p/154175#M108659</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;So, that is a very nice workaround, but i've trouble while processing answered array.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I would like to access variables, but only these defined:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; - ver.versionLabel&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; - ver.creator&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;How can i process this array with javascript API or Freemarker?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Variable &lt;EM&gt;versionhistory&lt;/EM&gt; is filled by your function:&lt;/STRONG&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;#list versionhistory as ver&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp; "versionLabel":"${ver.versionLabel}",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;#if ver.name??&amp;gt;"name":"${ver.name}",&amp;lt;/#if&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;#if ver.created??&amp;gt;"created":"${ver.created}",&amp;lt;/#if&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;#if ver.description??&amp;gt;&amp;lt;#if ver.description!=""&amp;gt;"description":"${ver.description}",&amp;lt;/#if&amp;gt;&amp;lt;/#if&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;#if ver.modified??&amp;gt;"modified":"${ver.modified}",&amp;lt;/#if&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;#if ver.frozenNodeId??&amp;gt;"frozenNodeId":"${ver.frozenNodeId}",&amp;lt;/#if&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "creator":"${ver.creator}"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;lt;#if ver_has_next&amp;gt;,&amp;lt;/#if&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/#list&amp;gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;STRONG&gt;This is &lt;EM&gt;ver&lt;/EM&gt;[0]:&lt;/STRONG&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;{created=Thu Jun 12 14:45:27 CEST 2008, store-protocol=workspace, frozenNodeStoreProtocol=workspace, modifier=admin, frozenAspects=[{&lt;A href="http://www.alfresco.org/model/content/1.0}versionable" rel="nofollow noopener noreferrer"&gt;http://www.alfresco.org/model/content/1.0}versionable&lt;/A&gt;, {&lt;A href="http://www.alfresco.org/model/content/1.0}auditable" rel="nofollow noopener noreferrer"&gt;http://www.alfresco.org/model/content/1.0}auditable&lt;/A&gt;, {&lt;A href="http://www.alfresco.org/model/content/1.0}titled" rel="nofollow noopener noreferrer"&gt;http://www.alfresco.org/model/content/1.0}titled&lt;/A&gt;, {&lt;A href="http://www.alfresco.org/model/content/1.0}lockable" rel="nofollow noopener noreferrer"&gt;http://www.alfresco.org/model/content/1.0}lockable&lt;/A&gt;, {&lt;A href="http://www.alfresco.org/model/system/1.0}referenceable" rel="nofollow noopener noreferrer"&gt;http://www.alfresco.org/model/system/1.0}referenceable&lt;/A&gt;, {&lt;A href="http://www.alfresco.org/model/application/1.0}inlineeditable" rel="nofollow noopener noreferrer"&gt;http://www.alfresco.org/model/application/1.0}inlineeditable&lt;/A&gt;, {&lt;A href="http://www.alfresco.org/model/content/1.0}author" rel="nofollow noopener noreferrer"&gt;http://www.alfresco.org/model/content/1.0}author&lt;/A&gt;], versionLabel=1.17, versionType=MINOR, store-identifier=lightWeightVersionStore, frozenNodeStoreId=SpacesStore, node-dbid=5081, modified=Thu Jun 12 14:45:27 CEST 2008, creator=admin, description=, node-uuid=6ec6751d-387d-11dd-bc28-4995248d87ef, frozenNodeId=6153e995-3849-11dd-bc28-4995248d87ef, name=6ec6751d-387d-11dd-bc28-4995248d87ef, versionNumber=164, frozenNodeType={&lt;A href="http://www.alfresco.org/model/content/1.0}content" rel="nofollow noopener noreferrer"&gt;http://www.alfresco.org/model/content/1.0}content&lt;/A&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Jun 2008 14:39:59 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/versionhistory-and-javascript/m-p/154175#M108659</guid>
      <dc:creator>louise</dc:creator>
      <dc:date>2008-06-13T14:39:59Z</dc:date>
    </item>
    <item>
      <title>Re: VersionHistory and JavaScript?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/versionhistory-and-javascript/m-p/154176#M108660</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Here's how you might get at the version history in JavaScript without &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;getting involved with Java objects (but this isn't that pretty either).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You can pick out other variables by adding them into the Freemarker &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;template and then picking them out oft the split array when you build&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;your object with&amp;nbsp; versionRecord() .&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;//&amp;nbsp; n&amp;nbsp; is&amp;nbsp; null&amp;nbsp; (or undefined)&lt;BR /&gt;function isNull(n) { return ( n == undefined || n == null ) };&lt;BR /&gt;&lt;BR /&gt;//&amp;nbsp; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&amp;nbsp; Scrape Version History via Freemarker&amp;nbsp; ~~&lt;BR /&gt;//&amp;nbsp; date-time formats (Java)&lt;BR /&gt;const&amp;nbsp; DT_ISO_8601 = 'yyyy-MM-dd\'T\'HH:mm:ss.SSS zzzzz' ;&lt;BR /&gt;const&amp;nbsp; DT_RFC_1123 = 'dd MMM yyyy HH:mm:ss ZZZZZ' ;&lt;BR /&gt;const&amp;nbsp; DT_GMT_8601 = 'yyyy-MM-dd\'T\'HH:mm:ss.SSS \'GMT\'ZZZZZ' ;&lt;BR /&gt;&lt;BR /&gt;//&amp;nbsp; To add:&lt;BR /&gt;//&amp;nbsp; '&amp;lt;#setting datetime_format=\"' + DT_ISO_8601 + '\" &amp;gt;'&lt;BR /&gt;function vHistory( verLabel )&lt;BR /&gt;{ return (&lt;BR /&gt;'&amp;lt;#setting time_zone=\"UTC\" &amp;gt;' &lt;BR /&gt;+ '&amp;lt;#list document.versionHistory?sort_by("createdDate")?reverse as record&amp;gt;' &lt;BR /&gt; +(isNull(verLabel)? '' : '&amp;lt;#if record.versionLabel == \"' + verLabel + '\" &amp;gt;')&lt;BR /&gt;&amp;nbsp; + '${record.id}' &lt;BR /&gt;&amp;nbsp; +'\\\\'+ '${record.nodeRef}' &lt;BR /&gt;&amp;nbsp; +'\\\\'+ '${record.name}' &lt;BR /&gt;&amp;nbsp; +'\\\\'+ '${record.type}' &lt;BR /&gt;&amp;nbsp; +'\\\\'+ '${record.createdDate?string(\"' + DT_ISO_8601 + '\")}' &lt;BR /&gt;&amp;nbsp; +'\\\\'+ '${record.creator}' &lt;BR /&gt;&amp;nbsp; +'\\\\'+ '${record.versionLabel}' &lt;BR /&gt;&amp;nbsp; +'\\\\'+ '${record.isMajorVersion?string(\'true\',\'false\')}' &lt;BR /&gt;&amp;nbsp; +'\\\\'+ '${record.url}' &lt;BR /&gt;&amp;nbsp; +'\\\\'+ '&amp;lt;#if record.description?exists&amp;gt;${record.description}&amp;lt;/#if&amp;gt;' &lt;BR /&gt;&amp;nbsp; +'\\\\'+ '${record.hasAspect("cm:versionable")?string(\'true\',\'false\')}'&lt;BR /&gt;&amp;nbsp; +'\\\\'+ &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '${record.properties["cm:modified"]?string(\"' + DT_ISO_8601 + '\")}' &lt;BR /&gt;&amp;nbsp; +'\\\\'+ '${record.properties.content.size?c}' &lt;BR /&gt;&amp;nbsp; + '\\%%\\' &lt;BR /&gt; +(isNull(verLabel)? '' : '&amp;lt;#break&amp;gt;&amp;lt;/#if&amp;gt;')&lt;BR /&gt;+ '&amp;lt;/#list&amp;gt;' );&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;function&amp;nbsp; dateFromStringISO8601( dateString )&amp;nbsp; { &lt;BR /&gt;&amp;nbsp; var DS = dateString.split("[-:T .]", 9);&lt;BR /&gt;&amp;nbsp; var DP = DS.slice( 0, 7).map( Number );&lt;BR /&gt;&amp;nbsp; return (&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Date(Date.UTC(DP[0], DP[1]-1, DP[2], DP[3], DP[4], DP[5], DP[6]))&lt;BR /&gt;&amp;nbsp; );&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;function&amp;nbsp; versionRecord( verProps ) &lt;BR /&gt;{ //&amp;nbsp; Constructor for&amp;nbsp; versionRecord Object&lt;BR /&gt;&amp;nbsp; this.id &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;= verProps[0];&lt;BR /&gt;&amp;nbsp; this.createdDate &amp;nbsp;&amp;nbsp;&amp;nbsp;= dateFromStringISO8601( verProps[4] );&lt;BR /&gt;&amp;nbsp; this.nodeRef &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;= verProps[1];&lt;BR /&gt;&amp;nbsp; this.name &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;= verProps[2];&lt;BR /&gt;&amp;nbsp; this.type &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;= verProps[3];&lt;BR /&gt;&amp;nbsp; this.creator &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;= verProps[5];&lt;BR /&gt;&amp;nbsp; this.versionlabel &amp;nbsp;&amp;nbsp;&amp;nbsp;= verProps[6];&lt;BR /&gt;&amp;nbsp; this.description &amp;nbsp;&amp;nbsp;&amp;nbsp;= verProps[9];&lt;BR /&gt;&amp;nbsp; this.url &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;= verProps[8];&lt;BR /&gt;&amp;nbsp; this.majorVersion&amp;nbsp;&amp;nbsp;&amp;nbsp;= (verProps[7]&amp;nbsp; == "true" ? true : false);&lt;BR /&gt;&amp;nbsp; this.versionable&amp;nbsp;&amp;nbsp;&amp;nbsp;= (verProps[10] == "true" ? true : false);&lt;BR /&gt;&amp;nbsp; this.modified &amp;nbsp;&amp;nbsp;&amp;nbsp;= dateFromStringISO8601( verProps[11] );&lt;BR /&gt;&amp;nbsp; this.size &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;= Number(verProps[12]);&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;//&amp;nbsp; Return array of&amp;nbsp; versionRecord Objects (most recent first)&lt;BR /&gt;function versionHist(doc) {&lt;BR /&gt;&amp;nbsp; var&amp;nbsp; versionList = new Object();&lt;BR /&gt;&amp;nbsp; versionList.versionCount = 0;&lt;BR /&gt;&amp;nbsp; if&amp;nbsp; ( doc.hasAspect("cm:versionable") )&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; doc.processTemplate( vHistory() ).split( "\\\\%%\\\\" ).forEach(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;function(element, index, array) { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; versionList[index] = new versionRecord(element.split("\\\\\\\\"));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; versionList.versionCount += 1;} )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return&amp;nbsp; versionList;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp; An array of&amp;nbsp; versionRecord Objects&lt;BR /&gt;&amp;nbsp; } else&amp;nbsp; return null;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;//&amp;nbsp; Return&amp;nbsp; versionRecord&amp;nbsp; of current version&lt;BR /&gt;function versionRec(doc) {&lt;BR /&gt;&amp;nbsp; if&amp;nbsp; ( doc.hasAspect("cm:versionable")&amp;nbsp; &amp;amp;&amp;amp; &lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;! isNull( doc.properties["cm:versionLabel"]) &amp;amp;&amp;amp; &lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;doc.properties["cm:versionLabel"].length &amp;gt; 0 )&amp;nbsp; { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var versionLabel = doc.properties["cm:versionLabel"];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var verRecs = &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; doc.processTemplate( vHistory( versionLabel) ).split( "\\\\%%\\\\" &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;).map(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function(element, index, array)&amp;nbsp; { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return element.split( "\\\\\\\\" ) }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;).filter(&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function(element, index, array)&amp;nbsp; { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return ( element[6] == versionLabel ) }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;) ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if&amp;nbsp; ( verRecs.length &amp;gt;= 1 )&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return&amp;nbsp; new versionRecord( verRecs[0] );&lt;BR /&gt;&amp;nbsp; };&lt;BR /&gt;&amp;nbsp; return&amp;nbsp; null;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;//&amp;nbsp; Return&amp;nbsp; versionRecord : -1 is most recent,&amp;nbsp; 0 is first version&lt;BR /&gt;function versionRec2(doc, verLabel) {&lt;BR /&gt;&amp;nbsp; if&amp;nbsp; ( doc.hasAspect("cm:versionable") )&amp;nbsp; { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if&amp;nbsp; ( isNull(verLabel)&amp;nbsp; &amp;amp;&amp;amp; &lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;! isNull( doc.properties["cm:versionLabel"]) &amp;amp;&amp;amp; &lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;doc.properties["cm:versionLabel"].length &amp;gt; 0 )&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; verLabel = doc.properties["cm:versionLabel"];&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp; current version&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var verRecs = &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; doc.processTemplate( vHistory() ).split( "\\\\%%\\\\" ).map(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function(element, index, array)&amp;nbsp; { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return element.split( "\\\\\\\\" ) } );&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if&amp;nbsp; ( verRecs.length &amp;gt;= 1 )&amp;nbsp; { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if&amp;nbsp; ( verLabel &amp;lt; 0 )&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp; start from most recent&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp; new versionRecord( verRecs[ -verLabel - 1 ] );&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if&amp;nbsp; ( verLabel == 0 )&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp; start from oldest at end of array&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp; new versionRecord( verRecs[ verRecs.length - 1 - verLabel ] );&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else {&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp; match&amp;nbsp; verLabel&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;verRecs = verRecs.filter(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function(element, index, array)&amp;nbsp; { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return ( element[6] == verLabel ) } ) ;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp; ( verRecs.length &amp;gt;= 1 ) &lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return&amp;nbsp; new versionRecord( verRecs[0] );&lt;BR /&gt;&amp;nbsp; } } };&lt;BR /&gt;&amp;nbsp; return&amp;nbsp; null;&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Jun 2008 16:22:29 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/versionhistory-and-javascript/m-p/154176#M108660</guid>
      <dc:creator>sacco</dc:creator>
      <dc:date>2008-06-13T16:22:29Z</dc:date>
    </item>
    <item>
      <title>Re: VersionHistory and JavaScript?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/versionhistory-and-javascript/m-p/154177#M108661</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;hi sacco,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;that is lifesaver for me, thanks! &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;"versionHistory":[&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;#list node.versionHistory as ver&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp; "versionLabel":"${ver.versionLabel}",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;#if ver.name??&amp;gt;"name":"${ver.name}",&amp;lt;/#if&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;#if ver.createdDate??&amp;gt;"createdDate":"${ver.createdDate?date}",&amp;lt;/#if&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;#if ver.description??&amp;gt;&amp;lt;#if ver.description!=""&amp;gt;"description":"${ver.description}",&amp;lt;/#if&amp;gt;&amp;lt;/#if&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;#if ver.url??&amp;gt;"url":"${ver.url}",&amp;lt;/#if&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;#if ver.frozenNodeId??&amp;gt;"frozenNodeId":"${ver.frozenNodeId}",&amp;lt;/#if&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;#if ver.nodeRef??&amp;gt;"nodeRef":"${ver.nodeRef}",&amp;lt;/#if&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "creator":"${ver.creator}"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;lt;#if ver_has_next&amp;gt;,&amp;lt;/#if&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/#list&amp;gt;&lt;BR /&gt;]&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Jun 2008 16:48:47 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/versionhistory-and-javascript/m-p/154177#M108661</guid>
      <dc:creator>louise</dc:creator>
      <dc:date>2008-06-13T16:48:47Z</dc:date>
    </item>
    <item>
      <title>Re: VersionHistory and JavaScript?</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/versionhistory-and-javascript/m-p/154178#M108662</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;hi sacco,&lt;BR /&gt;that is lifesaver for me, thanks! &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;You're welcome.&amp;nbsp; Glad it helps.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've made a very slight change to the function&amp;nbsp; dateFromStringISO8601( dateString )&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;since I posted it (but the original version will also work).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;function&amp;nbsp; dateFromStringISO8601( dateString )&amp;nbsp; {&lt;BR /&gt;&amp;nbsp; var DS = dateString.split("[-:T .]", 9);&lt;BR /&gt;&amp;nbsp; var DP = DS.slice( 0, 7).map( Number );&lt;BR /&gt;&amp;nbsp; return (&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Date(Date.UTC(DP[0], DP[1]-1, DP[2], DP[3], DP[4], DP[5], DP[6]))&lt;BR /&gt;&amp;nbsp; );&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 15 Jun 2008 17:06:45 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/versionhistory-and-javascript/m-p/154178#M108662</guid>
      <dc:creator>sacco</dc:creator>
      <dc:date>2008-06-15T17:06:45Z</dc:date>
    </item>
  </channel>
</rss>

