Apache OFBiz News August 2020

Welcome to our regular monthly round-up of OFBiz news. This month we have news about the Headless Commerce plugin, new PMC Member and Committer along with our usual list of features, improvements, and
Statistics.

Headless Commerce Plugin

Headless commerce is the decoupling of the presentation layer (frontend) of an eCommerce from the backend such that both are able to function independently. This decoupling is achieved by using APIs to expose core backend functionalities. By decoupling frontend from the backend - user interface, social commerce, mobile apps, IoT, and many more – can be changed or updated individually, without interfering with the backend. Data is available to separate frontend applications via API calls and the backend runs invisibly in the background. During this month, the community discussed implementing an OFBiz plugin to achieve it.

Here is the link to the mail thread for more insights.

Thank you Arpit Mor for initiating it and to everyone who contributed to this valuable discussion.

New PMC Member and Committer

The OFBiz PMC has invited Pawan Verma to become a new member of
the committee & Devanshu Vyas to become a committer to the project 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.

Moving third party shipping integrations to plugins

During this month, the community discussed moving third party shipping integrations from applications to plugins. As an initial step, Mridul proposed to introduce a new entity “ProductStoreShipmentSettings” to configure available shipping gateway services for shipping carriers at the product store level. The above change would enable further efforts to refactor the hardcoded reference with configurable and move these integrations to plugins without losing any available support in applications.


Here are some links for more insights:

  1. OFBIZ-11961
  2. Mail thread

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

Ongoing efforts to fix lint issues

In our previous post, we shared information about the ongoing efforts fixing the lint issues. During this month, the community worked on fixing almost 12k issues identified using the linting tool checkstyle available with OFBiz as Gradle plugin.
Refer OFBIZ-11350 for more insights.

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: 61 issues were opened and 95 issues were closed ( 9 different people helped to close these issues)
  • Code Change and Commit Activity:
    • Framework: 167 commits to the code base that changed  lines of code ( 9 committers were active)
    • Plugins: 50 commits to the code base that changed 12,326 lines of code ( 7 committers were active)
  • Mailing Lists:
    • Dev: 135 emails sent and 35 topics discussed (40 different people)
    • User: 116 emails sent and 26 topics discussed (39 different people)

New features and improvements

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

Framework

  • Corrects checkstyle issues, max. line lenght 150 characters, fixes some extra spaces and naming conventions in framework component (OFBIZ-11921)
  • Corrects checkstyle issues, max. line lenght 150 characters, fixes some extra spaces and naming conventions in applications component (OFBIZ-11921)
  • Updates tasks.checkstyleMain.maxErrors to 12795 ~(-2225) (GitHub Link)
  • Improves status ID checkbox in Find Invoice screen (OFBIZ-9643)
  • Improves status ID checkbox for FindDataResource and FindContent forms (OFBIZ-11934)
  • Improves status ID checkbox for Return, Requirement and Quote forms (OFBIZ-11935)
  • Improves status ID checkbox for FindPayments and FindPurchaseInvoices forms (OFBIZ-11938)
  • Improves status ID checkbox for FindWorkEffort, FindProductionRun and FindShipment forms (OFBIZ-11939)
  • Adds Unit test case for some content services (OFBIZ-8420)
  • Improves Purchase Order Email Support (OFBIZ-11864)
  • Improves status ID checkbox for FindEmploymentApps, FindPartyQuals and FindEmplLeaves forms (OFBIZ-11937)
  • Converts ProductTest.xml to groovy (OFBIZ-11852)
  • Converts PartyStatusChangeTests.xml to groovy (OFBIZ-11853)
  • Converts PartyContactMechTests.xml to groovy (OFBIZ-11854)
  • Corrects all redundant modifiers occurences in applications component. Also, fixes some other checkstyle line formatting and spacing issues (OFBIZ-11925)
  • Corrects all redundant modifiers occurences in framework component. Also, fixes some other checkstyle line formatting and spacing issues (OFBIZ-11925)
  • Updates tasks.checkstyleMain.maxErrors to 12469 ~(-326) (GitHub Link)
  • Improves MethodLength checkstyle rule, set to 500 and also set countEmpty property as false (OFBIZ-11915)
  • Updates tasks.checkstyleMain.maxErrors to 12278 ~(-200) (GitHub Link)
  • Removes unused imports from Java files (OFBIZ-11930) (#222)
  • Moves page-specific script links to html template (OFBIZ-11799)
  • Removes unused imports from Java files for fixing checkstyle errors (GitHub Link)
  • Updates tasks.checkstyleMain.maxErrors to 12224 ~(-54) (GitHub Link)
  • Removes unused imports from Java files for fixing checkstyle errors (OFBIZ-11930)
  • Corrects max parameter number allowed checkstyle rule, also added property for ignoring overridden methods (OFBIZ-11931)
  • Updates tasks.checkstyleMain.maxErrors to 12110 ~(-110) (GitHub Link)
  • Adds override property in DesignForExtension module to avoid unnecessary design for extension checkstyle error messages for overrided methods (OFBIZ-11941)
  • Updates tasks.checkstyleMain.maxErrors to 10184 ~(-1925) (GitHub Link)
  • Converts cancelCheckRunPayments service from mini-lang to groovy (OFBIZ-11494)
  • Converts getInvoicePaymentInfoListByDueDateOffset service from mini-lang to groovy (OFBIZ-11486)
  • Improves multi-block attribute for html-template tag (OFBIZ-11686)
  • Improves upgrades Gradle to V6.5.1 (OFBIZ-11946)
  • Moves 'SecurityPermission' data to seed data files (OFBIZ-10575) (#225)
  • Adds a title to Javadoc overview (OFBIZ-11950)
  • Fixes small typo in trunk (OFBIZ-11952)
  • Moves page-specific script links to html template (OFBIZ-11799)
  • Improves Freemarker macro for JsLanguageFilesMapping (OFBIZ-11958)
  • Adds missing Javadocs for some methods in applications component. Also corrects some variables as per naming convention best practices (OFBIZ-11947)
  • Updates tasks.checkstyleMain.maxErrors to 822 ~(-1960) (GitHub Link)
  • Marks as deprecated ofbiz.locale.default and locale.properties.fallback properties (OFBIZ-11962)
  • Replace Mask Js (OFBIZ-11964)
  • Reverts "Improved: Upgrade Gradle to V6.5.1 (OFBIZ-11946)"
  • Reverts "Revert "Improved: Upgrade Gradle to V6.5.1 (OFBIZ-11946)""
  • Improves form-Fields of certain types won't render IDs (OFBIZ-11957)
  • Converts updateSingleContentPurpose service from mini-lang to groovy (OFBIZ-11367)
  • Reverts: "Error when rendering renderSubmitField macro (OFBIZ-11968)"
  • Makes data members of class as private and added accessor methods for the same, also corrects occurences of the same in applications component. Also made some related checkstyle code enhancements (OFBIZ-11963)
  • Makes data members of class as private and added accessor methods for the same, also corrects occurences of the same in framework component. Also made some related checkstyle code enhancements (OFBIZ-11963)
  • Updates tasks.checkstyleMain.maxErrors to 5424 ~(-2800) (GitHub Link)
  • Converts createCommEventContentAssoc service from mini-lang to groovy (OFBIZ-11380)
  • Replaces .size() == 0 with isEmpty() in Java files(OFBIZ-11944)
  • Improves status ID checkbox for Find InventoryItems screen (OFBIZ-11933)
  • Improves creates new quote button should be removed from new quote screen (OFBIZ-11405)
  • Improves unit test case for service - createProductConfigOption (OFBIZ-9090)
  • WIP: Implemented: Added support for defining nested attributes (OFBIZ-11902) (#231)
  • Improves expires product images showing on product detail page (OFBIZ-11982)
  • Improves unit test case for service - getContent (OFBIZ-8547)
  • Corrects class names, method names, data members of class and variables names in application components. Also corrected some formatting and line length related checkstyle issues (OFBIZ-11926)
  • Corrects class names, method names, data members of class and variables names in framework components. Also corrected some formatting and line length related checkstyle issues (OFBIZ-11926)
  • Updates tasks.checkstyleMain.maxErrors to 4212 ~(-1200) (GitHub Link)
  • Makes the top comment more clear (GitHub Link)
  • Removes a nonsense word left during a C/P (GitHub Link)
  • Adds a new IntegerToBigInteger converter (OFBIZ-11985)
  • Improves checkstyle: Variable name must match pattern (OFBIZ-11926)
  • Removes unused MODULE var in FreeMarkerViewHandler.java (GitHub Link)
  • Updates tasks.checkstyleMain.maxErrors to 3026 ~(-1180) (GitHub Link)
  • Improves have a readme in every component (OFBIZ-6243)
  • Reverts: "Improved: Have a readme in every component (OFBIZ-6243)"
  • Updates information in README.md files from removed pages in wiki (GitHub Link)
  • Completes the documentation in the XSD files (OFBIZ-7537)
  • Improves forgot to add this README.md (GitHub Link)
  • Improves the leads which are converted is displayed on the Find lead page (OFBIZ-10237)
  • Improves service-eca.xsd documentation (OFBIZ-9994)
  • Fixes Literals comparisons with variable to avoid NPE (OFBIZ-11929)
  • Improves get billing party by parent invoice type (OFBIZ-10878)
  • Improves allow logging to be disabled for getJs request (OFBIZ-11980)

Plugins

  • Corrects checkstyle issues, max. line lenght 150 characters, fixes some extra spaces and naming conventions (OFBIZ-11921)
  • Improves status ID checkbox for FindTask and FindTimeSheet forms (OFBIZ-11936)
  • Removes unused imports from Java files (OFBIZ-11930) (#36)
  • Removes unused imports from Java files for fixing checkstyle errors (GitHub Link)
  • Improves can't enter decimals when ordering on ecommerce (OFBIZ-11899)
  • Moves 'SecurityPermission' data to seed data files (OFBIZ-10575) (#38)
  • Moves page-specific script links to html template (OFBIZ-11799)
  • Adds a new component to provide REST capabilities to OFBiz (OFBIZ-11328) (#35)
  • Adds missing Javadocs for some methods. This is done for plugins component. Also corrected some variables as per naming convention best practices (OFBIZ-11947)
  • Adds missing OpenApi mapping for Boolean and Java Collection types (OFBIZ-11328)
  • Makes data members of class as private and added accessor methods for the same, also corrected occurences of the same in plugins component. Also made some related checkstyle code enhancements (OFBIZ-11963)
  • Improves bootstrap-bundle*.js contains bootstrap*.js (OFBIZ-11969)
  • Replaces .size() == 0 with isEmpty() in Java files (OFBIZ-11944)
  • Adds support to read children attributes of the service for rendering openapi spec (#40) (GitHub Link)
  • Removes a duplicated price for PEPPERS-G (GitHub Link)
  • Improves enclose productsummary list in div.row to better use the screen/plugins (OFBIZ-11979)
  • Improves multi-block attribute for html-template tag (OFBIZ-11686)
  • Improves additional images not showing correctly on product detail page (OFBIZ-11981)
  • Corrects class names, method names, data members of class and variables names in plugins component. Also corrected some formatting and line length related checkstyle issues (OFBIZ-11926)
  • Improves checkstyle: Variable name must match pattern (OFBIZ-11926)
  • Improves have a readme in every component (OFBIZ-6243)
  • Reverts: "Improved: Have a readme in every component (OFBIZ-6243)"
  • Updates information in README.md files from removed pages in wiki (GitHub Link)
  • Fixes Literals comparisons with variable to avoid NPE (OFBIZ-11929)
  • Adds Enum for HTTP Auth schemes (OFBIZ-11328)

Bugfixes

Functional and technical bugfixes:

Framework

  • Fixes Server-Side Template Injection using Static (OFBIZ-11871)
  • Fixes view Image button on order view page fails to render the image (OFBIZ-11734)
  • Fixes make all related Cancel/Done buttons return to backHome ie. party profile page (OFBIZ-11943)
  • Fixes error log of a fresh trunk installation (OFBIZ-11953)
  • Fixes expiring Daemon because JVM heap space is exhausted (OFBIZ-11954)
  • Fixes error in log when running renderDropDownField macro (OFBIZ-11959)
  • Correctes package for marketing tests (OFBIZ-11877)
  • Error when rendering renderSubmitField macro (OFBIZ-11968)
  • Fixes wrong maxheapsize (OFBIZ-11967)
  • Fixes bug in order manager main page when using Arab language (OFBIZ-9687)
  • Fixes svg files not removed on clean (OFBIZ-11976)
  • Fixes some checkstyle issues (GitHub Link)
  • Fixes error in sendShipmentScheduledNotification service (OFBIZ-11983) (#234)
  • Fixes testIntegration issue caused due to mistakenly updated static string 'WITHDRAWAL' and updated variable in groovy test case. Also used getter method for entity auto tests to get the dispatcher from OFBizTestCase (OFBIZ-11926)
  • Fixes default value flags not working for configurable and variant products at the time of order entry (OFBIZ-10532)
  • Fixes MessagingException in sendShipmentScheduledNotification service (OFBIZ-11984)
  • Fixes quick Add Lead does not work without group name (OFBIZ-11896)
  • Fixes display/selection of unit of measure is broken (OFBIZ-11955)
  • Fixes missed initialisation in previous commit 163ff79526e18f720d3cb89176e4899aa0b4c15f (OFBIZ-10878)

Plugins

  • Fixes getJs unknown in Webpos (OFBIZ-11932)
  • Fixes product link on Order confirmation page is not responding (OFBIZ-11735)
  • Fixes unable to add product to cart in ecommence (OFBIZ-11899)
  • Fixes removed HELP and LICENSE files (GitHub Link)
  • Fixes OpenApi mapping for Integer. Improved: Added missing OpenApi mapping for BigInteger (OFBIZ-11328)
  • Fixes issue with return service. Also, improvements to auth service to handle more errors (OFBIZ-11837) (#39)
  • Distorted Final Checkout Review page when Credit card is selected as Payment option (OFBIZ-11920)
  • Fixes multiflex css is linking to wrong location (OFBIZ-11977)
  • Fixes display/selection of unit of measure is broken/plugins (OFBIZ-11993)
  • Fixes issue with checking Authentication scheme (OFBIZ-11328)
  • Fixes removes unncessary check for userLogin claim 2. Modified code to return 401 instead of 403 in case JWT auth fails (OFBIZ-11328)

Documentation

Framework

  • Warns users about demo credentials in production (GitHub Link)