- Publié le 31 Octobre 2009 à 16:55
Auto status est une extension eZ Publish qui permet de mettre à jour son statut sur les réseaux sociaux Twitter ou Identi.ca en fonction de la publication d'un objet dans eZ Publish. Techniquement parlant, cette extension fournit un workflow event type destiné à se déclencher après la publication d'un objet et qui va utiliser un attribut de l'objet pour mettre à jour le statut. La mise à jour sur Twitter est faite grâce à Zend_Service_Twitter, Identi.ca est également supporté grâce quelques adaptations de cette classe également. Si vous voulez ajouter le support pour d'autres réseaux, n'hésitez pas à rejoindre le projet.
J'ai installé cette extension sur pwet.fr, normalement mon statut sur Twitter devrait être mis à jour aevc le titre et l'URL de ce billet :-) J'ai également créé un compte Twitter pour le Planet eZ Publish.fr et installé cette extension sur le planet, il s'agit donc d'un nouveau moyen de suivre les mises à jour du Planet via Twitter.
- Publié le 30 Juin 2009 à 21:48
eZ Feed Parse est une extension eZ Publish fournissant une fonction fetch permettant d'accéder dans un template aux données publiées dans un flux RSS ou ATOM. Cette extension interface le composant Feed des eZ Components et donc tous les formats supportés par ezcFeed sont accessibles.
Plusieurs autres extensions du même genre sont disponibles dans les contributions sur ez.no, mais il semble qu'elles utilisent toutes la classe eZXML qui a été retirée avec la sortie de la version 4.1 d'eZ Publish. Je l'utilise notamment dans la colonne de droite de ce site pour afficher quelques photos issues de Bioutifoul Photos.
Télécharger eZ Feed Parse 0.1
- Publié le 25 Avril 2009 à 11:30
eZ Object States Filter est une extension de type extended attribute filter. Cette extension permet de filtrer sur les object states des objets de contenu lors de la récupération d'un ensemble de nœuds en template avec la fonction fetch( content, list ) et équivalentes ou en PHP. Il s'agit d'une toute petite extension (3 fichiers !) écrite pour un projet perso en cours avec eZ Publish 4.1. Des exemples d'utilisation (template et PHP) sont disponibles sur la page du projet.
Télécharger eZ Object States Filter 1.0
- Publié le 07 Avril 2009 à 22:22
Il n'y a pas que des améliorations de performances dans eZ Publish 4.1. L'annonce de la sortie de la version 4.1 liste les plus grosses nouveautés (stale cache, object states, ...) et d'autres améliorations attendues depuis un bon moment. Je pense en particulier à l'ajout de déclencheurs sur d'autres opérations que l'affichage d'un objet (content/read), la publication (content/publish) ou ceux dédiés au module de boutique. Mais eZ Publish 4.1 apporte aussi d'autres améliorations qui sont passées pour le moment un peu inaperçues comme l'amélioration des content edit handler ou les extensions de type output filter.
Validation avec un content edit handler
Jusqu'à eZ Publish 4.0 un content edit handler permettait uniquement lancer un bout de PHP au moment de la publication d'un contenu. Il s'agit d'un mécanisme apparu dans eZ Publish 3.8 qui permet d'implémenter tout un tas de fonctionnalités comme la mise à jour d'un cache spécifique, la publication à partir d'une date renseignée dans un attribut, la création d'un espace personnel lors de l'ajout d'un utilisateur, ... J'ai toujours vu ce mécanisme comme une sorte d'évènement de workflow post publish en beaucoup plus simple (pas de code de retour, pas de syntaxe alambiquée, pas de possibilité de laisser le travail à script cron...).
Dans eZ Publish 4.1, il est maintenant possible d'implémenter une méthode de validation dans un content edit handler, en fonction du retour de celle-ci, l'objet part en publication, sinon le formulaire affiche le/les messages comme lorsqu'on oublie de remplir un champ obligatoire par exemple. Dans certains cas, ce nouveau mécanisme peut largement simplifier les choses notamment en permettant la vérification de règles syntaxiques supplémentaires sans nécessiter le développement d'un datatype spécifique ce qui est parfois un peu lourd pour juste ajouter une validation simple (validation d'un code postal, d'une longueur minimale d'une ligne de texte, d'un domaine particulier pour un email, ...)
Extension output filter
Il s'agit d'un nouveau type d'extension qui permet d'ajouter un traitement sur le code de la page entière. La documentation dans le SVN de cette nouvelle fonctionnalité donne comme exemple la réécriture des URL des composants de la page en fonction de la position géographique. Pour les validatorophiles, on peut aussi imaginer corriger les éventuels problèmes de validation (X)HTML grâce à un filtre utilisant l'extension php-tidy ou encore remplacer des tags prédéfinis par des éléments générés par un autre système (une version PHP des SSI ou d'ESI simpliste). Bien évidemment comme cette fonctionnalité permet de traiter l'ensemble du code de la page, il faut se méfier des effets néfastes sur le temps de génération des pages.
- Publié le 16 Novembre 2008 à 23:53
The eZ Publish debug is probably one of the most useful tool for the eZ developer. It is recommended to always activate it during development as you should read in it only debug or notice messages (and perhaps some translations warnings).
Enable the debug ouput
I usually activate it by putting those lines in the site.ini.append.php of the siteaccess I work on :
[DebugSettings]
DebugOutput=enabled
[TemplateSettings]
ShowUsedTemplates=enabled
Those settings activate the debug and display the templates used to render the page which is often a very useful information.
Don't show debug to everybody
It is also possible to restrict the generation of the debug by IP or by user id. This feature can be useful to monitor a live sites or to not annoy your colleagues when developing a site. With the following settings, the debug is only displayed for users visiting the site with the IP 10.2.2.157 :
[DebugSettings]
DebugOutput=enabled
DebugByIP=enabled
DebugIPList[]=10.2.2.157
Comment the line beginning by DebugIPList will make the debug disappear for everybody.
What happen before the redirection ?
DebugRedirection setting lets the developer read debug messages before an HTTP redirect. Instead of being directly redirected, you have to click on a button to view the next page. It can be useful to debug workflow events, content edit handler or extensions with modules and views... It is also possible to specify paths in this setting to enable this feature for only some pages, but this feature is undocumented for the moment.
Place the debug to not break your page
The default behaviour of eZ Publish is to replace the string <!-- DEBUG_REPORT --> by the debug output. If the string is not in the HTML code of the page, the debug will be placed at the end of the page. So depending on the HTML code, it's important to place correctly the string <!-- DEBUG_REPORT --> to not break the page with the debug.
Disable the debug for some special pages
As seen just before, <!-- DEBUG_REPORT --> is replaced by the debug output, so it's easy to comment <!-- DEBUG_REPORT --> another time in the pagelayout so that the debug is commented in some special pages for example in AJAX parts of a page or in exports based on a special layout. More details in Disable debug for custom layouts (/layout/set/xyz) topic in eZ.no forums.
Output something in the debug from a template
debug-log is an undocumented template operator that lets the developer output a variable and/or a message to the debug output. It's just an eZDebug::writeDebug call. It is sometimes easier to read and less obtrusive than using the attribute() operator, I use it in eZ Class Lists 1.0 to display the hash used to filter objects list with something like :
{debug-log msg='template fetch filter' var=$filter_hash}