Apache OFBiz News June 2020

Welcome to our regular monthly round-up of OFBiz news. This month we
share with you details of our usual list of features, improvements and
statistics.

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: 85 issues were opened and 80 issues were closed ( 10 different people helped to close these issues)
  • Code Change and Commit Activity:
    • Framework: 160 commits to the code base that changed 32,253 lines of code ( 10 committers were active)
    • Plugins: 22 commits to the code base that changed 3,184 lines of code ( 5 committers were active)
  • Mailing Lists:
    • Dev: 246 emails sent and 49 topics discussed (33 different people)
    • User: 65 emails sent and 16 topics discussed (25 different people)

New features and improvements

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

framework

  • Headerizes external script in multi-block html template (OFBIZ-11741)
  • Provides use of GroovyBaseScript's logging utility methods instead of using Debug (OFBIZ-11762) (#185)
  • Converts testExpirePartyRate test from mini-lang to groovy (OFBIZ-11568)
  • Converts RateTests from mini-lang to groovy (OFBIZ-11561)(OFBIZ-11562)(OFBIZ-11563)(OFBIZ-11564)(OFBIZ-11565)(OFBIZ-11566)(OFBIZ-11567)(OFBIZ-11569)
  • Refactors class CatalogWorker to remove duplicate code (OFBIZ-11696)
  • Improves purchases by product report (OFBIZ-11733)
  • Improves UI on View Order page (OFBIZ-10985)
  • Enforces noninstantiability to ExpressionUiHelper class (#173) (GitHub Link)
  • Enforces noninstantiability to JobUtil class (#176) (GitHub Link)
  • Enforces noninstantiability to ServiceGroupReader class (#177) (GitHub Link)
  • Enforces noninstantiability to BillingAccountWorker class (#167) (GitHub Link)
  • Enforces noninstantiability to FinAccountHelper class (#171) (GitHub Link)
  • Enforces noninstantiability to ConfigXMLReader class (#178) (GitHub Link)
  • Enforces noninstantiability to GroovyUtil class (#180) (GitHub Link)
  • Removes unused location ${parameters.quoteDecoratorLocation} in decorator screen definitions (OFBIZ-11802)
  • Enforces noninstantiability to LoginWorker class (#175) (GitHub Link)
  • Adds CSRF token support for 'getJs' request uri (OFBIZ-11686)
  • Removes plugins as a submodule (OFBIZ-8459)
  • Overloads groovy utility method 'logError' to handle error logging with only throwable object as parameter (OFBIZ-11762) (#194)
  • Removes unnecessary iterations and sets inventory for all productFacilities in setLastInventoryCount (OFBIZ-11796)
  • Provides check of embedded Javascript libs vulnerabilities by using retire.js (OFBIZ-11752)
  • Allows definition of external style sheet in multi-block html template (OFBIZ-11819)
  • Changes decimals, rounding, zero and static variables names as per best practices in manufacturing component (#200) (GitHub Link)
  • Provides pre commit hook to check staged files with list issues (OFBIZ-11304)
  • Updates tasks.checkstyleMain.maxErrors (OFBIZ-11304)
  • Changes decimals, rounding, zero and static variables names as per best practices (#195) (GitHub Link)
  • Changes decimals, rounding, zero and static variables names as per best practices in order component (#196) (GitHub Link)
  • Changes decimals, rounding, zero and static variables names as per best practices in third party payment component (#201) (GitHub Link)
  • Changes decimals, rounding, zero and static variables names as per best practices in accounting component (#202) (GitHub Link)
  • Converts assertInvoiceTotal, testInvoiceAppl and testToPayment tests from mini-lang to groovy (OFBIZ-11530)(OFBIZ-11557)(OFBIZ-11559)
  • Converts testBillingAppl test from mini-lang to groovy (OFBIZ-11558)
  • Adds paymentRefNumber to CheckoutOptions.ftl (#203) (GitHub Link)
  • Checks if the value passed to checkStringForHtmlSafe is not null (OFBIZ-11822)
  • Cleans code according to SpotBugs and Eclipse (OFBIZ-11824)
  • Provides a .asf.yaml file for more information in OFBiz GitHub repos (OFBIZ-11825)
  • Provides Gradle Checkstyle task (OFBIZ-11304)
  • Renames static String 'resources' as per proper naming convention in framework (OFBIZ-11834)
  • Migrates checkCreateOrderRequirement service to groovy (OFBIZ-9984)
  • Replaces single method call lambdas with method references (OFBIZ-11835)
  • Replaces for-loops with forEach loops in veriouse classes (OFBIZ-11829)
  • Replaces Map#get with Map#getOrDefault (OFBIZ-11832)
  • Replaces try-finally with try with resources (OFBIZ-11826)
  • Converts testTaxGeoId test from mini-lang to groovy (OFBIZ-11560)
  • Refactors definition of test 'application-tests' (OFBIZ-11560)
  • Converts ShipmentReceiptServices services from mini-lang to groovy (OFBIZ-11468) (#150)
  • Replaces anonymous types with lambda expressions (OFBIZ-11833)
  • Merges identical catch blocks in single catch blocks (OFBIZ-11827)
  • Refactors PickListServices#isBinComplete method to remove unnecessary iterations (OFBIZ-11823)
  • Moves Shipment services files from sub-dirs to shipment dir (OFBIZ-11468)
  • Replaces Iterator#remove with Collection#removeIf (OFBIZ-11831)
  • Converts createFinAccoutnTransFromPayment service from mini-lang to groovy (OFBIZ-11492)
  • Converts InvoicePerShipmentTests tests from mini-lang to groovy (OFBIZ-11553) (#208)
  • Replaces explicit type argument with diamond operator (OFBIZ-11828)
  • Replaces Collection#sort with List#sort (OFBIZ-11830)
  • Ensures the use of GroovyBaseScript's makeValue utility methods in each Groovy file (OFBIZ-11779)
  • Upgrades Tomcat to 9.0.36 due to CVE-2020-11996 (OFBIZ-11848)
  • Makes ScreenFopViewHandler#render's debug area also usable on Windows (GitHub Link)
  • Updates tasks.checkstyleMain.maxErrors (GitHub Link)
  • Converts AutoAcctgTransTestsPurchase tests from mini-lang to groovy (OFBIZ-11522)

Plugins

  • Let Breadcrumbs be shown in all pages of eCommerce application (OFBIZ-2584)
  • Enforces noninstantiability to FinAccountHelper class (#22) (GitHub Link)
  • Enforces noninstantiability to LdapLoginWorker, OFBizSolrLoginWorker class (#23) (GitHub Link)
  • Provides use of GroovyBaseScript's logging utility methods instead of using Debug (OFBIZ-11762) (#24)
  • Changes dependency of decimals and rounding static variables as per best practices in ebay component (#28) (GitHub Link)
  • Converts FixedAssetMaintTests test from mini-lang to groovy (OFBIZ-11444) (#29)
  • Provides use of a .asf.yaml file for more information in OFBiz GitHub repos (GitHub Link)
  • Replaces for-loops with forEach loops in veriouse classes (OFBIZ-11829)
  • Replaces try-finally with try with resources (OFBIZ-11826)
  • Replaces anonymous types with lambda expressions (OFBIZ-11833)
  • Adds a new plugin for integration of First Data payment gateway with Apache OFBiz (OFBIZ-11837)
  • Merges identical catch blocks in single catch blocks (OFBIZ-11827)
  • Replaces explicit type argument with diamond operator (OFBIZ-11828)
  • Replaces Collection#sort with List#sort (OFBIZ-11830)
  • Ensures the use of GroovyBaseScript's makeValue utility methods in each Groovy file (OFBIZ-11779) (#33)

Bugfixes

Functional and technical bugfixes:

Framework

  • Fixes: ViewShipment in facility does not show phone details (OFBIZ-11785)
  • Fixes: UI issue in payment lookup (OFBIZ-9476)
  • Fixes wrong target link in shipment form 'ListShipment' (OFBIZ-11787)
  • Fixes: startup-service does not work without runtime-data-id (OFBIZ-11668)
  • Fixes: Navigation tree is not displayed in showHelp page (OFBIZ-11803)
  • Fixes: plugins in common-theme/webapp/common/js is not monitored by git (OFBIZ-11745)
  • Fixes: Double encoded urls are not being decoded (OFBIZ-11822)
  • Fixes: getEntityRefData service has a weird logging issue (OFBIZ-11401)
  • Fixes: Rendering screen within freemarker template not done correctly when multi-block=true (OFBIZ-11706)
  • Adds missing license headers (GitHub Link)
  • Updates hard coded values of location types and used all available location enums instead (OFBIZ-6042)
  • Fixes: IDOR vulnerability in the order processing feature in ecommerce component (OFBIZ-11836)
  • Fixes an issues in accept return process (OFBIZ-11843) (#211)
  • Fixes: With Rainbow theme, a scrollbar appears at bottom where it's not needed (OFBIZ-10174)
  • Fixes: EntityQuery#queryCount is throwing error with distinct method (OFBIZ-11294)
  • Fixes: Unable to upload additional image for a product (OFBIZ-11844)

Plugins

  • Fixes: Error while uploading file in eCommerce Profile's File Manager (OFBIZ-10746)
  • Adds missing license header (GitHub Link)

Documentation

Framework

  • Provides help link using asciidoc files via generated html (OFBIZ-11693)
  • Removes docbook help files for accounting (OFBIZ-11587)
  • Removes docbook help files for commonext (OFBIZ-11587)
  • Adds an image and a link to the ASL2 license (GitHub Link)
  • Removes docbook help files for content (OFBIZ-11587)
  • Removes docbook help files for humanres (OFBIZ-11587)
  • Provides manufacturing migration to asciidoc and new documentation organization (OFBIZ-11416)
  • Provides manufacturing Production Run migration to asciidoc (OFBIZ-11416)
  • Provides manufacturing Routing migration to asciidoc (OFBIZ-11416)
  • Provides manufacturing Routing Task migration to asciidoc (OFBIZ-11416)
  • Provides manufacturing Calendar migration to asciidoc (OFBIZ-11416)
  • Provides manufacturing Cost Component Calc migration to asciidoc (OFBIZ-11416)
  • Provides manufacturing Bill Of Material migration to asciidoc (OFBIZ-11416)
  • Provides manufacturing MRP migration to asciidoc (OFBIZ-11416)
  • Migrates help link to asciidoc user manual for manufacturing (OFBIZ-11416)
  • Removes docbook help files for manufacturing (OFBIZ-11587)