Tuesday December 12, 2017

Apache OFBiz News - November 2017

Apache OFBiz News November 2017

Welcome to our regular monthly round-up of OFBiz news. This month we have news about our continuing work to convert Minilang to Groovy, we participate and collaborate during our Community Days, we share some community statistics about how we are working together and we celebrate our 11th year as an Apache Top Level project.

Happy OFBiz Birthday!

It was 11 years ago on 20th December 2006 that Apache OFBiz graduated from the Apache Incubator to become a Top Level Project. Since then, with the help of our great community, we have continued to grow, develop and incorporate new technologies. Our project now has 40 committers and includes a large number of contributors coming from our very active user and developer mailing lists.

Over the past 11 years the project has released a range of OFBiz versions from 4.0 through to 16.11 and are currently preparing to create our branch releases that will be the basis for our next releases. Help us celebrate our Apache Birthday this month and we look forward to the next 11 years at Apache!

Minilang to Groovy Conversion

Some time ago we mentioned that we would be converting our minilang scripts to Groovy where it was more efficient to do so. Work is still progressing on this and you can follow progress on JIRA OFBIZ 9350 Deprecate Minilang

Also one of our contributors, Nicolas Malin has updated our test tools suite to include Groovy tests. Details of implementation can be found in JIRA OFBIZ-9996. If you would like to help in the conversion effort then please send a message to our dev mailing list..

Community Days - November

During the year we try to hold several community days where our community comes together and collaborates of fixing issues and bugs, test or help produce something that helps the project. In the past the Community day has been a particular day only but feedback from the community asked us to extend the time to include the days before and after the weekend.

Our final set of Community Days for 2017 was planned during November running from Friday 17th - Tuesday 22nd and several community members decided to volunteer their time to work on some of our outstanding issues. Thanks very much to everyone who has worked to improve OFBiz and make it a better overall product for our users.

OFBiz Community Statistics

Many of the ASF projects have access to an online that can help gather statistics about the community. This month we have decided to access a few of the statistics and share a few of the items with you.

Mailing Lists:
  • Over the last 3 months, on our user mailing list, 320 emails have been sent by 74 different authors discussing 72 different topics.
  • Over the last 3 months on our dev mailing list, 315 emails have been sent by 47 different authors discussing 107 different topics
Jira Contributions Over the last 3 months we have had:
  • 27 newcomers to the project that have contributed to helping us with our Jira issues, (15 arrived in September, 11 in October and 1 in November)
  • 4 returning contributors (so people who have contributed in the past but not on a regular basis), and
  • 66 regular contributors to the project
  • 612 issues created, 390 issues closed, 95 different people creating issues and 38 different people closing them
It is great to see the community maintaining its activity but also and still growing by attracting new people to the community.

New features and improvements

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


  • Removed com.fasterxml.jackson.core dependecies from build.gradle, as these will be downloaded with io.jsonwebtoken:jjwt
  • Add ability to disable entity eca rule (OFBIZ-9897)
  • Add toString() method in ServiceEcaAction class file
  • make utility function findWebsite public to be usable from outside
  • Replace Inline Javascript with External Javascript (OFBIZ-9465)
  • Remove deprecated method GenericDelegator.decryptFieldValue(String, String). (OFBIZ-9916)
  • Token Based Authentication (OFBIZ-9833)
  • Company Logo is missing at Print Pick Sheet PDF (OFBIZ-7322)
  • implemented a declarative style of executing integration test reports
  • Use FlexibleLocation.resolveLocation to resolve the fop.path and fop.font.base.url (OFBIZ-9974)
  • Remove inline js for toggleAll calling from ftls and also remove checkToggle, toggleAll and selectAll js functions (OFBIZ-8300)
  • CSS files defined through layoutSettings in GlobalActions are loaded twice (OFBIZ-9770)
  • Set the default value for Html screen Macro Library.(OFBIZ-7879)
  • Set the default value for Fo Form Macro Library. (OFBIZ-7932)
  • Set the default value for Fo Screen Macro Library. (OFBIZ-7933)
  • Set the default value for Html Tree Macro Library.(OFBIZ-7988)
  • Set the default value for Csv Screen Macro Library, Text Screen Macro Library, Xml Form Macro Library and Xls Form Macro Library. (OFBIZ-7992)
  • Set the default value for Html Form Macro Library. (OFBIZ-7985)
  • Fixing defects reported by FindBugs
    • package org.apache.ofbiz.base.start. (OFBIZ-9573)
    • package org.apache.ofbiz.securityext.login. (OFBIZ-9637)
  • refactor list related forms in PartyScreen widgets (OFBIZ-9405)
  • Refactor list related form widgets in various WorkEffort screens (OFBIZ-9415)
  • Refactoring methods of PartyServices.java (OFBIZ-9982)
  • refactor list related forms in PartyScreen widgets (OFBIZ-9405)
  • Add a note about the --offline switch for running Gradle in an offline environment without internet connection
  • Upgrade Jquery 1.11.0 to JQuery 3.2.1 (OFBIZ-9978)
  • Replace request-redirect w/ no redirect-param attribute by request-redirect-no-param (OFBIZ-9997)
  • Rearrange permission-service tab in updateShoppingList service definition
  • Remove unused service checkContentAssocIds and its usage (OFBIZ-9999)
  • Replace Inline js with External js in renderDisplayField macro (OFBIZ-9843)
  • Fiscal Gl type is reflecting twice in drop-down of Cost Centers (OFBIZ-9759)
  • Moved imagemanagement plugin from images to common/js/plugins (OFBIZ-5776)
  • Add ofbiz_logo.ping (OFBIZ-9760)
  • Use ofbizCurrency macro and remove hardcoded ##0.00 string (OFBIZ-9675)
  • Implement Groovy test in testtools (OFBIZ-9996)
  • improve makeValue in groovy DSL to load directly with a map (OFBIZ-10020)
  • Add ability to store latitude and longitude as well while creating postal address (OFBIZ-9980)
  • Convert BudgetServices.xml mini lang to groovy (OFBIZ-9985)
  • Use console.log instead of alert to show error message if setLocaleFromBrowser returns error
  • Remove unused service checkContentAssocIds and its usage (OFBIZ-9999)
  • Migrate BudgetServiceTest and AutoAcctgBudgetTests from minilang to groovy (OFBIZ-9985)


  • Replace Inline Javascript with External Javascript (OFBIZ-9465)
  • Updated tomcat-embed-websocket jar to 8.5.23
  • Fixing defects reported by FindBugs
    • package org.apache.ofbiz.securityext.login. (OFBIZ-9637)
  • Hardcoded stylesheets and javascript resources (OFBIZ-5682)
  • Upgrade Jquery 1.11.0 to JQuery 3.2.1 (OFBIZ-9978)
  • Replace request-redirect w/ no redirect-param attribute by request-redirect-no-param (OFBIZ-9997)
  • Using Bootstrap Framework for E-Commerce Website (OFBIZ-9760)
  • Removed some inline styling from xhtml and w3c images, also removed protocol from external url and used //, the browser automatically appends the appropriate protocol (OFBIZ-9760)


Functional and technical bugfixes:


  • doDecrypt method may throw ClassNotFoundException, BadPaddingException, instead of catching GeneralException Exception will be caught
  • The online help is broken (OFBIZ-9837)
  • Error on first access to Online Help (OFBIZ-9925)
  • Corrected wrong FindBugs/refactoring change introduced in r1813640. (OFBIZ-9716)
  • Sales by Store report calculates Value Sold incorrectly (OFBIZ-9958)
  • UtilMisc.ensureLocale does not always return a valid Locale. (OFBIZ-9964)
  • Empty Space above Find Payment header OFBIZ-9965
  • NullPointer Access in CategoryContentWrapper.getProductCategoryContentAsText when locale parameter is missing (OFBIZ-9970)
  • EntityListIterator.getComplateList returns error randomly (OFBIZ-9919)
  • Inventory Report PDF lists all available statusId's irrespective of selection criteria (OFBIZ-7438)
  • [FB] Find Security Bugs (OFBIZ-9973)
  • ShippingEvents.getShipGroupEstimate() method gives untraceable null pointer exception for BigDecimal comparison (OFBIZ-9975)
  • Party Id field missing while creating contact list party in the marketing component (OFBIZ-9698)
  • Duplicated dollar symbols should be removed from uiLabels. (OFBIZ-9968)
  • Content related changes needs OFBiz server restart (OFBIZ-9922)
  • Fix Default or Empty Catch block in Java and Groovy files (OFBIZ-8341)
  • OpenStreetMap geolocation no longer works (OFBIZ-9991)
  • Issue in redirection while creating a new party group (OFBIZ-9914)
  • Deleting workeffort from Find WorkEffort page gives unusual response (OFBIZ-9648)
  • Create Related Account from Contact Profile redirect to empty profile screen (OFBIZ-9697)
  • Inventory transfer creates unnecessary record with 0 (zero) (OFBIZ-9971)
  • Incorrect success message after creating prospect (OFBIZ-9896)
  • Add the class GroovyScriptTestCase.java and the simple groovy test-suite in the previous commit related to issue OFBIZ-9996
  • UI Issue with Account Limit at Find Billing Account(s) (OFBIZ-9899)
  • No option to create the account contacts in SFA component (OFBIZ-10010)
  • Replace org.apache.commons.lang.StringEscapeUtils.unescapeHtml() method by org.jsoup.parser.Parser.unescapeEntities() (OFBIZ-10023)
  • Improvements in gift certificate process (OFBIZ-10027)

Tuesday November 14, 2017

Apache OFBiz News - October 2017

Apache OFBiz News October 2017

Welcome to our regular monthly round-up of OFBiz news. This month we have news about a proposed new OFBiz documentation framework, we look at making it easier for users to find out about data model changes, we look forward to having an OFBiz presence at the Open Source Summit in Paris and we prepare to create some new 17.xx branches.

Proposed New Documentation Framework

A lot of discussion has been happening this month on a proposal about setting up a documentation framework integrated within OFBiz. See below for some of the key ideas being suggested:
  • Use of Asciidoc as the documentation language
  • Use of Asciidoctor as the documentation tool
  • Publishing documentation using the Gradle Asciidoctor plugin
  • Each component contains its own documentation
  • General documentation goes to either a standalone directory or a generic component like common or base
  • Documentation files are small and focused on one topic.
  • Publishing will be in all formats including PDF for users, or HTML for embedded help and wiki pages. (NOTE: This means that OFBiz will not parse docbook for its help system, instead it will render generated HTML)
If you have any feedback or would like to be involved with the work to implement our documentation framework then please respond to the documentation framework discussion thread highlighting your willingness to participate or help out.

This will be a big step forward for the project, and thanks to everyone who has contributed so far.

Tracking Data Model Changes

Last month we talked about the new Data Model documentation that had been put together by Aditya Sharma. This month an effort has begun to create a DATAMODELCHANGES.md file that contains the details of the changes to the data model over time. This will make it a lot easier for users to identify and locate data model changes. The initial file will feature all changes between 9.04 to date.

If you would like to keep up to date with what is happening then JIRA OFBIZ-9902 has been created to help track progress.

OFBiz at Open Source Summit in Paris

The ASF has been given half day track at the Open Source Summit in Paris. The conference is free to attend and will take place on 6th and 7th December 2017. A call for presentations (in French or English) was made on the ComDev mailing list and we have an OFBiz presentation on the schedule:
  • DevOps for Apache OFBiz using Jenkins and Selenium - Olivier Heintz
There will also be other members of the OFBiz Community at the event as well as an Apache booth. More details about the event can be found on the conference website: www.opensourcesummit.paris

Preparing to Create OFBiz 17.xx Branches

You may have noticed that there has been a lot of work happening on our dev list. This is in preparation for the creation of some new OFBiz branches from our current trunk. In the past we have usually created one release branch that was stabilsed and then released as our next stable release.

Our current 16.11 stable release was initially created from a trunk branch from November last year, so it is around the right time for us to look at creating a 17.xx branch. However, we now have two trunks - one for the framework and one for plugins so it will be the first time that we will be creating 2 branches. This is an exciting time for the project as we start thinking about what to include before the branches are created.

If you would like to keep informed of the progress around the creation of these new branches then please subscribe to our dev mailing list.

New features and improvements

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


  • Add session tracking mode and make cookie secure (OFBIZ-6655)
  • Moved multiflex theme from themes to plugins (OFBIZ-9789)
  • Moved ecommain.css from common theme to ecommerce plugin as it's only for ecommerce. (OFBIZ-9771)
  • Moved form.css and reset.css from common theme to ecommerce plugin as it's only for ecommerce. (OFBIZ-9771)
  • Update to Tomcat 8.5.23. (OFBIZ-9813)
  • Fixing defects reported by FindBugs,
    • package org.apache.ofbiz.accounting.invoice. (OFBIZ-9541)
    • package org.apache.ofbiz.accounting.thirdparty.clearcommerce. (OFBIZ-9454)
    • package org.apache.ofbiz.base.start. (OFBIZ-9573)
    • package org.apache.ofbiz.base.test. (OFBIZ-9574)
    • package org.apache.ofbiz.base.util.cache. (OFBIZ-9575)
    • package org.apache.ofbiz.base.util.cache.test. (OFBIZ-9576)
    • package org.apache.ofbiz.base.util.string.test. (OFBIZ-9589)
    • package org.apache.ofbiz.common.authentication. (OFBIZ-9627)
    • package org.apache.ofbiz.common.email. (OFBIZ-9628)
    • package org.apache.ofbiz.common.image. (OFBIZ-9629)
    • package org.apache.ofbiz.common.login. (OFBIZ-9630)
    • package org.apache.ofbiz.common.period. (OFBIZ-9631)
    • package org.apache.ofbiz.common.qrcode. (OFBIZ-9633)
    • package org.apache.ofbiz.common.uom. (OFBIZ-9634)
    • package org.apache.ofbiz.security. (OFBIZ-9635)
    • package org.apache.ofbiz.securityext.login. (OFBIZ-9637)
    • package org.apache.ofbiz.service. (OFBIZ-9638)
    • package org.apache.ofbiz.catalina.container. (OFBIZ-9639)
    • package org.apache.ofbiz.common.preferences. (OFBIZ-9640)
    • package org.apache.ofbiz.base.conversion. (OFBIZ-9679)
    • package org.apache.ofbiz.common. (OFBIZ-9681)
    • package org.apache.ofbiz.widget.renderer.html. (OFBIZ-9686)
    • package org.apache.ofbiz.service.group. (OFBIZ-9684)
    • package org.apache.ofbiz.service.engine. (OFBIZ-9688)
    • package org.apache.ofbiz.base.util.collections. (OFBIZ-9590)
    • package org.apache.ofbiz.service.config.model. (OFBIZ-9682)
    • package org.apache.ofbiz.widget.renderer.fo. (OFBIZ-9685)
    • package org.apache.ofbiz.base.crypto. (OFBIZ-9689)
    • package org.apache.ofbiz.service.mail. (OFBIZ-9690)
    • package org.apache.ofbiz.service.calendar. (OFBIZ-9691)
    • package org.apache.ofbiz.base.util. (OFBIZ-9692)
    • package org.apache.ofbiz.service.test. (OFBIZ-9694)
    • package org.apache.ofbiz.service.semaphore. (OFBIZ-9693)
    • package org.apache.ofbiz.widget.cache. (OFBIZ-9695)
    • package org.apache.ofbiz.accounting.thirdparty.sagepay. (OFBIZ-9545)
    • package org.apache.ofbiz.service.eca. (OFBIZ-9683)
    • package org.apache.ofbiz.widget.renderer.macro. (OFBIZ-9702)
    • package org.apache.ofbiz.workeffort.workeffort. (OFBIZ-9703)
    • package org.apache.ofbiz.widget.renderer. (OFBIZ-9704)
    • package org.apache.ofbiz.entity.serialize. (OFBIZ-9705)
    • package org.apache.ofbiz.entity.test. (OFBIZ-9706)
    • package org.apache.ofbiz.entity.transaction. (OFBIZ-9707)
    • package org.apache.ofbiz.service.job. (OFBIZ-9709)
    • package org.apache.ofbiz.widget.model. (OFBIZ-9710)
    • package org.apache.ofbiz.entity.cache. (OFBIZ-9711)
    • package org.apache.ofbiz.entity.finder. (OFBIZ-9712)
    • package org.apache.ofbiz.entity.condition. (OFBIZ-9713)
    • package org.apache.ofbiz.service.rmi.socket.ssl. (OFBIZ-9714)
    • package org.apache.ofbiz.datafile. (OFBIZ-9715)
    • package org.apache.ofbiz.entity. (OFBIZ-9716)
  • removed dependency from start component on base
  • Removed some old and unused images.
  • Using try-with-resources with JDBC objects (OFBIZ-9839)
  • Implement AutoCloseable interface in SQLProcessor Class (OFBIZ-9841)
  • Moved some utility js files from images to common-theme/js/util
  • Removed unused theme related data, also fix the ofbiz logo for bluelight theme.
  • Update build.gradle to the latest dependencies. (OFBIZ-9674)
  • Inconsistent String Comparisons (OFBIZ-9254)
    • accounting java files
    • ftl file
    • framework base
    • application content
    • framework entity
    • order
    • party and workeffort
    • Applications order
    • framework service
    • framework entityext
    • webapp
    • webtools and widgets
  • Usage of factory method or Builder pattern for Locale object creation and usage. (OFBIZ-9488)
  • Proper use of if-has-permission (OFBIZ-9740)
  • Manage life span of SecurityGroupPermission entity. (OFBIZ-9801)
  • While fetching product inventory, it should also return accounting quantity as well.
  • While creating inventory transfer, to-location parameter is not handled (OFBIZ-9834)
  • Added ability to disable seca rule (OFBIZ-9826)
  • Label Manager: Have totals shown at the top of the search results. (OFBIZ-6457)
  • Enhance cookies security (OFBIZ-9865)
  • Secure HTTP headers (OFBIZ-6766)
    • Add no-referrer-when-downgrade Referrer-Policy
    • Add a Content Security Policy To not block anything
  • Facility main screen relies on demo data (OFBIZ-5321)
  • Add rat exclude files to exclude those files that do not need license header (OFBIZ-9856)
  • removed unused empty folder, and its classpath entry from order/ofbiz-component.xml
  • Moved date plugin from images/date to common/js/plugins(OFBIZ-5776)
  • No option to add Event Purpose on Events page, applied patch from jira issue with slightly changes (OFBIZ-9680)
  • Required field indicator (*) is missing
  • Create separate Permission Services for CRUD services of ShoppingList and ShoppingListItem. (OFBIZ-9763)
  • Replace ContentAssoc related CRUD services with entity-auto. (OFBIZ-9907)
  • Added a hint to skip tasks which are automatically invoked during the main task and provided an example to run ./gradle build without the JUnit tests (useful for server deployments).
  • Update to Apache Derby (OFBIZ-9887)
  • Improve Rainbow theme showing themes (OFBIZ-9862)
  • Token Based Authentication (OFBIZ-9833)
  • Move all data in applications to the datamodel component. Moved seed and seed-initial data from party, content, security ext and work effort component. (OFBIZ-9501)


  • Add session tracking mode and make cookie secure (OFBIZ-6655)
  • Moved multiflex theme from themes to plugins (OFBIZ-9789)
  • Updated contentForum.css path in plugins.
  • Moved ecommain.css, form.css and reset.css from common theme to ecommerce plugin as its only for ecommerce. (OFBIZ-9771)
  • Update Apache Solr/Lucene to release 6.6.0. (OFBIZ-9391)
  • Add a new plugin for the redis (OFBIZ-9829)
  • Updated miscAjaxFunctions.js location in ecommerce component
  • Proper use of if-has-permission (OFBIZ-9740)
  • Manage life span of SecurityGroupPermission entity. (OFBIZ-9801)
  • Removed unfinished Solr query functionality from the codebase which was introduced with (OFBIZ-6595)
  • Update Solr/Lucene to 7.1.0 [CVE-2017-9803] [CVE-2017-12629]. (OFBIZ-9835)
  • Inconsistent String Comparisons, Applied patch for plugins classes. Thanks Devanshu Vyas for your contribution (OFBIZ-9254)


Functional and technical bugfixes:


  • EmailServices.sendMailFromScreen improved to take multiple attachments with appropriate type along with several email fixes. (OFBIZ-9395).
  • InitTheme.groovy can't work without request (OFBIZ-9798)
  • FTL Error in OrderView screen (OFBIZ-9803)
  • Moved contentForum.css to contentimages webapp and updated path accordinlgy. (OFBIZ-6259)
  • Exception in service semaphore in wait mode and with multi thread calls. (OFBIZ-9534).
  • the introduction of multicatch in Converters.java which came with r1811434 breaks MiscTests#testLoadContainedConvertersIgnoresException
  • Template edit are not working correctly (OFBIZ-9830)
  • Purchase Order is not getting canceled automatically if all items are canceled (OFBIZ-9838)
  • GlAccountOrganizations manually added using accounting forms do not appear on trial report because fromDate gets set to NULL (OFBIZ-5938)
  • Corrected elseif tag closing in GenericSurvey.ftl file found this while working on OFBIZ-9254
  • Lead Profile missing if clicked on other menu (OFBIZ-9655)
  • Wrong String comparisons introduced in r1812255.
  • added JavaDoc param name and description.
  • Not setting VIEW_INDEX for IterateSectionWidget.renderWidgetString causes rendering error (OFBIZ-9889)
  • Moved enabled attribute definition to its correct place, it was added in wrong attribute group
  • X-Frame-Options configuration is not working (OFBIZ-9891)
  • Party Id label missing from edit data resource role. Remove the empty title property to populate the default ui label using FormFieldTitle_ pattern. (OFBIZ-9758)
  • Fixed Asset Id field is below update button on EditInventoryItem page (OFBIZ-9503)
  • Issue while removing RateAmount Record (OFBIZ-9904)
  • Success message showing before the party identification number is updated (OFBIZ-9895)
  • Fixed testExpirePartyRate test. Passed required field as per modification in service definetion. (OFBIZ-9904)
  • Service level check is missing on transfer inventory. (OFBIZ-9842)
  • Request handler exception in create billing account from suppliers profile page. (OFBIZ-9751)
  • Issue while creating new person in the party component. (OFBIZ-9653)
  • ofbizsetup cannot create first customer. problem with state/province dropdown (OFBIZ-6054)


  • Added EC_DEFAULT as theme for ecommerce. (OFBIZ-9805)
  • Get the header and footer template location correctly in ecommerce main decorator. Now multiflex theme will work fine with ecommerce.(OFBIZ-9805)
  • setLocaleFromBrowser request missing for webpos component (OFBIZ-9847)
  • Removed getRelatedOneCache cache call, as this method is removed from trunk.

Wednesday October 11, 2017

Apache OFBiz News - September 2017

Apache OFBiz News September 2017

Welcome to our regular monthly round-up of OFBiz news. This month we have news about another documentation effort but this time it is around our existing Data Model, we continue to tidy up our new website, we discuss the possibility of adding bitcoin support to OFBiz and we take a look at some of our Twitter statistics.

Updated OFBiz Data Model Book

Recently we have been looking at ways to improve our documentation and it has been a focus of the project and over the last month and contributors in our community are working hard to update our review and update our existing documentation. Many of you may already know about the OFBiz Data Model diagrams that were put together by David E. Jones. Over time OFBiz has changed, so we have had to make adjustments and improvements to the original Data Model.

Last week Aditya Sharma announced an updated version of the OFBiz Data Model that has been published on our wiki. Details can be found at the link below: Big Book for Apache OFBiz Data Model 2017

The main key changes are as follows:
  • Colored content with titles according to the internal color pattern.
  • Added a separate page for integration specific entities.
  • Removed technical process diagrams, making it specific for entities.
  • Added 77 new entities.
  • Removed 8 entities.
  • Added around 200+ new fields in entities (Though major portion includes the addition of description or attrDescription fields in *Attribute or *TypeAttr entities).
  • Removed 24 fields.
This is a great resource for anyone wanting to understand the OFBiz Data Model and its relationships. A big thank you to Aditya Sharma, Sonal Patwari and everyone who contributed to this effort.

Ongoing Website Improvements

Last month we told you about our new website going live. Over the last few weeks, we have continued to do some minor corrections and other small tasks associated with tidying up the site. We hope that the community is finding the new site useful and easy to navigate.Thanks very much to everyone who is helping out with these tasks especially Jacques Le Roux.

Also contributors from our French community are keen to promote OFBiz in France and have proposed ways to make the content from our website available in French. Work is already in progress around this and a Jira has been created with the details.

Our next step will be to put together our plans to continue to improve the site and information.

Adding Bitcoin Support in OFBiz

One of the discussions raised this month was regarding a proposal to add Bitcoin support to OFBiz. Details of the thread can be found below: Bitcoin Discussion As feedback was very positive and a Jira Ticket has been created which is to be used to monitor the progress of adding and testing this new feature.

Thanks very much to Julian Smith for the proposal and the offer to provide a patch for this functionality. We look forward to seeing the results.

Apache OFBiz on Twitter

The project has been using its Twitter account to promote OFBiz and its features, community and the ASF. Currently, we have made over 1700 tweets and have 469 followers. Over the last month, our tweets are gained over 2000 impressions which means that we are successfully spreading the word. Guess what tends to be our most popular monthly tweet? - The answer is a link to this monthly blog update!

We would like to continue to increase our following so if you would like to keep up to date with what is happening on the project then please follow @ApacheOfbiz.

New features and improvements

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


  • CommonEvents improvements (OFBIZ-9673)
  • Missing foreign key constraint
    • for fields userLoginId & userPrefGroupTypeId in UserPreference entity (OFBIZ-9678)
    • OrderItem entity for ShoppingListItem (OFBIZ-9767)
  • Merge extended entity definition in data model component into the existing entity definition (OFBIZ-9581)
  • Required field indicator (*) is missing
    • from the required field on add content role. (OFBIZ-9749)
    • on the Add an association section (OFBIZ-9748)
    • from the required field on create website content form, applied patch from jira issue (OFBIZ-9741)
    • from the required field on create website form, applied patch from jira issue (OFBIZ-9739)
    • from create web site parties. (OFBIZ-9754)
  • Extend SecurityGroup entity and add name/groupName field. Added groupName field to entity SecurityGroup and related changes done in the data, services and UI. (OFBIZ-9620)
  • Moved to common-theme
    • jquery related js/plugins from images to webapp (OFBIZ-5776)
    • Moved OfbizUtil.js and fieldlookup.js from images to common-theme and made changes accordingly. (OFBIZ-5776)
  • Removed unused file categorytree.css from code
  • Moved images from webapp/multiflex/* to webapp/multiflex/images and updated references
  • Add session tracking mode and make cookie secure (OFBIZ-6655)
  • Missing Relationship from OrderHeader to WebSite (OFBIZ-9647)
    • Upgrade and clean the implementation for OWASP dependency checker
    • Upgrade the version from 1.4.0 to 2.1.1
    • Remove the dependency on MavenCentral and replace it with a custom link to the original source of work using a custom maven URL. Thus all dependencies are downloaded from JCenter to avoid duplication of library downloads.
    • Update README.md on how to use this task
  • Updated phone validation method to validate phone for specific geo. (OFBIZ-9358)
  • New Rule Based Number Format for Indian Number System in International Components for Unicode (ICU) OFBiz usage. (OFBIZ-9489)
  • Update UtilMisc.formatRuleBasedAmount() method to take rules and ruleSet and formatting can be done, rather than system providing all ruleset support. (OFBIZ-9490)
  • Apply new ruleSet definition into Ofbiz files. (OFBIZ-9515)


  • Updated moved file references for plugins (OFBIZ-5776)
  • Apply new ruleSet definition into Ofbiz files. (OFBIZ-9515)


Functional and technical bugfixes:


  • Fix references where Mime type is displayed in HTML encoded pattern (OFBIZ-9644)
  • Fix Default or Empty Catch block in Java and Groovy files (OFBIZ-8341)
  • Can enter empty content for product facility (OFBIZ-8323). A Generic Issue with EntityAutoEngine in which success message is appended to result after invoking create, update, delete, expire methods.
  • FacilityId should be mandatory for Create Inventory Item form in EditInventoryItem screen (OFBIZ-9499)
  • Error in payment address for purchase invoice via service createinvoicefororder (OFBIZ-9535)
  • Add JsLanguageFilesMapping.java location to createJsLanguageFileMapping service
  • Add auto generated java file for language mapping js.
  • Fix missing UiLabels (OFBIZ-9745)
  • MRP incorrectly computes quantity already received in open purchase order shipments. (OFBIZ-9525) The MRP algorithm incorrectly computed the quantity of items partially received in a purchase shipment because it leveraged the OrderReadHelper.getItemShippedQuantity(...) method that is intended to be used only to count the quantity shipped of sales order.
  • Corrected Readme.md file path.
  • Transaction Timeout in JavaEventHandler (OFBIZ-9725) When running a service from webtools (not scheduling it) the duration of the service is limited to the transaction default timeout (60 seconds)
  • 'Find Opportunities' field name is reflecting in place of 'Opportunity Id' on FindSalesOpportunity screen, applied patch from jira issue (OFBIZ-9753)
  • Creating Lead Source from profile page it redirects to empty profile page (OFBIZ-9553)
  • UI issue in Lead Lookup on find opportunity (OFBIZ-9477)
  • Fix type entities to follow convention of hasTable (OFBIZ-9696)
  • UI issue on web pos for different themes. (OFBIZ-7253)


  • Fix references where Mime type is displayed in HTML encoded pattern (OFBIZ-9644)
  • Empty rows in Excel files affect the imported data (OFBIZ-9728)
  • Ftl error shown on Edit Shopping List page in ecommerce component (OFBIZ-9742)
  • Getting error in select frequency drop down on eCommerce shopping list screen (OFBIZ-9762)
  • UI issue on Web POS for different themes. (OFBIZ-7253)

Monday September 18, 2017

Apache OFBiz News - August 2017

Apache OFBiz News August 2017

Welcome to our regular monthly round-up of OFBiz news. This month we have news about a new documentation effort to produce a Business Process Reference Guide, our new look OFBiz project website goes live, we discuss improving the look and feel of our blog, and we welcome two new committers.

New OFBiz Website

In previous updates, we have mentioned the work happening to update our existing website. It has been in progress for a while but during August we are proud to announce that our new OFBiz website went live. The new site includes our updated logo and has a totally new look and feel that we hope our community and potential OFBiz users will like.

A key focus was on making it easy for developers and non-developers to get started as well as providing links to key information. Since it went live, we have been implementing minor changes and feedback from the community and has been very positive. We will be looking to add additional pages such as an OFBiz Service Providers list and more FAQs in the future.

Thanks very much to everyone that contributed to the website in any way and especially Kenneth Paskett for his graphic design, Deepak Dixit and the Apache Infrastructure team for their help in moving the site live.

Improving our Blog Template

Following on from the work done on creating a new logo and website, this month the community discussed improving our blog template

Kenneth Paskett who did the graphic work for the logo and the new website has come up with a draft idea for a layout so please feel free to join the discussion and tell us what you think.

OFBiz Business Process Reference Guide

Another discussion that came up this month was about creating an OFBiz Business Process Reference Guide. Community feedback was very positive and some work has already started. The aim is to provide a process overview for each area including activity diagrams and also incorporate user stories, use cases and test cases.

An example of the work for the Sales Order Management can be found at the links below: The Parent page for all these documents can be found here.

Thanks very much to contributors Shivangi Tanwar, Sonal Patwari, Priya Sharma, Humera Khan, Renuka Srishti, Jagpreet Kaur and also Pranay Pandey for working on this important documentation effort. We hope that this set of documentation will greatly help potential OFBiz users and evaluators.

New OFBiz Committers

During August the Project Management Committee (PMC) invited two new Committers, Rishi Solanki and Akash Jain. Congratulations to both Rishi and Akash and thank you for all your contributions to the project.

New features and improvements

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


  • Replace fields with id-ne, id-long-ne and id-vlong-ne by id, id-long and id-vlong respectively which are not primary keys (OFBIZ-9355)
  • Remove unnecessary field types, also removed -ne field references from code. (OFBIZ-9351)
  • Remove the never implemented deleteParty (pre Apache era) (OFBIZ-9556)
  • Refactor EntityListIterator (OFBIZ-9549)
  • OEM Party Id field should have lookup on Edit Product page (OFBIZ-9368)
    • Removed manufacturerPartyId from Product entity
    • Removed its relations from view entities namely GoodIdentificationAndProduct
    • Removed it from forms EditProduct (Product), SearchInventoryItemsParams (EditFacilityInventoryItems screen in Facility) and SearchInventoryItemsDetailsParams (ViewFacilityInventoryItemsDetails screen in Facility)
  • Bugfixes found by FindBugs
    • Package org.apache.ofbiz.base.lang (OFBIZ-9564) Implemented method hashCode() because method equals() was implemented, Changed Exception to RuntimeException because no exception was thrown and the only occurring exception could be a runtimeexception
    • Package org.apache.ofbiz.base.lang.test (OFBIZ-9565) Fixes some diamond operators
    • Package org.apache.ofbiz.base.concurrent (OFBIZ-9562) Fixes some diamond operators, Implementes equals method to fix potential problems, Implementes hashCode method because equals method was implemented, Implemented timeDiff method to keep the code DRY
    • Package org.apache.ofbiz.base.container (OFBIZ-9563) Fixes some diamond operators, deleted multiple unnecessary nullchecks, added nullcheck, deleted multiple unnecessary else-blocks
    • Package org.apache.ofbiz.base.config (OFBIZ-9566) The protected fields were set to private since the class is not extended anywhere. If they need to be accessed in the future, getter that return an unmodifiable version should be implemented (Collections.unmodifiableXXX). Refactor: Uses multi exceptions catch (explicitly to not catch, hence somehow swallow, RuntimeException), Uses return instead of else when appropriate, Extracts a getLoader() handy method, Removes a useless thrown exception in invalidateDocument(), Removes a useless Document cast
    • Package org.apache.ofbiz.base.metrics (OFBIZ-9567) Changes a division with two long variables whose result was casted into a double, Now it performs a proper double division
    • Package org.apache.ofbiz.accounting.thirdparty.gosoftware. (OFBIZ-9486)
    • Package org.apache.ofbiz.accounting.finaccount (OFBIZ-9504) FinAccountPaymentServices.finAccountPreAuth(DispatchContext, Map) A value is checked here to see whether it is null, but this value can't be null because it was previously dereferenced and if it were null a null pointer exception would have occurred at the earlier dereference.
    • Package org.apache.ofbiz.accounting.ledger. (OFBIZ-9505)
    • Packages org.apache.ofbiz.accounting.period and org.apache.ofbiz.accounting.tax. (OFBIZ-9527)
    • Package org.apache.ofbiz.base.component. (OFBIZ-9560)
  • Manage deprecated service in the ModelService, When removing a service a new XML element <deprecated> can be added (OFBIZ-9558)
  • Connect OFBiz to a read only database, Add a DAO helper class to use a datasource as readonly. (OFBIZ-6401)
  • Deprecated Methods
    • OrderChangeHelper (OFBIZ-9570) The methods abortOrderProcessing and releaseInitialOrderHold have been deprecated since the workflow engine has been replaced by the ECA.
  • Replace unnecessary local variable ZERO with BigDecimal.ZERO. (OFBIZ-9529)
  • ServiceSemaphore: Check for Transaction before suspending it in dbWrite(...) (OFBIZ-9401)
  • Replace BigDecimal.ROUND_* by RoundingMode.* (OFBIZ-9571)
  • GenericServiceJob.failed(Throwable) avoid logging stacktraces for non technical service semaphore exceptions (OFBIZ-9400)
  • New UtilMisc method collectionToString(...) safely building a String with the given collection and delimiter (OFBIZ-9397)
  • Required field indicator (*) is missing on some forms (OFBIZ-9579)
  • Required Field Indicator (*) / Form Validation is missing on Create New Data Source Form (OFBIZ-7462)
  • Check for white spaces around the name of a form field when updating a form (OFBIZ-9306)
  • Enable/Disable JMS via configuration (OFBIZ-4454)
  • Required Field Indicator (*) / Form Validation is missing on Create New Data Source Form (OFBIZ-7462)
  • Required field indicator (*) is missing on create contact list form (OFBIZ-9587)
  • Client side validation is missing in quick create accounting transaction process (OFBIZ-9583)
  • EmailServices.sendMailFromScreen improved to take multiple attachments with appropriate type along with several email fixes. (OFBIZ-9395)
    • it enables to add BCC adress(es) to service OrderServices.sendOrderNotificationScreens to oversteer ProductStoreEmailSetting of BCC the same was as for CC.
    • a method UtilValidate.isEmailList(String) is added to check a comma separated list of email addresses, used for example to check the String passed to the new BCC field for an Order-Notification.
    • there are improvements in EmailServices.sendMailFromScreen. The attachment type of MailAttachments is now not only .pdf but depends on the specific file. This has not been the case before - the mime type was always hard coded as .pdf. The same goes for the bodyPart content-type which is now set to the passed content type or the default text/html type. Before this was also always set to text/html. Additionally, an attachment that has the mime-type text/plain is not rendered with the fop-renderer anymore but with a simple text-renderer. Therefore it is possible to send an CSV file as attachment now.
  • Use auto-attributes in ProductFeatureCategory CRUD services (OFBIZ-9608)
  • Add explicit UEL (unified expression language) function to resolve a label, instead of calling a static worker via groovy (OFBIZ-9617)
  • Manage life span of marketing related entites (OFBIZ-9550) Add life span attributes (fromDate, thruDate) on entities : MarketingCampaignPrice, MarketingCampaignPromo, MarketingCampaignRole Complete related CRUD service with align service name on the best pratice for consistency. The previous service name has been set as deprecated :
    • addPromoToMarketingCampaign replace by createMarketingCampaignPromo
    • removePromoFromMarketingCampaign replace by deleteMarketingCampaignPromo
    • addPriceRuleToMarketingCampaign replace by createMarketingCampaignPrice
    • removePriceRuleFromMarketingCampaign replace by deleteMarketingCampaignPrice
  • common-theme upload (OFBIZ-9138) Migrate themes to common-theme component.
  • Move all data in applications to the datamodel component. (OFBIZ-9501)(content, workeffort, product)
  • User should be notified with success message on adding note for party in party component. (OFBIZ-9538)
  • Wrong success message after creating lead in sfa component. (OFBIZ-9518).
  • Use from-field pattern instead of value=dollor pattern in 'set' element Apply slightly modified patch from jira issue, fixed some typo (OFBIZ-9607)
  • When creating New Lead, Lead Source should be associated with the Lead. (OFBIZ-9588)
  • Refactor OFBiz containers and remove StartupCommandToArgsAdapter (OFBIZ-9441)
    • Fully refactor the EntityDataLoadContainer
    • Fully refactor the TestRunContainer
    • Remove most old documentation and commented out code where applicable
    • Delete the StartupCommandToArgsAdapter as it is no longer needed
    • Create a new feature in which OFBiz by default fails if any data file fails to load. This can be overridden by passing a flag called "continue-on-failure" e.g. ./gradlew "ofbiz --load-data continue-on-failure"
    • Add a new property to --test called "loglevel" (old code but working properly)
    • Add many new properties to the --load-data command including repair-columns, try-inserts, maintain-txs, etc
    • Update the documentation output of ./gradlew "ofbiz --help" to incorporate the new mentioned properties
    • Refactor README.md to incorporate the changes to the gradle commands for both "-load-data" and "-test" properties. Also remove the gradle GUI documentation as it is now deprecated.
    • Also refactor README.md in other locations to cleanup and make it more consistent. This icludes moving long notes into new sections and reducing the verbosity of the security header. Furthermore, created a new header called Miscellaneous documentation to house the newly created sections


  • Replace fields with id-ne, id-long-ne and id-vlong-ne by id, id-long and id-vlong respectively which are not primary keys (OFBIZ-9355)
  • Removed ne references from BirtUtil class file (OFBIZ-9351)
  • OEM Party Id field should have lookup on Edit Product page (OFBIZ-9368)
  • Removed duplicate field type entry from BirtUtil class file.
  • Change all <set> screen and script groovy that call widget.properties values replaced by call to modelTheme (OFBIZ-9138)
  • Use from-field pattern instead of value=dollor pattern in 'set' element Apply slightly modified patch from jira issue, fixed some typo (OFBIZ-9607)


Functional and technical bugfixes:


  • Bug SQL Count Distinct command in GenericDAO.java (OFBIZ-5701)
  • Connect OFBiz to a read only database, Escape null pointer exception stack trace when the helper return no value (OFBIZ-6401)
  • Bugfixes found by FindBugs
    • Package org.apache.ofbiz.accounting.payment (OFBIZ-9529)
  • Missing fieldInfo when call constructor for ModelFormField Password, File and Lookup (OFBIZ-9577)
  • Collection added to itself (OFBIZ-9578)
  • LabelManager doesn't search labels in .groovy files (OFBIZ-8153)
  • Ecommerce login/logout don't work properly for trunk and stable (OFBIZ-9240) To fix this problem the code which copies all the attribute from parent request to redirect request was removed because this thing is already taken care of in the RequestHandler.
  • Consistency and Readability improvements
    • for view-map tag (OFBIZ-9110) Consistency on the attribute order for view-map element as : name, type, page
    • for make-value tag (OFBIZ-8986) Consistency on the attribute order for make-value element as : entity-name, value-field
  • clean marketing-entitymodel.xml file with remove all field empty body xml (OFBIZ-9550)
  • clean (second pass) marketing-entitymodel.xml file to realign correctly the file format (OFBIZ-9550)
  • MimeType displayed in HTML encoded pattern (OFBIZ-9621)
  • Correct all Theme.xml file fo the theme definition with the good xmlns (OFBIZ-9138)
  • Updated deprecated element type set mixed as true in services.xsd as we are using it in mixed mode. Also moved deprecated sequence after namespace.Found this issue while reading log, this will fix those warnings.
  • Warning related to duplicate type assignment for widget attribute in theme.xsd file
  • Removed unused attribute sequenceId from property element, also fix position value from topLeft to top-left as per dtd
  • Logo image was missing in tomahawk theme.
  • Removed the visualThemeSetId for common theme. Now common theme will be display on backend visual theme popup. (OFBIZ-9138)
  • NullPointerException when calling EntityQuery#getFieldList if distinct is not explicitly set(OFBIZ-9624)
  • Correct library ftl call to render the email body, add possibility to call the ThemeFactory.resolveTheme() with empty request if the visualTheme normaly present on the service context isn't found, so we return the default theme define in general.properties (OFBIZ-9138)
  • Lead Profile URL not working properly in SFA. (OFBIZ-9512)
  • Improvements in LabelReferences class (OFBIZ-9623)
  • LabelManager doesn't search labels in all elements in xml (OFBIZ-9606) Currently, label manager for xml search only for fail-property elements in xml files, it should also search for the property-to-field, default-message element in xml files.
  • Updated images component reference path, as images component were removed and now these files are part of common-theme componnet.
  • Rename the URL for gradle tab-completion to the correct official one
  • Unable to create Customer (OFBIZ-9649)
  • Groovy MissingPropertyException related to theme.(OFBIZ-9657)
  • Party Communication Screen is broken (OFBIZ-9670). Issue was due to missing closing quotes in from-field attribute of set field tag.
  • Typo introduced in r#1806326 (OFBIZ-9607)
  • Jgrowl lost configuration with common-theme (OFBIZ-9138)
  • Lookup property showDescription not present in common-theme (OFBIZ-9138)
  • HtmlFormMacroLibary.ftl contains direct call to widget.properties (OFBIZ-9138) Instead of using the properties on the current theme, some ftl macro present in the file HtmlFormMacroLibary.ftl used a direct call to widget.properties.


  • Consistency and Readability improvements
    • for view-map tag (OFBIZ-9110) Consistency on the attribute order for view-map element as : name, type, page
    • for make-value tag (OFBIZ-8986) Consistency on the attribute order for make-value element as : entity-name, value-field
  • Correct library ftl call to render the email body (OFBIZ-9138) add possibility to call the ThemeFactory.resolveTheme() with empty request if the visualTheme normaly present on the service context isn't found, so we return the default theme defined in general.properties
  • Updated images component reference path, as we removed images component and now these files are part of common-theme component.
  • Used semicolon instead of comma to terminate css statement
  • HTML encoded path of image is showing on product detail page, applied slightly modified patch from jira issue.(OFBIZ-9654)
  • Stack trace on E-commerce Home page (OFBIZ-9652) Updated common template path as now these common template moved to common-theme component.
  • Unable to create Customer (OFBIZ-9649)

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



    Hot Blogs (today's hits)

    Tag Cloud