cancel
Showing results for 
Search instead for 
Did you mean: 

Ricerca Avanzata

natmacri
Star Contributor
Star Contributor

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 18

openpj
Elite Collaborator
Elite Collaborator

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
Star Contributor
Star Contributor

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

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
Star Contributor
Star Contributor

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.

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?

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

Buongiorno David,

non sono riuscito a risolvere il problema della ricerca avanzata,

potresti darmi delle indicazioni.

Grazie

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!

Ciao David, 

la ricerca avanzata diciamo che ora funziona,

ora vorrei inserire il mio tipo: INNOSmiley Tonguerogetto, figlio di cm:content

nei filtri avanzati, ma non lo trovo nella lista.

Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.