Cet espace est communautaire et est basé sur les contributions de chacun. N'hésitez pas a créer de nouveaux documents en suivant les bonnes pratiques.
OFBiz add-on/fr
Introduction
- ERP
- solution monolithique pour tous ou solution modulaire répondant aux besoins de l'entreprise qui l'utilise.
- AFDU solution
- Assemblé à partir de Fonctions, Defini par les Utilisateurs
(Assembled from Functions, Designing by Users)
En tant que solution AFDU, Neogia représente deux choses :
- une bibliothéque d'add-on dédié à Apache-OFBIZ
- un ensemble de solution prête à l'emploi basée sur la solution Apache-OFBIZ et un ensemble d'addon appliqué.
L'ensemble des ajouts techniques ou fonctionnels de Neogia est détaillé un à un, chacun en tant qu'addon indépendant (ou avec des dépendances clairement identifiées). Chacun de ces addons est proposé à la communauté Apache-OFBiz.
Qu'est ce qu'un Addon
- une fonction technique ou business, unitaire. Soit, elle peut être utilisée en tant que telle, soit elle est nécessaire pour plus de 2 autres addon,
- son développement et sa maintenance ne doivent pas être plus difficiles qu'un développement réalisé directement dans ofbiz,
- techniquement, un seul fichier (une archive, zip ou jar ou ...) et une page de documentation. Le fichier archive contient l'ensemble des éléments de l'addon :
- un ou plusieurs fichiers de modifications/ajouts à appliquer par fichier ofbiz modifié,
- la documentation de l'addon,
- la liste de ses dépendances ;
- un nom unique,
convention java (java, sans espace, commence par une minuscule, Majuscule au changement de nom), - doit être installable et désinstallable,
- l'installation peut nécessiter qu'ofbiz soit arrêté,
- il doit y avoir un mainteneur nommé,
- la documentation doit signaler les paramétrages obligatoires s'il y en a,
- l'installation devra se réaliser par une seule commande (incluant au besoin une compilation, chargement de données seed, génération de code, ...)
Type de dépendance
il y a deux types de dépendance entre addon : explicite ou implicite :
- explicite : l'addon dépend d'une fonctionnalité fournie par un autre addon pour fonctionner correctement
- implicite : l'addon modifie des fichiers déjà modifiés par d'autres addons, et pour lesquels on ne sait pas gérer finement les points d'insertion de code
addon manager
Le point ? en début de ligne signifie que le choix n'est pas tranché.
C'est le premier des addon, pour les détails voir #addonManager
Actuellement il fait
- création,
- installation,
- désinstallation d'add-on,
- les patchs supportés : patch à la diff, patch de création de fichier et de suppression de fichier
- il contient déjà 70 tests unitaires
- il supporte plusieurs add-on d'installés, mais ce n'est pas encore complètement testé
- gérer les dépendances sous forme de graphe
- gérer les informations de l'add-on notamment
- sa version
- une description courte
- la version d'ofbiz à partir duquel il est valable
- le changeLog : le détail des évolutions de version
- sa licence
- ...
- sa documentation (Besoin utilisateur couvert, procédure d'installation, ...)
Prochaine étape
- supporter des patchs sémantiques pour certain fichier xml (à la place des patchs à la diff quand c'est possible)
Il est constitué
- d'un programme exécutable
- d'une base de données (au sens large) propre à une installation d' ofbiz. Cette base de données contient :
- les addons installés,
- la liste des fichiers modifiés,
- les backups,
- etc..
Il (est ou doit)
- est réalisé sous licence apache 2.0
- est développé en java (multi-plateforme)
- positionne l'ensemble des informations à la racine d'ofbiz
- devra ajouter en commentaire une indication claire de l'addon installé pour chaque fichier ajouté ou modifié
- est utilisé en ligne de commande ou à travers une interface utilisateur web à l'intérieur d'ofbiz
- devrait pouvoir être utilisé via une interface web
- permet d'installer des addons à partir du référentiel Neogia ou à partir des sources de l'addon
Il devra pouvoir
- insérer des lignes dans une structure xml en localisant le point d'insertion de code avec xpath plutôt qu'avec un numéro de ligne. Cette méthode a l'avantage d'être moins sensible aux modifications de lignes introduites par d'autres addons ou par ofbiz. (par ex: fichiers de config, en bout de liste de ofbiz-component.xml ou component-load.xml)
- appliquer des patch mais avec une base de reconnaissance de ligne (cf ligne ci-dessus pour fichier xml) (par ex : n° de ligne à partir d'un point de reconnaissance (commentaires, nom de méthode, ...) plutôt qu'un numéro en absolu depuis de début du fichier.
- gérer des messages d'erreur détaillés avec nom de fichier, ligne non trouvée, et release d'ofbiz où elles existaient
- ? autorise t-on la modification de ligne ou juste l'ajout.
- charger un fichier seed déterminé
- déclencher un service de contrôle, il renvoie success si l'addon est installable
- déclencher un service de mise à jour de donnée avant de rendre la main au utilisateur
Dans le composant OFbiz ADM (Addon manager), il est possible de
- voir les addon installés avec leur date d'installation et leur documentation associée (via lien au besoin),
- voir le détail de l'installation (uniquement les noms des fichiers ajoutés, modifiés, patchés, données ajoutées, services ayant tournés),
- voir les dépendances.
Cas d'usage à traiter
convention pour les addon
- règle de nommage :
- nom de l'addon,
- page de documentation sur le wiki,
- commentaire dans les fichiers modifiés :
- Begin addon modification: nomDeLaddon
commentaire de cet ajout ou de cette modification en anglais sur la ligne suivante, - End addon modification: nomDeLaddon,
- Begin addon modification: nomDeLaddon
- commentaire dans les fichiers insérés :
- en seconde ligne du fichier
addon file added: nomDeLaddon.
- en seconde ligne du fichier
liste des addons disponibles
note : vous pouvez retrouver les données d'aide de chaque addon sur http://addons.neogia.org/cgi-bin/index.sh
Pages exemple d'un addon
- Nom,
- Nom du mainteneur,
- Numéro de version,
- description,
- statut (en-construction, refactorisationOfbiz, Jira)
- selenium associé (description)
- dépendance (avec son type)
- release ofbiz de construction (sur lequel il a été réalisé ou testé)
- procédure d'installation
addonManager
- mainteneur
- Peter Goron
- n° de version
- 0.0
- description
- c'est le premier des addon, il permet installer :
- sa base de données ,
- l'intégration de l'addon-manager dans webtools ,
- l'instrumentalisation du démarrage d'ofbiz pour les interactions avec la base de données ofbiz de l'addon manager.
- statut
- v0.1 en cours de réalisation
entityJavaObjectInheritFromGV
- mainteneur
- Olivier Heintz (Peter Goron)
- n° de version
- 0.0
- description
- il permet de pouvoir définir des objets par entités qui héritent des genericValues. Pour un ERP, cela implique une dépendance de tous les composants les uns avec les autres, d'où la création d'un composant "integration" pour la compilation et l'ajout d'une balise dans les fichiers entitymodel.xml.
Il est utilisé pratiquement par tous les addons Neogia. - statut
- v0.1 intégré dans ofbizNeogia, pas encore en tant qu'addon mais les commentaires commencent à être présents
neogiaComponents
- mainteneur
- Olivier Heintz (Peter Goron)
- n° de version
- 0.0
- description
- Il ajoute le répertoire neogia.
Il est utilisé pratiquement par tous les addons Neogia. - statut
- v0.1 intégré dans ofbizNeogia, pas encore en tant qu'addon mais les commentaires commencent à être présents.
multiLineInFo
- mainteneur
- Erwan de Ferrières
- n° de version
- 0.0
- description
- à définir et comprendre.
- statut
- v0.1 intégré dans ofbizNeogia, pas encore en tant qu'addon mais les commentaires commencent à être présents
alternate-config
- mainteneur
- Peter Goron
- n° de version
- 0.9
- description
- Permet de définir, à partir d'une property ofbiz.neogia.site.conf le répertoire qui sera lu en priorité pour tous les fichiers de configurations. Cela permet, sur un système, avec un multi environnement de disposer d'un répertoire avec les fichiers de configuration par environnement et seul le fichier site.properties est modifié pour indiquer quel répertoire est utilisé.
- statut
- dans ofbizAddon, intégré dans ofbizNeogia, en cours de test, à proposer à OFBiz.
default-tx-timeout
- mainteneur
- Peter Goron
- n° de version
- 0.9
- description
- Permet de définir au niveau du paramétrage de l'entity engine le timeout par défaut au niveau des transactions.
- statut
- dans ofbizAddon, intégré dans ofbizNeogia, en cours de test, à proposer à OFBiz.
bigDecimalinEntityEngine
- mainteneur
- Olivier Heintz (Gil Portenseigne)
- n° de version
- 0.0
- description
- permet de gérer les BigDecimal au niveau de l'entity engine. Ces modifications ont été faites lors de l'introduction du BigDecimal dans le projet OFBiz. Il faut vérifier qu'elles n'ont plus lieu d'être car complètement intégrées dans OFBiz.
- Le nomage de cet addon a juste pour objet de pouvoir noter les modifications Neogia concernant ce sujet en vu d'une analyse par la suite, si c'est possible faire directement l'analyse ;-)
- statut
- 0.1, intégré dans ofbizNeogia, en attente de relecture pour être supprimé
menuManagementInDatabase
- mainteneur
- Olivier Heintz
- n° de version
- 0.0
- description
- Il permet de pouvoir définir les menus utilisateurs à partir d'entité de la base de données et non de fichier xml.
Les entités reprennent la même structure que les fichiers xml de menu. - statut
- v0.1 en tant que prototype dans ofbizNeogia, pas encore en tant qu'addon mais les commentaires commencent à être présents
frenchPostalCode
- mainteneur
- Olivier Heintz
- n° de version
- 0.0
- description
- Il permet de charger les codes postaux français dans la table Geo
- statut
- v0.1 est présent dans ofbizNeogia, pas encore en tant qu'addon mais les commentaires commencent à être présents ; simple à finaliser
extensibilityPatternImplementation
- mainteneur
- Olivier Heintz (Youssef Lemine)
- n° de version
- 0.0
- description
- Il permet de mettre en œuvre l'extensibility pattern utilisé dans ofbiz.
Pour une entité implémentant ce pattern (Type, TypeAttr, Attr), il suffit d'ajouter un screen ftl pour l'activer.
Ensuite, il suffit de définir les attributs complémentaires pour un type donné et pour chaque élément de ce type, il est possible de saisir ces attributs. - statut
- v0.1 est présent dans ofbizNeogia pour PartyRole, il est nécessaire de le mettre en œuvre pour une autre entité, pas encore en tant qu'addon mais les commentaires commencent à être présents.
webUserPreference
- mainteneur
- Olivier Heintz (Leila Mekika)
- n° de version
- 0.0
- description
- Il permet de définir des champs paramétrables par l'utilisateur, ces champs étant utilisés pour personnaliser l'interface utilisateur, par ex : nombre de lignes par défaut dans les list.
Cet addon est utilisé par les addon mettant en œuvre une webUserPreference. - statut
- v0.1 est présent dans ofbizNeogia, pas encore en tant qu'addon mais les commentaires commencent à être présents.
performFindServiceDateLocalized
- mainteneur
- Olivier Heintz (Leila Mekika)
- n° de version
- 1.0
- description
- Il permet d'utiliser le Service performFind standard avec des dates saisies par l'utilisateur avec un format localisé.
- dépendance
- localizedDateEntry Cet addon utilise l'addon qui permet la saisie des dates de manière localisée. enableShortTimestamp : Cet addon utilise l'addon "enableShortTimestamp". cet addon modifie le fichier FindServices.java, qui est modifié par d'autres addon
- statut
- v1.0 addon publié.
enableShortTimestamp
- mainteneur
- Leila Mekika
- n° de version
- 1.0
- description
- Il permet de saisir des dates au format "SHORT" (ex: 9/9/09).
- statut
- v1.0 addon publié.
orderIdHook
- mainteneur
- Leila Mekika
- n° de version
- 1.0
- description
- Ce patch permet de personnaliser la creation de l'orderId
- statut
- v0.1 est présent dans ofbizNeogia, pas encore en tant qu'addon mais les commentaires commencent à être présents.
performFindWithORoperator
- mainteneur
- Olivier Heintz (Leila Mekika)
- n° de version
- 1.0
- description
- Il permet d'utiliser le Service performFind standard mais en pouvant préciser que les différents critères saisis par l'utilisateur sont utilisés avec OR et non pas AND, il suffit d'avoir un champ operator
- dependances
- cet addon modifie le fichier FindServices.java, qui est modifié par d'autres addon
- statut
- v1.0 addon publié.
sortListByHeader
- mainteneur
- Olivier Heintz (Pierre Gaudin)
- n° de version
- 0.0
- description
- Il permet de rendre les en-têtes des listes cliquables pour trier le résultat de la liste, ces modifications ont été faites avant la publication par ofbiz d'une solution, aussi il sera nécessaire de les migrer vers la solution ofbiz. Si nécessaire, cet addon se transformera en amélioration de la solution ofbiz.
- statut
- v0.1 est présent dans ofbizNeogia, pas encore en tant qu'addon mais les commentaires commencent à être présents.
multi-Delegator
- mainteneur
- Youssef Lemine
- n° de version
- 1.0
- ATTENTION
- cet addon n'a subi que des tests unitaires, il reste à faire des tests réels et approfondis pour valider l'addon définitivement.
- description
- Il permet de rendre possible l'utilisation d'une seule instance OFBIZ avec plusieurs bases de données.
- dans cette version :
- Gestion de cache de sécurité par delegator;
- Création d'un dispatcher par delegator et un JobManager par dispatcher
- positionnement du delegator dans la session et le contexte de l'utilisateur.
- Gestion des Visites et de Visitor.
- Gestion des statistiques d'accès(ServerHit) par delegator.
- statut
- v1.0 addon publié.
submit-ajax
- mainteneur
- Youssef Lemine
- n° de version
- 1.0
- description
- cet addon permet de faire des liens et des submit de type ajax afin de positionner le résultat sur la section définie dans la balise target-window.
- bouton submit :
- exemple : l'action (url) testAjax est appelé, le résultat est inséré dans la section search-results de l'écran actuel
<form name="formName" type="single" target="search-results" target-window="search-results">
<field xxxxx ... />
<field xxxxx ... />
...
<field name="searchButton" widget-style="smallSubmit" action="testAjax" >
<submit button-type="ajax"/>
</field>
</form>
- hyperlink ajax
- exemple : l'action (url) testAjax est appelée, le resultat est inséré dans la section search-results de l'écran actuel, voici les paramètres : {'param1':'val1','param2':'${val2}'}
<form name="formName" type="single" target="search-results" target-window="search-results">
<field xxxxx ... />
<field xxxxx ... />
...
<hyperlink description="link" target = "javascript:AjaxCall('testAjax','search-results',{'param1':'val1','param2':'${val2}}')" target-type="plain">
</hyperlink>
</form>
- dépendance
- cet addon modifie le fichier HtmlFormRenderer.java, qui est (ou sera) modifié par d'autre addon
- statut
- addon publié.
calendarJs-in-french
- mainteneur
- Nicolas Malin
- n° de version
- 1.0
- description
- cet addon permet d'avoir le calendrier (celui qui s'affiche à côtê des champs date) en Français. Il remplace celui en anglais.
- statut
- addon publié.
Confirm-action
- Maintainer
- Olivier Heintz - Youssef lemine
- N° de version
- SNAPSHOT
- description
- cet addon permet d'afficher une pop de confirmation pour les actions de suppression d'ajout sur un form.
Status en attente de validation.
Date-Input-Format
- Maintainer
- Olivier Heintz - Youssef lemine
- N° de version
- SNAPSHOT
- description
- cet addon permet la saisie d'une date en plusière format et selon le format défini dans la locale.
- Status
- en attente de validation.
Select-All-In-Multi-Form
- Maintainer
- Olivier Heintz - Youssef lemine
- N° de version
- SNAPSHOT
- description
- Dans un form multi le boutton select-all est présent toujour. cet addon permet de cacher ce boutton.
- Status
- en attente de validation.
Show-Hide-Detail
- Maintainer
- Olivier Heintz - Youssef lemine
- N° de version
- SNAPSHOT
- description
- Cet Addon rend possible dans un form single d'avoir quelque hamps, avec un properite details à "true", ces champs peuvent être afficher ou cacher avec un bouton du même form.
- Status
- en attente de validation.
XLS-import
- Maintainer
- Olivier Heintz - Youssef lemine
- N° de version
- SNAPSHOT
- description
- avec cet addon on peut importer une feuille excell avec les noms des colonnes répresentant des champs dans la table cible. avec le méthode de la classe ImportXlsFileToEntity.java on peut récupérer une liste de GenericValue ou bien une liste de Map pour un traitement en aval.
- Status
- en attente de validation.
Column-size
- Maintainer
- Olivier Heintz - Youssef lemine
- N° de version
- SNAPSHOT
- description
- dans un form de type list En ajoutant une propriété column-size, on peut afficher un hint au cas ou le contenu du champ dépasse le column-size.
- Status
- en attente de validation.
NeogiaTheme
- Maintainer
- Erwan de FERRIERES
- N° de version
- SNAPSHOT
- description
- thème pour neogia ayant pour particularité d'avoir des menus déroulants
- Status
- en attente de validation.
mergeOrderSaleTaxes
- Maintainer
- Leila Mekika
- N° de version
- SNAPSHOT
- description
- Regroupement automatique des orderAdjustment de type "SALES_TAX" et de même taux
- Statut
- v0.1 intégré dans ofbizNeogia, pas encore en tant qu'addon mais les commentaires commencent à être présents
orderHeaderCorrespondingPoId
- Maintainer
- Leila Mekika
- N° de version
- SNAPSHOT
- description
- Ajout du CorrespondingPoId au niveau de l'orderHeader
- Statut
- en attente de validation
orderHeaderNoteFooter
- Maintainer
- Leila Mekika
- N° de version
- SNAPSHOT
- description
- ajout du footer dans l'orderHeaderNote
- Statut
- en attente de validation
addStockEvent
- Maintainer
- Leila Mekika
- N° de version
- SNAPSHOT
- description
- ajout des mouvements réalisés et planifiés de stock
- Statut
- en attente de validation
neogiaCustRequest
- Maintainer
- Leila Mekika
- N° de version
- SNAPSHOT
- description
- remplace le CustRequest d'ofbiz par celui de Neogia
- Statut
- en attente de validation
multiShipGroupAutoCreation
- Maintainer
- Leila Mekika
- N° de version
- SNAPSHOT
- description
- création automatique des différents groupes d'expédition (+ ajout des dates de livraison et d'expedition estimée a l'oisg) dès la creation de commande
- Statut
- en attente de validation
Company
- Maintainer
- Malin Nicolas
- N° de version
- 0.1
- description
- Gestion du type d'acteur : Company, permettant la gestion des sociétés
- Statut
- Disponible
PartyName
- Maintainer
- Malin Nicolas
- N° de version
- 0.1
- description
- Utilisation d'un champs unique nommant l'acteur quelque soit son type
- Statut
- Disponible
PartyNameCompany
- Maintainer
- Malin Nicolas
- N° de version
- 0.1
- description
- Ajout de la gestion du champs unique pour la company
- Statut
- Disponible
- dépend de
- PartyName, Company
RoleTypeGroup
- Maintainer
- Malin Nicolas
- N° de version
- 0.1
- description
- Permet le regroupement de role par domaine métier ou domaine technique
- Statut
- disponible
createPartyAndInformations
- Maintainer
- Malin Nicolas
- N° de version
- 0.1
- description
- Service de création générique de haut niveau d'un acteur et de ces composants associé (role, contactMech, contactMechPurpose, userLogin, partyIdentification et classification)
- Statut
- disponible
standardFormatDecimal
- Maintainer
- Malin Nicolas
- N° de version
- 1.0
- description
- Permet la gestion des nombres décimal traduit par l'ObjectType (entrée de service principalement) sans prendre en compte la locale mais convertie avec . ou ,
- Statut
- disponible
jasperReport
- Maintainer
- Vittecoq Antoine
- N° de version
- 0.0
- description
- Permet l'utilisation de l'outil de reporting JasperReport,
- Statut
- disponible
quoteIdHook
- mainteneur
- Leila Mekika
- n° de version
- 1.0
- description
- Ce patch permet de personnaliser la creation du quoteId
- statut
- disponible.
autoApproveOrder
- mainteneur
- Leila Mekika
- n° de version
- 1.0
- description
- rends l'approbation de la commande automatique en fonction d'une property
- statut
- disponible.
orderHeaderNoTax
- mainteneur
- Leila Mekika
- n° de version
- 1.0
- description
- Permet de gérer l'exonération de taxe au niveau de la commande (actuellement dans ofbiz, cela se gère au niveau de l'acteur)
- statut
- disponible.
quickPurchaseOrder
- mainteneur
- Leila Mekika
- n° de version
- 0.1
- description
- Commande d'achat en mode rapide (selection du produit ou du fournisseur)
- statut
- en cours.
uml-for-ofbiz
- mainteneur
- Antoine Vittecoq
- n° de version
- 0.1
- description
- Ajoute les informationmodels et le logiciel UFO qui permet d'éditer des diagrammes UML
- status disponible


