Le 24 mars 2006, à 11:40, Joe Ramone a écrit :




la seul difference entre un portlet générique et un portlet "custom" est que le dernier n'a pas de données propres donc il n'est pas paramétrable
via les formulaire d'édition comme les portlets génériques. Cela mis à
part la découpe logique / presentation reste inchangée, la plupart du
temps on utilise les scripts déjà écrits pour les portlets génériques et
on leur passe des paramètres directement (dans les ZPTs) au lieu
d'utiliser les champs de CPSSchemas.

On va pas épiloguer mais pour moi ce n'est pas une découpe propre logique/présentation. C'est peut-être d'ailleur de là que viennent nos différences de point de vue sur CPSSkins.

ÀMHA, il y a plusieurs axes à considérer dans les questions de séparation logique/présentation, par exemple CSS/HTML, Python/ZPT. Il y aura toujours un moment où on doit faire le pont avec les deux, nécessairement via des objets qui ont un statut intermédiaire.

Le système de portlets laisse pas mal de liberté pour ce qui est de la séparation du stylage, mais l'idée générale est de laisser CPSSkins s'en occuper. Le portlet d'actions rend une liste en XHTML, le conteneur CPSSkins (Portlet Group Box Templet) en fait l'habillage.

Pour ce qui est de la séparation Python/ZPT, c'est au niveau du widget de portlet que ça se passe. La plupart des portlets standard de CPS contiennent un "Portlet Widget" générique (CPSPortlets.CPSPortletWidget) qui ne fait rien d'autre qu'appeler un ZPT (render_method) en lui transmettant les paramètres gérés par les autres widgets du/des layout(s). On peut tout à fait coder son propre widget de portlet, mettre la grosse logique dedans, et de lui faire appeler un ZPT qui prend les données prémâchées.



c'est dans la doc.
http://www.cps-project.org/sections/documentation/developers/ how_to_creation_de
Hey man, essaye pas de détourner mon attention avec une doc hors sujet ! (en plus je crée mes portlets sur disque) ;)

Dois-je comprendre que tout portlet défini sur le portail ( = type avec la propriété "CPS Portlet"  à vrai) est automatiquement instanciable via CPSSkins sans effort supplémentaire ?

Oui. On lui attribue un 'slot' qui correspond au Portal Group Box Templet qui va l'habiller. C'est ce que fait l'éditeur de portlets ('gérer les portlets'). Il y a en plus une gestion avancée des conditions d'affichage.



_______________________________________________
cps-users-fr
Adresse de la liste : [email protected]
Gestion de l'abonnement : <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>

_______________________________________________
cps-users-fr
Adresse de la liste : [email protected]
Gestion de l'abonnement : <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>

Répondre à