Vito,
il tuo discorso sembra filare; potrei sbagliarmi, ma ci sono anche 2 cose che
non mi tornano:
1.
Che link ti genera un queryCatalogExtra?
Se ciascun sito ha un indirizzo distinto (nome a dominio, o IP, o porta),
questi link sono utilizzabili?
2.
Ma supponiamo che gli indirizzi dei diversi siti Plone siano l'indirizzo del
sito Zope più, diciamo, Plone1, Plone2, ecc.
Nel fare ricerche sui cataloghi, Plone aggiunge di suo dei criteri di ricerca
basati sull'accessibilità dei contenuti da parte di un utente con certi ruoli
globali e/o locali.
Ora, credo che i risultati della tua ricerca basata su un queryCatalogExtra
siano coerenti con i permessi dell'utente solo nei casi limite di un utente
anonimo o di un utente che è manager di Zope.
Negli altri casi credo che si faccia un "imbroglio": il Plone da cui effettui
la ricerca ti restituisce come risultati i contenuti di un altro sito come se
tu fossi un utente dell'altro sito con lo stesso userid e lo stesso ruolo che
tu possiedi nel sito di partenza; ma poi riesci ad accedere veramente a quei
contenuti ?
Giovanni
----- Original Message -----
From: Vito Falco
To: La lista degli italiani appassionati di Plone.
Sent: Saturday, November 22, 2008 6:17 PM
Subject: [Plone-IT] Un solo Zope con tanti Plone: motore di ricerca unico
(lamia soluzione, credo... spero!)
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
------------------------------------------------------------------------------
_______________________________________________
Plone-IT mailing list
Plone-IT@lists.plone.org
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html
_______________________________________________
Plone-IT mailing list
Plone-IT@lists.plone.org
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html