Intégration du thème Yolande
Yolande
Yolande - Le projet qui thème bien !
La branche du projet continent le merge des sous branches
Sous branches :
- Le thème https://labs.nereide.fr/10031/Communautaire/issues/112
- Le composant de gestion catalogue https://labs.nereide.fr/10031/Communautaire/issues/137
- Insérer des écrans raccourcie https://labs.nereide.fr/10031/Communautaire/issues/23
Présentation du projet
Création d'une application OFBiz simplifiée et d'un thème moderne utilisant les nouvelles pratique du theme common-theme. Les buts de ce projet sont multiple :
- Créer un nouveau thème
- Créer une application simplifiée
- Mettre en place des bonnes pratiques de développement au sein de Néréide
- Proposer le nouveau thème, l'application simplifiée et les nouvelles pratique de développement d'interface à la communauté
Installation de l'environnement
Le projet est simplement la branche yolande-simple du projet communautaire
Méthodologie
Il n'y a pas de méthodologie définie pour le moment, pas de ressources affectées à ce projet de manière régulière et permanente.
Feuille de route
Les étapes suivantes sont des propositions qui peuvent être amenées à changer. En effet, si la première étape nous appartient, l'échange avec la communauté risque de remettre en cause les suivantes.
L'agilité étant la fibre, l'adn des projets de Néréide, il est préférable de trouver les bons chemins aussi sinueux soient-ils faut plus viser la destination se situant à l'horizon et suivre
Étape 1 - Produit minimum viable
Cette première étape doit permettre de mettre en place une structure pour la création de nouveaux écrans permettant d'embrasser de nouvelles pratiques. Elle permettra également d'avoir de la matière à présenter à la communauté. Dans ce but, il n'est pas nécessaire d'aller trop loin dans les fonctionnalités car il sera intéressant d'avoir les retours des acteurs majeurs de la communauté.
- Modifier le global-decorator du common-theme afin de le rendre vraiment générique
- Mise en place de la structure d'un écran de type fiche utilisant les "decorator-section" et la maquette réalisée par Marine
- Modifier le code des maquettes pour l'intégrer dans OFBiz (rendre le contenu dynamique)
- Mettre en place le premier exemple de recherche contextualisée
- Afficher l'écran fiche de l'application simplifiée dans un ancien thème et s'assurer que l'affichage et le fonctionnement sont correct
- Vérifier que l'ensemble des items présents à l'écran sont fonctionnel (cloche, profil, changement de thème , de langue, etc.)
- Présenter le travail à la communauté pour la prochaine ApacheCon !
Étape 2 - Ajout de nouveaux gabaris d'écran
Après les échanges avec la communauté, il peut être intéressant de mettre en place de nouveaux gabaris (Recherche, contact, arbre de dépendance, etc.)
Étape 3 - Ajout de dynamisme dans les écrans
Il existe des composants web primordiaux dans l'ERP qui mériteraient d'avoir plus d'outils. La table est un de ces composants. Outre les différents type exports qui pourraient être définis par défaut, il peut être intéressant de penser de nouvelles méthode de les remplirs. L'ajout d'un screen dans une cellule déjà réalisé par Nicolas est un bon départ mais demande à être approfondis pour devenir un bon outils de productivité dans les tables.
Étape 4 - Ajout de la personnalisation du thème
Pour que les utilisateurs puissent s'approprier l'ERP, il peut être intéressant d'ajouter des fonctionnalités qui amélioreraient l'ergonomie des écrans en se basant sur les habitudes de l'utilisateur. L'exemple des 4 premier onglets qui se positionnent en fonction du nombre de fois où ils sont ouverts est un bon exemple.
La gestion des icones d'application, des couleurs du thème, la personnalisation des zones d'entête de fiche (ajout de bouton d'action, de dernier dossier, plus gros client, ect.), etc. peuvent-être autant de pistes à explorer pour que le thème devienne incontournable et riche en fonctionnalités moderne.
La plus grande problématique peut se situer dans la récupération des informations de personnalisation. Plusieurs
pistes peuvent être explorées pour éviter d'avoir à soliciter la base de données principale.
La première pouvant être d'avoir une base de données dédiées pour ces personnalisations. Soit sur le même
serveur que la base de données principale, soit en utilisant des fonctionnalités du navigateur et donc en stockant
sur le poste client les préférences de l'interface.
Un autre point important à ne pas perdre de vue, c'est qu'un thème n'est pas obligé de surcharger le common-theme pour fonctionner. Il doit être possible de réaliser un thème blanc qui reprend le common-theme.
Structure d'écran
La gestion de la structure des écrans se divise en plusieurs sections principales :
- Décorateur global du common-theme
- Décorateur du thème en cours
- Décorateur des gabaris (recherche, fiche, liste, contact, arborescence, étapes, etc.)
- Décorateur global de la web application
- Décorateur de la section
1. Décorateur global du common-theme
Une des premières étapes du projet Yolande est de revoir ce décorateur.
Actuellement le "global-decorator" (GD) du common-theme contient trop d'élément structurant devant probablement être
relaigué à un sous décorateur pouvant être surchargé par le thème.
Il faut bien définir l'utilité du GD devrait être de définir les variables courantes du thème et d'inclure les resources
définies dans le theme.xml.
La proposition est de nettoyer le GD des éléments de structuration et de surcharger les vieux thèmes afin qu'ils
puissent continuer d'être utilisable. Le but étant de moderniser le GD sans poluer les nouveaux thèmes avec des
surcharges inutiles.
Par exemple, il serait intéressant de se dire que le GD n'incluse pas jquery par défaut et que jquery soit un ajout
fait par le thème si besoin. Le but étant d'être suffisamment souple pour s'adapter aux futures technologie et goût
des webdesigners jqueryphobes et/ou bootstrapophobe.
2. Décorateur du thème en cours
le décorateur du thème en cours doit mettre en place les éléments de structuration qui seront globaux au thème,
comme la disposition du menu d'application, du sous menu, des éléments d'intéraction globales (choix du thème, de la
langue, des alertes, messages internes, etc.)
Ajouter les resources spécifiques et nécessaires au thème (ex : bootstrap, jquery, etc.), définir les variables
du thème.
3. Décorateur des gabaris
Un point important est la possibilité de surcharger les gabaris (Recherche, fiche, etc.) qui seront disponibles
à l'ensemble des web applications.
Que ce soit au niveau structurel ou en allant plus loin en ajoutant des informations supplémentaires.
4. Décorateur global de la web application
À ce niveau, il est probable qu'il n'y ai plus que des détails à mettre en forme. Des variables nécessaires pour le fonctionnement des informations (ex : productId pour naviguer dans l'ensemble des écrans de produits)
5. Décorateur de section
Le décorateur de section est une notion très importante. Il permet de définir des portions d'écrans qui pourront
être mises en forme dans les décorateurs supérieurs. Que ce soit au niveau du décorateur de thème ou au niveau du GD.
Liste des gabaris à mettre en place
Les gabaris permettent de mettre en forme des types de pages en fonction des portions d'écrans défini par les décorateurs de section.
- Recherche
- Fiche (en cours)
- Liste
- Contact
- Arborescence
- Étapes