Le 17/12/2011 19:07, M.-A. DARCHE a écrit :
Le 17/12/2011 19:05, M.-A. DARCHE a écrit :
Bonjour,

Je cherche le moyen le plus efficace de lister les entreprises
d'une base de données SQL dans une page web d'un portail CPS.
Concrètement c'est pour remplacer cette page statique
http://aful.org/association/entreprises qui est actuellement
un document web, par un affichage dynamique.

La solution qui me vient en tête immédiatement est de créer
une External Method qui fera la requête SQL adaptée chaque
fois qu'on cherche à afficher la page web.
La méthode traditionnelle Zope 2, ce serait plutôt d'utiliser une ZSQLMethod avec ZPsycopgDA (de mémoire). Tu déclares ta connexion et la ZSQLMethod l'attrape par acquisition et l'utilise.


Quelles seraient les manières plus actuelles, plus efficaces
de réaliser cela ? Par exemple utiliser des vues Zope3 serait-il
adapté ? Mais du coup je ne suis pas certain de ce sur quoi attacher
ces vues.
Je préfère considérer cela comme un problème disjoint.


Actuellement il s'agit d'une base PostgreSQL, mais nous pourrions
risquer de devoir passer à une base de données MySQL. Aussi j'aimerais
bien pouvoir utiliser un connecteur/adapteur agnostique qui saurait
se connecter indifféremment sur n'importe quelle base sachant faire
du SQL-92 cf. fr.wikipedia.org/wiki/SQL

A plus haut niveau, pour avoir une API unifiée, dans CPS, il y a les SQL Directory (une éternité que je n'ai pas regardé de près, mais je me souviens de correctifs il y 3-4 ans pour gérer les images comme dans votre cas). Si un jour vous vouliez remplacer même par un LDAP, ça s'adapterait facilement (hypothèse sans doute fantaisiste, mais c'est pour l'exemple)

Aussi quel connecteur/adapteur me recommenderiez-vous ?

Dans le style ZTK (ex Zope 3), il y a z3c.sqlalchemy, mais il faut faire attention à ce qui est dispo pour votre Zope 2.9.12.


Ah, j'avais oublié de préciser que j'aurais aussi bien aimé
que cette page reste, de manière à ce qu'on puisse lui associer
des métadonnées et la trouver avec le moteur de recherche.
Du coup, cette dernière contrainte énoncée ne plaide-t-elle pas
pour un type de document sur mesure avec un widget sur mesure ?

Un Directory Tabular Widget branché sur un SQL Directory ? Je sais que tu n'aimes pas trop CPSDashboards, mais c'est fait pour ça, et ça ne fait pas que des tableaux, mais aussi des listes si on veut, comme celle-ci par exemple : http://viral-prod.com/fr/sections/all_recordings.html (oui c'est une browser:page).

Faire un type de document sur mesure pour juste une page*, c'est dommage.
Si tu veux partir sur un widget, tu peux aussi simplement le déclarer dans les widgets flexibles possibles dans les « Document Web » et le tour serait joué, tout en conservant des possibilités éditoriales intéressantes.


Merci !

Pas de quoi, il y a une multitude de possibilités.

* vous pensez à la page des LUGs aussi ?
_______________________________________________
cps-users-fr
Adresse de la liste : [email protected]
Gestion de l'abonnement : <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>

Répondre à