Ver las versiones en una plantilla ftl.

cancel
Showing results for 
Search instead for 
Did you mean: 
monomillo17
Member II

Ver las versiones en una plantilla ftl.

Hola todos, estoy buscando la forma de ver las versiones de un documento en una plantilla ftl, usada como Vista personalizada o custom view.

Asi  obtengo las categorias asociadas a los documentos en mi plantilla ftl:

<td>
                       <#list child.properties["cm:categories"] as prop>
                        ${prop.name}<br/>
                       </#list>
</td>

Alguien sabe  :roll:  cuál es el ["cm:?????"] que debo emplear para ver las versiones de los documentos?
También en dónde? puedo encontrar la API ó la información de todas estas propiedades pues las que conozco es porque he revisado
las plantillas que trae por defecto Alfresco y en algunos foros en internet.

Gracias hasta pronto.

Salu2. Smiley Very Happy
4 Replies
pjcaracuel_2349
Active Member

Re: Ver las versiones en una plantilla ftl.

Buenas,

Los metadatos del aspecto versionable, los puedes encontrar dentro del modelo contentModel.xml


<aspect name="cm:versionable">
         <title>Versionable</title>
         <properties>
            <property name="cm:versionLabel">
               <title>Version Label</title>
               <type>d:text</type>
               <protected>true</protected>
            </property>
            <property name="cm:initialVersion">
               <title>Initial Version</title>
               <type>d:boolean</type>
               <default>true</default>
            </property>
            <property name="cm:autoVersion">
               <title>Auto Version</title>
               <type>d:boolean</type>
               <default>true</default>
            </property>
          </properties>
      </aspect>

Enlaces de interes:

http://wiki.alfresco.com/wiki/Data_Dictionary_Guide
http://wiki.alfresco.com/wiki/Domain_Model
http://wiki.alfresco.com/wiki/FreeMarker_Template_Cookbook

Saludos
monomillo17
Member II

Re: Ver las versiones en una plantilla ftl.

Pedro , gracias por la información estaba un poco perdido al respecto, he realizado una plantilla con base a esta información, en donde quiero ver solo el nombre del archivo,  y el historial de versiones, pero me da el siguiente error:

Se ha producido un Error al procesar la plantilla 'Expected collection or sequence. child.properties["cm:versionLabel"] evaluated instead to freemarker.template.SimpleScalar on line 18, column 36 in workspace://SpacesStore/4898d410-a782-473d-a413-965dd6994bbc.'. Por favor contacte con el administrador del sistema.

Mi plantilla es la siguiente:


<html><head></head>
<body>
<#– Table of docs in a specific folder –>
<h3>${space.name} documents</h3>
<table cellpadding=2 border=0 style="BORDER: 1px;">
    <tr>
        <td></td>
              <td><b>Nombre</b></td>      
                 <td><b>Version</b></td>      
    </tr>
        <#assign query = ".//*[subtypeOf('cm:content')]">
        <#list space.childrenByXPath[query] as child>
           <tr>
                    <#if child.properties["cm:versionLabel"]?exists>                      
                          <td><a href="/alfresco${child.url}" target="new"><img src="/alfresco${child.icon16}" border=0></a></td>
                         <td><a href="/alfresco${child.url}" target="new">${child.properties.name}</a></td>
                           <td>
                            <#list child.properties["cm:versionLabel"] as prop>
                            ${prop.name}<br/>
                            </#list>
                        </td>                  
                  
                    </#if>
            </tr>
        </#list>
</table>
</body>
</html>

Ya he revisado que los documentos del espacio y tienen varias versiones cada uno, por lo tanto hay historial.  Según el error este produce al llegar a
línea 18, que es esta:  <#list child.properties["cm:versionLabel"] as prop>
Que estaré haciendo mal?

Gracias, quedo atento a cualquier sugerencia.

Salu2.
pjcaracuel_2349
Active Member

Re: Ver las versiones en una plantilla ftl.

Buenas,

Echale un vistazo a este post donde hablan de como gestionar las versiones en una plantilla
http://forums.alfresco.com/en/viewtopic.php?f=3&t=8864

Saludos
monomillo17
Member II

Re: Ver las versiones en una plantilla ftl.

Hola, gracias por la información, después de un tiempo he conseguido lo que buscaba en la plantilla de presentación, aqui la dejo por
si alguien le pueda interesar, esta plantilla muestra las categorias asociadas a un documento, asi como su historial de versiones, realiza la búsqueda
en todo el espacio y sub espacios en donde se utilice.

Smiley Very Happy 
Saludos, hasta pronto.




<html><head></head>
<body>
<#– Table of docs in a specific folder –>
<h3>${space.name} documents</h3>
<table cellpadding=2 border=0 style="BORDER: 1px;">
    <tr>
        <td></td>
        <td><b>Name</b></td>
        <td><b>Last Modified</b></td>
        <td><b>Categories</b></td>
        <td><b>Versions</b></td>

    </tr>
        <#assign query = ".//*[subtypeOf('cm:content')]">
        <#list space.childrenByXPath[query] as child>
           <tr>
                    <#if child.properties["cm:categories"]?exists>
                        <td><a href="/alfresco${child.url}" target="new"><img src="/alfresco${child.icon16}" border=0></a></td>
                        <td><a href="/alfresco${child.url}" target="new">${child.properties.name}</a></td>
                        <td>${child.properties["cm:modified"]?string("dd-MMM-yyyy hh:mm")}</td>
                        <td>
                            <#list child.properties["cm:categories"] as prop>
                            ${prop.name}<br/>
                            </#list>
                        </td>                   
               <td>
                  <#if hasAspect(child, "cm:versionable") == 1>                     
                 <#list child.versionHistory as record>                
                 <a href="/alfresco${record.url}" target="new">${record.versionLabel}</a>                              
                 <b>-</b>                
                 </#list>                
                 </#if>
               </td>            
               </#if>
            </tr>
        </#list>
</table>
</body>
</html>