Apache OFBiz News February 2021

Welcome to our regular monthly round-up of OFBiz news. This month we
have news about JCenter shutdown, Java Open JDK 11 & 17 support, and
Customer journey with an E-commerce discussion series along with our
usual list of features, improvements, and Statistics.

JFrog to shut down JCenter

Apache OFBiz uses Bintray JCenter as a Gradle repository to download and consume dependencies. Recently,
JFrog announced to shut down JCenter services on May 1st, 2021. Users of these services will need to migrate to the respective canonical repository.
During this month, the community discussed how we can handle it in the most feasible way where we concluded & worked upon successful migration to Maven Central. The community also decided to have another release for the 17.12 series to support existing users.
If you are using any release post 16.11 with the Gradle build system in place, we recommend you to upgrade with the latest upcoming release 17.12.06.

Here is the link to the official announcement:
https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/

Here are the quick links to the discussion and efforts:
https://s.apache.org/5pc08
https://issues.apache.org/jira/browse/OFBIZ-12171

Thanks
Taher Alkhateeb, Michael Brohl, Jacques Le Roux and Nicolas Malin for
the valuable discussion and efforts put in this direction.

Java Open JDK 11 and 17 Support

During this month, the community discussed upon the support for JDK 11 and 17 for upcoming branches. JDK11 will be available at least until October 2024 and JDK17
(LTS) will be available from September 2021 until 2025 (considering a minimum of 4 years support for LTS). The community decided to go with JDK11
for upcoming release branch r21 and move forward to JDK17 for trunk when available. JDK11 is already mature and the community already made
OFBiz ready for it.

Refer to the below link to track efforts related to JDK11 support:
https://issues.apache.org/jira/browse/OFBIZ-10757

Here is the quick link to the discussion:
https://s.apache.org/3ykit

Thanks Michael Brohl for initiating the discussion and to everyone who gave their valuable inputs.  

Customer journey with an E-commerce

The
OFBiz community is discussing "Customer journey with an E-commerce" where the community will be covering the following aspects:

- The expectations of a customer while buying from an e-commerce v/s the expectation of a customer while buying from a brick and mortar store
- Improving customer experience while buying from an e-commerce

- Order life cycle and communicating with the customer during various order life cycle events
- Role of mobile-first, omnichannel, buy online and pick up in-store (BOPIS), buy online and return in-store (BORIS) strategies in improving customer experience

The community had the initial discussion where the following points were discussed:

- Purpose of the series

- Understand the expectation of the customer while buying online

- Ways to improve the customer experience

- Action plan for the discussion

- Order life cycle and communication

- Online and offline sales channels

- Customer retention and acquisition


Here is the link to the initial discussion:
https://youtu.be/prYuGbUJPPI

If you want to be part of this discussion and share your experiences, join the conversation
https://s.apache.org/u2ewa

Thanks Arpit Mor for initiating it and to everyone who contributed to it.

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: 28 issues were opened and 67 issues were closed ( 7 different people helped to close these issues)
  • Code Change and Commit Activity:
    • Framework: 125 commits to the code base that changed  lines of code ( 10 committers were active)
    • Plugins: 20 commits to the code base that changed 422 lines of code ( 5 committers were active)
  • Mailing Lists:
    • Dev: 110 emails sent and 22 topics discussed ( 16 different people)
    • User: 67 emails sent and 17 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 EmailServices.xml from minilang to groovy (OFBIZ-11868)
  • Converts DataServices.xml to groovy (OFBIZ-11469)
  • Replaces ModelInduceFromDb with widgets (OFBIZ-6510)
  • Upgrades Tomcat from 9.0.41 to 9.0.43 (OFBIZ-12165)
  • Converts OrderDeliveryServices.xml from minilang to groovy (OFBIZ-11461)
  • Fixes a Java doc issue reported by checkstyle (GitHub Link)
  • Removes unused imports (OFBIZ-12169)
  • Display last-visited-time popup after login (OFBIZ-12148) (#266)
  • Adds newline at the end of file (OFBIZ-12169)
  • Adds an example memory setting notice for the case of heap memory problems during build (GitHub Link)
  • Updates the max checkstyle error count according to the latest changes (OFBIZ-12169)
  • Declares classes final as suggested by checkstyle (OFBIZ-12169)
  • Removes and adds whitespaces as suggested by checkstyle (OFBIZ-12169)
  • Improves: If else construct must use parentheses (OFBIZ-12169)
  • Renames some connoted words like blacklist and whitelist (OFBIZ-12168)
  • Removes illegal character as shown by checkstyle (OFBIZ-12169)
  • Improves: Replaces tab character (OFBIZ-12169)
  • Replaces '.*' import form (OFBIZ-12169)
  • Improves: Puts each variable declaration in an own statement (OFBIZ-12169)
  • Improves: Simplifies expression (OFBIZ-12169)
  • Improves: Max line length is 150 characters (OFBIZ-12169)
  • Fixes indentation level (OFBIZ-12169)
  • Removes trailing spaces (OFBIZ-12169)
  • Removes nested blocks and closed OutputStream in finally statment (OFBIZ-12169)
  • Puts dates in migration services to be able to remove them later (GitHub Link)
  • Improves: Multiblock indentations as shown by checkstyle (OFBIZ-12169)
  • Changes modifier order (OFBIZ-12169)
  • Changes line break so line doesnt't start with "(" (OFBIZ-12169)
  • Removes inner assignments (OFBIZ-12169)
  • Removes Conditional logic as shown by checkstyle (OFBIZ-12169)
  • Improves: Uses uppercase 'L' as suggested by checkstyle (OFBIZ-12169)
  • Simplifies ModelInduceFromDb.groovy code to be a one-liner (GitHub Link)
  • Improves: Handles remaining checkstyle errors (OFBIZ-12169)
  • Switches from jCenter to mavenCentral to handle the jCenter shutdown (OFBIZ-12171)
  • Removes Compdoc functionality from content manager (OFBIZ-10476)
  • Improves: Default ordering of webapps titles in main menu (OFBIZ-12166)
  • Corrects max number of checkstyle errors allowed (OFBIZ-12169)
  • Improves: Element link can update partial area (OFBIZ-11810)
  • Improvement on Find BOM screen (OFBIZ-12179)
  • Updates Freemarker to 2.3.31 (GitHub Link)
  • Enlarge the "more-app" menu in Rainbow Stome theme (OFBIZ-12181)
  • Increases some French labels length (GitHub Link)
  • Converts CostService.xml from minilang to groovy (GitHub Link)
  • Improves: Field 'govAgencyPartyId' shows all parties, not just Government Agencies (OFBIZ-10863)
  • Converts ImageManagementServices.xml from minilang to groovy (OFBIZ-11604)
  • Improves: Dependency verification (OFBIZ-12186)

Plugins

  • Renames some connoted words like blacklist and whitelist (OFBIZ-12168)
  • Removes HelpData file entries from ofbiz-component.xml (#54) (GitHub Link)
  • Switches from jCenter to mavenCentral to handle the jCenter shutdown (OFBIZ-12171)
  • Improves: Default ordering of webapps titles in main menu (OFBIZ-12166)
  • Declares classes final as suggested by checkstyle (OFBIZ-12169)
  • Adds newline at the end of the file (OFBIZ-12169)
  • Improves: If else construct must use parentheses (OFBIZ-12169)
  • Removes obsolete comment (OFBIZ-12171)

Bugfixes

Functional and technical bugfixes:

Framework

  • Fixes: StringOutOfBounds Exception while checking available Languages (OFBIZ-10707)
  • Removes _PREVIOUS_REQUEST_ Session Attribute on non-authentication pages (OFBIZ-12047)
  • Fixes checkstyle Issues in WebToolsDbEvents and UtilXml (OFBIZ-6510)
  • Adds a blacklist (to be renamed soon to denylist) in Java serialisation (OFBIZ-12167)
  • Prevents NPE in Party/My Communications (OFBIZ-12164)
  • Fixes: ViewQuoteProfit shows fields in wrong order (OFBIZ-11680)
  • Fixes File Resource not found console warning related to already removed data files (GitHub Link)
  • Fixes: Incorrect mapping for Lookup Purchase Order (#272) (GitHub Link)
  • Adds log4j dependencies to avoid classpath conflict while loading log4j ReflectionUtil (OFBIZ-12171)
  • Uses from-field pattern instead of value=${***} pattern in 'set' element (OFBIZ-9607)
  • Fixes a syntax issue (GitHub Link)
  • Fixes: Webapp position does not really work (OFBIZ-12176)
  • Fixes: Unable to add product (of ASSET_USAGE type) in order (OFBIZ-10791)
  • Fixes: Financial account transaction (OFBIZ-10308)
  • Correctes property name as defined in general.properties (OFBIZ-10008)
  • Fixes: Bypass Java GString to String conversion in ObjectType::simpleTypeOrObjectConvert (OFBIZ-12182)
  • Fixes: Wrong heading on creating quote under order component (OFBIZ-11221)
  • Fixes: Error on quick ship complete order (OFBIZ-12185)
  • Fixes: Error while uploading file in Ecommerce Profile's File Manager (OFBIZ-10746)
  • Fixes: Wrong wiki URL (GitHub Link)
  • Fixes: Error while running MRP (OFBIZ-12187)
  • Fixes: Removes CommunicationContent not working as expected (OFBIZ-12172)

Plugins

  • Fixes: Visit disabling causes NullPointerException on ecomm groovy script (OFBIZ-12173)
  • Fixes: Fitering on StatusId in FindTask does not work (#55) (GitHub Link)
  • Fixes: Error while uploading file in Ecommerce Profile's File Manager (OFBIZ-10746)
  • Fixes: Exception error on ecommerce portal while trying to register new user (OFBIZ-12189) (GitHub Link)