Web Script: org/alfresco/components/document-details/document-versions.get
Generated from /share/service/script/org/alfresco/components/document-details/document-versions.get on Jun 14, 2026 2:45:23 PM

Script Properties
Id:org/alfresco/components/document-details/document-versions.get
Short Name:document-details-versions
Description:Document Details Versions Component
Authentication:none
Transaction:none
Method:GET
URL Template:/components/document-details/document-versions
Format Style:any
Default Format:html
Negotiated Formats:[undefined]
Implementation:class org.alfresco.web.scripts.DeclarativeWebScript
Extensions:[undefined]

Store: classpath:alfresco/site-webscripts

File: org/alfresco/components/document-details/document-versions.get.desc.xml
<webscript>
  <shortname>document-details-versions</shortname>
  <description>Document Details Versions Component</description>
  <url>/components/document-details/document-versions</url>
</webscript>
File: org/alfresco/components/document-details/document-versions.get.head.ftl
<!-- Document Versions Assets -->
<script type="text/javascript" src="${page.url.context}/components/document-details/document-versions.js"></script>
<link rel="stylesheet" type="text/css" href="${page.url.context}/components/document-details/document-versions.css" />
<script type="text/javascript" src="${page.url.context}/modules/document-details/revert-version.js"></script>
<link rel="stylesheet" type="text/css" href="${page.url.context}/modules/document-details/revert-version.css" />
File: org/alfresco/components/document-details/document-versions.get.html.ftl
<script type="text/javascript">//<![CDATA[
new Alfresco.DocumentVersions("${args.htmlid}").setOptions(
{
   versions: [
<#list versions as version>
   {
      label: "${version.label}",
      createdDate: "${version.createdDate}"
   }<#if (version_has_next)>,</#if>
</#list>
   ],
   filename: "${filename!}",
   nodeRef: "${nodeRef!}"
}).setMessages(
      ${messages}
);
//]]></script>

<div id="${args.htmlid}-body" class="document-versions">

   <div class="info-section">

      <div class="heading">${msg("header.versionHistory")}</div>

      <#list versions as version>
         <#if version_index == 1>
            <div class="info-sub-section">
               <span class="meta-heading">${msg("section.olderVersion")}</span>
            </div>
         </#if>
         <div id="${args.htmlid}-expand-div-${version_index}" class="info more <#if version_index != 0>collapsed<#else>expanded</#if>">
            <span class="meta-section-label">${msg("label.label")} ${version.label}</span>
            <span id="${args.htmlid}-createdDate-span-${version_index}" class="meta-value">&nbsp;</span>
         </div>
         <div id="${args.htmlid}-moreVersionInfo-div-${version_index}" class="moreInfo" <#if version_index != 0>style="display: none;"</#if>>
            <div class="info">
               <span class="meta-label">${msg("label.creator")}</span>
               <span class="meta-value">${version.creator.firstName?html} ${version.creator.lastName?html}</span>
            </div>
            <div class="info">
               <span class="meta-label">${msg("label.description")}</span>
               <span class="meta-value">${version.description?html}</span>
            </div>
            <div class="actions">
               <span class="download"><a href="${url.context}/proxy/alfresco${version.downloadURL}">${msg("link.download")}</a></span>
               <#if version_index != 0>
                  <span id="${args.htmlid}-revert-span-${version_index}" class="revert"><a>${msg("link.revert")}</a></span>
               </#if>
            </div>
         </div>
      </#list>

   </div>

</div>
File: org/alfresco/components/document-details/document-versions.get.js
function main()
{
   // allow for content to be loaded from id
   if (args.nodeRef != null)
   {
      var nodeRef = args.nodeRef;

      // Call the repo for sites the user is a member of
      var result = remote.call("/api/version?nodeRef=" + nodeRef);

      // Create javascript objects from the server response
      var versions = eval('(' + result + ')');

      var foundCurrent = false;
      var versionGroup = "newerVersion";
      for (var i = 0; i < versions.length; i++)
      {
         versions[i].downloadURL = "/api/node/content/" + versions[i].nodeRef.replace(":/", "") + "/" + versions[i].name + "?a=true";
         if (versions[i].nodeRef == nodeRef)
         {
            versionGroup = "currentVersion";
            foundCurrent = true;
         }
         versions[i].versionGroup = versionGroup;
         if (foundCurrent && versions[i].nodeRef == nodeRef)
         {
            versionGroup = "olderVersion";            
         }
      }

      // Prepare the model for the template
      model.nodeRef = nodeRef;
      model.filename = versions.length > 0 ? versions[0].name : null;
      model.versions = versions;      
   }
}

main();
File: org/alfresco/components/document-details/document-versions.get.properties
header.versionHistory=Version History
section.newerVersion=Newer version(s):
section.currentVersion=This version:
section.olderVersion=Earlier version(s):
label.label=Version
label.description=Description:
label.creator=Modifier:
label.createdDate=Modified on:
link.download=Download
link.revert=Revert
message.revertComplete=The document was reverted. The page will be reloaded.

Store: classpath:alfresco/webscripts

[No implementation files]