ofbiz-framework issueshttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues2019-09-18T08:45:21Zhttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/134Comment instancier un `delegator` dans un script groovy2019-09-18T08:45:21ZSamuel TrégouëtComment instancier un `delegator` dans un script groovyJ'aimerais pouvoir écrire un script groovy pour faire des requêtes en base sans démarrer OFBiz, quelquechose du genre
```groovy
def d = getDelegator('default')
println(EntityQuery.use(d).from('Party').queryList())
```
Pour pouvoir fai...J'aimerais pouvoir écrire un script groovy pour faire des requêtes en base sans démarrer OFBiz, quelquechose du genre
```groovy
def d = getDelegator('default')
println(EntityQuery.use(d).from('Party').queryList())
```
Pour pouvoir faire ça j'ai dû écrire ces quelques lignes au préalable:
```groovy
StartupCommand command = new StartupCommand.Builder("start").build()
Config config = new Config([command])
Start s = Start.getInstance()
s.setConfig(config)
Container containerObj = new ComponentContainer()
containerObj.init([command], "component-container", config.containerConfig)
containerObj = new ServiceContainer()
containerObj.init([command], "service-container", config.containerConfig)
```
Le problème c'est que la méthode `Start.setConfig` n'existe pas actuellement, faut-il l'écrire et la poussée dans la communauté ? ou une autre possibilité serait mieux ?la reprisehttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/132Utilisation de l'API ‘java.nio.file’2020-05-25T16:09:12ZMathieu LirzinUtilisation de l'API ‘java.nio.file’Depuis Java 1.7, le paquet [`java.nio.file`](https://docs.oracle.com/javase/8/docs/api/java/nio/file/package-summary.html) fournit une interface de programmation (API) plus moderne pour manipuler le système de fichier que l'API du paquet...Depuis Java 1.7, le paquet [`java.nio.file`](https://docs.oracle.com/javase/8/docs/api/java/nio/file/package-summary.html) fournit une interface de programmation (API) plus moderne pour manipuler le système de fichier que l'API du paquet [`java.io`](https://docs.oracle.com/javase/8/docs/api/java/io/package-summary.html). Par exemple l'existence d'une classe `Path` permet de manipuler des noms de fichiers et de dossiers de manière plus sûre et robuste qu'avec de simple chaînes de caractères.
Actuellement OFBiz utilise exclusivement `java.io` mais cela améliorerait la sûreté, la maintenabilité et la lisibilité de migrer vers la nouvelle API `java.io.file`.
Documentation permettant de comprendre comment migrer vers la nouvelle API:
- https://docs.oracle.com/javase/tutorial/essential/io/fileio.html
- https://docs.oracle.com/javase/tutorial/essential/io/legacy.html#mapping
- https://www.jmdoudoux.fr/java/dej/chap-nio2.htm
Jira associé: [OFBIZ-11192](https://issues.apache.org/jira/browse/OFBIZ-11192)la reprisehttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/114Proposer une gestion de notes associées au shipment2024-03-22T09:15:42ZPierre GaudinProposer une gestion de notes associées au shipmentDe manière identique a ce qui est fait sur ordr, quote, workeffort .... ajouter une gestion de note associé à l'objet Shipment via une table ShipmentNote.
Il faudrait faire les modifications suivantes :
modification du modèle de données...De manière identique a ce qui est fait sur ordr, quote, workeffort .... ajouter une gestion de note associé à l'objet Shipment via une table ShipmentNote.
Il faudrait faire les modifications suivantes :
modification du modèle de données
développement des services
développement de l'écran de gestion + requestmap et viewla reprisePierre GaudinPierre Gaudinhttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/112Creation d'un theme vierge standard2020-05-25T16:09:11ZLeila MekikaCreation d'un theme vierge standardla repriseMarine DesmarchelierMarine Desmarchelierhttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/84Amélioration: Ajout de ShipmentAttribute2019-09-13T12:31:07ZNicolas MalinAmélioration: Ajout de ShipmentAttribute```
<service name="createShipmentAttribute" default-entity-name="ShipmentAttribute" engine="entity-auto" invoke="create" auth="true">
<description>Create an ShipmentAttribute</description>
<permission-service service-...```
<service name="createShipmentAttribute" default-entity-name="ShipmentAttribute" engine="entity-auto" invoke="create" auth="true">
<description>Create an ShipmentAttribute</description>
<permission-service service-name="acctgAgreementPermissionCheck" main-action="CREATE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="updateShipmentAttribute" default-entity-name="ShipmentAttribute" engine="entity-auto" invoke="update" auth="true">
<description>Update an ShipmentAttribute</description>
<permission-service service-name="acctgAgreementPermissionCheck" main-action="UPDATE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="deleteShipmentAttribute" default-entity-name="ShipmentAttribute" engine="entity-auto" invoke="delete" auth="true">
<description>Delete an ShipmentAttribute</description>
<permission-service service-name="acctgAgreementPermissionCheck" main-action="UPDATE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
</service>
```la reprisePierre GaudinPierre Gaudinhttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/55Revoir le systeme d'audit des entitées2020-04-01T11:28:04ZNicolas MalinRevoir le systeme d'audit des entitéesActuellement pour audité une entité il y a une configuration directement sur le champs de l'entité :
```xml
<field name="changeByUserLoginId" type="id-vlong" enable-audit-log="true"></field>
```
Il faut revoir la manière de faire c...Actuellement pour audité une entité il y a une configuration directement sur le champs de l'entité :
```xml
<field name="changeByUserLoginId" type="id-vlong" enable-audit-log="true"></field>
```
Il faut revoir la manière de faire car cela impose lorsque l'on souhaite activer ou désactivé une entitée de changer les fichier de model de donnée. Ce qui n'et pas correcte au vu de la diminution de spécific sur les sites clientsla reprisePierre GaudinPierre Gaudinhttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/48Intégration du thème Yolande2019-11-15T16:46:37ZMathieu LirzinInté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...# 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
<p>
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.
</p>
<p>
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
</p>
#### É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
<p>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.
</p>
<p>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.
</p>
<p>
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.
<br>
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.
</p>
<p>
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.
</p>
## 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
<p>
Une des premières étapes du projet Yolande est de revoir ce décorateur.
<br>
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.
<br>
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.
</p>
<p>
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.
<br>
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.
</p>
#### 2. Décorateur du thème en cours
<p>
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.)
<br>
Ajouter les resources spécifiques et nécessaires au thème (ex : bootstrap, jquery, etc.), définir les variables
du thème.
</p>
#### 3. Décorateur des gabaris
<p>
Un point important est la possibilité de surcharger les gabaris (Recherche, fiche, etc.) qui seront disponibles
à l'ensemble des web applications.
<br>
Que ce soit au niveau structurel ou en allant plus loin en ajoutant des informations supplémentaires.
</p>
#### 4. Décorateur global de la web application
<p>
À 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)
</p>
#### 5. Décorateur de section
<p>
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.
<br>
</p>
## Liste des gabaris à mettre en place
<p>
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.
</p>
- Recherche
- Fiche (en cours)
- Liste
- Contact
- Arborescence
- Étapes
la repriseMarine DesmarchelierMarine Desmarchelier