Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
Communautaire
Communautaire
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 106
    • Issues 106
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 11
    • Merge Requests 11
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Nereide
  • CommunautaireCommunautaire
  • Issues
  • #48

Closed
Open
Opened Dec 18, 2018 by Mathieu Lirzin@mthlOwner

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 #112
  • Le composant de gestion catalogue #137
  • Insérer des écrans raccourcie #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é.

  1. Modifier le global-decorator du common-theme afin de le rendre vraiment générique
  2. Mise en place de la structure d'un écran de type fiche utilisant les "decorator-section" et la maquette réalisée par Marine
  3. Modifier le code des maquettes pour l'intégrer dans OFBiz (rendre le contenu dynamique)
  4. Mettre en place le premier exemple de recherche contextualisée
  5. 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
  6. Vérifier que l'ensemble des items présents à l'écran sont fonctionnel (cloche, profil, changement de thème , de langue, etc.)
  7. 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 :

  1. Décorateur global du common-theme
  2. Décorateur du thème en cours
  3. Décorateur des gabaris (recherche, fiche, liste, contact, arborescence, étapes, etc.)
  4. Décorateur global de la web application
  5. 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
Edited Oct 04, 2019 by Nicolas Malin
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
la reprise
Milestone
la reprise (Past due)
Assign milestone
Time tracking
None
Due date
None
Reference: 10031/Communautaire#48