Frefred.fr

Extensions sous eZ publish

eZ publish est un système très bien conçut, et très flexible. Pour utiliser toute la flexibilité d'eZ publish , on nous offre la possibilité d'ajouter des extensions eZ publish . Voici une description des extensions, ainsi que les descriptions des types d'extensions qu'on retrouve le plus souvent.

Les extensions eZ publish

Pourquoi utiliser les extensions d'eZ publish ? En utilisant les extensions eZ publish , on peut rajouter des fonctionnalités à eZ publish, sans toucher aux fonctions d'eZ publish , livrées de base. Cela permet de ne pas toucher le kernel d'eZ publish. En activant juste les extensions, un des avantages est de pouvoir mettre à jour plus facilement eZ publish, dès qu'une mise à jour sort. Nous avons juste à remettre notre extension, et l'active. On peut aussi partager les extensions que l'on crée. eZ publish ayant une philosophie d'entraide et de communauté , on retrouve cette philosophie dans le système d'extension.

Activer une extension

Pour activer une extension, on a 3 moyens mis à disposition.

Le moyen le plus facile est de passer par l'administration d'eZ publish. Dans l'administration d'eZ publish, on retrouve un onglet Administration. Une fois arrivé sur la partie Administration, nous retrouvons Extension. Cette page liste toutes les extensions qui se trouvent dans le dossier extension d'eZ publish. Il suffit de cocher la case de l'extension désirée, et d'appliquer les changements. En utilisant cette méthode, eZ publish exécute de lui même le second moyen pour rajouter une extension.

Lors de l'activation d'une extension, eZ publish rajoute une ligne dans le ficher settings/override/site.ini.append.php. Dans ce fichier, on retrouve une partie ExtensionSettings . Pour activer l'extension, il suffit de déclarer l'extension dans ce fichier.

[ExtensionSettings]
ActiveExtensions[]=monExtension
ActiveExtensions[]=autreExtension

En utilisant les deux méthodes décrites ci-dessus, les extensions sont activées pour tous les siteaccess d'eZ publish.

Il arrive des fois qu'on ne veuille activer qu'une extension pour un siteaccess d'eZ publish. Pour cela, il faut ouvrir le fichier settings/siteaccess/votre_siteaccess/site.ini.append.php et rajouter ces lignes dans ce fichier.

[ExtensionSettings]
ActiveAccessExtensions[]=monExtension

Une fois activé notre extension, il serait peut être temps de se pencher un peu dessus.

Structure d'une extension

Chaque extension est définit dans un dossier séparé dans eZ publish. La structure d'une extension eZ publish dépend de ce que l'extension doit apporter à eZ publish. Voici une description des différrents dossiers que l'on peut retrouver dans une extension :

  • actions : permet de définir de nouvelles actions pour les formulaires
  • autoloads : définit les nouveaux opérateurs de templates
  • datatypes : définit de nouveaux types de données
  • design : définit des nouveaux design pour eZ publish
  • eventtypes : définit de nouveaux événements pour les workflow
  • modules : définit différents modules
  • settings : définit la configuration pour l'extension
  • translations : contient les traductions pour l'extension

Selon le contenu d'une extension, on peut rattacher l'extension à un type. On peut classer généralement les extensions en 3 types distincts. Les types d'extension sont :

  • Extension Design
  • Extension Opérateur
  • Extension Module

L'extension Design

eZ publish permet de créer facilement un design dans les extensions. Cela permet de couvrir toutes les facettes visuelles d'un projet, ainsi que les différents configurations pour un projet. Ces extensions contiennent les différents templates, images ... pour un site, ainsi que les fichiers de configuration, tel que les surcharges de templates, les connections à la base de données, ou la configuration des dates ou autre fichier de configuration. On peut aussi retrouver les traductions pour le projet en question.

L'extension Opérateur

eZ publish offre un certain nombre d'opérateurs , qu'on peut retrouver sur le site d'ez.no. Il arrive qu'on est besoin aussi de nouveaux opérateurs, tel que lister les flux rss :)
eZ publish suggère de passer par un opérateur de template, lors de manipulations compliquées, au lieu de se compliquer la vie dans les templates d'eZ publish.

L'extension Module

On peut étendre les différrents fonctionnalités d'eZ publish en créant nos propres modules, ainsi que différentes vues. J'ai en tête depuis un bout de temps de créer un module permettant de gérer les vues simples, pour les utliser via Ajax.

Conclusion

Malgré un classement relativement sommaire , il existe d'autres types d'extension, tel que celui pour rajouter des nouveaux types de données. En vue que les extensions peuvent contenir pas mal de choses, il n'est pas possible de définir un type distinct pour chaque extension. Une extension peut être à la fois une extension Design, tout en ajoutant de nouveaux opérateurs de template. Comme exemple, je prendrais l'extension eZ Rss que j'ai créé. eZ Rss ajoute un nouvel opérateur, permettant de lister les différents flux rss. Mais elle permet aussi de surcharger aussi le template link, pour insérer la liste des flux rss.

Je décrirais dans de futurs articles , comment créer les types des extensions définis au dessus, d'où les descriptions courtes sur les extensions.

Bookmark and Share

Commentaires

#1 - Le 17 août 09 par frefred

ezfeedparse

Pour intégrer un flux RSS provenant d'un site externe, tu as 2 choix selon moi :

- utilise le module "rss" ( Administration > Syndication ), qui te permet d'ajouter des flux externes à ton site, et de les importer directement dans ton arborescence eZ publish.

- utiliser l'extension de Tigrou ezfeedparse ( http://projects.ez.no/ezfeedparse )

#2 - Le 30 juil 09 par Taleb

RSS Extension

Salut Fred, as-tu une idée de comment développer une extension pour intégrer un flux RSS provenant d'un site externe dans son site ? ou connaitrais-tu une extension qui le fais déjà ?
Si j'en trouve pas je développerai ma propre extension.
Merci

Ajouter un commentaire