On 4/14/06, Stefane Fermigier <[EMAIL PROTECTED]> wrote:
> Cyrille Leroux wrote:
> > On 4/13/06, Stefane Fermigier <[EMAIL PROTECTED]> wrote:
> >
> >> Cyrille Leroux wrote:
> >>
> >>>>> Ce que j'aimerais savoir, c'est s'il existe une "manière CPS" de
> >>>>> traiter les ZSQL Methods.
> >>>>>
> >>>>>
> >>>> Ne pas utiliser les ZSQL Methods. C'est une maniere "old school" de
> >>>> faire une
> >>>> connexion à une DB depuis du DTML.
> >>>>
> >>>>
> >>>>
> >>>>> J'aimerais faire un widget : j'ai regardé BasicWidgets.py et
> >>>>> ExtendedWidgets.py dans CPSSchemas, je pense avoir compris comment
> >>>>> ajouter un widget ... mais est-il possible de traiter des ZSQL là
> >>>>> dedans? Par exemple prendre le résultat d'une requête et l'afficher
> >>>>> sous forme de liste en héritant de CPSListWidget? Ou est ce que je
> >>>>> suis sur une mauvaise piste?
> >>>>>
> >>>>>
> >>>> Faire un widget est une bonne approche. Une portlet peut aussi etre une
> >>>> bonne
> >>>> solution. Il faut coder la logique de requetage dans la methode prepare
> >>>> ou meme
> >>>> directement render en utilisant un connecteur python <-> db tel psycopg
> >>>> pour
> >>>> postgresql.
> >>>>
> >>>> Il existe aussi des mapper objets/relations tel SQLAlchemy ou SQLObject
> >>>> qui
> >>>> fournissent une interface plus haut niveau à une DB.
> >>>>
> >>>> Le parametres de connexions a la DB peuvent etre stockés de maniere
> >>>> persistente
> >>>> sous forme de propriétés de l'objet portail ou d'un tool dédié.
> >>>>
> >>>> --
> >>>> Olivier
> >>>>
> >>>> _______________________________________________
> >>>> cps-users-fr
> >>>> Adresse de la liste : [email protected]
> >>>> Gestion de l'abonnement :
> >>>> <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>
> >>>>
> >>>>
> >>> Bonsoir, et encore merci à Olivier pour son aide.
> >>>
> >>> Et j'ai -encore- une question...
> >>>
> >>> Plutôt que d'utiliser une BDD externe via un "Database Adapter" comme
> >>> psycopg, j'aimerais me servir de Gadfly qui est intégré dans Zope.
> >>>
> >>> En cherchant un peu
> >>> (http://gadfly.sourceforge.net/gadfly.html#creating-a-new-database)
> >>> j'ai trouvé ce type d'exemple :
> >>> import gadfly
> >>> connection = gadfly.gadfly()
> >>> (...)
> >>>
> >>> Un peu sceptique, j'ai mis un import gadfly dans le code de mon
> >>> widget, mais Python ne trouve pas gadfly.
> >>>
> >>> Donc ma question : est-il possible (et si oui, comment?) d'utiliser le
> >>> gadfly intégré à Zope, ou faut-il passer obligatoirement par une BDD
> >>> externe?
> >>>
> >>>
> >> Pour utiliser Gadfly depuis Zope, il suffit d'instancier dans la ZMI une
> >> "Z Gadfly Database Connection".
> >>
> >> Pour l'utiliser en-dehors de Zope, directement depuis Python:
> >> http://gadfly.sourceforge.net/ ou "apt-get install python-gadfly" sous
> >> Debian et Ubuntu.
> >>
> >> S.
> >>
> >> --
> >> Stéfane Fermigier, Tel: +33 (0)6 63 04 12 77 (mobile).
> >> Nuxeo Collaborative Portal Server: http://www.nuxeo.com/cps
> >> Gestion de contenu web / portail collaboratif / groupware / open source!
> >>
> >>
> >>
> >
> > Merci de m'avoir répondu.
> >
> > Pour m'assurer d'avoir bien compris : pour utiliser Gadfly à partir
> > d'un widget CPS (du code Python donc), il faut installer le
> > python-gadfly (ou quelque chose d'équivalent à compiler), mais du coup
> > la version intégrée à Zope n'est pas utilisée?
> >
>
> Non, python-gadfly c'est uniquemen si tu veux Gadfly en-dehors de Zope
> (comme dans l'exemple de code que tu as écrit). En fait, avec le bon
> PYTHONPATH, et si tu as installé Zope, tu n'en as même pas besoin.
Je ne suis pas sûr de bien comprendre, dans mon bin/runzope, j'ai ça :
(...)
SOFTWARE_HOME="/usr/sitesCPS/siteDeTest/lib/python"
PYTHONPATH="$SOFTWARE_HOME"
(...)
Donc, mon PYTHONPATH pointe vers le lib/python du serveur Zope,
d'ailleurs, sous Zope, j'arrive bien à utiliser les ZSQL Methods avec
du DTML.
Par contre, à partir d'un script Python sous CPS, je n'ai aucune idée
de la manière d'utiliser Gadfly... ou alors, est ce qu'il est possible
d'utiliser une ZSQL Method à partir d'un script Python? (ça
m'étonnerais étant donné ce qu'à écrit Olivier Grisel plus haut : "Ne
pas utiliser les ZSQL Methods. C'est une manière "old school" de faire
une connexion à une DB depuis du DTML.".
Enfin voilà, je cherche juste à utiliser la SBDD intégrée à Zope
pour écrire un widget CPS (sur une toute petite base), donc si ce
n'est pas possible, autant installer une autre SGBDD.
Cyrille
_______________________________________________
cps-users-fr
Adresse de la liste : [email protected]
Gestion de l'abonnement : <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>