Monday August 14, 2017

Apache OFBiz News - July 2017

Apache OFBiz News July 2017

Welcome to our regular monthly round-up of OFBiz news. This month we have news about the end of life for two unreleased branches, the work going on to re-organise OFBiz application data, we start a discussion on ways to improve the OFBiz user interface, one of our contributors creates an OFBiz sanity check and new contributors joined the OFBiz community.

End of Support for Unreleased Branches 14.12 and 15.12

When the project changed the build system from Ant to Gradle, two unreleased branches 14.12 and 15.12 had already been created. These unreleased branches still use Ant as the build system and contain the complete codebase including the specialpurpose components. The community agreed to keep these branches available for developers and service providers so that they could continue to support their client base.

The support period for backporting bug fixes to these unreleased branches was extended to be longer than normal to give users more time to transition to 16.11. The deadline for supporting 14.12 and 15.12 was the end of July 2017.

This means that bug fixes will not automatically be backported to these unreleased branches and will be handled on a case by case basis. You will still be able to get help, advice and support on the mailing lists regarding these branches but we will now be encouraging users to look at upgrading to the 16.11 release.

Re-Organising OFBiz Application Data

This month there was a detailed discussion about simplifying the OFBiz data files and making it easier to understand the dependencies. A lot of setup is done via the demo data files and when an issue occurs in data loading, it can sometimes be difficult to debug and track down.

By re-organising and standardising the structure of the folders and files, we can also review and clean up any dependencies. A Jira has been created and we are actively looking for volunteers from the community to help with this effort. If you would like to help out with this task then please add your patch or comments to the Jira issue.

Improving the OFBiz User Interface

A big discussion topic this month was related to improving the OFBiz user interface. This subject has also been raised in the past but now there is a new effort focussed on getting something done that could really improve the user's perception of OFBiz.

Nicolas Malin is currently doing some work on this and we look forward to seeing the result.

OFBiz Sanity Test

Is OFBiz a little crazy? Probably not, but during this month one of our OFBiz contributors Sanjay Yadav created an OFBiz Sanity Check document to help users run through a list of basic OFBiz tests. Details of Sanity Test document can be found on the wiki. Thanks very much to Sanjay for putting this together and sharing it with the community.

New OFBiz Contributors

During the month of July-2017, OFBiz community welcomed 22 new open source contributors who filed ICLA to ASF. OFBiz contributors list can be found here.

New features and improvements

Functional enhancements and improvements as well as updates of third party libraries and source code refactoring:


  • Fix defects in the payment package reported by the code analysis tool FindBugs (OFBIZ-9451) The patch contains miscellaneous improvements to the code base such as setting variables to final to avoid malicious changes from outside code, using stringBuilders for efficiency, removing unnecessary null queries, and exchanging inefficient Boolean constructers with available functions.
  • Replace hard-coded instances of "IN" with ModelService.IN_PARAM (OFBIZ-9434)
    • Add new constraints for "INOUT" modelservice param.
    • Update remaining occurrences for hard-coded "IN", "OUT" and "INOUT" (OFBIZ-9434)
  • Improve further inconsistent String Comparisons (OFBIZ-9254)
  • Move certain uiLabels from ProductUiLabels.xml to CommonEntityLabels.xml (OFBIZ-9408) Adapt ProductUiLabels to the pattern of other labels of the "Uom" entity: <entityName>.<fieldName>.<PrimaryKey>.
  • Use serviceUtil() in place of hard-coded error/success messages (OFBIZ-9466)
  • Set autocomplete to "off" for all the password fields to improve security (OFBIZ-9471)
  • Convert AgreementServices.xml from mini-lang to groovyDSL (OFBIZ-9460)
  • Correct the Service implementation of deletePayHistory (OFBIZ-9111) Use entity auto for deletePayHistory service, also add new service to expirePayHistory and call expirePayHistory from UI.
  • Remove cancelAgreement service and add expireAgreement entity-auto service (OFBIZ-9480)
  • Improve EntityQuery.queryOne() function to resolve a record by auto matching the primary key on a given context (OFBIZ-9447) This improvement simulates the minilang element <entity-one entity-name=Product value-name=product/> to help the minilang migration to groovy.
    • With new groovyDSL for queryOne, simplify groovy rate amount services
  • Use FlexibleLocation.resolveLocation() instead of hard-coded path (OFBIZ-9479)
  • Improve groovyDSL: call makeValidContext when running a service (OFBIZ-9523) When calling a groovy service, all paramters must be checked for the service call. The Improvement simplifies this dsl with an automatic parameters check so that the context can be directly specified.
  • Improvements in entity definitions and services (OFBIZ-8273)
  • Move all data in applications to the datamodel component (OFBIZ-9501) This is the first of many more commits to move all data from applications to the data model component to centralize both entity definitions and the data supporting it. This commit partially moves data from PartyTypeData.xml file to the newly created central file PartySeedData.
  • Integrating google phone number library for validating telecom numbers (OFBIZ-9358)


  • Improve inconsistent String Comparisons (OFBIZ-9254)
    • in ftl-file of the ecommerce plugin
    • in ftl-file of the ebay plugin
  • Set autocomplete to "off" for all the password field to improve security (OFBIZ-9471)


Functional and technical bugfixes:


  • ContentWorker#findAlternateLocaleContent does not use fallback locale. (OFBIZ-9445) If no alternate locale content for the requested locale is found, search for an alternate locale content with the locale configured in general.properties at locale.properties.fallback. If this one isn't found either we can still return the original content.
  • Missing secure port in URLs when sending mails (OFBIZ-9449) This issue came up after OFBIZ-9206 where the value of port.https in url.properties was removed.
  • Required check missing for supplier product id and last price on AddProductSupplier page (OFBIZ-9455)
  • Wrong price overriding when adding items to cart (OFBIZ-7263) Changing the item quantity in cart set the flag isModifiedPrice true which conflicted with the updatePrice condition and hence price recalculation was not being triggered.
  • Adding a gift certificate in purchaseOrder throws exception (OFBIZ-9438)
  • Accounting quantity transfer is zero while transferring inventory from one facility to another (OFBIZ-9464)
  • Incorrect MimeTypeId value shown if the form is submitted (OFBIZ-9344)
  • UI issue in ATP/QOH table on Create Purchase Order screen (OFBIZ-9468)
  • "ACCTG trans entries pdf" link on invoiceOverview does not work (OFBIZ-6774) This is a link to a birt component which was not included in the 13.07 release.
  • Insufficient checking of checkOutPaymentId in CheckOutEvents.getSelectedPaymentMethods (OFBIZ-9404)
  • WorkEffort shows error on adding party with specific role to Timesheet (OFBIZ-9317)
  • The copyAgreement service fails (OFBIZ-9143)
  • Order page shows widget exceptions (OFBIZ-9481)
  • Uploading images at catalog/control/addImageForProduct does not work (OFBIZ-9259) Delegator was fetched from the context instead of the DispatchContext and thus was throwing NPE while running the EntityUtilProperties.getPropertyValue().
  • Adding condition in price rule on "Role Type" showing incorrect result (OFBIZ-7275) The issue exists because in roleTypeList there are multiple occurrences of substring "CUSTOMER". The existing check was just checking the occurrence of a substring in the string and found this value more than once in the list so the last option gets selected. Applied equality check to find the exact match.
  • MRP generates duplicate requirements when items are initially under minimum quantity and have with pending approved purchase orders. (OFBIZ-9526) With this change the requirements to replenish the inventory up to the minimum stock quantity is generated, if needed, only when the first demand event is processed or at the end.
  • Order contact mechs are not copied over while re-ordering an order (OFBIZ-9253)


  • Wrong repository links on FormWidgetExamples page (OFBIZ-9494) Update the URL path and instead of changing it at all the places, introduced a variable.
  • Uploading content to a product email in SCRUM component is not working (OFBIZ-9524) Fix typo in form name in the javascript function on the button.
  • Error on "Edit backlog" for a product in SCRUM component (OFBIZ-9531) Add missing import for GenericEntityException and define customer and items list at right place to make it available.

Tuesday July 11, 2017

Apache OFBiz News - June 2017

Apache OFBiz News June 2017

Welcome to our regular monthly round-up of OFBiz news. This month we have news about yet another OFBiz release, our new website is close to being finished, we discover what 11 years of OFBiz development looks like, we look for volunteers to help us improve our code using Code Analysis tools and OFBiz gets mentioned in the ASF annual report.

Apache OFBiz 16.11.03 Released

During this month the community announced the release of 16.11.03. The new release consolidates all work done since the previous release in November last year. The release file can be downloaded following the instructions in the OFBiz Downloads page. Please refer to the Release Notes for more details of the changes introduced with this new version. Thanks very much to Scott Provost for highlighting a bug in our recent 16.11.02 release and to the OFBiz community for working together to fix the reported problem and getting the new release out so quickly to users.

Initial Draft of New OFBiz Website

Our community has been looking at and talking about changing our project website for quite a while. After some discussions on our mailing lists the structure was agreed and an initial template draft has been loaded into our code repository. We would like to finalise the site and hopefully change over to using the new site over the next month. If you would like take a look at a preview of the work done so far then please use the link below:

Draft OFBiz Website page.

We hope that the new website will be easier to navigate and will also align with our new OFBiz project logo.

Removing OFBiz Snapshots

For a long while, folllowing the way other ASF projects do, the OFBiz project has been providing nightly snapshots of the latest codebase. This was setup so that developers of our community could download and use the latest updates for the branch releases. Providing these snapshots takes time and effort and does not add much, if any, in the case of OFBiz. And we have found that this is almost not utilised so has now been discontinued. It's not much different from using the SVN repository to download (check out) and it's the same after to run things with Ant or Gradle. If you are annoyed by the .svn folder created by the check out, simply drop it or use svn export. But that should not even be an issue, most of the time it's even convenient because you can then easily update, compare, etc., when you want...

OFBiz Development History on Gource

During this month Gource was mentioned as a way to visualise the development of the OFBiz project. Gource is a tool that displays software projects as an animated tree. Various directories are shown as branches and individual files are displayed as leaves. Also details of the developers who have worked on or updated the branches and leaves can be seen over time through an animation sequence. Thanks to Jacques Le Roux for highlighting the tool and also to Michael Brohl for generating a history of 11 years of OFBiz development from 2006 until 2017. The Gource animation Michael generated is available on Youtube via the following link

OFBiz through the years

We hope our community enjoys watching the evolution of the project.

Using Code Analysis Tools to Improve OFBiz

If you are interested in helping improve OFBiz but a little unsure how to get started then defects reported by code analysis tools could help.

A while ago we had a discussion on the development mailing list mentioning that we could help improve and clean up our codebase by running Code Analysis tools on our codebase and using the reports as a guide to provide patches. Doing this can be a good way to get started with the project that also delivers great benefits.

Details of the discussions and instructions for how to get started can be found at the following thread Call to action: fixing defects reported by code analysis tools.

Everyone is welcome to help out so please feel free to ask for any advice or additional information on our development mailing list

OFBiz and the ASF Annual Report

In June the Apache Software Foundation published its regular Annual Report.. If you take a look at the report, you will see that on page 25 our OFBiz development list has been listed as one of the most active Apache project mailing lists and on page 26 Deepak Dixit is listed as one of the top 5 issue closers!

It is great to see OFBiz so active and also congratulations to Deepak.

New features and improvements

Functional enhancements and improvements as well as updates of third party libraries and source code refactoring:


  • Improve closing of Objects for the case of an exception In case of an exception after the EntityListIterator or Writer creation and before it's closed, the EntityListIterator or Writer remains in memory. Improve by using try-with-ressources where possible.
  • Update geo data for India (OFBIZ-9406) India currently has 29 states and 7 Union Territories.
    • Update geoTypeId for 7 union territories from STATE to TERRITORY
    • Correct several geoName territory names
    • Add data for new state Telangana
  • Rename Gradle task "loadDefault" to "loadAll" (OFBIZ-9411) As of OFBiz 16.12 the Gradle task has the new name and the documentation, such as README.md, has been adjusted accordingly. Discussion on this topic: https://s.apache.org/xjFj
  • Add numericCode for Currency UOM (OFBIZ-9409) The three-digit numeric code is useful when currency codes need to be understood in countries that do not use Latin scripts and for computerised systems.
    • Set 3 digit numeric code the same as the numeric country code where possible.
    • Update some old currency UOM, as uomId has been updated. (https://www.iso.org/iso-4217-currency-codes.html)
    • Removed unused entity uiLabels for removed currency UOM (OFBIZ-9413)
  • Convert RateServices.xml from miniLang to groovyDSL (OFBIZ-9381)
  • Refactor and Improve Code for the following:
    • CatalinaContainer (OFBIZ-9392)
    • createPlugin task in Gradle script (OFBIZ-9436)
    • UtilMisc.toMap(), toList() and toSet() (OFBIZ-9393)
    • Several file names that did not adhere to OFBiz naming conventions (OFBIZ-9338)
  • Upgrade Groovy to 2.4.12 (OFBIZ-9430)
  • Upgrade Tomcat to 8.5.16 (OFBIZ-9437)


  • Improve closing performFindResults.listIt for the case of an exception in 3 Scrum Groovy files (OFBIZ-9389) In case of an exception after the call to the performFind service and before it's closed, the EntityListIterator remains in memory. The solution is to use a try-catch-finally because Groovy does not have try-with-ressources blocks.


Functional and technical bugfixes:


  • Report issues with the Wiki restructuring to this ticket: (OFBIZ-9416)
  • CostServices.xml#getProductCost fails currency conversion (OFBIZ-9387)
  • Simple method in shipment services not terminating on error condition (OFBIZ-9407) Add a <check-errors/> to the method.
  • RequestHandlerException on request link of Quote Profit page (OFBIZ-9386) Change the link to QuoteProfit from inter-app to simple. The Quote Price page has the same problem and solution (OFBIZ-9384).
  • Error when creating new blog article entry (OFBIZ-9373) Change mode of auto-attributes for service createElectronicText from INOUT to IN.
  • Unit test fails when "verbose" logging is turned on (OFBIZ-9305) Fix by temporarily disabling the verbose logging during the EntitySaxReaderTests.parse unit test.
  • CreateShipment code logic error (OFBIZ-9425) The service createShipment creates both sales and purchase shipment with workeffort. Details on the fix can be found in the ticket.
  • Cannot create a new GL Account (OFBIZ-9429) Change the service definition of createGLAccount so that it uses the pk attributes as OUT instead of INOUT. In this way, the glAccountId will be generated by OFBiz instead of being provided to the service.


  • Screen broken on click ThirdPartyLogin, OAuth2GitHub, GitHubUser, OAuth2LinkedIn and LinkedInUser entities (OFBIZ-9390)
  • Birt plugin depends on example plugin (OFBIZ-9383) The BIRT demo data for flexible reports depends on the Example entity from the Example plugin. Put a gradle dependency on the Example plugin. If the Example plugin misses, the birt component can't build.
  • Error running the simple-method and groovy script in file QuickAnonCustomerEvents.xml (OFBIZ-9432) The script is unable to resolve the class CartItemModifyException. Add complete path to CartItemModifyException for Groovy and remove trailing semicolons. This error also concerns CustomerEvents.xml.
  • Lucene tests fail due to problems in the test data (OFBIZ-9439) The Lucene test data refers to the ownerContentId "CNTGIZMOS" which is not defined in the Lucene demo data. It was instead defined in the ecommerce demo data in the file DemoWebsitePublishPointData.xml. The data is rewritten so that it reflects the test code and adds missing content associations.

Monday July 03, 2017

[ANNOUNCE] Apache OFBiz 16.11.03 released

The Apache OFBiz community is pleased to announce the new release "Apache OFBiz 16.11.03".

Apache OFBiz® is an open source product for the automation of enterprise processes that includes framework components and business applications.


"Apache OFBiz 16.11.03" is the latest and greatest release of OFBiz; for more details of the changes introduced with this new version please refer to http://ofbiz.apache.org/release-notes-16.11.03.html.

The release file can be downloaded following the instructions in the OFBizdownload page:


The OFBiz community.

Friday June 09, 2017

Apache OFBiz News - May 2017

Apache OFBiz News May 2017

Welcome to our regular monthly round-up of OFBiz news. This month we have news about our new OFBiz release, we begin work on tidying up and re-structuring our wiki, work starts on improving end user documentation for our users and creating reports in OFBiz gets easier.

Apache OFBiz 16.11.02 Released

During this month the community announced the release of 16.11.02. This release consolidates all work done since the previous release in November last year. The complete OFBiz 16.11 series of releases is dedicated to the memory of Adrian Crum, OFBiz Committer and former PMC member who died last year.

The release file can be downloaded following the instructions in the OFBiz Downloads page.

Please refer to the Release Notes for more details of the changes introduced with this new version.

A big thank you to everyone from the community who was involved in helping to get the release done.

Re-structuring the OFBiz Wiki

A key discussion this month was about a proposal to re-organize and restructure our existing wiki. The main aim will be to get it clean and more user friendly so that people can easily navigate and locate the information they need. Over the years our wiki has evolved and has become a little cluttered, meaning that information is spread across several pages or even workspaces. This can make it difficult for the community to find what they need. Documentation is extremely important for new users so this effort is more than welcome.

Our wiki contains lots of useful information but also some older or outdated resources, so we need to work on tidying it up. An initial basic structure has been agreed upon as follows:
  • Apache OFBiz - How and where to start?
  • Documentation
  • Community
  • Developers
  • Apache Software Foundation
  • Wiki Attic
Please note that this structure has already been implemented as the main wiki navigation menu. The next focus will be on reviewing the wiki pages and re-organizing them into these main categories.

Many thanks to Michael Brohl for proposing and kickstarting this effort. We are looking for people to contribute to this work so if you are interested in helping with the wiki clean up effort then please join the discussion on the development mailing list.

End User Documentation

Another community initiative that was launched last month was about end user documentation. We currently do not have a consolidated end user guide that gives practical information about the setup and use of the standard OFBiz applications. Feedback from the community has shown that this is an important area that we need to address.

Please note that the focus of this effort will be to provide information for users and non-technical people.

The following points are part of the proposal:
  • OFBiz Glossary : Putting together a full glossary of OFBiz words, definitions and concepts so that the people have a common understanding of what things mean
  • End User Guide : This guide will give users an overview of the applications and processes of OFBiz and will include a basic list of tasks for each process
  • Menu Structured Documentation : Documentation that follows the existing menu structure and provides details about a specific screen. Hopefully this will eventually replace or update the current in-application screen help that is available already within OFBiz
  • How-Tos : This will be a quick reference How-To by topic
  • Examples and Tutorials : These will provide practical examples of using the applications in a real life scenario
We will be temporarily using our existing End User Documentation confluence workspace to work on and prepare these. As the documentation sections are completed, they will be moved back onto our re-structured wiki.

Thanks very much to Craig Parker and Sharan Foga, who are leading and co-ordinating this effort. If you are interested in helping contribute or would like to be involved then please join the End User Documentation discussion on our development mailing list.

OFBiz Flexible Reports

Also announced this month was the creation of OFBiz Flexible Reports. This is a new feature that was recently added. Documentation about Flexible Reports is included in the OFBiz Birt component as part of the markdown files.

This is a major improvement for creating reports in OFBiz. Essentially it is now a lot simpler for users to use the Birt component within OFBiz to easily create, modify and update reports.

More details about the changes can be found here.

New features and improvements

Functional enhancements and improvements as well as updates of third party libraries and source code refactoring:


  • Update msyql sql-type for datetime field-type to support Fractional Seconds in Time Values (OFBIZ-9337)
  • Remove final remaining dependencies from framework on plugins (OFBIZ-9322)
  • Add support for 'set-if-null' and 'set-if-empty' attributes on screens for "set" element (OFBIZ-9251) "set-if-null" controls if field can be set to null and "set-if-empty" controls if field can be set to an empty value.
  • Refactor fields with "id-ne", "id-long-ne" and "id-vlong-ne" to "id", "id-long" and "id-vlong" respectively which are primary keys (OFBIZ-9354) The new field types will be given the "not-null=true" attribute in order to make the fields NOT NULL in the database (similarly to primary keys). This change will be reflected in the documentation. This discussion sparked the change.
  • Split the tools folder from the trunk and put it in another branch (OFBIZ-9256) The tools folder contains only tools used by the OFBiz team and is of no help for OFBiz users. So this should not be delivered with the OFBiz trunk, plugins or releases.
  • Improvement of String Comparisons (OFBIZ-9254) There is an inconsistency in the code for string comparisons. For example statusId.equals("PRUN_COMPLETED") should be written as "PRUN_COMPLETED".equals(statusId) because the former can throw NullPointerException if the variable is found to be NULL.
  • Upgrade Tomcat to 8.5.15 (OFBIZ-9366)
  • Convert RateServices.xml from mini-lang to groovyDSL (OFBIZ-9381) Related to task OFBIZ-9350 . Deprecate mini-lang by converting the services updateRateAmount, deleteRateAmount, updatePartyRate and deletePartyRate from mini-ang to groovyDSL.


  • Update Apache Solr/Lucene to release 6.2.1 (OFBIZ-8316)
  • Rename Lucene runtime folders to clearly show the origin (OFBIZ-9357)
  • Improvement of String Comparisons (see above) (OFBIZ-9254)
  • Refactor fields which are primary keys for plugin components (see above) (OFBIZ-9351)


Functional and technical bugfixes:


  • Remove duplicated data for PartyStatus Reference discussion: https://s.apache.org/T2UD
  • Error viewing tomahawk-themed page when externalLoginKey is not enabled (OFBIZ-9345)
  • In TemporalExpressions.Frequency the starting times of a job move away from given freqCount raster (OFBIZ-9374) If a job is scheduled using TemporalExpressions.Frequency the start time of the job will gradually move forward when the excecution of the job is delayed by one or more units of the frequency type.


  • Multisite feature not working properly due to URL modification (OFBIZ-7120)



  • Remove unnecessary field types (see above) (OFBIZ-9351)

Saturday May 20, 2017

Reporting in Apache OFBiz® and the OFBiz Flexible Reports, a new and important feature

Reporting in OFBiz: a brief history of the Birt component which has been recently refactored with a new and important feature added[Read More]

Friday May 05, 2017

Apache OFBiz News - April 2017

Apache OFBiz News April 2017

Welcome to our regular monthly round-up of OFBiz news. This month we have news about more new OFBiz tutorials that are available, we setup another video channel, OFBiz goes live on Facebook, we remove some deprecated entities and we congratulate 7 new ASF members from our community.

Apache OFBiz on Facebook

Did you know that Apache OFBiz is now on Facebook?

Our project expanded its social media presence this month by getting setup on Facebook. Facebook automatically generates pages for highly requested pages that don't already exist. One of these auto generated pages existed for OFBiz and it had over 250 likes indicating that followers were looking for us. Our new project Facebook page can be found at the link below

OFBiz on Facebook

We are now working on actively building our following. If you are on Facebook then please help support OFBiz by liking us and sharing your comments, views and pictures with us. Many thanks to Deepak Dixit, Ashish Vijaywargiya and Michael Brohl for getting things setup and also for taking on Facebook administration on behalf of the project.

OFBiz Vimeo Channel

Last month we talked about our Youtube Channel. This month we are once again expanding and have also setup a Vimeo Channel for OFBiz. We will be publishing the same content on both channels and our users will have the choice of which video channel they prefer to use.

Please feel free to follow our video channels and thanks to Deepak Dixit for getting this setup.

New OFBiz Tutorials

During the month, one of our community members, Pranay Pandey, created some more video tutorials. The new videos can be found using the links below:

  • Introduction to OFBiz Directory Structure Release 16.11
  • Create a Plugin Release 16.11
  • Setup OFBiz with MySQL
  • Setup OFBiz in IntelliJ IDEA IDE - Release 16.11 and Trunk
  • Database Entities
  • A very big thank you to Pranay for taking the time to make these videos and we hope that our community is finding them useful.

    If you have some ideas for videos that you would like to see on our channels or perhaps you would like to create a video for our OFBiz Youtube and Vimeo channels then please send a message with the details to our dev mailing list dev@ofbiz.apache.org.

    New ASF Members from the OFBiz Community

    Seven people from our community have become Apache Software Foundation members. Membership is by invitation only so it's a real honour to be invited. Many congratulations to:
    • Taher Alkhateeb
    • Michael Brohl
    • Scott Gray
    • Bilgin Ibryam
    • Nicolas Malin
    • Anil Patel
    • Ashish Vijaywargiya
    This means that OFBiz now has 12 ASF members from our community. Thank you all for your work and commitment to OFBiz and the ASF.

    Removal of Deprecated Entities

    The code clean up work is continuing and as part of this the community has decided to remove old and deprecated entities. Details of what has been removed can be found in the following Jira

    OFBIZ-9327 Remove Deprecated Entities

    Thanks very much to everyone who has been involved in this and other clean up or refactoring work.

    New features and improvements

    Functional enhancements and improvements as well as updates of third party libraries and source code refactoring:


    • Refactor list forms related to gateway transactions in accounting into grids (OFBIZ-9282) Refactor various list form references in screen widgets.
    • Add the entire plugins directory to .gitignore.
    • Remove "quick ship" option with back ordered products.
    • Include proper validation when adding attributes with the AddProductAttribute form (OFBIZ-7452)
    • Remove duplicate NewQuote button on ViewQuote page (OFBIZ-9318)
    • Upgrade to the latest version of Apache Geronimo Transaction from 3.1.1 to 3.1.4.
    • Remove deprecated entities and related migration services (OFBIZ-9327)
    • Convert service which creates and removes a QuoteRole to entity-auto and add service to update and expire a QuoteRole (OFBIZ-9331)
    • Resolve OFBiz-framework dependencies on OFBiz-plugins in order to build an run tests (OFBIZ-9322) Move some files into applications directory and modify others to fix the dependency order.


    • My Portal: Align column titles in list forms (OFBIZ-8486)
    • Remove dependencies from OFBiz framework to plugins (OFBIZ-9322) This is related to a commit in ofbiz-framework in which data that is removed in plugins is added to the framework (see above).


    Functional and technical bugfixes:


    • SOAPEventHandler only outputs error to log when secureSoapAnswer = "false" (OFBIZ-9289)
    • Sorting Links in Lookup opens new unstyled window instead of sorting the table (Find Content page) (OFBIZ-9280) Behavior occurs for DataRessourceId and OwnerContentId.
    • Add missing default-entity-name attribute to the "entity-auto" service definition for createReturnItemResponse. The missing attribute was causing a service execution error, preventing the processing of returns.
    • Update Tomcat to 8.0.42 because of a disclosed bug in current version (see ticket for the notice from Apache) (OFBIZ-9313)
    • The createTenant Gradle task fails (OFBIZ-9273) This issue is due to the creation of the build.gradle file in plugin which has an empty gradle task defined in it. Solve by comment out the build.gradle template content.
    • Creating plugins crashes the build system (OFBIZ-9273) The issue was due to introducing an incorrect flag of pluginId instead of plugin.name.
    • Keywords for a newly added WorkEffort are not listed (OFBIZ-9315)
    • On setting verbose true, UtilHttp.getParameterMap() method prints username and password in logs (OFBIZ-9310) Commented out the line that prints "Request Parameter Map Entries" as it may print username and password entered by a user.
    • EmploymentApplications in Party manager does not list any record even if they exist (OFBIZ-9220)
    • Routing updates with empty routing name (OFBIZ-7375)
    • AccountingQuantity is not updated when a physical inventory variance is created (OFBIZ-9324)
    • Create and use an OWASP PolicyFactory for content sanitization in ContentWorker for Birt Flexible Reports (OFBIZ-9166)


    • Lucene 5.4.0 deprecated default BooleanQuery constructor causes multiple error screens:
      • CMS shows error screen on clicking Find button (OFBIZ-9301) (ticket contains detailed Information about the constructor)
      • CMS shows error screen on Product Search (OFBIZ-9308)
      • Ecommerce component showing error screen on searchContent from showcontenttree page (OFBIZ-9309)
    • The help button or link does not show for the Birt, BI and example components (OFBIZ-9311) OFBIZ-9312 is a duplicate of this.
    • Cannot obtain Lock on Lucene index Lock (OFBIZ-7265)
    • Remove the birt.tld file and all related files and lines (OFBIZ-9323) For legal reasons the Birt Web Viewer from OFBiz needs to be removed.



    • After changing the How+to+migrate+OFBiz+from+Derby+to+MySQL+database page in wiki, adapt the entityengine definition to modern mySQL use.
    • ViewSize converted to an Integer for multiplication.


    • Complete Birt Flexible Reports documentation (OFBIZ-9188).

    Thursday April 06, 2017

    Apache OFBiz News - March 2017

    Apache OFBiz News March 2017

    Welcome to our regular monthly round-up of OFBiz news. This month we have news about some new OFBiz tutorials on Youtube, we publish our first blog contributions from the community, work continues on our website, the community decides to remove hot-deploy and we welcome another new committer to the project.

    New OFBiz Youtube Videos

    Did you know that Apache OFBiz has a Youtube Channel?. This month one of our community members Pranay Panday created some new introduction videos and uploaded them to our channel. The new videos can be found using the links below:

    1. How to use Apache OFBiz Mailing Lists
    2. OFBiz Beginners Tutorial - Basic Setup Release16.11
    A big thank you to Pranay for taking the time to make the videos and we hope that our community will find them useful. If you would like to create videos for our OFBiz Youtube channel then please send a message with the details to our dev mailing list. dev@ofbiz.apache.org

    New Committer

    This month the Project Management Committee (PMC) invited James Yong to become a Committer on the project and he accepted.

    Congratulations and welcome James!

    OFBiz Blog Articles

    Last month we mentioned that we would be opening up our blog to also accept articles about OFBiz from our community members. During March we received two blog articles from Pranay Pandey. They have been published and you can find them using the links below:

    Thanks very much to Pranay Pandey and remember that if you have an article that you would like to publish on our blog about OFBiz or how you are using it then please send a message to our dev mailing list dev@ofbiz.apache.org

    OFBiz Website

    We are still working on our new OFBiz website and to help visibility and collaboration a new branch has been created so that the community can see the work so far, comment and also help out. Please feel free to take a look at and follow our Work in Progress and post any feedback to our dev mailing list. dev@ofbiz.apache.org

    A wiki page has been created to help organise and plan the outstanding work.

    The new website will include a Service Providers page so if you are an OFBiz Service Provider and would like your logo displayed then please check that you meet the requirements. for being included.

    Removal of hot-deploy Directory

    The refactoring of the trunk is continuing as more work is being done on standardising and formalising the plugins system. As part of this work the community has discussed and agreed to remove the hot-deploy directory. The hot-deploy directory a way to enable extend OFBiz functionality by including your own specific component. This functionality is now available as part of the integrated plugins system.

    As the plugin system API provides more functionality than hot-deploy such as the automatic control of a plugin, the removal of hot-deploy will help standardise the way that OFBiz can be extended and also help with the ongoing refactoring effort and code clean up.

    IMPORTANT NOTE: Please note that the removal of hot-deploy only applies to the current trunk and does not affect any of the existing releases.

    New features and improvements

    Functional enhancements and improvements as well as updates of third party libraries and source code refactoring:
    • Create new task pullAllPluginsSource and make improvements to plugins API (OFBIZ-9182) This task downloads all the official Apache OFBiz plugins from source control and places them in the /plugins directory inclusive of their .svn directory. It makes it possible to automate buildbot for OFBiz without the need to use something like svn:externals and to have two separate build scripts for framework-alone and framework+plugins.
      • Update README.md with new task definition and cleanup.
      • Improve the plugins API in gradle to make use of shared code for calling gradle as a sub-process from multiple locations.
    • Refactor list related forms in BillingAccount (OFBIZ-9215), Cost (OFBIZ-9229), Lookup (OFBIZ-9232), Partymgr (OFBIZ-9266), and Manufacturing (OFBIZ-9236) screen widgets. Refactor various list forms into grids and various list form references in screen widgets.
    • Change to only handle labels with the "_" separator between languages and countries in LabelManagerFactory.java (OFBIZ-9261)
    • Remove the now useless hot-deploy directory (OFBIZ-9268) The hot-deploy removal was discussed here.
    • Convert CarrierShipmentMethod (OFBIZ-8657), QuoteTerm (OFBIZ-8903), and ShipmentMethodType (OFBIZ-8664) entities respective CRUD services to entity-auto.
    • Use try-with-resources statement wherever possible (OFBIZ-8202).
    • Makes sure the local date time uses the time zone from the local browser (OFBIZ-9264). The user can still set his own time zone though.
    • Implement OFBiz startup message which shows after all containers/components are loaded (OFBIZ-9285)


    Functional and technical bugfixes:
    • Login and logout process in demos show a certificate issue (OFBIZ-9206)
    • Missing reference to the delegator in HtmlFormMacroLibrary.ftl (OFBIZ-9230) The delegatorName needs to be passed on to a macro. This was achieved by creating an EntityUtilProperties.getPropertyValueFromDelegatorName() method for the macros renderLookupField and renderTextField.
    • compareBigDecimals in org.ofbiz.minilang.method.conditional.Compare does not compare certain values correctly (OFBIZ-6386) compareBigDecimals scales down and rounds up meaning you lose information and the comparison result is not as expected
    • catalog/control/FindReviews does not render proper column data Replace "use-when" attribute with "ignore-when" attribute in ListReviews form amending conditions used accordingly.
    • While re-ordering an order, OrderTerms field doesn't set (OFBIZ-9252)
    • Error message when svn is updating due to pullAllPluginsSource (OFBIZ-9262) Remove the duplicate plugins directory.
    • Error in accounting report InventoryValuation with thruDate with an empty value (OFBIZ-9265) The provided patch fixes this by setting the default thruDate to now.
    • Renamed internal task to avoid collission on regex task name matching (OFBIZ-9262) A bug was detected in which a task activates when calling cleanAll because it starts with the word "clean" which is matched automatically in a regex.
    • Induce Model XML from Database throws exception (OFBIZ-7473)
    • Regression: a commit between the R15 branch and the Gradle switch uses/blocks the ports (OFBIZ-9196) Disabled the admin server from starting on contexts other than "start". This commit has reference to this discussion thread in which buildbot is failing in between commits due to blocking the admin server thread.
    • Error: Cannot do a find that returns an EntityListIterator with no transaction in place (OFBIZ-9286)


    • Update \tools\demo-backup\README.MD now that "Let's encrypt" is used on demos (OFBIZ-9203) Change derived from OFBIZ-7928.

    Wednesday March 22, 2017

    Omnichannel Orders - Does your system support it?

    Omnichannel Orders - Does your system support it?

    Omnichannel is a business model that is focussed on increasing customer experience. Apache OFBiz makes use of the Omnichannel concept as part of its standard functionality i.e. it provides a type of retail solution that integrates the different shopping methods made available to consumers (e.g. online, in a physical shop, or by phone). Omnichannel Order Management Systems (OMS) enables retail businesses to go that extra mile to seamlessly cater for their customer expectations.

    In this article, we will talk about Omnichannel order management system capabilities, its importance and the main things to look for when you want to improve the way that your customer orders products from you.

    How Important Is It?

    Today, every retailer with a presence on the internet wants to make use of online orders. But, is it enough to just to empower your customers to place orders through your company website (i.e. eCommerce Store) ? As you start taking orders online, you will find that there are many other additional challenges that come along the way. e.g changes to customer orders, requirements changes and how do you manage returns or refunds etc. All of these things need to be considered and managed. Generally, tasks like these are done by a Customer Service Representative (CSR). A CSR is someone who is familiar with the the backend application being used and is also the main contact with the customer regarding any order problems.

    Customer satisfaction is always the topmost priority for any business so knowing your customer and having their profile and order history handy can really help the CSR to make decisions based on any specific business rules or guidelines.

    How Can It Make Your Employees and Customers Happy?

    Your customers want to have a seamless experience when they visit your e-Commerce store, and the list below contains some of the important points to include or incorporate. Does your existing software have these backend abilities to -

    • search and view orders from customers
    • make changes to the order for item quantity or any other details
    • fulfill the orders and keep track of it
    • manage returns and refunds
    • review customer profile
    • review customer purchase history
    • take orders by phone, email or through any other channel
    • keep track of inventory
    • order Online/Pickup In-Store/Return In-Store
    All of these functions are the core part of any Omnichannel Order Management system. It makes your customers happy because they get all the information they need online when they need it. It makes your employees happy because they have all the information available when dealing with a customer online or via the phone. Having the right information available and accessible is the key.

    On top of all of this your system should be customisable. Not everyone wants to work in exactly the same way, so being able to customise what you want, when you want is important to a business. Another aspect is scalability, many businesses start off small and then grow so your software system should be able to scale and grow as you grow.

    Omnichannel and Apache OFBiz

    Apache OFBiz is an open source product for the automation of enterprise processes and includes these core Omnichannel order management capabilities. If you have a software system which actually provides you with most of the core functionality that you are looking for and is easily customizable/extendable/expandable then it makes your job a lot easier. OFBiz has a proven track record of serving many Business to Consumer (B2C) implementations, please check here for details Apache OFBiz User List

    If you want to explore possibilities with OFBiz as a solution evaluator or developer then please refer to the OFBiz blog post - Apache OFBiz - How and where to start?

    In future posts, we'll take each of the Omnichannel OMS capabilities in turn and walk through the processes and the support OFBiz offers.

    Thanks for taking the time to read this post and please feel free to provide your comments and feedback.

    This blog post was written by Pranay Pandey Apache OFBiz Committer.

    Thursday March 09, 2017

    Apache OFBiz News - February 2017

    Apache OFBiz News February 2017

    Welcome to our regular monthly round-up of OFBiz news. This month we have news about our OFBiz Community Days, we re-structure our OFBiz repository, the community decides it's time to deprecate Minilang, we invite our community to become bloggers and our Committer group and PMC grows.

    OFBiz Community Days - February 2017

    The first of our extended Community Days was held in February. Instead of a single 'community day', we have extended it to cover 5 days so that more of our community will have the chance to contribute. Over the period we have 11 commits to the codebase. The low participation may be related to the timing of the community days as it has moved forward one month (from March to February) so people may not have had time to prepare for the change.

    We hope to promote and get more community involvement in our next Community Days event in May. Our Community Days are held every quarter and more details can be found on our OFBiz wiki

    Re-structured OFBiz Repository

    Last month we mentioned the renaming of the specialpurpose to plugins. Following on from that we have re-organised our trunk repository and separated plugins from the core framework.

    Everything except the plugins directory has been moved from http://svn.apache.org/repos/asf/ofbiz/trunk to http://svn.apache.org/repos/asf/ofbiz/ofbiz-framework/trunk

    The plugins directory has been moved to a brand new repository http://svn.apache.org/repos/asf/ofbiz/ofbiz-plugins/trunk.

    For more information and full details of these changes please refer to our OFBiz Source Repositories page

    New PMC Member and New Committer

    This Project Management Committee (PMC) has invited both a new Committer and a new PMC member this month. Swapnil Shah has joined the Committers group and Deepak Dixit has joined the PMC.

    Congratulations and welcome to both Swapnil and Deepak!

    Deprecating Minilang

    A key discussion this month was related to Minilang. OFBiz currently uses Minilang as a Domain Specific Language (DSL). The project has been gradually phasing it out in favour of Apache Groovy. Details of the discussion can be found here and the community consensus is that it is time to deprecate it.

    Contributing to the OFBiz Blog

    We would like to open up our OFBiz blog to members of the community who would like to publish an article or blog post OFBiz or how they are using it. By sharing information we hope this will help promote OFBiz and also share implementation experiences.

    If you have an article that you would like to publish on our blog then please send a message to our mailing user@ofbiz.apache.org

    New features and improvements

    Functional enhancements and improvements as well as updates of third party libraries and source code refactoring:
    • Refactor list related forms in Agreeement widgets (OFBIZ-9186) Refactoring various list forms into grids and the respective list form references into screens
    • Create new gradle task pullPluginSource using a subversion gradle plugin (OFBIZ-9182)
      • Added a new gradle task called pullPluginSource that fetches a plugin from the (yet to be created) plugins repository. Also updated the README.md file to reflect the changes that happened recently on the plugin management tasks This is the last commit required before restructuring the subversion repository as per the discussion thread mentioned in the above JIRA.
      • Moves plugins and creates the new structure.
    • Improve FindGeneric entity screen with a xml form (OFBIZ-9217) The xml for Groovy and ftl forms is now build by analyzing the entity instead of rendering the forms through a dynamic call-to-screen xml. The find operation is now realized by the perfomFind service.
    • Disable the gradle daemon on embedded plugin tasks (OFBIZ-9182) In prepartion to update our buildbot scripts, we disable the daemon from running in the plugin API calls. This substantially improves memory consumption. The change applies to both installPlugin function as well as the ofbizBackground task design.


    Functional and technical bugfixes:
    • After creating a new Flexible Birt Report, visualization is not trivial (OFBIZ-9194) Steps needed: add the data set fields with the Birt Report Designer and then publish the report. This will be documented in OFBIZ-9188.
    • Missing file in ecomseo (only seo version) results in error (OFBIZ-9198)
    • Cancelled OrderItems are still included in orderGrandTotal. (OFBIZ-9204)
    • Birt log: adjusting the java.util.Logger to the org.apache.log4j.Logger level (OFBIZ-9201) Currently the class BirtContainer calls the birt engine with the hard coded log level 'ALL' which generated a huge log file. You can select the log level from debug.properties to populate the ReportEngine log file.
    • SimpleMethod: FindByAnd never using EntityListIterator (OFBIZ-9152)
    • Reinstate url cache in UtilURL.fromResource (OFBIZ-9208)
    • Correct svn url for pullPluginSource task (OFBIZ-9182)
    • Remove SalesOrderItemFact related services from order component (OFBIZ-9213) SalesOrderItemFact entity is defined in bi-component so these services should reside there.
    • Report GL Account Trial Balance execution error (OFBIZ-9216)
    • Login and logout process in demos shows a certificate issue (OFBIZ-9206)
    • ofbizUrl: include host+port and break some reverse-proxy/docker setups (OFBIZ-9224) import <SystemProperty systemPropertyId="port.https" systemResourceId="url" systemPropertyValue=""/> in trunk demo.
    • Load demo data shows error loading xml files (OFBIZ-9211) "gradlew cleanAll loadDefault" generates a data loading error. It's logically due to the removing of plugins/component-load.xml in OFBIZ-9182. A temporary solution is to put it in again. A definitive solution is to remove data dependencies. The same problem exists with ecommerce data which create dependencies from applications jleroux.

    Tuesday March 07, 2017

    Apache OFBiz - How and where to start?

    Apache OFBiz - How and where to start?

    Welcome to the world of open source automation of enterprise processes with Apache OFBiz. If you are reading this post then you at least have some interest in knowing more about Apache OFBiz. Here is a very quick guide to get you started.

    What is Apache OFBiz?

    Apache OFBiz provides you with a rapid application development framework together with a universally adopted business data model and processes. It gives you an easy tool to customize the standard environment to address your own business requirements. It does 80% percent of the work. The only thing you need to do to manage the remaining 20% is to explore the framework, data model and understand the development best practices.

    OFBiz for Analysts and Non Developers

    If you are an analyst or ERP solution evaluator then you can start exploring the business processes that are freely available with OFBiz out of the box. For this, the very first step would be to do a gap analysis with already supported applications and features. Applications such as Accounting, Order Management, E-Commerce, Inventory, Manufacturing and CRM are already integrated.

    If you would like to see what OFBiz looks like and how it works then the project has setup a demo installation for you to use as an evaluation:

    16.11 Release Branch Demo (stable)

    Front-End Store

    Management Applications

    You can find out more information on the supported business processes and use cases by using the following links-

    1. Universal Business Process Library

    2. Business Process Stories and Use Cases Library

    Development and Custom Requirements

    Addressing custom requirements using Apache OFBiz needs a good understanding of the business processes from the perspective of reusing existing OOTB functionality for your implementation.

    Every business has its own version of certain processes e.g. one would like to pick, pack and ship orders from one platform and another would like to have restrictions to use third party applications instead. Both of these scenarios are possible in Apache OFBiz, some functionality is included out of the box (OOTB) and others can be achieved with some customizations. Apache OFBiz download instructions can be found here.

    If you want to get most of it, the very first step should be to understand the business processes, applications and tools that already come with OFBiz. These applications and tools are provided OOTB and are supported by the community. If you are a developer, you can start by getting familiar with the framework architecture, artifacts and the control-flow. Developers can start working with Hello World application that can be found in Apache OFBiz Tutorial - A Beginners Development Guide.

    The official Apache OFBiz YouTube channel contains some tutorial videos that may help developers and can be accessed at: https://www.youtube.com/user/ofbiz

    If you would like to take a look at the developers trunk then the project has setup a demo installation for you to try out and evaluate.

    For developers: trunk

    Front-End Store

    Management Applications

    NOTE If you are customising and implementing production systems then we recommend using the latest stable release which can be downloaded here.

    Apache OFBiz Community

    You can get always further help, advice, information and support from the Apache OFBiz community by posting to the user or development mailing lists. Subscribe to the OFBiz mailing lists for updates on the latest discussions, improvements and new features. Once you subscribe to the required mailing list, you can post your questions with an assurance to get answers and guidance whenever required. OFBiz has a dynamic community available round the clock as it has contributors spread across the world. The Apache OFBiz community is continuously working on improving both technical and user functionality and support. To keep up to date and learn more follow our OFBiz Blog.

    I hope this quick guide will help you get a head start with your implementation. Please feel free to provide your comments and feedback..

    This blog post was written by Pranay Pandey Apache OFBiz Committer.

    Monday February 13, 2017

    Apache OFBiz News - January 2017

    Apache OFBiz News January 2017

    Welcome to our regular monthly round-up of OFBiz news. This month we have news about our OFBiz Community Days planned for 2017, specialpurpose gets a new name, an initiative is started to create are range of user acceptance test cases for our releases and the community discusses re-defining what Apache OFBiz actually is.

    What is Apache OFBiz?

    One of the community discussions that happened during January was about what Apache OFBiz is. It seems like a strange discussion to be having after 10 years at the ASF but with the major re-factoring and changes happening within the project in areas such as the framework and plugin management, we have an opportunity to redefine what OFBiz is.

    Could we perhaps create sub-projects that would focus on specific OFBiz areas and what other potential products could be included.

    Details of the discussions can be found at the following link:

    Discussion: What is Apache OFBiz?

    Please feel free to add your comments and feedback.

    Renaming Specialpurpose to Plugins

    OFBiz has a range of core applications (e.g. Accounting, Manufacturing, Order and Party) but also has some specialist (or specialpurpose) applications. This includes applications such as E-commerce, Asset Management, MyPortal, Project Manager and WebPos. As these specialpurpose applications use and build on the core applications, they fit very nicely into the concept of an OFBiz plugin. The term plugin is a lot easier and clearer description of these applications so we have decided to rename the specialpurpose directory to plugins.

    In a future update we will talk about the working being done around creating a repository for official project plugins.

    User Acceptance Test Cases and Stories

    An effort has been launched by the community to document a range of OFBiz User Stories around various functionality and then look at preparing User Acceptance Test Cases for them. This would be something that could be applied as a simple quality control check to each release version to highlight where and when standard processing fails a test.

    With the ongoing project changes this initiative will be very useful for ensuring that the work in process does not break any of the existing OFBIz functionality. If you'd like to be involved with this initiative or would like more information then the discussion thread can be found at the following link.

    Discussion: User Acceptance Testing Discussion

    OFBiz Community Days 2017

    Over the last two years we have been holding OFBiz Community Days each quarter. Feedback from the community is that they would like these Community Days to continue for 2017 but in a slightly changed format. Instead of each Community Day being one fixed Saturday per quarter, it will be extended to include more days around it. This will give a lot more flexibility and allow more people to contribute.

    The following are the dates for our Community Days in 2017
    • Q1 - February 2017 : Friday 17th, Saturday 18th, Sunday 19th, Monday 20th and Tuesday 21st
    • Q2 - May 2017 : Friday 19th, Saturday 20th, Sunday 21st, Monday 22nd and Tuesday 23rd
    • Q3 - August 2017 : Friday 18th, Saturday 19th, Sunday 20th, Monday 21st and Tuesday 22nd
    • Q4 - November 2017 : Friday 17th, Saturday 18th, Sunday 19th, Monday 20th and Tuesday 22nd

    For more information, please take a look at our Community Days page on our wiki.

    New features and improvements

    Functional enhancements and improvements as well as updates of third party libraries and source code refactoring:
    • Update Apache Solr/Lucene to release 6.2.1 from 5.3.1 (OFBIZ-8316)
    • Create and use an OWASP PolicyFactory for content sanitization in ContentWorker for Birt Report Builder (work in progress) (OFBIZ-9166)
    • New and enhanced implementation of Birt. Easier way of report creation for users (OFBIZ-6919) It allows the creation of "report masters" by the developer, which will in turn let the user create its own reports. Data connection of the report is fully generated by OFBiz based on report master. Design is user made. Filtering is made via content forms stored in the database ("FORM_COMBINED") data_resource.
    • Make xssi prefix configurable and multi-tenant aware (OFBIZ-9169)
    • Renamed the directory specialpurpose to plugins (OFBIZ-7972) In another step towards completing the plugin system for OFBiz, we renamed the /specialpurpose directory to /plugins and changed all occurences of the word "specialpurpose" to "plugins" in all files found in the system. Reference discussion: http://markmail.org/message/hpyuxkmftiyn44w2
    • Add Geo id support for New Zealand (OFBIZ-9172)
    • Remove the cleanGradle and cleanAnt Gradles Task because of issues with Windows (OFBIZ-9183)
    • Fully refactored the component loading logic in Gradle (OFBIZ-9182) Changing the directory structure should have no impact on the build scripts. Gradle will now ignore a component if it exists but is disabled in ofbiz-component.xml (i.e. enabled="false").
      • This makes loading very flexible
      • Removes /plugins/component-load.xml.
      • Disables the ebaystore component in ofbiz-component.xml.
      • The above is needed as a first step toward preparing the project for the svn restructure.
    • Removed the plugin activate/deactivate feature (OFBIZ-9182)


    Functional and technical bugfixes:
    • Refactor ContentWorkerInterface methods signatures (OFBIZ-9164) Fixes an issue in the ShowCartItems.ftl file by changing a parameter in the signature of the protected ShoppingCartItem() method from ShoppingCart.ShoppingCartItemGroup to ShoppingCartItemGroup
    • Exception caused by adding an item to an order (OFBIZ-9167) While at it I also found issues with cartLine.getName() in ftl files. It was also missing the dispatcher. This was broken by OFBIZ-9164
    • JobPoller does not run and hence scheduled/async jobs are never run (OFBIZ-9155)
    • Adds entity-alias use="required" in entitymodel.xsd (OFBIZ-9184)
    • "View Order" throws exception in getReturnableQuantity (OFBIZ-9157)
      • Solution: adjust the service-definition to allow for "null" value of the returnablePrice OUT parameter.
    • Changes log level so it always shows info in minilang (OFBIZ-6206)
    • Converts delegator.find to EntityQuery (OFBIZ-9189)


    • Updates documentation in README.MD for wiki
      • Adds a note for JDBC drivers Move the Security section below the Quick start section
      • Adds a note for % progress indicator
    • The README.md.html is to be used at https://cwiki.apache.org/confluence/display/OFBIZ/ The+official+demos+and+how+to+maintain+them

    Thursday January 05, 2017

    Apache OFBiz News - December 2016

    Apache OFBiz News December 2016

    Welcome to our regular monthly round-up of OFBiz news. This month we have news about our OFBiz Community Day, podcasts from the OFBiz track at Apachecon EU, the use of code analysis tools as a way for new contributors to get involved with the project, protecting the OFBiz trademark and OFBiz celebrates 10 years at the ASF.

    Happy Birthday Apache OFBiz!

    During December OFBiz celebrated its 10th Apache birthday. On 20th December 2006, OFBiz graduated from incubation to became an Apache Top Level Project. Since then, with the help of our community, we have continued to grow, develop and incorporate new technologies. The project has 31 committers and a large number of contributors coming from our very active user and developer mailing lists.

    Over the past 10 years the project has released a range of OFBiz versions from 4.0 through to 16.11 (released in November 2016). We are all looking forward to our next 10 years at Apache!

    Podcasts of OFBiz Presentations from Apachecon EU Seville

    Don't worry if you couldn't make it to Apachecon EU in Seville, most of the presentations have been recorded and are available on Feathercast The audio from the OFBiz track at Apachecon is available via the link below:


    Thanks very much to the ASF TAC team (including our own OFBiz contributors Gaurav Saini and Youssef Khaye) for managing the recording and also Rich Bowen for uploading everything.

    OFBiz Community Day

    Our Community Days are held every 3 months and the final one for 2016 was held on 17th December. Even though it was very close to the holidays, people from the community still made time to get together and work on improving OFBiz.

    On 17th December, the ASF Status Monitor was showing OFBiz Committer, Michael Brohl as the most active Committer that day. Thank you Michael and also everyone who participated and we hope that you will continue to be involved in any of our future Community Days. Information about our Community Days can be found on our OFBiz Wiki.

    Protecting the OFBiz Trademark

    The OFBiz PMC has been making an extra effort to pro-actively support ASF Trademarks and Brand Management to protect our OFBiz trademark. OFBiz was recently registered as an ASF trademark and all projects need to ensure that their brands are not misused. All third party sites need to comply with ASF Trademark Guidelines.

    In addition, the project has adopted a new policy to limit Unfair Marketing Messages on the Mailing Lists.

    We ask anyone to report potential trademark misuses to the OFBiz PMC private mailing list (private@ofbiz.apache.org).

    Fixing Defects Using Code Analysis Tools

    If you are interested in contributing to OFBiz but not sure where to start then maybe this could help.

    Now that our current OFBiz release and trunk is using Gradle, we now have an easy way to run source code analysis tools on our codebase. Tools like PMD and FindBugs generate useful reports containing pointers to code that may need to be improved or fixed.

    We would like to get as many people from the community involved and working together to fix as many defects as possible as it will give us a cleaner codebase, increase the confidence for potential adopters and perhaps more importantly, make it easier for new contributors to help the project

    Please take a look at the following mailing list thread which goes through all the steps needed to get started. If you have any questions then please feel free to ask on our development mailing list (dev@ofbiz.apache.org)

    New features and improvements

    Functional enhancements and improvements as well as updates of third party libraries and source code refactoring:
    • Refactor and simplify the startup sequence in OFBiz (OFBIZ-8337) Continuing the refactoring work on the startup sequence, this commit specifically focuses on the ComponentContainer and how it loads components into the system. The following changes are made:
      • Simplify and cleanup the ofbiz-containers.xml to have only one entry
      • Substantially simplify the ComponentLoaderConfig class and remove unnecessary defined state
      • Delete the JustLoadComponentsContainer (used to exist for the server command --testlist which no longer exists)
      • Fully refactor the ComponentContainer class and breakup the messy logic into chunks of private methods. The methods are also properly documented.
      • Remove an old reference to the testlist container which no longer exists
      • Delete the NativeLibClassLoader.java
      • Delete the native classpath logic in Classpath.java
      • Refactor the ComponentContainer and StartupControlPanel to operate without the NativeLibClassLoader. This substantially simplifies the code
      • Declare a URLClassLoader in ComponentContainer that is instantiated upon building the classpath for all components. This makes the classloader start in one shot
      • Simplify the Config file and remove fields that are not used. Also refactor some messy logic for loading the props file and other code improvements
      • Refactor all the .properties files for startup to have a consistent structure that clearly documents all available properties and the default value for each property. This change is also related to the changes applied on Config.java
      • Remove the declaration of the StartupLoader implementation class from all startup .properties files because only one implementation exists and it should be the default always.
      • Refactor the loaders retrieval code (main, rmi, test, load-data) defined in the startup .properties files
      • Refactor some switch statements to comply with java coding standards
      • Add the DTDs defined in base through Gradle because we removed the NativeLibClassLoader and the classpath buildup logic in StartupControlPanel
    • Refactor javadocs in OFBiz to be standards compliant (OFBIZ-9144)
    • LoginWorker HashCrypt the type of hash for one-way encryption (OFBIZ-8537) Added PBKDF2 hash type to encrypt password.
    • Added user friendly error message in duplicateProduct service, if passed productId already exists than return user friendly error message instead of entity exception. (OFBIZ-7402)
    • Add Party criteria to Routing Tasks (OFBIZ-9134)
    • Proper Form Validation should be there while
    • Client Side validation
      • missing on Create Payment screen. (OFBIZ-7430)
      • missing on Create New Tax Authority Form. (OFBIZ-7436)
      • required in Add Billing Accounts Role. (OFBIZ-7429)
      • on Add product categories form in catalog. (OFBIZ-7425)
      • required while creating Product Association. (OFBIZ-7424)
      • while creating price rule from catalog manager. (OFBIZ-7307)
      • missing at Create User Login form. (OFBIZ-7984)
      • missing at Create Ebay Account form. (OFBIZ-7952)
      • missing at Add Ebay Configuration form. (OFBIZ-7866)
      • required in Tax Infos (Add Party Tax Authority Info). (OFBIZ-7437)
    • Refactor forms in Example (OFBIZ-9146)
    • Refactored Config.java to simplify fields initialization and properly implement the Optional interface for retrieving port offset
    • Moved the logic/implementation of OFBiz legacy authentication tokens from the LoginWorker class to a new class named ExternalLoginKeysManager. Improved Javadocs in the new class.
    • Demo data for serialized and non-serialized product (OFBIZ-7766)
    • Added a PriCat component under specialpurpose (OFBIZ-9123)
    • A set of unit tests for the ExternalLoginKeysManager.getExternalLoginKey(...) method. Minor refactoring of the getExternalLoginKey(...) method to make it more friendly to unit tests.
    • Minor changes to make the method easier to test with unit tests.
    • Add a isValid() method to the ModelService class (OFBIZ-9158)
    • Add the entity-auto CRUD services for
    • Upgrade gradle to version 3.2.1 (OFBIZ-9160)
    • Provided clearer documentation for the eclipse task in Gradle
    • Removed unused runtime libraries in build.gradle
    • Replace leftshift operators with doLast clojures in build.gradle (OFBIZ-9160)
    • Provided an updated script for gradle bash-completion in README.md
    • Update location of view handlers


    Functional and technical bugfixes:
    • Added missing code to get the ItemIssuance in setInvoicesToReadyFromShipment service. This bug was introduced during the delegator to EntityQuery convertion. Also added complete code to check null shipment on setInvoicesToReadyFromShipment, code was incompletely implemented.
    • Corrected typo which caused calcTaxForDisplay service call to fail (problem with Ecommerce frontend when using showPricesWithVatTax)
    • Form macros with incorrect arguments.
    • A series of wrong argument names in Javadoc comments.
    • Incorrect @see reference to method in Javadoc.
    • Removed empty file (invalid class), a leftover of the commit that removed Cobertura some time ago.
    • Removed a redundant null check and parenthesis.
    • Error occurred when making shopping list public/private from Party Detail screen. (OFBIZ-7683)
    • Fixed wrong package-names

    Wednesday December 07, 2016

    Apache OFBiz News - November 2016

    Apache OFBiz News November 2016

    Welcome to our regular monthly round-up of OFBiz news. This month we have news about the OFBiz track at Apachecon EU, a brainstorming session that will help give the project a strategy and the our latest version 16.11.01 is released.

    OFBiz @ Apachecon EU Seville

    Once again Apachecon EU featured an OFBiz track. Five talks were selected covering a range of topics including suggestions for improving the user interface and user experience, functional testing, data extraction and the new OFBiz plug in manager. The sessions and their attendance figures are listed below:
    • OFBiz +Modern UI (13)
    • Collaborative Approach to Automated UI Testing (16)
    • Introducing Plug In Manager (10)
    • Data Extraction: How to get your data out of OFBiz (10)
    • Screen Rendering in OFBiz (10)
    Slides from all the presentations are now available on the Wiki. All talks were also recorded and will soon be available on Feathercast.

    Apachecon is always a good place to meetup and as usual whenever our community get together we talk, so we held an informal brainstorming session and also a mini OFBiz hackathon.

    We also met up with Paul KIng from the Apache Groovy project who was presenting a couple of sessions. OFBiz is currently working on replacing our existing Minilang DSL with Groovy so these presentations could be very useful for the community. If you would like more information about the Groovy workffort for OFBiz then see the following page:

    Groovy for OFBiz Business Logic.

    This is a great example example of how being at Apachecon connects you with other projects.

    Current Project Discussions

    During Apachecon we held a brainstorming session where we all got together to come up with some potential ideas for improvements to take back to the mailing lists. A summary of the session can be found on the Wiki.

    The session resulted in three main discussion threads being raised on the mailing lists:
    • Defining an OFBiz Project Strategy
    • Improving the OFBiz User Interface
    • Organising OFBiz Events or Meetups
    All three discussions are now in progress and we encourage everyone from the community to participate. If you would like to contribute to the discussions, share ideas or give feedback on what has already been discussed then please see our development mailings lists.

    OFBiz 16.11.01 Released

    Last month we mentioned the preparations for our next release. During this month the vote was finalised and the 16.11.01 release was announced. This release consolidates all the hard work that the community has put in over the last year. The whole 16.11 series is dedicated to the memory of Adrian Crum who died earlier this year.

    The new release features Gradle as the new build system, extensive refactoring, and also inbuilt unit test and plug in manager system. The project will continue in its refactoring effort to clean up code and improve efficiency.

    New features and improvements

    Functional enhancements and improvements as well as updates of third party libraries and source code refactoring:


    Functional and technical bugfixes:
    • Page bottom navigation problem with grid and include-grid (OFBIZ-7648)
    • Catch GenericEntityException and GenericServiceException and other instead of Exception in Java classes. (OFBIZ-8909)(OFBIZ-8910)(OFBIZ-8911)(OFBIZ-8912)(OFBIZ-8913)(OFBIZ-8914)(OFBIZ-8915)(OFBIZ-8917)(OFBIZ-8918)(OFBIZ-8919)(OFBIZ-8920)(OFBIZ-8921)(OFBIZ-8922)
    • UI Label in file CommonErrorUiLabels.xml (OFBIZ-9046)
    • Use proper main-action for permission-service, it should be VIEW instead of READ.
    • Update Services that sets non-pk fields to null if not passed, if non-pks not passed than it should remain unupdated (OFBIZ-8722)
    • Incorrect required parameters set on following services, mark required parameters as option false as service in parameter. createWorkEffortKeywords, createWorkEffortQuote, createWorkEffortRequest, createWorkEffortRequestItem, createWorkEffortRequestItemAndRequestItem, createWorkEffortReview, createWorkRequirementFulfillment (OFBIZ-8602)(OFBIZ-8603)(OFBIZ-8604)(OFBIZ-8605)(OFBIZ-8620)(OFBIZ-8621)(OFBIZ-8622)
    • Set required parameter as option false at service definition level (OFBIZ-8358)
    • Entity Auto services set remaining fields to null when passed only required fields (OFBIZ-8723)
    • Fixed console warning introduced in revision#1768253 (OFBIZ-8358)
    • Reversed key and description of Type drop-down on Bom Simulation
    • Wrong termination of element "if-compare-field"
    • Search operation on 'AllExamplesWithDesiredCustomerFeaturesReport' entity causing exception (OFBIZ-8822) Steps to regenerate: 1. Go to Entity Data Maintenance in webtools 2. Search entity 'AllExamplesWithDesiredCustomerFeaturesReport'. Click and go to the overview page. 3. Click on the Search button.
    • Reversed key and description of Taxable Flag drop-down on Add a new invoice Item
    • Fixed incorrect closing of set-service-fields.
    • Removed extra greater than sign from if-compare-filed tag, found while reading console log.
    • Passes required parameter contactMechTypeId while calling createPartyContactMech form copyPartyContactMechs service. Also pass same parameter in testCreatePartyContactMech test case service.
    • Conveted createInvoiceContactMech service form entity-auto to simple method, there is an bug in EntityAutoEngine. It causing test case failure. This is an quick fix. EntityAuto bug reported under ticket id OFBIZ-9117
    • Wrong label definition from PartyUiLabels.xml. In PartyUiLabels.xml the PartyCountryMissing label has been deleted but is still in use in one file Fix: Use the CommonCountryMissing label from CommonUiLabels instead (OFBIZ-9120)
    • Lookup of initial account in new opportunity doesn't work (OFBIZ-8617)
    • Layered-modal hyperlink doesn't show style (OFBIZ-7323)
    • ConfigXMLReader doesn't verify if "transaction-timeout" is set before trying to unbox (OFBIZ-8342) site-conf.xsd doesn't define transaction-timeout as being mandatory but ConfigXMLReader treats it as one and in the absence of the attribute an exception is being thrown causing the application to break.
    • SimpleMethod: Problem with Variables in key-fields (OFBIZ-9126)
    • Errormessage is displayed twice in LoginEvents.java (OFBIZ-9125)

    Monday November 28, 2016

    [ANNOUNCE] Apache OFBiz 16.11.01 released

    The Apache OFBiz community is pleased to announce the new release "Apache OFBiz 16.11.01".

    Apache OFBiz® is an open source product for the automation of enterprise processes that includes framework components and business applications.


    "Apache OFBiz 16.11.01" is the latest and greatest release of OFBiz. The highlights of this release include:

    • * Switch of the build system to Gradle
    • * Removal of all libraries from OFBiz
    • * Introduction of a plugin management system
    • * Introduction of a unit testing framework
    • * Conversion of all namespaces to org.apache.ofbiz
    • * Inclusion of all "specialpurpose" components
    • * Refactoring of source file layouts to be more compliant with project standards https://cwiki.apache.org/confluence/x/C4B2
    • * Simplification of the code base by leveraging various framework tools (e.g. "entity-auto" services)
    • * Numerous features, bug fixes and refactoring of the code base.

    For more details please refer to the release notes, http://ofbiz.apache.org/release-notes-16.11.01.html.
    All users of previous releases including:
    • * Apache OFBiz 13.07.*
    • * Apache OFBiz 12.04.*
    • * Apache OFBiz 11.04.*
    are encouraged to upgrade to this last version and to get in touch with the community (at user@ofbiz.apache.org) to provide feedback or to receive help in the upgrade.

    The release file can be downloaded following the instructions in the OFBiz download page:

    Special Dedication

    The 16.11 releases are all dedicated to the memory of OFBiz Committer and ex PMC member Adrian Crum. Adrian passed away on 1st January 2016 and his loss is strongly felt. He was a valued member of the OFBiz community and his legacy will live on in the OFBiz codebase and in the lives of everyone he touched.

    The OFBiz community.

    Monday November 07, 2016

    Apache OFBiz News - October 2016

    Apache OFBiz News October 2016

    Welcome to our regular monthly round-up of OFBiz news. This month we have news about the refactoring of some key components, we continue the introduction of more unit tests, an OFBiz Security Mailing list is setup and the community starts preparing to create a new and much awaited release branch.

    Refactored Start and Base Components

    Work is still continuing on refactoring OFBiz. The refactoring effort has already significantly reduced our codebase making it more efficient to run. This month a large amount of work was done to refactor the Start and Base Components.

    These are two key components, with complex code that form the core of OFBiz functionality, so tidying these up is an important step. We have needed to be especially careful to ensure that everything works correctly after the refactoring. Thanks to everyone involved in the reviewing and testing and also to Taher Alkhateeb for leading this work effort.

    More OFBiz Unit Tests

    A few months ago, code was added to the trunk as the base framework for the introduction of unit tests. Creating unit tests for OFBiz is important because it helps us ensure that code can be tested to prove that it works as expected. The focus on refactoring has given us an opportunity to add more unit tests to the code base. We hope that the use of unit testing will help us improve both code quality and debugging or tracking down bugs.

    OFBiz Security Mailing List

    Recently the project setup a new mailing list where people can report any security issues they encounter with OFBiz. It is very important that security vulnerabilities are reported immediately to the OFBiz Security Team and not to the standard community development or user lists. The OFBiz Security Team is responsible for investigating and fixing any vulnerabilities found. See the link below for details of how to contact them:

    OFBiz Security Team

    Details of any OFBiz security vulnerabilities are published under the Security Vulnerabilities section of our Downloads Page. Please check this page regularly for the latest information.

    Preparing for a new OFBiz Release

    This year has been a very busy one for the project with a lot of changes happening such as significant refactoring and the introduction of Gradle. Discussions are now in progress for the creation of a branch that will eventually become our next release. The new release will be dedicated to the memory of Adrian Crum who died earlier this year.

    New Features and Improvements

    Functional enhancements and improvements as well as updates of third party libraries and source code refactoring:


    Functional and technical bugfixes:
    • Null Pointer Exception in the ecommerce webapp when accessed with multitenant mode on, caused by the recent refactoring to ContextFilter. (OFBIZ-8338)
    • The Payment section in the party profile page is broken when the Party does not have a check account. (OFBIZ-6899)
    • Cannot edit shopping list for ecommerce and ecomseo (OFBIZ-8348)
    • Entity description labels are considered not used by the Label Manager (OFBIZ-8154)
    • Error in the deleteCustomerTaxAuthInfo page called from /ecommerce/control/viewprofile (OFBIZ-4106)
    • Labels and properties caches clearing no longer work (OFBIZ-8321)
    • Shortlist the needed resources to start OFBiz in the sourcesets block in Gradle (OFBIZ-7937)
    • Pagination error in
    • InventoryItemStatus logging for reserved serialized inventory item. (OFBIZ-8459)
    • Entity ECA rules throws Null Pointer Exception in case of a remove operation. (OFBIZ-8001)
    • Popup calendar fails for ecomseo et Ecommerce (OFBIZ-8345)
    • Cannot edit images in Content (OFBIZ-7000)
    • Product page missing form elements (OFBIZ-8489)
    • Error due to missing entry of service resource in ofbiz-component.
    • Updating Party Content Image does not work (OFBIZ-8458) (OFBIZ-8347)
    • Footer text inconsistent in flatgray theme (OFBIZ-8625)
    • Console Warning: No parameter found for override parameter named ... (OFBIZ-7814)
    • Search Single Transactions From eBay not working (OFBIZ-8624)
    • Missing uiLabel on Export Products to eBay screen (OFBIZ-8508)
    • Column 'DATA_CATEGORY_ID' cannot accept a NULL value (OFBIZ-8282)
    • When we pass only "orderId" in "updateOrderHeader" service all values are getting null. (OFBIZ-8339)
    • Bursted Layout in screen "orderstatus" of Ecommerce (OFBIZ-8265)
    • Nonsense css value in html output (OFBIZ-8312)
    • Errormessage "Can't find resource for bundle" on EditProductContent (OFBIZ-8336)
    • Net Before Overhead Report is not working (OFBIZ-7317)



    Hot Blogs (today's hits)

    Tag Cloud