OFBiz

Thursday May 09, 2019

Apache OFBiz News - April 2019

Apache OFBiz News April 2019

Welcome to our regular monthly round-up of OFBiz news. This month we have more news about OFBiz build support with Java Open JDK & Java 8, and a new Job prioritisation feature along with our usual list of features and improvements.

Support with Java Open JDK and Java 8

In February blog we have informed about community's decision to keep release 17.12 (unreleased) on Java 8, and 18.12 (unreleased) & trunk be switched to Java 11 on OpenJDK. As per the recent discussion, the community has decided that 18.12 and trunk be kept on Java 8 only. Adopt Open JDK 8 LTS is supported at least until September 2023. The idea is to provide minimal Java version support. It will give users enough time to plan, test and migrate to newer Java version. Though the community will continue to make codebase forward compatible.

Please refer to Mail thread.

Thanks, Jacques, Scott, Michael, Taher, Mathieu, Pierre, Jim and to everyone who gave their valuable inputs.  

Job prioritization

Job prioritization allows specifying a priority for a job thus JobPoller queue them accordingly. It will help important jobs to be prioritized over normal jobs, and low priority jobs can be left until last. The feature is committed to trunk thus it will be available in future releases (after unreleased 18.12).

Please refer to OFBIZ-10865, and Mail thread to know more about its implementation.

Thank you so much, Scott Gray, for initiating and putting efforts in this direction, and to everyone who contributed to this effort

Using code128 instead of code39 for barcode generation

Currently, OFBiz uses code39 to generate barcodes but there are some limitations associated with it. It is only able to encrypt letters from A to Z, digits from 0 to 9 and an additional set of special characters – “. $ % + – / *”. To enhance the support for more characters in the barcode community decided on using code128 instead of code39.
Some of the advantages of using code128:

  1. It supports all the 128 ASCII symbols.
  2. It is more concise and space-efficient.
  3. It provides its users with higher degree of data security.

Please refer to OFBIZ-10896 and Mail thread.

Thanks, Pawan Verma for initiating the discussion and to everyone who participated by providing their valuable inputs.

Marital status to be managed with Enumeration entity

Currently, marital status is managed as an indicator (Y/N) in Person entity. The community has decided to enhance it with support of more broader classifications namely Married, Widowed, Separated, Divorced and Single by making it derived from Enumeration entity.

Please refer to OFBIZ-10921 and Mail thread.

Thanks, Suraj Khurana for initiating the discussion and to everyone who participated by providing their valuable inputs.

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: 105 issues were opened and 71 issues were closed (15 different people helped to close these issues)
  • Code Change and Commit Activity:
    • Framework: 150 commits to the code base that changed 11,098 lines of code (13 committers were active)
    • Plugins: 48 commits to the code base that changed 782 lines of code (5 committers were active)
  • Mailing Lists:
    • Dev: 219 emails sent and 41 topics discussed (36 different people)
    • User: 146 emails sent and 56 topics discussed (40 different people)

New features and improvements

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

Framework

  • Adds the possibility to prioritize Jobs to count in which is more important than other. (OFBIZ-10865)
  • Adds the ability to edit/remove terms of an invoice. (OFBIZ-9290)
  • Removes unused private ‘UnsupportedClassConverter’ class. (OFBIZ-10908)
  • Removes redundant null checks. (OFBIZ-10911)
  • Removes ‘CreateTableCallable’ private class. (OFBIZ-10912)
  • Adds try-with-resources with File IO Objects. (OFBIZ-9855)
  • Adds french label for CommonImport and CommonImportExport. (r1857335)
  • Improves ObjectInputStream class. (OFBIZ-10837)
  • Removes ecommerce links from applications. (OFBIZ-9241)
  • Converts createMarketingCampaignRole service to entity-auto service. (OFBIZ-9551)
  • Adds missing permission check for MarketingCampaignRole update/expire/delete service. (r1857547)
  • Updates build.gradle to the latest dependencies. (OFBIZ-10213)
  • Refactors DBCPConnectionFactory. Method setAutoCommitOnReturn is used instead of deprecated method setEnableAutoCommitOnReturn. (OFBIZ-10935)
  • Removes in constructor redundant specification of type arguments. (OFBIZ-10937)
  • Removes unnecessary declared exceptions for ‘ContainerException’. (OFBIZ-10938)
  • Improves Check Map equality in ‘MultivaluedMapContextTests’. (r1857958)
  • Improves the use of ‘contains’ and ‘containsInAnyOrder’ matcher when possible. (OFBIZ-10941)
  • Removes unnecessary semicolons from Java code. (OFBIZ-10936)
  • Adds ability to change ship group destinations on order view page. (OFBIZ-5401)
  • Uses ObjectType.simpleTypeConvert for all amount variables to make sure proper type conversion in PaymentGatewayServices.java. (OFBIZ-10811)
  • Improves order of showing glAccountIds in AddFinAccountTrans based on accountCode instead of glAccountId. (OFBIZ-10846)
  • Improves the appear of submit button. It will not be displaing when there is no item present over Quote Prices Screen. (OFBIZ-10627)
  • Improves barcode generation. Uses code128 instead of code39. (OFBIZ-10896)
  • Adds unit test case for service 'createInvoiceContent'. (OFBIZ-8932)
  • Improves marital status in Person entity. Now there are more selectable values than 'Y' and 'N'. (OFBIZ-10921)
  • Adds unit test case for service 'setPaymentStatus'. (OFBIZ-9084)
  • Adds support for Inventory (Supply) Allocation Planning. (OFBIZ-10518)
  • Adds unit test case for service 'quickSendPayment'. (OFBIZ-9086)
  • Uses "Create" instead of "Create New" on various screens of all components. (OFBIZ-9905)
  • Removes unused imports. (r1857897)
  • Removes unused local variables. (r1858293)
  • Removes redundant specification of type arguments. (r1858294)
  • Improves the use of ‘@Override’ annotation. (OFBIZ-10939)
  • Adds date control to 'Product Configuration Options'. (OFBIZ-10950)
  • Moves display of page title 'Party' accounting screens to location above (action) menu(s). (OFBIZ-10949)
  • Improves the view of 'createPriceCond'. Similar values were reflected twice on Add Action Type dropdown in Pricerule. (OFBIZ-10660)
  • Improves financial account container structure in accounting. (OFBIZ-10813)
  • Improves german translations for the hr component. (OFBIZ-10698)
  • Removes unused type parameters. (OFBIZ-10909)
  • Removes unused ‘java.util.TreeMap’ import. (r1857083)
  • Removes redundant interface declaration. (OFBIZ-10910)
  • Adds converter for StringWrapper and StringBuffer. (OFBIZ-5028)
  • Cleans deprecated code after release 18.12 creation. (OFBIZ-10761)
  • Updates Tomcat to 9.0.18 due to CVE-2019-0232. (OFBIZ-10920)
  • Updates an order linked to an other order lost relation applications/order/. (OFBIZ-10926)

Plugins

  • Removes unnecessary semicolons from Java code. (OFBIZ-10936)
  • Improves barcode generation. Uses code128 instead of code39. (OFBIZ-10896)
  • Renames custom component for SMS gateway integration. (OFBIZ-10973)
  • Updates Tomcat to 9.0.18 due to CVE-2019-0232. (OFBIZ-10920)

Bugfixes

Functional and technical bugfixes:

Framework

  • Fixes: Insertion order of ‘LinkedHashMap’ is not preserved by ‘MapContext’. (OFBIZ-10933)
  • Fixes: When adding an item to shopping cart, orderItemAttributes gets lost. (OFBIZ-10906)
  • Removes Raw type cast warning in ‘ObjectType’. (r1857082)
  • Fixes: Terminal automatically scrolls down on never ending tasks with the new console. (OFBIZ-10915)
  • Fixes: Error message is displayed while click on create new quotes. (OFBIZ-10882)
  • Fixes: Quick Add button for shopping list on Orderentry screen is not working. (OFBIZ-9908)
  • Fixes: Temporal expressions sometimes incorrectly calculate next occurrence. (OFBIZ-10875)
  • Fixes: ‘./gradlew generateOfbizDocumentation’ fails with Gradle 5.0. (OFBIZ-10693)
  • Fixes: Escape potential NPE when call by DataEvents.serverImage by mocked request. (r1857456)
  • Fixes: Wrong permission check in ProductScreens#FindProduct. (OFBIZ-10925)
  • Fixes: Duplicate a ShoppingCartItem didn't propage OrderItemAttributes. (OFBIZ-10929)
  • Stores can now modified at ofbizsetup/control/updateProductStore. (OFBIZ-10930)
  • Fixes: Updating an OrderItem loses supplierProductId. (OFBIZ-10932)
  • Fixes: If the picklist cancelation process failed, the picklist item shouldn't be marked as cancel. (OFBIZ-4690)
  • Fixes: User depersonation do not clean out impersonated user session. (OFBIZ-10942)
  • Fixes: Parameters are not available to the next response type when form of enctype=multipart/form-data type is submitted. (OFBIZ-10833)
  • Fixes: Customer Party getting set as 'organizationPartyId' in one the Account transaction for Customer return invoice. (OFBIZ-10856)
  • Fixes: Unable to add survey product to cart in order entry form. (OFBIZ-10735)
  • Fixes: Poor display of entities in text input field for Product Name. (OFBIZ-10356)
  • Fixes: createProductFeature service ignors passed productFeatureId parameter. (OFBIZ-10958)
  • Fixes: Failed registration for virtual hosts with similar mount points. (OFBIZ-10765)
  • Fixes: OWASP sanitizer breaks proper rendering of HTML code. (OFBIZ-10187)

Plugins

  • Fixes: Amount field is editable at Product Detail Page. (OFBIZ-10663)
  • Fixes: UI issue on ecommerce main page. (OFBIZ-10849)
  • Fixes: Error message is displayed in shopping cart when click on recalculate cart link. (OFBIZ-10852)
  • Fixes: Unable to create new quote from cart at eCommerce store. (OFBIZ-10886)
  • Fixes: Error message is displayed while click on create new quotes. (OFBIZ-10882)
  • Ensures html verbosity is following general setup. (OFBIZ-10940)
  • Fixes: Can't set (expected) start and end date of project when creating a project. (OFBIZ-10927)
  • Fixes: FindTask does not allow for all statuses possible to be selected. (OFBIZ-10913)
  • Fixes: Shortkeys missing on WebPOS. (OFBIZ-10961)
  • Fixes: Remove link is not working in shopping list. (OFBIZ-10967)

Documentation

Framework

  • Adds adoptopenjdk links to README.adoc. (OFBIZ-10757)

Friday May 03, 2019

Apache OFBiz News - March 2019

Apache OFBiz News March 2019

Welcome to our regular monthly round-up of OFBiz news. This month we have more news about a new Youtube playlist, some improvements in order and return flow along with our usual list of features and improvements.

Applied OWASP Dependency Check as per Gradle recommendation

OWASP Dependency Check is a tool for checking the Java libraries you use have no security issues. The feature was used when OFBiz worked with Ant build tool. Since OFBiz now uses Gradle, all dependent libraries (i.e. also dependencies from the libraries OFBiz uses and recursively) are loaded by Gradle and analyzed by the OWASP Dependency Check plugin. So it's materially impossible to check all the possible vulnerabilities. Further explorations concluded that with Gradle 2.1 it is recommended to use the plugins {} block for binary plugins instead of the “traditional” apply() method. Hence, it will be applied as per the Gradle recommendation in plugins block. 

Please refer to OFBIZ-10700 and Mail thread.

Thanks, Jacques Le Roux, Mathieu Lirzin, Shi Jinghai, Michael Brohl, and to everyone who contributed towards this effort.

Improvements in storeOrder Service

The current implementation of storeOrder service doesn't support some of the OrderHeader fields namely priority and isRushOrder. The community decided to add conditional support for these fields, that means if the value comes in the parameter then it will be stored otherwise not.

Please refer to OFBIZ-10855 and Mail thread.

Thanks, Rishi Solanki for initiating and putting efforts in this direction, Ankush Upadhyay, Suraj Khurana, and Swapnil M Mane for their valuable inputs.

Improvement in return order to put a constraint on after no of days return is allowed

In the current implementation, we can create a return for order without checking when that order is placed, it might be years long. The proposal is to allow creating return till after that specific day of order completion.

The proposal is still under discussion. Please refer to Mail thread.

Thanks, Suraj Khurana for initiating the discussion and everyone who participated by providing their valuable inputs.

Updates on OFBiz Video Tutorial Series

In order to improve the OFBiz learning curve, a new playlist is created. Main highlights of this playlist are:

  1. It contains the videos in a sequential manner from beginner to expert.
  2. This playlist will always be in sync with the trunk branch.

The main idea is to always have videos which work with OFBiz trunk branch.

Please refer to Youtube Playlist and Mail thread.

Thanks very much, Pranay and Swapnil M Mane for their continuous efforts

New features and improvements

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

Framework

  • Improves readabillity of Gralde build script. (OFBIZ-10695)
  • Improves the use of Gradle Plugin DSL (OFBIZ-10700)
  • Simplifies integration tests. Now a common dispatch and delegator will be used for tests. (OFBIZ-10723)
  • Removes Groovy Base script redundancy in GroovyUtil.java. (OFBIZ-10806)
  • Simplifies ‘GroovyUtil#runScriptAtLocation’ and adds javadoc (OFBIZ-10807)
  • Inlines ‘serviceInvoker’ method in Groovy engine. (OFBIZ-10808)
  • Simplifies ‘AbstractEngine#getLocation’ and adds javadoc. (OFBIZ-10809)
  • Improves ‘AbstractEngine#createLocationMap’ (OFBIZ-10810)
  • Rewrites ‘GroovyUtil#parseClass’ (OFBIZ-10822)
  • Removes unused ‘GroovyUtil#loadClass’ (OFBIZ-10820)
  • Uses ‘FlexibleLocation#resolveLocation(String)’ instead of FlexibleLocation#resolveLocation(String, ClassLoader) method. (OFBIZ-10821)
  • Disallows extension of the script helper bindings. (OFBIZ-10825)
  • Rewrites ‘ComponentConfig’ constructor. (OFBIZ-10829)
  • Replaces document.write() occurrences with some legitimate code. (OFBIZ-10759)
  • Improves ObjectInputStream class. Adds FlexibleStringExpander, sun.util.calendar.ZoneInfo, java.sql.Timestamp and java.util.Date. (OFBIZ-10837)
  • Improves Store Order Service. UtilValidate method is now used instead of checking null. (r1855307)
  • Adds Short Messaging Service(SMS) Gateway Integration. (OFBIZ-10457)
  • Adds line separator while generating svn/git info footer. (r1855501)
  • Simplifies build scriopt using ‘jvmArguments’ only once. (r1855669)
  • Gathers the javadoc options in a unique block. (r1855675)
  • Gathers the definition of the jar manifest attributes. (r1855676)
  • Provides multi-arguments to the ‘Exec#args’ method. (r1855678)
  • Refactors build.gradle. JVM arguments to ‘createOfbizCommandTask’ will be used now directly. (r1855795)
  • Refactors build.gradle. ‘createOfbizCommandTask’ Debug mode is set to false by default and can be activated by ad-hoc override. (r1855796)
  • Refactors ‘:jar’ task output archive name in build.gradle. ‘createOfbizCommandTask’ method now references the ‘outputs’ property instead of hard-coding the jar file name. (r1855797)
  • Refactors build.gradle. Merges regexps inside ‘createOfbizCommandTask’. (r1855798)
  • Improves Webtools screen rendering time. (OFBIZ-10716)
  • Improves error message page to support theming (OFBIZ-10753)
  • Adds ‘:distTar’ and ‘:distZip’ gradle tasks. (OFBIZ-10866)
  • Improves the use of Gradle dependency types. 'compile’, ‘testCompile’ and ‘runtime’ dependency types has been superseded by ‘implementation’, ‘testImplementation’ and ‘runtimeOnly’ in recent Gradle versions. (OFBIZ-10871)
  • Rewrites ‘getJarManifestClasspathForCurrentOs’ method. (OFBIZ-10872)
  • Adds ability to configure stackTrace displaying on ftl rendering. (OFBIZ-10817)
  • Extendes ReturnType entity with parentTypeId and hasTable fields to make it consistent with other type entities. (OFBIZ-10868)
  • Correctes typo in 'GiftCertificate' UiLabels. (OFBIZ-10861)
  • Sets OrderId in FinAccountTrans while gift card redemption and creation. (OFBIZ-10867)
  • Refactors GiftCertificateServices.java. Send Email services will now be called asynchronously to prevent rollbacks. (OFBIZ-10860)
  • Replaces inline js with external js in renderDropDownField macro. (OFBIZ-9849)
  • Switchs ftpNotificationEnabled test condition to respect configuration meaning. (OFBIZ-10245)
  • Rewrites ‘getDirectoryInActiveComponentsIfExists’ in build script. (OFBIZ-10695)
  • Prepares for JDK11 update. Updates following code to fix warning with respect to JDK11 - Replaced Class::newInstance occurrences - Removed deprecated override method Object::finalize. (OFBIZ-10757)
  • Modifies the log level from info to verbose if internal sso is disabled. (r1854979)
  • Adds unit test case for service - createAcctgTrans. (OFBIZ-1463)
  • Reverts changes done at r#1854306. Removes the extra space from CommonBranch uiLabel values. (r1855497)
  • Adds unit test case for service - AddRequirementTask. (OFBIZ-8931)
  • Adds unit test case for service - getDataResource. (OFBIZ-8423)
  • Adds unit test case for service - updateProductCategory. (OFBIZ-8579)
  • Adds unit test case for service - CreateReturnAdjustment. (OFBIZ-8857)
  • Adds unit test case for service - createProductFeatureType (OFBIZ-9089)

Plugins

  • Replaces document.write() occurrences with some legitimate code. (OFBIZ-10759)
  • Improves Markup for the blogs screen. (OFBIZ-10578)
  • Improves UI at Configurable Product detail page. (OFBIZ-10578)
  • Improves UI at checkout page. (OFBIZ-10578)
  • Prepares for JDK11 update. Updates following code to fix warning with respect to JDK11 - Replaced Class::newInstance occurrences - Removed deprecated override method Object::finalize. (OFBIZ-10757)
  • Adds Short Messaging Service(SMS) Gateway Integration. (OFBIZ-10457)

Bugfixes

Functional and technical bugfixes:

Framework

  • Fixes: simpleTypeConvert always returns Null for Document, Document Type and Notation Node. (OFBIZ-10832)
  • Fixes: Service failed to mark expired authorized payments of Authorize.net as void. (OFBIZ-10727)
  • Adapts some javadoc in ObjectType.java and JWTManager.java to let the build succeed. (r1855674)
  • Updates Tomcat to 9.0.16 due to CVE-2019-0199 to prevent excessive numbers of SETTINGS frames und unclosed streams. (OFBIZ-10873)
  • Fixes: Missing oldStatusId produce an error when no status valid change record found. (OFBIZ-10377)
  • Fixes: Error message is populating while clicking on product barcode. (OFBIZ-10743)
  • Fixes: Incorrect decorator being used over view all promotions and view promotion details screen causing back navigation. (OFBIZ-10859)

Plugins

  • Fixes: Product image is not displayed on showcart page of ecommerce. (OFBIZ-10738)
  • Updates Tomcat to 9.0.16 due to CVE-2019-0199 to prevent excessive numbers of SETTINGS frames und unclosed streams. (OFBIZ-10873)
  • Fixes: Upload new file button is not visible on My Profile page. (OFBIZ-10851)

Calendar

Search

Hot Blogs (today's hits)

Tag Cloud

Categories

Feeds

Links

Navigation