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