Open IT Experts for Enterprise

Filtros en Alfresco Share

Cesar Capillas
Cesar Capillas

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.

Más entradas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *