Apache OFBiz News July 2020

Welcome to our regular monthly round-up of OFBiz news. This month we have news about the new release, PMC members, and screen engine improvements along with our usual list of features, improvements, and Statistics.

Apache OFBiz 17.12.04 Released!

During this month the community announced the release of 17.12.04.
The new release consolidates all work done since the previous release in April 2020. 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.  

Please note that a security vulnerability has been reported for the previous OFBiz releases. It is highly recommended that you upgrade to the 17.12.04 release to mitigate this vulnerability. Details can be found on the Security page, mail thread1, and thread2

New PMC Members

The OFBiz PMC has invited Suraj Khurana, Aditya Sharma, and Arun Patidar to become new members of
the committee and we are glad to announce that they have accepted the
nomination.
Please join us in welcoming and congratulating them in their new role on
the project, and also thanking them for all their contributions.

Screen engine improvements

During this month, the community discussed the proposal presentation by Nicolas Malin to homogenize and empower the
screen
engine. The changes aim to improve the end-user experience on the
back-office screen and designed to decrease the XML form definition,
based upon the functional concept of various technologies.
Here are some links for more insights:

  1. Presentation
  2. OFBIZ-11808
  3. Mail thread

Thank you Nicolas for the proposal and to everyone who provided valuable input to his proposal.

Ongoing efforts to fix lint issues

Linting is the software
engineering practice involving automated checking of source code for
programming errors, bugs, stylistic errors, and suspicious constructs.
This is achieved by using a lint tool or linter which is basically a
static code analyzer. During this month, the community discussed fixing
various issues identified using the linting tool checkstyle available with OFBiz as Gradle plugin.
Here are some links for more insights:

  1. OFBIZ-11350
  2. Mail thread 1, Mail thread 2, Mail thread 3 and Mail thread 4

Thank you, Suraj Khurana, Jacques Le Roux, Pritam Kute, and to everyone who contributed to the discussion and the effort.

OFBiz Statistics

Apache Kibble tracks some Apache OFBiz community statistics on its
demo instance, so we have highlighted a few of our stats for the last
month:

  • JIRA Issue Tracker: 70 issues were opened and 90 issues were closed ( 12 different people helped to close these issues)
  • Code Change and Commit Activity:
    • Framework: 168 commits to the code base that changed 35,898 lines of code ( 9 committers were active)
    • Plugins: 41 commits to the code base that changed 9,436 lines of code ( 5 committers were active)
  • Mailing Lists:
    • Dev: 246 emails sent and 49 topics discussed (39 different people)
    • User: 65 emails sent and 16 topics discussed (22 different people)

New features and improvements

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

Framework

  • Converts AutoAcctgTransTestsSales tests from mini-lang to groovy (OFBIZ-11526)
  • Converts cancelPaymentBatch service from mini-lang to groovy (OFBIZ-11489)
  • Converts getDataResource service from mini-lang to groovy (OFBIZ-11381)
  • Converts getPayments service from mini-lang to groovy (OFBIZ-11495)
  • Converts AutoInvoiceTests from mini-lang to groovy (OFBIZ-11531)
  • Adds new MacroFormRenderer unit tests (OFBIZ-11456) (#213)
  • Converts getContentAndDataResource service from mini-lang to groovy (OFBIZ-11382)
  • Converts createContentFromDataResource service from mini-lang to groovy (OFBIZ-11377)
  • Converts getInvoicePaymentInfoList service from mini-lang to groovy (#148) (GitHub Link)
  • Converts deleteContentKeywords service from mini-lang to groovy (OFBIZ-11391)
  • Converts AutoPaymentTests from mini-lang to groovy (OFBIZ-11535)
  • Provides EntityBatchIterator which pages through large resultsets and adds support for EntityBatchIterator to EntityQuery via 'queryBatchIterator' (OFBIZ-11789) (#191)
  • Corrects all 'if is not followed by whitespace' checkstyle errors. Also corrects few ', is not followed by whitespace' checkstyle errors in framework component (OFBIZ-11805)
  • Corrects all 'if is not followed by whitespace' checkstyle errors. Also corrects few ', is not followed by whitespace' checkstyle errors in applications component (OFBIZ-11805)
  • Updates tasks.checkstyleMain.maxErrors to 26432 (-249) (GitHub Link)
  • Moves a comment to its right location (GitHub Link)
  • Converts OrderTests from mini-lang to groovy (OFBIZ-11849)
  • Converts ShipmentTests from mini-lang to groovy (OFBIZ-11850)
  • Removes trailing blanks found by chance and updates checkstyleMain.maxErrors (GitHub Link)
  • Corrects remaining ', is not followed by whitespace' checkstyle errors in framework component (OFBIZ-11805)
  • Updates tasks.checkstyleMain.maxErrors to 26161 ~(-270) (GitHub Link)
  • Removes unused SuppressWarnings and adds proper space after comma and before '{' in class LoginServices (OFBIZ-11805)
  • Corrects typo in license header text in classes ModelActionVisitor, ModelConditionVisitor and ModelFieldVisitor (GitHub Link)
  • Converts InventoryTests from mini-lang to groovy (OFBIZ-11851)
  • Adds information to install without the demo data (GitHub Link)
  • Corrects all checkstyle issues related to succeeding space for comma in applications directory (OFBIZ-11805)
  • Corrects all checkstyle issues related to succeeding space for comma in framework directory (OFBIZ-11805)
  • Updates tasks.checkstyleMain.maxErrors to 25829 ~(-327) (GitHub Link)
  • Converts getPaymentGroupReconciliationId service from mini-lang to groovy (OFBIZ-11496)
  • Introduces support for having condition in EntityQuery#queryList method (OFBIZ-11846)
  • Improves UI/UX on Find Agreements screen with missing thruDate (OFBIZ-10373)
  • Formats file 'INSTALL' as a standard text file rather than an AsciiDoc file (GitHub Link)
  • Provides better message for host-headers-allowed (GitHub Link)
  • Puts the AsciiDoc files in main repo under the web site in HTML-Format (OFBIZ-11879)
  • Corrects checkstyle formatting issues, 'is preceded/not preceded with whitespace' for applications component (OFBIZ-11874)
  • Corrects checkstyle formatting issues, 'is preceded/not preceded with whitespace' for framework component (OFBIZ-11874)
  • Updates tasks.checkstyleMain.maxErrors to 24550 ~(-1280) (GitHub Link)
  • Adds a link to the HTML and PDF versions on the web site (GitHub Link)
  • Corrects all checkstyle formatting issues: Line has trailing spaces in applications component (OFBIZ-11880)
  • Corrects all checkstyle formatting issues: Line has trailing spaces in framework component (OFBIZ-11880)
  • Updates tasks.checkstyleMain.maxErrors to 22945 ~(-1405) (GitHub Link)
  • Adds getter method for LabelFile's componentName (OFBIZ-11751)
  • Corrects formatting of class LoginServices (GitHub Link)
  • Provides the use of Error.ftl everywhere it's not yet used (OFBIZ-11890)
  • Replaces hard coded label in ProductUomDropDownOnly by dynamic translated label (OFBIZ-11891)
  • Adds missing jGrowl map file (OFBIZ-11892)
  • Adds missing map for minified OpenLayers js and css (OFBIZ-11883)
  • Provides new service definition attribute 'verb' to denote the corresponding HTTP method (OFBIZ-11328) (#214)
  • Corrects all checkstyle formatting issues: 'typecast' is not followed by whitespace in applications component (OFBIZ-11887)
  • Corrects all checkstyle formatting issues: 'typecast' is not followed by whitespace in framework component (OFBIZ-11887)
  • Updates tasks.checkstyleMain.maxErrors to 21638 ~(-1310) (GitHub Link)
  • Converts updateCommContentDataResource service from mini-lang to groovy (OFBIZ-11379)
  • Reflects cross-site scripting in content component (OFBIZ-11840)
  • Converts indexContentKeywords and forceIndexContentKeywords services from mini-lang to groovy (OFBIZ-11390)(OFBIZ-11392)
  • Converts createEmailContent service from mini-lang to groovy (OFBIZ-11370)
  • Fixes an ProductWorker API typo (GitHub Link)
  • Converts createPartyRelationshipType service from Java to entity-auto and updates its service calls (OFBIZ-11895) (#216)
  • Corrects some single line statements to fix checkstyle issues, also removes some remaining extra spaces from code to avoid checkstyle erros in applications component (OFBIZ-11886)
  • Corrects some single line statements to fix checkstyle issues, also removes some remaining extra spaces from code to avoid checkstyle erros in framework component (OFBIZ-11886)
  • Updates tasks.checkstyleMain.maxErrors to 20662 ~(-980) (GitHub Link)
  • Updates checkstyle.xml with allowSingleLineStatement as true. This brings down checkstyle maxErrors to 20037.(-625) (OFBIZ-11886)
  • Updates build.gradle to the latest dependencies (OFBIZ-11903)
  • Converts createRoleType service to entity-auto from Java and update its service calls (OFBIZ-11894) (#215)
  • Converts ProductPriceTests from mini-lang to groovy (OFBIZ-11856)
  • Updates case indentation to 0 for all switch statements in framework component. Also does formatting changes as per checkstyle best practices (OFBIZ-11904)
  • Updates case indentation to 0 for all switch statements in applications component. Also does formatting changes as per checkstyle best practices (OFBIZ-11904)
  • Updates tasks.checkstyleMain.maxErrors to 18050 ~(-2000) (GitHub Link)
  • Converts CostTests from mini-lang to groovy (OFBIZ-11859)
  • Updates tasks.checkstyleMain.maxErrors (-2, from JavaDoc formatting) (GitHub Link)
  • Corrects all incorrect indentation level issues in application component, also fixes some case indentation checkstyle issues (OFBIZ-11922)
  • Corrects all incorrect indentation level issues in framework component, also fixes some case indentation checkstyle issues (OFBIZ-11922)
  • Updates tasks.checkstyleMain.maxErrors to 15022 ~(-3030) (GitHub Link)
  • Converts ProductTagTest from mini-lang to groovy (OFBIZ-11857)
  • Changes content of VERSION file added during INFRA-19443 (GitHub Link)
  • Improves inconsistent String comparisons (OFBIZ-9254)
  • Converts testCreateAndUpdateContactList test from mini-lang to groovy (OFBIZ-11877)

Plugins

  • Adds plugin for integration of 1st Data payment gateway (OFBIZ-11837)
  • Inhibits possible bug in AcceptedBacklogNotification.ftl, if there is no person (GitHub Link)
  • Corrects all 'if is not followed by whitespace' checkstyle errors. Also corrects few ', is not followed by whitespace' checkstyle errors (OFBIZ-11805)
  • Corrects remaining ', is not followed by whitespace' checkstyle errors in plugin component (OFBIZ-11805)
  • Corrects all checkstyle issues related to succeeding space for comma in plugins directory (OFBIZ-11805)
  • Corrects checkstyle formatting issues, 'is preceded/not preceded with whitespace' for plugins component (OFBIZ-11874)
  • Corrects all checkstyle formatting issues: Line has trailing spaces in plugins component (OFBIZ-11880)
  • Provides the use of Error.ftl everywhere it's not yet used (OFBIZ-11890)
  • Corrects all checkstyle formatting issues: 'typecast' is not followed by whitespace in plugins component (OFBIZ-11887)
  • Renames a few map files (OFBIZ-11882)
  • Corrects some single line statements to fix checkstyle issues, also removes some remaining extra spaces from code to avoid checkstyle erros in plugins component (OFBIZ-11886)
  • Updates build.gradle to the latest dependencies (OFBIZ-11903)
  • Improves UI of product summary in promotion product list (OFBIZ-11906)
  • Improves UI of an header in CheckoutIptions.ftl (OFBIZ-10136)
  • Updates case indentation to 0 for all switch statements in plugins component. Also does formatting changes as per checkstyle best practices (OFBIZ-11904)
  • Corrects all incorrect indentation level issues in plugins component, also fixes some case indentation checkstyle issues (OFBIZ-11922)
  • Reduces inconsistent String comparisons (OFBIZ-9254)

Bugfixes

Functional and technical bugfixes:

Framework

  • Eleminates console warnings related to OrderHeader caching (OFBIZ-11858)
  • Fixes BigDecimal casting in groovy services (OFBIZ-11862)
  • Adds missing AJP connector property introduced for Tomcat 9.0.31 (OFBIZ-11848)
  • Fixes: Unable to delete Group Order (OFBIZ-11773) (#172)
  • Adds employee lookup to search/select employee while creating new employment. This will also fixes the issue of party groups being selected as a employee (OFBIZ-11697) (#210)
  • Fixes: Print pick sheet has distorted currency symbol (OFBIZ-11781)
  • Refactors ShipmentReceiptServices#receiveInventoryProduct to fix ClassCastException and double received product issue (OFBIZ-11909) (#218)
  • Fixes error in Quick Receive Purchase Order process (OFBIZ-11911) (#219)
  • Fixes: One page checkout is broken because of ordermgr::getAssociatedStateList (OFBIZ-11838)
  • Fixes: Unable to create event in SFA component (OFBIZ-9901)
  • Fixes issue due to converting InvoicePerShipmentTests from mini-lang to groovy (OFBIZ-11553)
  • Fixes a bug, wich is produced by "replaces module by MODULE everywhere" (GitHub Link)
  • Fixes inconsistent String comparisons bug due to (OFBIZ-9254) that results in uploading image to data resource issue (OFBIZ-10834)

Plugins

  • Fixes: Send me this every month link is not working in order items section (OFBIZ-10891)

Documentation

Framework

  • Adds Changelog.adoc file (#206) (GitHub Link)
  • Provides Marketing migration to AsciiDoc and new documentation organization (OFBIZ-11577)
  • Migrates help link to AsciiDoc user manual for marketing (OFBIZ-11577)
  • Provides SFA migration to AsciiDoc (OFBIZ-11577)
  • Migrates help link to AsciiDoc user manual for SFA (OFBIZ-11577)
  • Provides Order migration to AsciiDoc (OFBIZ-11580)
  • Migrates help link to AsciiDoc user manual for Order (OFBIZ-11580)
  • Provides Party migration to AsciiDoc (OFBIZ-11581)
  • Migrates help link to AsciiDoc user manual for Party (OFBIZ-11581)
  • Provides documentation for CsrfDefenseStrategy in case of no support for SameSite cookie attribute (GitHub Link)
  • Provides POC for CSRF Token (CVE-2019-0235) (OFBIZ-11306)
  • Provides Product (catalog) migration to AsciiDoc (OFBIZ-11587)
  • Migrates help link to AsciiDoc user manual for Product (OFBIZ-11587)
  • Provides Workeffort migration to AsciiDoc (OFBIZ-11587)
  • Provides Framework/base migration to AsciiDoc (OFBIZ-11587)
  • Checks all DocBook files in each applications-component documents directory (OFBIZ-11587)
  • Migrates all DocBook files to AsciiDoc (OFBIZ-11587)
  • Deletes all DocBook files related to migration to AsciiDoc (OFBIZ-11587)
  • Includes AsciiDoc user and developer manual from ofbiz-plugins (OFBIZ-11587)
  • Removes DocBooks migrated to AsciiDoc that are now in section ofbiz-plugins/MyPortal (OFBIZ-11587)
  • Removes old content links for ofbiz-setup (OFBIZ-11587)

Plugins

  • Migrates SingleSignOn-DocBook files to AsciiDoc (OFBIZ-11587)
  • Migrates help DocBook file to AsciiDoc for Ebay component (OFBIZ-11587)
  • Migrates help link to AsciiDoc user manual for Ebay component (OFBIZ-11587)
  • Migrates help link to AsciiDoc developer manual for components, that are dedicated to developers (OFBIZ-11587)
  • Migrates help DocBook file to AsciiDoc for ebayStore component (OFBIZ-11587)
  • Migrates help link to AsciiDoc user manual for EbayStore component (OFBIZ-11587)
  • Reviews existing adoc and migrates help DocBook file to AsciiDoc for birt component (OFBIZ-11587)
  • Migrates help link to AsciiDoc user manual for birt component (OFBIZ-11587)
  • Removes DocBook file without migrating them to AsciiDoc (contain only a title) for msgGateway component (OFBIZ-11587)
  • Migrates help DocBook file to AsciiDoc for MyPortal component (OFBIZ-11587)
  • Removes DocBook migrated to AsciiDoc (only a short introduction) for MyPortal component (OFBIZ-11587)
  • Migrates DocBook help files to AsciiDoc for ProjectMgr component (OFBIZ-11587)
  • Migrates help link to AsciiDoc user manual for ProjectMgr component (OFBIZ-11587)