Ver – What’s new?


Version is the first release after version that has been made generally available. It contains many exciting new features and a number of bug fixes. Before upgrading, please read the Upgrade Compatibility Alerts for each version.


Note that some of the features highlighted below are only available in the Enterprise Extensions. See here for full details of what is included only in the Enterprise Extensions.

New Features

  • Added functionality to place promotions in test mode so that they can be tested in a live system by a group of test users.
  • Added support for generating KonaKart portlets for Liferay DXP and Liferay 7.
  • Added KKEng API calls to manage tokenized credit cards for a customer.
  • Added Configuration caching on the Admin side to improve performance.
  • Added caching of all currencies in the KKEng to improve performance.
  • Updated storefront to use JQuery 1.12.4 and JQueryUI 1.12.0. Removed jQuery migrate.
  • Upgraded to SOLR 6.2.1
  • Upgraded to GWT 2.8.0
  • Added a new batch job to send emails with coupon codes to customers that have abandoned a cart.
  • Added a new Reward Points module that allocates reward points for single products rather than for the total of the order.
  • Added new “PurgeFiles” housekeeping job to purge files matching a specified regular expression in specified directories older than a specified age. This KonaKart batch job is designed to run from the Quartz scheduler but does not run unless configured to do so in the konakart_jobs.xml file.
  • Added a new batch job to free up a customer’s reward points that were reserved after an order was confirmed, but have never been deleted or freed since the order was never paid for or cancelled.
  • CustomStoreService and CustomAdminService now provide support for floats.
  • FreeProduct promotion may now be configured to not return a free product if it is out of stock.
  • Storefront application now gives immediate feedback when a coupon code or gift certificate code is entered regarding the validity of the code.
  • Added a store time zone configuration variable which is currently used to allow administrators to set promotion start and end times using local time even if the server is in another time zone.
  • The product viewed count can now be set through the Admin App. This allows an administrator to promote a product so that it appears at the top of the list when products are sorted by most viewed.
  • The products_ordered attribute of the products table can now be administered through the Admin App.
  • Added B2B functionality to storefront to only allow customers to place orders below a certain threshold where the amount is the sum of all orders placed by the customer within a certain time period.
  • Added reserve stock functionality to bundles so that the bundled products are reserved whenever the parent is reserved.
  • Added a new deleteProducts API call to KKAdminIf that takes an array of product Ids which provides a higher performance option for deleting multiple products than deleting one product at a time as done when using the deleteProduct API call once for each product.
  • Added an extra attribute to customer tags that controls whether the tag value for a customer can be modified through the KKEngIf APIs.
  • Added a new Admin API call deleteProdAttrDescWithOptions() where the options allow you to decide whether to update the custom attribute data for all products using the custom attribute.
  • Added two custom attributes to the ProductQuantity object so that products with options (e.g. blue, green shirt) can store custom data for each option.
  • When enabling a customer using enableCustomer(), an option has been added to also set the emailVerified customer attribute.
  • Populate more objectId fields in the Audit records for many KKAdminIf API calls. This helps track down changes made to KonaKart objects in auditing records.
  • Added functionality to the editProductWithOptions() API call and to the Admin App to allow product edits without updating the quantity in stock of the product and its variants.
  • Added order number as a possible search constraint for the KKEng API call searchForOrdersPerCustomer().
  • The KKEng API calls getTagGroupsPerCategory() and getTagGroupsPerCategoryWithOptions() now return all tag groups if the category id is set to -1.
  • The KKEng API call getTagsPerCategory() now returns all tags if the category id is set to -1.
  • When calculating reward points, we now take into consideration whether there is a shipping discount and / or a payment charge.
  • If a logout fails due to session expiry at the end of a batch job do not treat this as a failure of the Quartz job, just issue a warning in the log.
  • Added configurable functionality when retrieving basket items with options to populate the option price including tax.
  • A configuration variable has been added to make it configurable as to whether the KonaKart storefront application increments the product viewed count every time a customer views a product.
  • Added the capability to search Coupons by custom1, custom2 and custom3 fields.
  • ERP XML Integration : Documentation updates, OK and KO log directories are automatically created if they no longer exist. Improved error reporting to aid in diagnosing problems.
  • Modified the birtviewer_document_fragment style in Birt Viewer’s style.css from overflow:hidden to overflow:auto in order to show scrollbars.
  • In the Order Export to ERP, we now export all 10 custom attributes of the order.

Bug fixes

  • Changed tiles.xml to reference the correct version of the DTD (2.0 and not 2.1).
  • Catalog prices and quantities of a product attribute were not being deleted when the attribute was deleted.
  • Catalog prices for attributes were not being inserted through the admin app if the product was first saved with no catalog and then retrieved using a catalog filter before attempting to edit the price.
  • An exception was being thrown when generating catalog prices for category hierarchies over 2 deep.
  • When deciding whether to activate the promotion based on the order amount, the ShippingDiscount module wasn’t including discounts in the order amount.
  • The Date From and Date To product search filters were not working when using Advanced Search from the storefront application.
  • Solr indexing of digital download documents was not working from the Admin App unless the full file path of the document was inserted. It wasn’t picking up the base path configuration.
  • In the storefront application after a customer paged through his orders and returned to his account page and then returned to his orders page, the page number wasn’t being reset.
  • The products_ordered and numberReviews attributes of the products table were being reset to 0 whenever a product was updated using the Admin App.
  • In the storefront ShowAllOrders.jsp we were always displaying one order more the the page size.
  • The product reviews link in the product details tile was not functioning correctly.
  • Fixed a bug in forgotten password functionality of the storefront.

Backwards Compatibility Alert

  • The new version of SOLR requires Java 8. You can still run KonaKart using Java 7 but SOLR must be run with Java 8. It’s possible to run just SOLR using Java 8 by setting the SOLR_JAVA_HOME environment variable (see bin/setJavaHome.bat or bin/ for examples). SOLR is also started as a separate process rather than as a webapp under tomcat as previously. The base URL after a standard install is now http://localhost:8983/solr/konakart. After a default installation the SOLR administration application is available on port 8983. For security reasons it’s important that you configure your firewall to block all requests using that port number.