[Plone-IT] Un solo Zope con tanti Plone: motore di ricerca unico (la mia soluzione, credo... spero!)

Vito Falco vitofalco a gmail.com
Sab 22 Nov 2008 17:17:25 UTC


Hola,
da sempre lavorando in ambito universitario ho avuto il seguente problema:
dato un solo Zope con tanti Plone Site per i dipartimenti, come
"condividere" oggetti e poter ricercare tra diversi plonesite?
Mi sono documentato e anche sulla ML di plone.org qualcuno ha cercato di
capire se fosse possibile, ma a quanto pare, nessuno mai ha scritto qualcosa
a riguardo. Anche in questa ML è stato fatto cenno.
Io ho da proporre la mia soluzione, che forse è solo "l'uovo di Colombo" :-P


Il nostro caro portal_catalog altro non è che uno ZCatalog istruito a dovere
per ricercare usando indici propri del plonesite e nel proprio "recinto"
senza poter andare oltre. Va da sè che un'altra premessa è la seguente: gli
indici non sono fissi, ma possono essere incrementati dai vari prodotti che
installiamo.

Ho letto il codice dell'oggetto "search" che viene interrogato quando
utilizziamo in motore di ricerca plone e altro non è che un pagetemplate che
impagina i risultati dello script queryCatalog.
In queryCatalog viene richiamato il portal_catalog del proprio plonesite.
Quindi possiamo ottenre risultati solo da esso. Come estendere la ricerca
agli altri plonesite del proprio zope? Semplice, basta creare un custom
queryCatalogExtra nella root del nostro zope (mera copia del queryCatalog) e
quindi modificare questo file sostituendo al posto delle chiamate: "context"
un bel "context.plonesite1", o "plonesite2" etc etc.
Andiamo poi nel pagetemplate "search" e invece di farlo puntare al
queryCatalog gli diamo un queryCatalogExtra. Così facendo dal PloneSite1
possiamo cercare anche nel PloneSite2 utilizzando i suoi indici, etc etc...
Il search impaginerà correttamente i risultati.

Semplice non è vero?
Vorrei però sapere da voi se questa semplicità hai i suoi lati negativi.

Grazie
Vito
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.plone.org/pipermail/plone-plone-it/attachments/20081122/f39401a9/attachment.html>


Maggiori informazioni sulla lista Plone-IT