[Zope3-french-user] Re: Premier problème pour zblog : comment gérer les "Category"

Thierry Florac thierry.florac at onf.fr
Ven 27 Oct 11:03:29 CEST 2006


Le vendredi 27 octobre 2006 à 10:32 +0200, KLEIN Stéphane a écrit :
> Maintenant, une chose attire ma curiosité : pourquoi dans les sources
> de Zope, la technique du "package interfaces" n'est jamais utilisée ?

Ce n'est pas une méthode très répandue mais elle est utilisée dans
quelques packages de Zope3 (zope.server, zope.publisher,
zope.app.component notamment).
Sauf erreur de ma part, cette méthode est réservée aux packages pour
lesquels on est censé avoir beaucoup d'interfaces, de façon à ne pas se
retrouver avec un unique fichier "interfaces.py" énorme.

Pour le cas qui nous concernait précédemment, je me demandais finalement
si l'on ne pourrait pas utiliser deux autres méthodes de définition de
l'interface IBlogInfo :

 - option 1 : utiliser un vocabulaire :

        categories = List(title="...",
                          description="...",
        
        value_type=Choice(vocabulary='CategoriesVocab'),
                          default=[])

Il suffit alors de déclarer un vocabulaire 'CategoriesVocab' qui renvoie
la liste des catégories, et la création de l'interface de gestion de
cette propriété sera automatique...

 - option 2 : utiliser un type Object :

        categories = List(title="...",
                          description="...",
                          value_type=Object(schema=ICategory),
                          default=[])

Dans ce cas on règle le problème des références cycliques. Par contre,
je ne suis pas sûr que la gestion de l'interface utilisateur soit aussi
automatique.
Je pencherais donc plutôt vers la première solution...

A+

  Thierry Florac
-- 
  Chef de projet intranet/internet
  Office National des Forêts - Département Informatique
  2, Avenue de Saint-Mandé
  75570 PARIS Cedex 12
  Mél : thierry.florac at onf.fr
  Tél. : +33 01.40.19.59.64
  Fax. : +33 01.40.19.59.85




Plus d'informations sur la liste de diffusion zope3-french-user