- Publié le 28 Mars 2010 à 23:10
The blog post is the continuation of Frontend performance enhancements with admin2++ eZ Publish extension published a few days ago. This one is about the additions of the admin2++ eZ Publish extension in terms of GUI and new features.
Current features provided by admin2++ extension
admin2++ extension currently provides the following features by using jQueryUI 1.8 in the new eZ Publish administration interface :
- it improves the dashboard to be easily configurable by each user (drag'n drop of blocks, ability to remove or add blocks)
- it adds some new dashboard blocks (System infos, Feed reader, Advanced search form)
- it replaces View link in context menus by a Preview link that loads a preview in AJAX
- it makes the right menu loadable in AJAX instead of requiring a page refresh when revealing it
- it adds the ability to resize the area dedicated to preview tabs, details tabs, ...
- it improves default stylesheet (colors in popup menu and dashboard blocks, round corners on all fields, yellow background to highlight currently focused field, ...)
- it adds a date picker for ezdate and ezdatetime attribute (based on jQuery instead of the default YUI2 one)
All those new features are visible in this screencast :
Future developments
I have a lot of ideas :
- Publié le 31 Octobre 2009 à 17: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 à 23: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 à 13: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 08 Avril 2009 à 00: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.