Bonjour,

En ce qui me concerne (et je ne parle donc pas au nom de Jahia en entier vu qu'il n'y a pas forcément conscensus sur le sujet de tous les intéressés ;-) ):
1) Corpv2 versus template from scratch
Comme le mentionnait Dominique, si vous êtes à l'aise avec l'API/taglib de Jahia et que vous connaissez déjà bien les corpv1 et v2, le plus simple (pour le moment, je ne dis pas que c'est l'idéal, loin de là) est de repartir from scratch et de procéder par des copier/coller des parties que vous souhaiter réutiliser (par exemple les menus sont complexes à mettre en oeuvre, donc réutiliser un système de "left menu" va bien plus vite que de recreéer un système de navigation. De même, les boxes sont normalement suffisemment génériques pour pouvoir être réutilisées dans n'importe quel set de templates). Si vous ne connaissez pas encore bien Jahia, il vaut mieux se contenter de "skinner" les Corpv1 ou v2 en se concentrant sur les CSS sans toucher aux définitions et à la structure générale des templates (et/ou en rajoutant des templates additionnels dérivés des templates simple ou double).

2) Template Maintenance
Idéalement il faudrait plutôt utiliser des taglibs plutôt que des accès directs à l'API (qui peuvent varier d'une release à l'autre). Cependant les taglibs sont souvent limitatifs donc on est vite amené à utiliser l'API. Pour le moment, depuis Jahia 3.x, nous avons tenté de garder au maximum des compatibilités ascendantes. Les anciennes API demeurent dans le système mais sont "deprecated". Il est vrai cependant que de temps en temps nous ne pouvons pas faire autrement que de modifer l'API de base (par exemple sur les catégories entre Jahia 4 et 5) mais les changements demeures la plupart du temps minimaux.

Autre point: si vous utilisez comme base de travail les Corpv2, vous allez de toute manière "forker" le set de templates. La question qui se pose est donc: comment mettre à jour votre set de templates spécifiques avec les nouveautés/bug fixes inclus dans les templates de base de la nouvelle release. Par exemple entre les coprv1 de la version 4 et de la version 5, nous avons procédé à diverses améliorations de performances, des bug fixes (en multilangues, dans les menus,...) et bien entendu rajouter certaines nouvelles fonctionnalités. Evidemment nous ne pouvons pas "écraser" vos templates et/ou dynamiquement les mettre à jour lors d'une procédure d'upgrade. Donc le seul moyen est de procéder à des "diffs" entre les deux versions pour diagnostiquer les changements et évaluer leur importance dans vos propres sets de templates clients (ce qui est consommateur en temps). Nous tentons donc également de mettre de plus en plus certains "include" type Topbar d'administration dans les répertoires gérés par Jahia. Ceci nous permet ainsi lors des mises à jour d'écraser ces fichiers-là et que vous puissiez au moins profiter de ces optimisations/fixes (qui sont les plus critiques). Maintenant beaucoup de clients redesignent également ces barres d'administration et ne profiteront donc pas de ces changements (à moins de les appliquer manuellement).

Tout feedback est évidemment fortement apprécié sur la manière qui nous permettrait d'améliorer le système de mise à jour des templates (et de vos sets de templates spécifiques) dans le futur.

3) CSS et possibilité de "skinning" facilité
Il est vrai que, du fait de l'intégration de passablement de contributions provenant de multiples acteurs, les CSS ne sont aujourd'hui clairement pas évidentes à utiliser (et je ne parle même pas des conflits quand on passe au niveau des CSS de webapps/portlets et des overlap possible au niveau du nommage avec les styles des templates). On en est fortemment conscient et on a d'ailleurs plannifié de travailler dessus ce mois-ci et en février afin de faciliter/unifier ces CSS et permettre plus facilement de "skinner" les corpv2 pour approximativement n'importe quel look and feel.

4) Améliorations en cours pour Jahia 5
a) unifier les options dans les corpv1 dans les corpv2 afin que toutes les possibilités présentes soient dans les corpv2. "Déprécéter" les Cropv1. b) simplifier les CSS actuellement utiliser et évaluer comment réorganiser les templates pour permettre un "skinning" simplifié à la CSS Zen Garden. c) améliorer la documentation des Coprv2 tant d'un point de vue fonctionnel que technique. Améliorer les procédures de migration au niveau impact sur les sets de templates lors de mise à jour de Jahia.
d) offrir une gamme de formation plus détaillée et appronfondie sur les corpv2
Voici nos principaux objectifs pour Q1 2007. L'idée est ainsi de pouvoir 1) pour les petits projets, de plus facilement "skinner" les cropv2 sans toucher fondamentalement à la structure des templates (et donc bénéficier également des upgrades maximaux sur les templates et includes génériques) et 2) pour les gros projets, de pouvoir s'inspirer plus facilement des corpv2 en sachant pertinemment que les upgrades seront, même si mieux documentés, plus coûteux car ils nécessiteront un certain nombre de jours/homme de migration.

5) Futur des templates (pour Jahia 6.0 - ongoing discussions)
D'autre part, nous sommes actuellement en phase de spécifications pour Jahia 6.0. Plusieurs idées sont en discussion dont la possibilité d'utiliser plusieurs système de templates (pas uniquement du JSP, mais également d'autres systèmes type velocity,...). De même, une séparation claire sera effectuée entre définition des objets de contenu et affichage des objets de contenu. Ainsi un même objet de contenu pourra avoir plusieurs possibilités d'affichage (dont une par défaut permettant d'utiliser des objets de contenu sur des pages qui n'ont pas forcément déclaré ledit objet de contenu). On s'éloigne donc de la vision HTML/JSP actuelle (tout est dans le même fichier) mais d'un autre côté, avec le nombre d'includes existants, on se retrouve déjà quasiment à gérer une granularité d'affichage par objet de contenu. On mettra à disposition toutes nos idées sur jahia-net dès qu'on les aura formalisé de manière plus décentes. Evidemment toutes les propositions sont les bienvenues. Enfin ceci demeure pour le moment de la musique d'avenir...

Mes 2 cts,
Stéphane


At 12:07 09.01.2007, you wrote:

Bonjour,

Pour ma part, nous avons également l'habitude de passer par un web designer pour réaliser les maquettes HTML. Cela à pour avantage, si on détermine bien le besoin, de ne pas avoir de compétence CSS pour dynamiser les pages, et donc cela permet de séparer les taches.

Pour un développeur J2EE, la compétence en Jahia sera le plus souvent celle qui fait défaut (pour le moment). Aussi pour rebondir sur l'analyse de Dominique, il semblerait plus simple d'adopter cette approche.

Ceci dit, si je peux me permettre un retour d'expérience (6 mois sur Jahia et intégration), nous avons rencontré quelques soucis d'intégration lorsque nous avons voulu utiliser les CSS de Jahia conjointement à ceux fournis par notre web designer (Notamment, les menus d'éditions aux comportements plus que volatiles). C'est un problème particulièrement coûteux en temps. Ceci dit, je pense qu'il est tout de même plus intéressant d'utiliser cette approche car plus proche du métier ciblé, et qui, par conséquent, permettra à vos futurs collaborateurs de s'adapter plus facilement au contexte, sans toutefois être un pro de Jahia.

Si on revient sur l'aspect pérenne, le risque d'un changement de comportement n'est pas négligeable au changement de version, et nécessitera probablement une passe sur l'application. Si vous ne vous écartez pas trop des systèmes mis en place dans les templates, vous limitez les risques... Ceci dit, comme tout produit, les changements de version majeure apportera inévitablement leurs lots de modifications (D'ailleurs même les templates seront susceptibles d'être modifiées)

J'aimerais toutefois avoir des avis de pros de Jahia sur la question, car trouver une façon de faire adhérer Jahia aux processus de développements professionnels ou pseudo professionnels tant sur les méthodologies que sur l'architecture m'intéresse au plus haut point. Cela permettrait à tout intégrateur de passer plus rapidement sur ces considérations et donc laisserait d'avantage de temps pour mettre en place les fonctionnalités diverses et plus poussées de Jahia (A terme donc, très avantageux pour la publicité du produit et avantageux pour les intégrateurs).

Cordialement,

Jean-Michel


No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.410 / Virus Database: 268.16.7/620 - Release Date: 08.01.2007

- -- --- -----=[ scroisier at jahia dot com ]=---- --- -- -
Head of Products - Jahia Ltd, Route des Jeunes 9, 1227 Carouge (Switzerland)
Jahia : The Java Unified Web Platform
www.jahia.org - The Product Web Site
www.jahia.net - The Community Web Site
www.jahia.com - The Commercial Services Company

--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.410 / Virus Database: 268.16.7/620 - Release Date: 08.01.2007


Répondre à