cancel
Showing results for 
Search instead for 
Did you mean: 

¿Se pueden realizar búsquedas en una carpeta concreta dentro de un Sitio?

sergiorg96
Confirmed Champ
Confirmed Champ

Buenas,

Me gustaría realizar una búsqueda más específica dentro de la carpeta de un sitio, es decir, por ejemplo:

/Sitio Prueba

-----------------/Recursos Humanos

-----------------/IT

-----------------/Expedientes

Me gustaría realizar una búsqueda solamente en la carpeta Expedientes y que no me saliesen los resultados del resto de carpetas que coincidan con lo buscado.

He estado leyendo que por defecto, Alfresco no trae esa opción y que se puede añadir un addon a Alfresco para soportar esta funcionalidad en este post: Quisiera saber si hay manera de buscar documentos dentro de una carpeta especifica 

Sin embargo, este addon parece según la documentación no estar disponible para versión 5.2 y el enlace que indica la documentación no está actualizado, ya que, no puedo acceder a ningún sitio de descarga del addon:  

¿Cómo podría realizar búsquedas de documentos en carpetas específicas?

Gracias

5 REPLIES 5

angelborroy
Community Manager Community Manager
Community Manager

Ese addon fue retirado por Contezza, así que no está disponible. 

Deberías realizar (por ejemplo) un formulario de búsqueda avanzada que te permita seleccionar la carpeta y después aplicar el filtro. No creo que haya una manera de realizarlo sin algo de desarrollo.

Hyland Developer Evangelist

Buenas Ángel,

¿Cómo podría realizarse aunque sea con algo de desarrollo?

Gracias

Yo añadiría una búsqueda avanzada con un campo de tipo Folder, después tendrías que extender el JS de la búsqueda avanzada para tratar ese campo. 

Quizá este artículo te sirva como ejemplo, aunque no aplica directamente a tu caso de uso:

Alfresco Share – Customize advanced search for aspect properties | Programming and So 

Hyland Developer Evangelist

Buenas Ángel, gracias por responder.

He añadido en /tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml lo que me has comentado de un campo de tipo Folder:

<config replace='true' evaluator='string-compare' condition='AdvancedSearch'>
      <advanced-search>

       <forms>
            <form labelId='search.form.label.cm_content' descriptionId='search.form.desc.cm_content'>cm:content</form>
            <form labelId='search.form.label.cm_folder' descriptionId='search.form.desc.cm_folder'>cm:folder</form>
            <form id="custom-search" labelId="Búsqueda por carpeta" descriptionId="Busca un documento en una carpeta en concreto">cm:folder</form>
         </forms>
      </advanced-search>
   </config>

<config evaluator="model-type" condition="cm:folder">
    <forms>
        <form id="custom-search">
            <field-visibility>
                <show id="Carpeta" force="true" />
                <show id="Documento" force="true" />
            </field-visibility>
            <appearance>
                <field id="Carpeta">
                    <control template="/org/alfresco/components/form/controls/textfield.ftl" />
                </field>
                <field id="Documento">
                    <control template="/org/alfresco/components/form/controls/textfield.ftl" />
                </field>
            </appearance>
        </form>
    </forms>
</config>

Y me ha aparecido el nuevo campo en la búsqueda avanzada, pero no realiza correctamente las búsquedas al faltar la configuración JS que me has comentado.

¿Qué fichero hay que modificar para extender el JS de la búsqueda avanzada para ese campo? Para entender su funcionamiento me gustaría ver como funciona la búsqueda avanzada. Es decir, si está implementada la búsqueda avanzada de carpetas, ¿podría utilizar esa búsqueda de carpetas que se realiza globalmente, para posteriormente obtener el resultado de esa carpeta y hacer la búsqueda de contenido en esa carpeta como base? Ando un poco perdido y no sé como funcionan las búsquedas avanzadas en Alfresco.

Me extraña que estando implementada la funcionalidad de buscar contenido dentro de un Sitio en concreto, no este implementada la búsqueda en una carpeta en concreto, ya que, la lógica es la misma.

Gracias

Hay algunas cosas que no me cuadran en este planteamiento.

La búsqueda debería ser sobre cm:content en vez de cm:folder (entiendo que lo que quieres buscar son documentos dentro de una carpeta).

Por otra parte, yo utilizaría un control association.ftl en vez de un textfield.ftl, para permitir al usuario una selección más sencilla de la carpeta en la que quiere buscar. 

Finalmente, para extender la búsqueda JS por YUI, deberías realizar algo similar a lo que se describe aquí:

Alfresco Share – Customize advanced search for aspect properties | Programming and So 

Declara el componente por extensión en el fichero advsearch.get.js

Surf Extension Modules | Alfresco Documentation 

Hyland Developer Evangelist