Planet eZ publish

eZ Flow was first introduced last December together with eZ Publish 4. Since that time, there has been a lot of development activity at eZ, but our announcements have focused on eZ Publish. Here is a look at some of the new features planned for the next version of eZ Flow.
You will be able to test some of the features listed below with the first eZ Publish 4.1alpha release. The details of additional features not mentioned here will be announced when the eZ Flow roadmap and release dates are set.

During eZ Publish Community Developer Day, which was held in Skien on June 18th 2008, my great colleague Nicolas Pastorino from the eZ Systems French office gave a presentation on creating eZ Flow custom blocks. For those unfamiliar with eZ Flow, blocks hold content on dynamic frontpages, enabling you to manage layouts similar to many news sites. (Of course, such layouts are not just limited to news sites.)
I just commited the source code of eZFTP in its subversion repository.
You can check out the source code released from the repository:
svn checkout http://svn.projects.ez.no/ezftp
After a fruitful conversation with Nicolas Pastorino, he said me that he was waiting the new version of eZDebug. I was focusing on other extension so I completely forgot that. So, I've started the development of the version 1.0 fore Firefox3, in six monthes dev tools have evolved (happily for me) and it will be easier to test and develop. I will make the following arrangements :
If you got some remarks or suggestions on this, just leave a comment.
La semaine dernière se déroulait l'eZ Conference 2008 à Skien en Norvège autour du CMS Open source eZ Publish . Cette année, la conférence se déroulait en même temps que l'Open Nordic.
Beaucoup de nouveautés et pas mal de retours intéressants sur de gros projets ont été présentés cette année à l'eZ Conférence 2008. D'un point de vue produit, eZ Systems dirige ses développements sur 2 axes :
La grosse nouvelle est la mise à jour majeure de la roadmap d'eZ Publish par rapport au dernier developer day et les décalages de planning qui vont avec ;-)
La grosse nouveauté concerne le développement des nouvelles versions d'eZ Publish. En effet celui ci va se poursuivre sur 2 branches distinctes :
La branche 4.x se focalisera en plus des corrections de bug, sur des améliorations de performances avec la base de code actuelle. Cette version conservera en particulier le moteur de template actuel. Le but de cette branche est de conserver la compatibilité ascendante. Il semble que le principal soucis au niveau de l'intégration du composant Template des eZ Components soit le système d'override .
La branche 5.x (project V) vise à réécrire quasi complètement le noyau sous forme de micro kernel avec un maximum de fonctionnalité sous forme d'extensions. Il sera par exemple possible d'écrire son propre moteur de stockage pour par exemple se passer du versionning ou pour gérer de manière fine les données stockées dans eZ Publish.
À plus court terme, la sortie de la 4.1 est une question de semaines, elle comprendra :
Pour ce dernier bug, le dernier obstacle est l'écriture d'un script pour tenter de récupérer un maximum de données.
Les versions 4.2 et suivantes vont voir apparaître les fonctionnalités suivantes :
Les démonstrations de ces deux derniers produits étaient assez impressionnantes. Les plugins des traitements de texte permettent de parcourir et d'éditer directement depuis le logiciel les objets du site et de les sauvegarder sans passer par un export puis un réimport dans le backoffice. Le CSS Editor permet lui d'éditer la feuille de style directement depuis son navigateur. Ce produit est déjà en fonctionnement sur une usine à sites où les administrateurs de chaque site ont la possibilité de changer légèrement la mise en page (couleurs, images de fond, police, ...)
eZ Publish est de plus en plus employé pour de gros sites que ce soit en terme d'audience, de volumétrie ou de technicité. Par exemple eZ Publish est utilisé sur Sport24.com (site que je connais bien :)), Europe1.fr ou Car and Driver sites à fort trafic où sont utilisées différentes techniques pour tenir la charge comme le mode cluster, de la prégénération statiques avec des SSI ou les ESI avec Akamaï (ou bientôt Varnish ). En terme de volumétrie, Première remporte probablement la palme avec 700 000 objets de contenus. En terme de technicité nous avons pu assister à la présentation d'un projet de banque d'images avancée pour SanomaWSOY mettant en oeuvre eZ Publish avec eZ Find pour l'indexation de 400 000 images et de leurs meta données XMP .
Few weeks ago, I participipated to the eZConference & Open Nordic 2008 in Skien in Norway. There's some things you must now about Norway :
By the way, as you can imagine, Norway is a big country with few persons in it. So there's a lot of space and they are very concerned by the quality of their life : cities are clean and services are perfect.
The conference stood in the Skien Ibsenhuset, a very large conference hall, where both conferences, eZConference and Open Nordic, happened.
The main subject on eZ were :
By the way, it was a great time, sharing our knowledge and drinking beers at the at the pub...
Nicolas Pastorino from eZSystems
Bård Farstad and Damien Pobel
And then I travelled a bit to reach Oslo... Country, sea and half-light :
Countryside
Seaside
Opera
At night
It was a great trip, lot of emotions, lot of exchanges between people from different countries, and one pledge : next year I will be there, Monseigneur.
:-D

PHP 5.3 will have a new cool feature: phar. A phar is to PHP what a jar is to Java. I spent a little time to see how easy it would be to make our latest eZ Components release into a workable phar.
First of all, a phar can be build from a directory structure with a few functions only:
<?php
$phar = new Phar(
'ezcomponents-2008.1.phar', 0,
'ezcomponents-2008.1.phar' );
$phar->buildFromDirectory(
dirname(__FILE__) . '/ezcomponents-2008.1',
'/\.php$/');
$phar->compressFiles( Phar::GZ );
$phar->stopBuffering();
?>
This build script will create a phar from the directory contents in "ezcomponents-2008.1", but only include the PHP files (See http://php.net/phar.buildfromdirectory). We compress all the files and with stopBufferingwe write the file to disk. With the following code, we can now use the phar in our application:
require 'ezcomponents-2008.1.phar';
It is also possible to run a bit of code when including the phar. You do this, by adding a stub to the phar. To do so, we include the following code just before the compressFiles() call:
$stub = <<<ENDSTUB <?php Phar::mapPhar( 'ezcomponents-2008.1.phar' ); require 'phar://ezcomponents-2008.1.phar/Base/src/base.php'; spl_autoload_register( array( 'ezcBase', 'autoload' ) ); __HALT_COMPILER(); ENDSTUB; $phar->setStub( $stub );
After we re-create the phar with "php -dphar.readonly=0 build.php". The new phar once required will now setup the autoload mechanism of the eZ Components. The following script demonstrates that it actually works:
<?php
require 'ezcomponents-2008.1.phar';
$f = ezcFeed::parse( 'http://derickrethans.nl/rss.xml' );
foreach ( $f->item as $item )
{
echo $item->title, "\n";
}
?>
Conclusion: phar is cool!
I released the first package of eZFTP (release 0.0.1). But take care, this is a testing release which is not 100% reliable and which can be bug prone !
For now you will be only able to browse your contents in a FTP client...
