Date de publication: le jeudi 9 août 2007 à 20h00
Dernière modification: par Pascal BOYER le vendredi 21 septembre 2007 à 19h01
« Article précédent: eZ Publish : gestion des URI (supprimer index.php et le siteaccess)
» Article suivant: eZ Publish : lien Prec. et Suiv.
Objectifs
Cet article explique comment installer manuellement et à postériori, sur une solution eZ Publish 3.9.2 de type Plain site , les classes de contenu disponibles à la fin de l'installation d'une solution eZ Publish basée sur l'extension Website Interface .
La musique, les états de félicité, la mythologie, les visages travaillés par le temps, certains crépuscules et certains lieux veulent nous dire quelque chose, ou nous l'ont dit, et nous n'aurions pas dû le laisser perdre, ou sont sur le point de le dire; cette imminence d'une révélation, qui ne se produit pas, est peut-être le fait esthétique.
Tous eux qui ont eu le loisir d'installer cette extension et qui connaissent, par ailleurs, les autres types de sites que proposent toutes les versions antérieures à la version 3.9 de eZ Publish, ont pu remarquer les améliorations notables apportées à certaines classes installées par défaut avec l'extension Website Interface. Quand il ne s'agit pas tout simplement de nouvelles classes !
C'est donc dans le but de bénéficier de ces avancées, mais également à des fins pédagogique (on n'en finit jamais d'apprendre), que j'ai souhaité installer manuellement ces classes.
Cet article est donc tiré d'un cas très concret: celui du site luxpopuli.fr que j'ai installé, initialement, en type Plain site et auquel j'ai ensuite ajouté le paquet ezwebin_classes.ezpkg pour profiter des classes d'objets de l'extension Website Interface.
Je précise que j'ai réalisé cette opération alors que mon site était en production et contenait déjà plus de 1000 objets.
Sauvegarder son site
Par mesure de précaution, il me semble important de procéder, avant toute chose, à la sauvegarde de votre site, c'est à dire à la sauvegarde:
- de tout le répertoire d'installation de eZ Publish
- de la base de données de votre site (voir l'article Sauvegarder la base de données )
Classes par défaut
Tout de suite après avoir fini une procédure d'installation de type Plain site de la version 3.9.2 de eZ Publish, si on se connecte à l'interface d'administration, que l'on clique sur l'onglet Administration puis sur le lien Classes dans le menu gauche, alors on peut voir la liste complète de toutes les classes installées:
Fig. 1: Classes installées par défaut avec le type Plain site de eZ Publish 3.9.2
Comme on peu le voir, le nombre de classes est très réduit.
Par ailleurs, en cliquant sur le lien Paquetages du même onglet Administration:
Fig. 2: Accéder à l'interface de gestion des paquets
...on peut, en sélectionnant un dépôt et en validant ce choix avec le bouton Changer le dépôt, afficher la liste des paquets installés:
Fig. 3: Paquet installé par défaut avec le type Plain site de eZ Publish 3.9.2
Une des options de la liste des dépôts est Tout et permet d'afficher la liste des paquets de tous les dépôts.
Installer les nouvelles classes
Télécharger le paquet ezwebin_classes.ezpkg
Sur cette page vous pouvez télécharger tous les paquets de l'extension Website interface. Celui qui nous intéresse présentement se nomme ezwebin_classes.ezpkg
Il est nécessaire de télécharger les paquets localement (c'est à dire sur son disque dur) car, comme l'indique la documentation officielle sur la gestion des paquets , il est impossible d'accéder aux dépôts distants à partir de l'interface d'administration.
:
Quelque soit la version de eZ Publish qui propose l'interface ezwebin, vous trouverez l'adresse exacte de la page de téléchargement des packages en consultant la valeur du paramètre RemotePackagesIndexURL de la section [RepositorySettings] du fichier de configuration settings/ package.ini.
Installer le paquet ezwebin_classes.ezpkg
:
L'installation du paquet n'engendre aucune modification des paramètres des siteaccess (ou des surcharges générales).
Commençons par nous rendre, comme indiqué par la figure 2, dans l'interface de gestion des paquets de eZ Publish.
Ensuite, à partir du cadre présenté par la figure 3 ci-dessus, et quelque soit le dépôt sélectionné, cliquez sur le bouton Importer un nouveau paquetage. A l'aide du bouton Parcourir, recherchez puis sélectionner le paquet ezwebin_classes.ezpkg sur votre disque dur comme l'illustre la capture d'écran ci-dessous:
Fig. 4: Rechercher le paquet ezwebin_classes.ezpkg sur son disque dur en vue de son importation
Après avoir cliqué sur le bouton Ouvrir, cliquez sur Importer paquetage pour afficher le contenu de ce dernier:
Fig. 5: Liste des éléments contenu par le paquet ezwebin_classes.ezpkg
Vous poursuivez avec le bouton Installer paquetage.
Les 3 prochains messages vous informent qu'une classe d'objet de même nom existe déjà sur votre système et vous proposent trois options. Par mesure de précaution, il me semble prudent de choisir la troisième option. Ainsi, en cas de doublon, vous conservez intacte la classe existante et la nouvelle est renommée (voir figure 10 plus bas):
Fig. 6: Message d'avertissement: la classe Article existe déjà (l'option 3 est conseillée)
Une fois l'option choisi grâce au bouton radio correspondant, poursuivez en cliquant sur le bouton Continuer:
Fig. 7: Message d'avertissement: la classe File existe déjà
Fig. 8: Message d'avertissement: la classe Image existe déjà
Lorsque le dernier message de ce type s'affiche, le bouton Continuer permet alors de finaliser l'installation du paquet et de ses éléments. Le message final apparaît alors:
Fig. 9: Message final indiquant que la procédure d'installation s'est correctement déroulée.
Nouvelles classes du paquet ezwebin_classes.ezpkg
Pour visualiser les nouvelles classes installées, cliquez sur le lien Classes dans le menu gauche puis, dans le cadre supérieur, cliquez sur le nom d'un des groupes de classes. En choisissant, par exemple, le groupe de classes Media, voici ce qui s'affiche:
Fig. 10: Distinguer les doublons de classes (exemple du groupe de classes Media)
Sur la figure 10 on voit que le choix de l'option 3 des messages d'avertissement (figures 6 à 8) a conduit le système à renommer les nouvelles classes doublons:
- en ajoutant (imported) à leur nom
- en ajoutant _1 à leur identifiant (cercles orange)
Par ailleurs, les dates de modification (encerclées en bleu sur la droite) permettent de les identifier facilement puisque toutes les nouvelles classes sont affectées d'une date de modification valant la date et l'heure d'installation du paquet ezwebin_classes.ezpkg
Langues des classes
A l'origine, lorsque j'a décidé de créer luxpopuli.fr, j'ai installé eZ Publish 3.9.2 avec une seule langue principale, le français, à l'exception de toute autre langue secondaire ou additionnelle.
:
A propos du système miltilingue avancé de eZ Publish, je ne saurais trop vous encourager à lire la
documentation officielle
(traduite en français).
Cependant, l'installation du paquet a engendré, dans mon cas, l'apparition, pour les nouvelles classes, d'une nouvelle langue principale: l'anglais. Si j'édite (et non modifie), par exemple, la nouvelle classe File (imported) du groupe de classes Media, voici ce qui s'affiche:
Fig. 11: La langue principale de la nouvelle classe File (imported) est l'anglais
Pour afficher le cadre ci-dessus pensez à l'activer avec le switch idoine:
Fig. 12: Le switch d'activation du cadre des traductions des classes
Par ailleurs, lorsque je souhaite maintenant créer une classe personnalisée, j'ai le choix entre le français et l'anglais:
Fig. 13: La langue anglaise est maintenant disponible lors de la création de classes personnalisées
Je ne m'attarderais pas plus sur la question des langues de traduction dans la mesure où ce problème est parfaitement décrit et traité par la série d'articles Système multilingue et plus particulièrement par celui-ci:
On notera également qu'à présent, chaque création d'un objet est l'occasion d'un message:
Fig. 14: Il faut maintenant choisir une langue lors de la création d'un nouvelle objet
Exemple d'améliorations
La nouvelle classe Article (ou Article (imported) ) contient deux attributs Date et heure:
Fig. 15: Les deux attributs Date et heure de la nouvelle classe Article
...qui couplés à un workflow et à un script de tâche planifiées permettent de différer la publication de l'article mais également de le dépublier automatiquement.
Templates de vue des nouvelles classes
Pour certaines des nouvelles classes, par exemple Event, Event calendar, Multicalendar, il faut utiliser des template de vue qui ne sont pas présents dans le paquet ezwebin_classes.ezpkg.
Pour savoir quels templates sont normalement utilisés par ces classes, vous devez réaliser une installation temporaire complète de type Website Interface puis paramétrer le système de debugage pour affichés les templates utilisés par le système lorsque les objets de ces classes sont affichés sur le site public.
Pensez également à regarder dans les fichiers override.ini.append.php des siteaccess. Retenez que les templates utilisés se trouvent certainement dans un sous-répertoire de:
extension/ezwebin/design/ezwebin/override/
Une fois le template de vue identifié, il ne reste plus qu'à en faire une copie dans votre système Plain site et à créer une règle de surcharge.
Commentaires














