Tenia un poco olvidado el blog y he decidido retomarlo con este tutorial. La idea es combinar diferentes aspectos de Alfresco, como son las acciones, dialogos, webscripts, evaluadores...
Vamos a empezar creando un webscript muy sencillo, su función será mostrarnos los documentos que tiene asociados un documento en concreto. Para ello, primero debemos definir nuestro customModel.xml:
Un webscript se puede componer de varios ficheros:Custom Model 1.0 Documento cm:content Documentos Asociados false true cm:content false true
- Documento descriptivo
- Script de control (opcional)
- Una o varias plantillas
- Documento de configuración (opcional)
- Fichero de propiedades (opcional)
En nuestro caso, crearemos tres ficheros en la ruta:
/Company Home/Data Dictionary/Web Scripts/org/alfresco/sample
1. docsAsociados.get.desc.xml (documento descriptivo):
2. docsAsociados.get.html.ftl (plantilla de salida)Documentos Asociados /sample/docsAsociados?q={searchTerm} extension user required
<html>
<body>
<br>
<table>
<tr><td colspan="2"><b><u>Documentos Asociados</u></b></td></tr>
<tr></tr>
<tr></tr>
<tr style='background-color: #C6D8EB'>
<td></td>
<td align="center"><b>Nombre<b></td>
</tr>
<tr>
<#list resultset as node>
<td align="center"><img src="${url.context}${node.icon16}"/></td>
<td align="center"><a href="/alfresco${node.url}" target="_blank">${node.name}</a></td>
<td></td>
<#if node.assocs["custom:docsAsociados"]?exists>
<#list node.assocs["custom:docsAsociados"] as doc>
<td><a href="/alfresco${doc.url}" target="_blank">Documento</a></td>
<td></td>
<td align="center">${doc.name}</td>
<td></td>
</#list>
</#if>
<tr><td colspan="6">--------------------------------------------------------------------------------------</td></tr>
</#list>
</tr>
</table>
</body>
</html>
if (args.q == undefined || args.q.length == 0){
status.code = 400;
status.message = "Search term has not been provided.";
status.redirect = true;
} else{
var node = search.findNode(args.q);
var asociaciones = node.assocs["custom:docsAsociados"];
model.resultset = asociaciones;
}
Para información más completa y detallada acerca de los webscripts, aquí encontrareis todo lo necesario.
¡Muy buen tuto! Seguro que a más de uno le viene de arte :D
ResponderEliminarEstoy deseando ver la segunda parte ^__^