Ricerca Avanzata

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

Ricerca Avanzata

buongiorno a tutti,

vi chiedo aiuto per la ricerva avanzata su alfresco community 5.1

1 - ho realizzato un model: Inno.xml

2 - ho castomizzato share-config-custom.xml

3 - ho inserito file nel documentale

la ricerca normale funziona,

se accedo alla ricerca avanzata, visualizza i campi cho ho inserito ma non trova nessun file,

il mio obbiettivo è dare la possibilità di fare un ricerca su più campi.

Grazie Nat

18 Replies
openpj
Moderator
Moderator

Re: Ricerca Avanzata

Tipicamente quando la ricerca non funziona le incoerenze possono essere:

  1. Nel content model e nello specifico nel settaggio dell'elemento index
  2. Nella configurazione della form di ricerca di Share (appearance + AdvancedSearch element)

Nel content model referenzierei il tokenised sempre con un valore in minuscolo:

<tokenised>true</tokenised>

Nella pagina dei risultati hai provato anche a selezionare Repository oltre che I miei siti?

Vedo qualche errore nella definizione:

<config evaluator="model-type" condition="INNO:attachment" force="true">

      <forms>

         <!-- Search form -->

         <form id="search">

            <field-visibility>

    <show id="INNO:progetto" force="true" />

               <show id="INNO:numerodocumento" force="true"  />

               <show id="INNO:datadocumento" force="true" />

               <show id="INNO:tablename" force="true" />

               <show id="INNO:tipodocumento" force="true" />

            </field-visibility>

            <appearance>               

            </appearance>

         </form>

      </forms>

   </config>

L'attribute force sui metadati custom non credo serva, tipicamente serve solamente sui cambi che stai ereditando dal tipo padre.

Manca totalmente la parte Appearance dove referenziare i template FTL per i singoli campi, se non vuoi definirla allora la devi proprio togliere altrimenti fai override di tutto.

Io lo cambierei così:

<config evaluator="model-type" condition="INNO:attachment">

      <forms>

         <!-- Search form -->

         <form id="search">

            <field-visibility>

               <show id="INNO:progetto" />

               <show id="INNO:numerodocumento"  />

               <show id="INNO:datadocumento"  />

               <show id="INNO:tablename"  />

               <show id="INNO:tipodocumento" />

            </field-visibility>

         </form>

      </forms>

   </config>

Ho notato che hai ridefinito anche il tipo cm:content, questo tipo di override va fatto sempre in modo ponderato. Per quale motivo lo hai fatto?

L'attribute force="true" direttamente sull'element config non so se è valido e se agisce su qualcosa, tipicamente va definito l'attribute replace="false" per estendere mentre replace="true" per ridefinire completamente.

natmacri
Active Member II

Re: Ricerca Avanzata

intanto grazie per l'aiuto,

ho pulito il codice come da tuo consiglio eliminando Apparance perchè non li gestisco:

    <config evaluator="model-type" condition="INNO:attachment">

      <forms>

         <!-- Search form -->

         <form id="search">

            <field-visibility>

              <show id="INNOSmiley Tonguerogetto" />

               <show id="INNO:numerodocumento"  />

               <show id="INNO:datadocumento" />

               <show id="INNO:tablename" />

               <show id="INNO:tipodocumento" />

            </field-visibility>

         </form>

      </forms>

   </config>

è modificato l'ndex:

<index enabled="false">

    <tokenised>true</tokenised>

</index>

ma la ricerca avanzata non mi va, mi puoi dare altre indicazioni

Nat

davidciamberlan
Alfresco Employee

Re: Ricerca Avanzata

Ciao,

ma come fai a tipizzare i documenti e a valorizzare i  tuoi metadati? Lo fai tramite script/programmazione?

Ti chiedo questo perchè nel tuo share-config-custom.xml  manca la parte di configurazione che ti permette di attribuire il nuovo tipo e il nuovo aspetto ad un documento da Share.

Se valorizzi i metadati tramite programmazione postaci il codice... altrimenti dacci qualche dettaglio in più su come procedi.

natmacri
Active Member II

Re: Ricerca Avanzata

esatto i file arrivano da un altro software tramite questo metodo:

    public static Document createAdempiereAttachment(Session session, Folder folder, String fileName, String mimetype, byte[] content, String tableName, String recordId, String org, String tipoDocumento, String numeroDocumento, String dataDocumento, String progetto, String note) throws Exception

        {

            Map<String, Object> docProps = new HashMap<String, Object>();

            docProps.put(PropertyIds.NAME, fileName);

            docProps.put(PropertyIds.OBJECT_TYPE_ID, "D:INNO:attachment");

            docProps.put("INNOSmiley Surprisedrg", org);

            docProps.put("INNO:nomefinestra", tableName);

            if(tipoDocumento.equals(""))

            tipoDocumento=tableName;

            docProps.put("INNO:tipodocumento", tipoDocumento);

            docProps.put("INNO:numerodocumento", numeroDocumento);

            docProps.put("INNO:datadocumento", dataDocumento);

            docProps.put("INNOSmiley Tonguerogetto", progetto);

            docProps.put("INNO:note", note);

con una query mi vado a prendere i campi che mi interessano,

su Alfresco ho creato un modello INNO con solo Tipo: INNO:attachment con le seguenti proprietà: org, nomefinestra, tipodocumento, ecc

il file si archiviano correttamente su alfresco, si portano dietro i metadati richiesti, la ricerca normale in altro a destra per uno dei metadati fuziona,

volevo avere la possibilità di ricercare i file con 2 campi, vedo i campi nella ricerca avanzata, ma non fuziona.

davidciamberlan
Alfresco Employee

Re: Ricerca Avanzata

Ciao,

ho provato a testare il tuo content-model (implementando le modifiche suggerite da Piergiorgio). Ho aggiunto la parte di configurazione realizzata da te nello share-config-custom.xml

La ricerca funziona correttamente, anche su campi multipli... quindi il problema potrebbe essere da qualche altra parte... prova magari a controllare se trovi errori nei log (e se li trovi postali qui così possiamo vederli).

PS: nel tuo content model ha settato <index enabled="false"> per la proprietà INNO:datadocumento... questo vuol dire che quel valore non viene indicizzato... è quello che volevi o è un errore?

natmacri
Active Member II

Re: Ricerca Avanzata

Ciao David

<index enabled="false" è un errore

ti allego 3 stampe per farti vedere cosa faccio, se per ricerca avanzata su + campi, intendiamo la stessa cosa.

+ 2 log per cercare di capire dove sbaglio.

inoltre volevo chiederti i miei Tipi, li dovrei trovare anche nella Gestione Ricerca, per creare dei filtri avanzati?

li ho cercati nella   non li trovo.

Grazie

natmacri
Active Member II

Re: Ricerca Avanzata

Buongiorno David,

non sono riuscito a risolvere il problema della ricerca avanzata,

potresti darmi delle indicazioni.

Grazie

davidciamberlan
Alfresco Employee

Re: Ricerca Avanzata

Ciao,

senza aver accesso al tuo Alfresco è un po' difficile analizzare la situazione...

Comunque ci proviamo :

Ti sarebbe utile controllare anche i log di solar per vedere se lì c'è qualche indicazione in più.

Dai log di share, come puoi vedere tu stesso, vengono rilevati diversi errori. In particolare si menzionano i file share-form-config.xml (in cui c'è una una stringa "--" in un commento... cosa non permessa) e CMM_INNO.xml (qui c'è il tuo content model?).

Hai modificato quei file?

Se sì, controlla che siano coretti (tra l'altro non è buona pratica andare a toccare i file di Alfresco... bisognerebbe sempre usare il meccanismo di estensione).

Inoltre dovresti ripulire share-config-custom.xml lasciando esclusivamente la parte di AdvancedSearch (il resto non dovrebbe servirti) modificata ovviamente nel modo che ti ha suggerito Piergiorgio.

L'ideale a questo punto (se ti è possibile naturalmente) sarebbe di partire da una installazione pulita di Alfresco e:

  • importare il tuo content model
  • modificare la share-config-custom.xml aggiungendo esclusivamente la parte di "AdvancedSearch" (corretta come ti ha suggerito Piergiorgio)

Queste sole due cose sarebbero sufficienti a  far funzionare la ricerca avanzata... ma vedi tu se ti è possibile farlo.

Tienici aggiornati!

natmacri
Active Member II

Re: Ricerca Avanzata

Ciao, 

ho rifatto l'installazione,

nello share-config-custom ho inserito solo il seguente codice:

<config replace='true' evaluator='string-compare' condition='AdvancedSearch'>
<advanced-search>
<forms>
<form label='Ricerca Avanzata' id="search" description='Ricerca Avanzata su più Campi'>INNO:attachment</form>
<!-- <form labelId="type.INNO_attachment" descriptionId="Ricerca Avanzata su più Campi">INNO:attachment</form>-->
<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>
</forms>
</advanced-search>
</config>
<config evaluator="model-type" condition="INNO:attachment">
<forms>
<!-- Search form -->
<form id="search">
<field-visibility>
<show id="INNOSmiley Tonguerogetto" />
<show id="INNO:nomefinestra" />
<show id="INNO:numerodocumento" />
<show id="INNO:datadocumento" />
<show id="INNO:note" />
</field-visibility>
</form>
</forms>
</config>

ho creato il mio content model INNO su gestioni modelli

tramite una Regola assegno ad una Cartella il mio Model,

tutti i file che si allegano a quella cartella hanno i miei campi,

li ricerco dalla Label Ricerca Semplice, tutto OK.

Fuonziona tutto tranne:

1 - la ricerca avanzata

2 - la Gestione Ricerca, volevo inserire dei filtri sui miei Tipi: 

INNOSmiley Tonguerogetto o altri, ma non trovo nessuno dei miei campi,

chissa dove sbaglio.

Aiutami Nat