Filtros en Alfresco Share

Una de las características más interesantes de la interfaz de Alfresco Share en cuanto a personalización son los filtros de documentos. Están situados en el panel lateral izquierdo del repositorio (o biblioteca de documentos para los sitios).



Se modifican en los dos sencillos archivos de configuración (para Alfresco 3.4d)

/opt/alfresco34/tomcat/webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/components/documentlibrary/

  • repo-filter.get.config.xml
  • filter.get.config.xml

donde:

<filters>
   <filter id="all" label="link.all" />
   <filter id="editingMe" label="link.editingMe" />
   <filter id="editingOthers" label="link.editingOthers" />
   <filter id="recentlyModified" label="link.recentlyModified" />
   <filter id="recentlyAdded" label="link.recentlyAdded" />
   <filter id="favourites" label="link.favourites" />
</filters>


Además en los correspondientes archivos de properties tenemos:

## Title
header.documents=Documents

## Filter Names
link.all=All Documents
link.recentlyModified=Recently Modified
link.recentlyAdded=Recently Added
link.editingMe=I'm Editing
link.editingOthers=Others are Editing
link.favourites=My Favorites


En los archivos xml podemos activar o definir los filtros disponibles. En el archivo javascript filters.lib.js podremos añadir nuevos fitros asociados a una query de lucene definida y generica, adaptada a nuestras necesidades. Por ejemplo, documentos recientes con un cierto tipado documental definido, por ejemplo, una oferta con una determinada categoria o etiqueta (ganada). Otro ejemplo podría ser un filtro de documentos tipo factura, con una etiqueta de "pagada" por debajo de un path determinado en el repositorio etc, etc...

De este modo:

case "editingMe":
    filterQuery = "+PATH:\"" + parsedArgs.rootNode.qnamePath + "//*\"";
    filterQuery += " +ASPECT:\"workingcopy\"";
    filterQuery += " +@cm\\:workingCopyOwner:\"" + person.properties.userName + '"';
    filterParams.query = filterQuery;
    break;

case "editingOthers":
    filterQuery = "+PATH:\"" + parsedArgs.rootNode.qnamePath + "//*\"";
    filterQuery += " +ASPECT:\"workingcopy\"";
    filterQuery += " -@cm\\:workingCopyOwner:\"" + person.properties.userName + '"';
    filterParams.query = filterQuery;
    break;


Por supuesto, el sitio más indicado para modificar esos archivos es en el directorio web-extension.

00

More Blog Entries

0 Comments