Re: [ZIZope] override del navigatore

Fabrizio Reale <[email protected]> Sat, 2 Feb 2008 19:32:17 +0100
Newsgroups gmane.comp.web.zope.italian
Message-ID <[email protected]>
Alle sabato 2 febbraio 2008, Massimo Azzolini ha scritto:
> 2008/2/2 Fabrizio Reale <[email protected]>:
> > Si... confermo, svegliare gli oggetti per cose così banali è un MALE :)
> >
> > Non ricordo che versione di Plone stai usando...ma nella 3 c'è
> > l'indice "object_provides" che è proprio una keyword con le interfacce
> > dell'oggetto.
>
> buono.
> a questo punto però ho una domandina.
> dunque, svegliare oggetti è male, ma usare gli adapter è taaanto comodo.
> come faccio a fare:
> adapted_obj = IObj2(obj)
> se non ho obj e non è bene fare la getObject()?

Beh diciamo che anche il male e il bene sono relativi.
Indipendentemente dagli adapter quando ottieni un oggetto (con qualunque 
mezzo: brain, attraversamento, ecc....) tu estrai dei dati dallo ZODB.
E seguendo la logica di ogni sistema devi evitare di fare lavori inutili, nel 
mondo Zope: meno oggetti attiva la tua pagina e meglio è.
Poi se tu hai bisogno dei dati di un oggetto non c'è altro modo che 
richiamarlo.
Ma se hai bisogno di mostrare per esempio la lista di tutti gli oggetti che 
hanno una particolare keyword non puoi richiamarli tutti dallo ZODB e poi 
guardarli uno per uno, hanno inventato il catalog apposta.
Se poi la stessa lista ti serve in ogni pagina la situazione è ancora più 
grave. Per fortuna Zope e Plone hanno tutti gli strumenti per ovviare a ciò.

Dopo questo piccolo riassunto soprattutto per chi è nuovo al mondo Zope 
torniamo alla tua domanda :)

Penso che tu non possa far al tro che richiamare l'oggetto se il tuo 
adattatore si aspetta la sua interfaccia.

Poi in un momento di creatività ti condivido un ragionamento che avevo fatto 
per un caso simile. I brain sono comunque oggetti e hanno anche 
loro "un'interfaccia" (mi perdonino i puristi).
Quindi, magari, forse, può darsi che possa funzionare un adattatamento di un 
brain.
Purtroppo non mi sono preso mai il tempo di provarci, se di nuovo non vai a 
dormire senza risposte...magari ci riesci tu :)

Argomenti interessanti ;)

A presto,
Fabry


-- 
Fabrizio Reale                               [email protected]
Redomino S.r.l.                 Largo Valgioie 14 - 10146 Torino - Italy
Tel: +39 011 7499875 - Fax: +39 011 3716911     http://www.redomino.com/

_______________________________________________
Zope mailing list
[email protected]
http://lists.zope.it/cgi-bin/mailman/listinfo/zope