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
Introduction
- ERP
- monolithic solution for all 'or' modular solution answering the needs of the company that uses it.
Neogia turns into a solution ready to use based on Apache-OFBiz and a set of applied addons.
All the technical or functional additions to Neogia detailed one by one, each as independent addon (or with dependencies clearly identified). Each of these addons is proposed to the community-Apache OFBiz.
What is an Addon
- A technical function or business unit. Or, it can be used as such or it is necessary for more than 2 other addon,
- Development and maintenance should not be more difficult than development achieved directly in OFBiz,
- Technically, a single file (archive, zip or jar or ...) and a documentation page. The archive file contains all elements of the addon:
- One or more files of changes / additions to be applied by OFBiz file amended
- Documentation for the addon,
- The list of its dependencies;
- A unique name, convention java (java, no spaces, starting with a tiny, Shift change of name)
- Must be installed and uninstalled,
- Installation may require qu'ofbiz be arrested,
- There must be a maintainer appointed
- The documentation must indicate the required parameters if any,
- Installation must be performed by a single command (including, as needed, a compilation, loading seed data, code generation, ...)
Type of dependence
there are two types of dependence between addon: explicit or implicit:
- Explicit: the addon is a feature provided by another addon to work properly
- Implicit: the addon modifies files already modified by other addons, and for which we can not handle the fine points of entry code
Addon manager
The ? at the beginning of a line says that the choice is not yet defined.
It is the first addon for details see # addonManager
Currently we have
- Creation
- Installation
- Uninstalling add-on,
- Supported patches: patch to diff, patch file creation and file deletion
- It already contains 70 unit tests
- Supports multiple add-on installed, but it is not yet fully tested
Next steps
- Support semantic patches (instead of patches to the diff when possible)
- Manage dependencies (first in a linear fashion and then in the form of graph)
- Manage the information of the particular add-on license, description, ...
It is made
- An executable program
- A database (in the broadest sense) to a clean installation of OFBiz. This database contains:
- These addons installed,
- The list of files modified
- The backups,
- Etc. ..
Addon manager is (or should be)
- Is provided under license apache 2.0
- Is developed in Java (multi-platform)
- Set all the information in the root of OFBiz
- Must be added for comment, a clear indication of the addon installed for every file added or modified
- Is used in command line
- Should be used via a web interface
- Must be taken in the name of the addon file (with its path (url))
It will
- Handle dependencies
- Must uninstall uninstall addon dependent on him, not those that were installed for reasons of dependency
- Add files
- Insert lines into a xml structure by locating the insertion point code with xpath instead of a line number. This method has the advantage of being less sensitive to changes of lines made by other addons or OFBiz. (eg config files, in the end list OFBiz-component.xml or component-load.xml)
- Patch but with a recognition of the line (see line above xml file) (eg: No line from a point of recognition (comments, method name, ...) rather an absolute number for the beginning of the file.
- Manage detailed error messages with file name, not found online, and release of OFBiz where they existed
- ? there authorizes the change of line or just the addition.
- Load a file specified seed
- Triggering a monitoring service, it returns success if the addon is installable
- Trigger an update data before returning to the main user
To update an addon, it will
- Replace a file by another
- Apply a patch found in the comment line of beginning, in this case a "superseding" of the previous patch.
Creating an addon
- Must be able to generate the addon, from OFBiz an environment where it is installed and / or installation file.
In webtools, there must be
- See the addon installed with their date of installation and associated documentation (via the link if necessary),
- See detailed instructions (only the names of files added, modified, patched, added data services with shot)
- See the dependencies.
Use Cases
For the developer addons
The use case for the developer are to be treated first.
Ideally, it would be desirable to work directly in the tree of OFBiz and ask the addon-manager to generate the addon.
- Create the addon
- Update the code of the addon
- Update the code of the addon following changes OFBiz
For the user addons
- Installing on OFBiz addons standard
- Installing on OFBiz addons that already contain changes from subversion
- Updated addons
- Upgrading from OFBiz
Convention for the addon
- Naming rule:
- Name of the addon,
- Documentation page on the wiki,
- Comment in the modified files:
- Begin addon update: nomDeLaddon
commentary to this addition or modification of this in English on the next line, - End addon update: nomDeLaddon,
- Begin addon update: nomDeLaddon
- Comment inserted in the files:
- On second line of the file
addon file added: nomDeLaddon.
- On second line of the file
List of addons available
Pages example of an addon
- Name,
- Name of maintainer
- Version number,
- Description,
- Status (in-construction, refactorisationOfbiz, Jira)
- Associated selenium (description)
- Dependence (with type)
- OFBiz release construction (on which it was made or tested)
- Installation procedure
AddonManager
- maintainer
- Peter Goron
, No. Version: 0.0 Description: This is the first of the addon, it allows to install:
- * Database,
- The integration of the addon-manager in webtools,
- * Instrumentalisation start OFBiz for interactions with the database of OFBiz addon manager.
- Status
- v0.1 in progress
EntityJavaObjectInheritFromGV
- maintainer
- Olivier Heintz (Peter Goron)
, No. Version: 0.0
Description: it allows to define objects by entities that inherit genericValues. For an ERP, this implies a dependence of all components with each other, hence the creation of a component "integration" for the compilation and adding a tag in the files entitymodel.xml.
It is used by virtually all addons Neogia.
- Status
- ofbizNeogia included in v0.1, yet as qu'addon but the comments are starting to be present
NeogiaComponents
- maintainer
- Olivier Heintz (Peter Goron)
, No. Version: 0.0
Description: It adds the directory Neogia.
Is used by virtually all addons Neogia.
- Status
- ofbizNeogia included in v0.1, yet as qu'addon but the comments are starting to be present.
MultiLineInFo
- maintainer
- Erwan Ferrières
, No. Version: 0.0 Description: to define and understand.
- Status
- ofbizNeogia included in v0.1, yet as qu'addon but the comments are starting to be present
Alternate-config
- maintainer
- Peter Goron
, No. Version: 0.9 Description: Allows you to define, from a property ofbiz.neogia.site.conf the directory to be read as a priority for all the configuration files. This allows, on a system with a multi environment to have a directory with the configuration files for each environment and site.properties single file is modified to indicate which directory is used.
- Status
- in ofbizAddon integrated into ofbizNeogia, being tested, to offer OFBiz.
Default-tx-timeout
- maintainer
- Peter Goron
, No. Version: 0.9 description: Sets in the configuration of the entity engine timeout default in transactions.
- Status
- in ofbizAddon integrated into ofbizNeogia, being tested, to offer OFBiz.
BigDecimalinEntityEngine
- maintainer
- Olivier Heintz (Gil Portenseigne)
, No. Version: 0.0 description: you can manage BigDecimal in the entity engine. These changes were made during the introduction of BigDecimal in the OFBiz project. We must ensure that they are no longer needed as an integral part of OFBiz. The nomage this addon just aim to note the changes Neogia about this topic in light of an analysis in the future, if it is possible to directly analyze ;-) STATUS: 0.1, integrated into ofbizNeogia, awaiting to be deleted relecture
MenuManagementInDatabase
- maintainer
- Olivier Heintz
, No. Version: 0.0
Description: It allows you to define user menus entity from the database rather than xml file.
Entities reflect the same structure as the xml file menu.
- Status
- v0.1 as a prototype in ofbizNeogia, not yet as qu'addon but the comments are starting to be present
FrenchPostalCode
- maintainer
- Olivier Heintz
, No. Version: 0.0 Description: We can load the french postal codes in the table Geo
- Status
- v0.1 is now in ofbizNeogia, not yet as qu'addon but the comments are starting to be present; simple to complete
ExtensibilityPatternImplementation
- maintainer
- Olivier Heintz (Youssef Lemine)
, No. Version: 0.0
Description: We can implement the extensibility pattern used in OFBiz.
For an entity that implements this pattern (Type, TypeAttr, Attr), just add a screen to activate ftl.
Then just define additional attributes for a given type and for each item of this type, it is possible to capture these attributes.
- Status
- v0.1 is now in ofbizNeogia for PartyRole, it is necessary to implement it for another entity, not as qu'addon but the comments are starting to be present.
WebUserPreference
- maintainer
- Olivier Heintz (Leila Mekika)
, No. Version: 0.0
Description: We can define fields configurable by the user, these fields are used to customize the user interface, eg number of lines in the default list.
This addon is the addon used by implementing a webUserPreference.
- Status
- v0.1 is now in ofbizNeogia, not yet as qu'addon but the comments are starting to be present.
PerformFindServiceDateLocalized
- maintainer
- Olivier Heintz (Leila Mekika)
, No. Version: 0.0 Description: You can use the Service performFind standard dates entered by the user with a localized format.
- Dependency localizedDateEntry This addon uses the addon that allows the seizure of the dates so localized. simpleTypeConvertShortTimestamp This addon uses the addon that allows entry dates to "SHORT" (eg 5/5/09).
- Status
- v0.1 is now in ofbizNeogia, not yet as qu'addon but the comments are present.
PerformFindWithORoperator
- maintainer
- Olivier Heintz (Leila Mekika)
, No. Version: 0.0 Description: You can use the Service performFind standard but may indicate that different criteria entered by the user are used with OR, not AND, you only need a field operator
- Status
- v0.1 is now in ofbizNeogia, not yet as qu'addon but the comments are present.
SortListByHeader
- maintainer
- Olivier Heintz (Pierre Gaudin)
, No. Version: 0.0 Description: We can make the headers clickable lists to sort the results in the list, these changes have been made before the publication by OFBiz a solution, so it will be necessary to migrate the solution to OFBiz. If necessary, this addon will be transformed into improvement of the solution OFBiz.
- Status
- v0.1 is now in ofbizNeogia, not yet as qu'addon but the comments are starting to be present.
Multi-Delegator
- maintainer
- Youssef Lemine
, No. Version: 1.0
- WARNING
- This addon has undergone unit testing, it remains to be real and thorough testing to validate the final addon.
Description: We can make it possible to use a single instance OFBiz with several databases. In this version:
- Managing Cache Security delegator;
- Creating a dispatcher by delegator and dispatcher JobManager by
- Positioning the delegator in the session and context of the user.
- Management and Visitor Hits.
- Management of access statistics (ServerHit) by delegator.
- Status
- v1.0 addon published.
Submit-ajax
- maintainer
- Youssef Lemine
, No. Version: 1.0 Description: This addon allows you to submit links and ajax type to position the result on the tag defined in the target window.
- Submit button:
Example: action (url) testAjax is called, the result is inserted in the search-results of the current screen
<form name="formName" type="single" target="search-results" target-window="search-results">
<xxxxx field ... />
<xxxxx field ... />
...
<field name="searchButton" widget-style="smallSubmit" action="testAjax">
<submit button-type="ajax"/>
</ field>
</ form>
- Hyperlink ajax
Example: action (url) testAjax is called, the result is inserted in the search-results of the current screen, the following parameters: ( 'param1': 'val1', 'param2':'${ val2 ) ')
<form name="formName" type="single" target="search-results" target-window="search-results">
<xxxxx field ... />
<xxxxx field ... />
...
<hyperlink description = "link" target = "javascript: AjaxCall ( 'testAjax', 'search-results', (' param1 ':' val1 ',' param2':'${ val2 }}')" target-type = "plain">
</ hyperlink>
</ form>
- Addiction addon that modifies the file HtmlFormRenderer.java, which is (or will) be modified by other addon
- Status
- addon published.


