Flux RSS de pwet.fr/blog


04/25/2010 09:50 PM
Concours pour le re-design du site share.ez.no

Le site communautaire autour d'eZ Publish, Share.ez.no a besoin d'une charte graphique un peu plus attrayante que l'actuelle (un peu trop jaune à mon goût :) c'est pourquoi un concours de design est organisé. Qui dit concours, dit prix ! Le gagnant du concours emportera une tablette graphique Wacom Intuos 4 medium ainsi qu'un billet d'entrée gratuit à la eZ Conference 2010 et bien sûr la mention "Design by " en bas de chaque page du site. Les deuxième et troisième sont également récompensés. Tous les détails sont disponibles dans l'annonce officielle du concours, alors si vous avez des talents de graphiste, enregistrez vous et à vos Photoshop GIMP !


03/28/2010 11:10 PM
GUI enhancements with admin2++ eZ Publish extension

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 :


03/23/2010 02:29 PM
Frontend performance enhancements with admin2++ eZ Publish extension

About a month ago, I created a new project called admin2++ on projects.ez.no. As written in the project page, the purpose of this project is to go further in the administration interface refresh both on the frontend performance and on the features for users to achieve what I wrote last november on the admin interface refresh of eZ Publish. On the frontend performance side, changes are quite hidden but are there, so it's time to do some advertising :-) In fact, it's more or less an application of my talk in Geneva on frontend performance with eZ Publish.

Current enhancements on frontend performance

The admin2++ extension provides the following enhancements to eZ Publish admin2 interface :

  • the twenties background images have been incorporated into three sprites images to decrease the number of HTTP requests. This also decreases the total background images size from about 30Kb to 6Kb.
  • PNG Content class icons and PNG admin2 design images have been optimized. Here again the total size of icons and images is decreased from about 200Kb to 147Kb.
  • the admin2++ extension provides parts of Apache2 config files to enable GZip compression and set a far future Expires header where possible
  • I also replaced the code using YUI3 (drag'n drop of sub-items when sorting with priority) or YUI2 (Date picker) JavaScript frameworks by a code based on jQuery and jQueryUI as jQuery is used for most features of admin2 and jQueryUI is used for others features provided by the extension. This avoids loading three JavaScript frameworks.
  • Most of the JavaScript code executed in page has been deferred to DOM ready event instead of DOM load.
  • The login page preloads the most used images and all the JavaScript files needed by the admin interface. I tried to configure eZ Publish/eZJSCore so that the JavaScript pack file generated by eZJSCore operators is the same on all pages. The browser downloads the JavaScript on the login page and then it always uses its cache on others pages. I'm happy to see that a part of this has been ported in the eZ Publish trunk :-)

What is missing, future developments ?

I wanted to override ezdesign and ezimage operators to automatically add the last modification date of a ressource in file URI so a far future header can be set on all design ressources without any browser cache issue. Unfortunately, overriding template operators is not possible for the moment. Currently, the expires is set to only seven days in expires.conf provided in the extension for most design ressources.

In addition, a lot of others small improvements would be possible like minifying inline JavaScript code or part of the HTML itself, ... and as usual, it lacks some documentation on how to set it up.


02/06/2010 12:05 AM
Frontend performance with eZ Publish slides are online

The slides of my talk Frontend performance with eZ Publish at the eZ Winter Conference 2010 at Geneva are now online on Smile website (fr) and on slideshare.net (and there's also a PDF document to read it offline) :

This talk gives some details on the application of some of the Yahoo! best practices for speeding up your web site with eZ Publish like limiting the number of HTTP requests with the ezjscore extension's template operators, the optimization of the images uploaded in the CMS (fr) or the ability to set far future expires headers for ressources in the storage directory of the CMS...


01/17/2010 11:42 PM
Nouveau serveur

Après les déboires récents de mon premier serveur Dedibox, j'ai reçu courant décembre un mail m'annonçant la fin du support de ma Dedibox V1 fin janvier 2010 et l'obligation de migrer vers une autre machine. J'envisageais depuis un bon moment de changer de serveur, cela n'a fait que précipiter les choses. Et j'ai finalement choisi un serveur Kimsufi 750G qui semble mieux fourni que les Dedibox XL pour le même prix (aux frais d'installation près si on paie pas à l'année).

La migration à l'identique est quasiment terminée mais je compte bien exploiter au mieux les 4Go de RAM (quel changement en comparaison du Go que j'avais avant). Je vais m'intéresser de plus près à la configuration de MySQL pour exploiter ces nouvelles ressources et je vais enfin pouvoir installer l'extension eZ Find sur mes différents sites eZ Publish.

En attendant un rapide benchmark sur pwet.fr avec siege sur les 200 pages les plus vues m'a montré que cette machine est capable de servir quelque chose comme 40 pages / seconde sans broncher là ou l'ancienne machine était capable de servir péniblement 7 pages / secondes. Il y a de la place pour quelques nouveaux projets!


01/03/2010 09:12 PM
Enfin un peu de neige !

10 jours à Coligny dont 7 de pluie et la veille du départ, enfin un peu neige, il s'en est fallu de peu pour la rater !


11/26/2009 11:23 PM
Some thougths about the admin interface refresh of eZ Publish

The big new feature of the roadmap of eZ Publish 4.3 is a new admin interface. The work on it has started with a requirements document and a prototype of a page (download it locally if you want to see it in your browser). jQuery is used in the prototype, I don't know if it's a definitive choice, but as I have already said on that topic, a choice of a framework is better than no real choice (even if jQuery is not my preferred JavaScript framework). I think that most of the big needs are already covered in the document but there are some small details that miss in the current admin interface that I would like to see in the future one :

  • Labels of each field should be linked to their related input with the for attribute. That's a very small addition but I find it more than useful in web applications.
  • The focused input should be highlighted with a different colour. This is another very small improvement which can greatly improve users experience.
  • Buttons in the admin interface should be of a different colour depending on the action they trigger. For instance cancel buttons can be orange, publish buttons blue, remove buttons red, ... The main key here is to be consistent over all the interface.

The edit interface of each datatype should also be considered individually to provide the best interface. For instance, the edit template of a datetime attribute should provide a JavaScript calendar (like with the ezwebin package), the template of a time attribute a button to fill inputs field with the current time, the keyword datatype an autocomplete input (like with the ezkeywords_autocomplete extension), ... Beside an advanced edit interface for each attribute, the data entered in the edit form should also be checked with JavaScript (required or not, valid syntax, ...). In case of errors, fields that do not validate should be highlighted with a message until a new valid value is entered. Obviously, if JavaScript is disabled, a server side check should do the same thing. On this topic, there's also a very old feature request in the issue tracker about the ability to add an help text in the class definition that would be displayed under the edit interface of the attribute.

Finally, a great improvement would be to apply general rules on performances frontend. I think of packing and minifying CSS et JavaScript files (with ezjscore !), using CSS Sprites for design images and use optimized PNG files instead of GIF files. This would improve the user experience by speeding up response time and making the admin interface usable with a slow Internet line


11/07/2009 05:19 PM
Migration du Planet eZ Publish.fr vers eZ Publish 4.2

Je viens de migrer le Planet eZ Publish.fr vers eZ Publish 4.2. Probablement l'une des mises à jour eZ Publish les plus simples et les plus rapides (moins de 2 heures) que j'ai faite. Il faut dire que la procédure de mise à jour de la version 4.1 à la version 4.2 est plutôt plus simple que d'habitude et en plus le site est très simple, il n'utilise aucune des fonctionnalités dont le comportement a changé entre les versions 4.1 et 4.2 et finalement peu de fonctionnalités avancées.

Au passage, les nouveautés de la version 4.2 sont nombreuses mais l'amélioration des performances après un vidage complet des caches devrait ravir les développeurs au quotidien :-), en tout cas j'ai bien vu la différence pendant la migration.


10/31/2009 05:55 PM
Sortie de Auto status 0.1

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.


10/04/2009 10:33 PM
Mise à jour vers eZ Publish 4.2 et eZVideoFLV 0.3

J'ai finalement pris mon courage à deux mains et j'ai migré pwet.fr de la version 4.0.1 à la version 4.2.0 d'eZ Publish sortie il y a quelques jours avec plein d'améliorations. Au niveau de la migration d'eZ Publish, rien de bien compliqué surtout que pour une fois, la documentation de mise à jour sort en même temps que le produit.

Mon principal soucis était au niveau de mon extension ezvideoflv incompatible avec la version 4.2 (et 4.1) en raison des modifications apportées dans la version 4.1 au niveau des binary file handlers. J'ai donc sorti la version 0.3 de eZVideoFLV compatible avec eZ Publish 4.1 et supérieur. Au passage, merci encore à Sébastien Morel pour son aide.