18 mai 2021
Welcome to Apache OFBiz! A powerful top level Apache software project. OFBiz is an Enterprise Resource Planning (ERP) System written in Java and houses a large set of libraries, entities, services and features to run all aspects of your business.
This manual will describe all resources
(on a REST point of view) available to manage business object.
Currently ofbiz REST requests return for a resource
:
data about it
AND, most of time, user presentation data
Resource is not entity (even if most of time it’s the same), Resource is a functional view.
Most of the OFBiz GUI is design by assembling some screenlet for one page.
One of the configuration / personalisation task could be to choose its own assemblage.
If you need to understand the process and bussiness object for the core application of this framework like the Party Manager, Order Manager, Accounting system, and others you should read the "Apache OFBiz User Manual".
If you wish to contribute to OFBiz and help make it better, you may wish to read the "Apache OFBiz Developer Manual" for a deeper understanding of the architectural concepts of the framework.
All REST uri follow the model {webapp}/control/{ResourceName}/{cover}/{Pkvalue: .*}
The first letter of ResourceName is uppercase.
Classic cover are:
cover |
method to use |
Goal |
find |
get |
find form to select options for list |
list |
get (via post) |
Resource list, |
create |
get |
create form |
edit/{Pkvalue: .*} |
get |
edit form and data for the id sent |
show/{Pkvalue: .*} |
get |
show form and data for the id sent |
summary/{Pkvalue: .*} |
get |
summary form and data for the id sent |
data/{Pkvalue: .*} |
get |
just data for the id sent |
change |
post |
create a resource |
change/{Pkvalue: .*} |
put (via post) |
update example with the correspondig Id |
change/{Pkvalue: .*} |
delete |
delete example with the correspondig Id |
In this documentation, for each ResourceName, the webapp mentioned is the one for which the REST interface has been created for the first time.
Most businesses share universal needs. They require accounting functionality, managing customers, placing orders, book-keeping, invoicing and so on.
OFBiz is designed so that such basic universal business needs are available through a set of core business applications. These applications all share a unified data-model with a set of unified services to implement this functionality.
Each core business application contain a group of resources, this documentation will help you to find and understand which one do what
All ResourceName are organize by Category, so there is one chapter by category.
This category is for Party component with a focus on all detail for a Party.
This screenlet show a information summary for a Party. With the edit button you can change information and see the details.
Summary and detail are adapted for Person or Party Group
Standard show screenlet menu
Standard show edit menu : if value = N "edit button" not appears
nothing at the screenlet level, only at the update service level (and component rules)
This screenlet displays the Contact Mechism (adress, telephone, mail, ….) of a business object: actor, facility, order, …
Depending on the Contact Mechism (postal address, email, phone, …), the display and entry differs. In all cases, it is possible to clarify the purpose of the Contact Mechism (billing address, and / or delivery, and / or …)
A Contact Mechism may be associated with one or more business object, for example, postal delivery address of a client will also associated with its various orders or quotes. It is therefore very rare to delete a Contact Mech., it is by cons, possible invalidate it, because each Contact Mech. possesses the expiry date (from date .. thru date ..)
By default only valid Contact Mechism are displayed and there is a button to display the history
Setting the field Telephone: This field can be detailed by three additional subfield (pay, region, ext), each may or may not be used.
It is possible to show or not each of the menu options to add
It is possible, for each type of addition to give a purpose which will be used when creating
nothing at the screenlet level, only at the update service level (and component rules)
This portlet displays the Contact Mechism if it receive a partyId, or a facilityId or a orderId or a workEffortId
This screenlet list the roles for the party, all or only thus which are part of a role group, the role group description is displayed in the title of the screenlet, it depends on the setting of the screenlet on this page.
If there is no role group set, when adding a role, you can start by selecting a parent role and after one child.
If there is a group of role set, when adding a role, it will be possible to choose among the roles that group.
Currently, role are group by using parent role, so its not possible for a role to be in multiple "group".
Show edit Standard: if set to N then the buttons "Add" and "suppression does not appear.
Role Group : Indicates the group from which the role will be selectable in the add screen. In this case Party roles list is contain only role which are in the group
PORTAL_ADMIN is needed to edit portlet attributes
This screenlet list all user login associated to a Party. Most of time a party has only one, but when party is a company, sometime it’s useful to give multiple user login, if you don’t want create a party for each company’s employee.
A user login is used to connect to ofbiz application.
Security Group give which screens he can view and which functions he can execute.
This screenlet can be use to manage (create, modify delete) userLogin and securityGroup associated
Only the first 5 user login are show
Standard show screenlet menu
Standard show edit menu : if value = N "add user login button" not appears
security Group Id : if a securityGroupId is put, the 'add user login button' will automatically add this securityGroupId to the userLogin just after creating it
SECURITY_VIEW is needed to view Security Group List
PARTYMGR_CREATE is needed to have the "add user login button", and SECURITY_CREATE when a security group is automatically add (cf security group parameters)
PARTYMGR_UPDATE and SECURITY_ADMIN are needed to be able to edit user login security information (enable or not user login, new password, …) and to manage security group list for a login
When a user use this screenlet for him (with its own user login), he can change its password
This screenlet displays the parties associated with the selected Party. The display and behavior depend on its setting.
To characterize the relationship between two parties, we must specify the "relationship type", the more fluently this screenlet is used for a specific relationship Type, eg
"Contact", ie list all the contacts of a sales reps or a customer;
"Employee", ie list all employees of a company;
"Team Member", ie list all team members or service members;
...
For a relationship between Party, it is also possible to specify the role of the party associated, for example in the case of
Relationship Type "employee", the role will detail the role of the employee in the company.
In most cases this field does not appear because it is not necessary.
A relationship between Party possesses validity date (from date .. thru date ..), it is possible to keep a history. Depending on the setting it is also possible to delete a relationship in which case the history will not be retained.
Screenlet Title: You must include a "UiLabel" (a code according to a language that give wording), it allows you to customize the screenlet Title, this is useful when the screenlet is used several times in the same page. Ask a technical consultant to find the UILabel corresponding to your needs, or to define a new one.
Role From Type: If this field is filled, the list displayed will be filter (only this role) and in editing (add or change) this value will be used, the role field will not be shown to the user. Usually, this parameter is left blank.
Role Group : If the field Role From is empty, indicates the group from which the role will be selectable in the edit screen (add - change). The field "original role" will be displayed in the list
Party Relationship Type Id : indicate the RelationshipType to use to filter relationships to display, or leave it blank to display all and therefore this field.
Party associated Role (Role Type To): If this field is filled, the list displayed will be filter (only this role) and in editing (add or change) this value will be used, field "role to" will not be displayed to the user.
Role To Group: If the field RoleTo is empty, indicates the group from which the user will select a role in the edit screen (add - change). The field "destination role" will be displayed in the list.
Show edit menu Standard: if set to N then the buttons "Add", "edit" and "suppression does not appear.
History management (show history button): if set to N then the buttons "invalidate" and "view history" not appear
delete button (Show Delete button): if set to N then the buttons "delete" does not appear, often only used to force the use of archiving.
nothing at the screenlet level, only at the update service level (and component rules)
This screenlet list only entity PartyRelationship with partyIdFrom == partyId selected. A other screenlet exist for partyIdTo = partyId
When Role From and/or To are not define (field by the user or in parameters), NA is used.
This screenlet displays the parties to which it is associated to the selected Party. The display and behavior depend on its setting.
To characterize the relationship between two parties, we must specify the "relationship type", the more fluently this screenlet is used for a specific relationship Type, eg
"Contact", ie list all sales reps or customer, to which he is a contact;
"Employee", ie list all company where a person is employed;
"Team Member", ie list all team or group to which person is member;
...
For a relationship between Party, it is also possible to specify the role of the party associated, for example in the case of
Relationship Type "employee", the role will detail the role of the employee in the company.
In most cases this field does not appear because it is not necessary.
A relationship between Party possesses validity date (from date .. thru date ..), it is possible to keep a history. Depending on the setting it is also possible to delete a relationship in which case the history will not be retained.
Screenlet Title: You must include a "UiLabel" (a code according to a language that give wording), it allows you to customize the screenlet Title this is useful when the portlet is used several times in the same page. Ask a technical consultant to find the UILabel corresponding to your needs, or to define a new one.
Role From Type: If this field is filled, the list displayed will be filter (only this role) and in editing (add or change) this value will be used, the role field will not be shown to the user. Usually, this parameter is left blank.
Role Group : If the field Role From is empty, indicates the group from which the role will be selectable in the edit screen (add - change). The field "original role" will be displayed in the list
Party Relationship Type Id : indicate the RelationshipType to use to filter relationships to display, or leave it blank to display all and therefore this field.
Party associated Role (Role Type To): If this field is filled, the list displayed will be filter (only this role) and in editing (add or change) this value will be used, field "role to" will not be displayed to the user.
Role To Group: If the field RoleTo is empty, indicates the group from which the user will select a role in the edit screen (add - change). The field "destination role" will be displayed in the list.
Show edit menu Standard: if set to N then the buttons "Add", "edit" and "suppression does not appear.
History management (show history button): if set to N then the buttons "invalidate" and "view history" not appear
delete button (Show Delete button): if set to N then the buttons "delete" does not appear, often only used to force the use of archiving.
nothing at the screenlet level, only at the update service level (and component rules)
This screenlet list only entity PartyRelationship with partyIdTo == partyId selected. A other screenlet exist for partyIdFrom = partyId
When Role From and/or To are not define (field by the user or in parameters), NA is used.
This screenlet is used to select one Party to do a current page update.
uri for lookup: default value is lookupParty, this parameters is useful when Portal Page which used this portlet is only for a "group" of party, filter on Party Type, Role Type, …. Ask to a technical consultant to know the existing lookup or to define a new one.
nothing (component rules only)
This category is for Example component. There is only one category for Example component.
It’s the standard search criteria form to be able to show a example list print.
This screenlet update watcherName listExample.
no
nothing (component rules only)
List all examples according to the search criteria provided in watcherName ListExample
In the list, exampleId is a link to select the example for all portlet watching watcherName showExample
(the link update watcherName showExample)
Click on link collapse the list. It’s possible to un-collapse without doing a new search.
GenericRecapPageParam to give
recapPageId : give id to use as link to go to recap page for one example.
nothing (component rules only)
For one example (exampleId is in the parameterized watcherName in the portal page) Show a summary, a link to the recap page and a menu to choose what detail to show for this example in the ExampleDetail container.
This screenlet is completely empty if there is no exampleId in watcherName.
no
nothing (component rules only)
Container used to show one detail about one example, one detail means a associated entity with example (ex: show exampleFeature associated to the example or show exampleItems associated to the example or …)
This screenlet store which screenlet to show each time it’s call, and will be updated each time the exampleId value in the parameterized watcherName in the portal page is updated.
This screenlet is used to define where show the detail.
no
nothing (component rules only)
Show all example field for one example.
It’s possible to edit the example. When some modification is validated in this screenlet, watcherName exampleStatus is update. So if screenlet ExampleStatus is in the same page and watch this watcherName a new call to the server is done for it.
no
nothing (component rules only)
Lists items for one example and manage them, create new one, edit existing or delete it.
This screenlet is completely empty if it is call with no exampleId.
GenericEditEditOrShowParam is used for parameters form so,
showEditButton : Y or N, show or not the edit button in items list for each item
showScreenletMenu : Y or N, show or not edit menu in the screenlet bar, in this case the Add item button.
nothing (component rules only)
List all status change for the current example.
This screenlet is completely empty if it is call with no exampleId.
no
nothing (component rules only)
Lists ExampleFeatures associated for one example and manage association, create new one, edit existing or delete it.
This screenlet contain a link to Create a new ExampleFeature out of this screenlet.
This screenlet is completely empty if it is call with no exampleId
GenericEditEditOrShowParam is used for parameters form so,
showEditButton : Y or N, show or not the edit button in features list for each feature
showScreenletMenu : Y or N, show or not edit menu in the screenlet bar, in this case the Add a new feature association.
nothing (component rules only)