Ver 8.0.0.0 – What’s new?

Introduction

Version 8.0.0.0 is the first release after version 7.4.0.1 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.

Version 8.0.0.0

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

  • JSON version of the APIs for all Admin functions (KKAdminIf)
  • Introduction of KonaKartAdmin Tiles that use the JSON Admin APIs. The first release consists of JavaScript tiles to manage products that can be embedded into any front end system such as a CMS or portal that supports JavaScript.
  • New Filtering feature that allows you to restrict the orders that are seen by different users. This can be used to implement order processing workflow.
  • New admin feature to generate catalog prices based on category rules that allow you to include and exclude products and to add price adjustments.
  • New custom fields added to orders, order products and customer’s basket objects for greater flexibility when extending KonaKart to implement custom functionality.
  • Introduced Logo Content type allowing store owners to manage their logo from the KonaKart Administration Console.
  • New Mailing List creation feature for integration with 3rd Party emailing tools such as MailChimp.
  • Enhanced frameworks for the CustomStoreService and CustomAdminService that allow you to create your own custom services to execute alongside the KonaKart APIs. The major new feature is that you can now generate a JSON version of these custom interfaces (previously only POJO and SOAP were supported).
  • Maven build scripts (and POMs) for the Enterprise version.
  • Introduction of kkCmd Command Line Utility for inspecting KonaKart objects.
  • Upgraded to BIRT 4.4.2
  • Upgraded to GWT 2.7.0
  • Added the ability to add/remove category Images using the Admin APIs (previously only possible to manage product and manufacturer images).
  • MathTool added to default Velocity contexts for adding math functionality to your Velocity templates. See http://velocity.apache.org/tools/devel/generic/MathTool.html Other tools can be added if required. See User Guide for Details.
  • Modified database scripts for Oracle so that they can be executed successfully in Oracle tools such as sqlplus.
  • Added a new configuration variable to define the location for emails to be saved (if email debugging is enabled). This has been done to allow you to separate these emails from other log files. The default setting for this is identical to the previous version so nothing will change unless you modify the new configuration variable (in the Admin Console).
  • Modified the Edit Product panel in the Admin App to associate some of the existing entry fields to different tab folders.
  • When a product is assigned attributes and so has multiple variations (e.g. small / medium / large), each variation has a stock level and the stock is managed separately for each variation. An attribute has been added to the product object to allow you to programmatically decide whether to use the individual stock levels or to use the main product quantity attribute to manage the stock.
  • Added Solr functionality to provide the option to generate a list of suggested search and suggested spelling items for each catalog id. A catalog may only contain a subset of products so this functionality allows you to provide search and spelling suggestions only for products within the catalog and not for all products in the store.
  • New EMAIL_VERIFIED column added to the Customer table to support custom logic around the verification of customer email addresses.
  • Allow the searching of customers by the two new External Reference attributes.
  • Allow the searching of orders by payment method and payment module code.
  • Added a new Admin Engine API call (deletePromotionWithOptions()) that allows you to decide whether to delete the coupons and whether to check that the coupons are only used by the promotion being deleted.
  • A data integrity checker and repair function can optionally be executed on logout of the Admin Application. Specify the required behaviour in the File-Based Configuration. This shouldn’t be required under normal operation but can help to repair data in circumstances such as when languages are added and data objects do not contain records for every language in the system.
  • When implementing multi-valued facets like described in the user guide, functionality has been added to detect the facets based on the identical tag group name and then to OR them together in the same way as facets within the same group are typically processed.
  • Enhanced the application API call getPromotionsPerProducts(). An attribute has been added to the PromotionResult object to indicate whether that promotion was used to discount the product.
  • Enhanced the admin API call getCustomers() to allow to search for customers based on their customer tag values. An example of how to use this functionality (CustomerSearchUsingTagFilters.java) has been added to the KonaKart\java_api_examples\src\com\konakartadmin\apiexamples directory.
  • Handle Velocity Templates that use <!DOCTYPE at the start as well as <HTML.
  • The sizes of the Admin App custom panels can be configured individually (Enterprise Only).
  • Added Sent Date to the headers of emails sent from KonaKart to comply with RFC 5322.

Bug fixes

  • When switching between stores in the admin app in multi-store mode, the admin app wasn’t refreshing the currency formatter that determines the number of decimal places for prices.
  • Set the constant MS_IN_1_DAY to the correct value. This was causing Admin Passwords to be calculated to be expired earlier than they should have been.
  • Fixed a bug in the Product Options panel of the Admin App (Enterprise Version Only). The Option Type was always being displayed even when editing or inserting an Option Value.
  • The Admin App wasn’t allowing the editing of bookings (Enterprise Version Only) for a bookable product. An exception was being thrown.
  • An exception was being thrown by the Admin Engine when updating a payment schedule object when the name of the object wasn’t being changed during the update.
  • Solr keywords AND, NOT and OR were causing exceptions when used as independent search strings.
  • Fixed a null pointer exception that was appearing in shared customer, non shared product mode when using Solr after deleting a category. A null pointer exception was being generated in the storefront application until the caches were refreshed.
  • Modified the formValidate() method in kk.validation.js to prevent a customer submitting a form multiple times.
  • Fixed a bug displaying product counts in the storefront category tree and manufacturers when using catalogs that don’t include all products. The count was always including all products.
  • Fixed a bug where Suggested spelling was throwing an exception when the search string contained a forward slash.
  • Storefront escapes some form input characters before saving them. This was causing a problem matching states such as Thüringen (where ü was being escaped) during registration or when inserting or editing an address.
  • Storefront Tax module was returning a negative value when the total of the discounts applied by promotions was greater than the total of the order.

Backwards Compatibility Alert

  • Due to a slight code-reorganization to remove some cyclic dependencies a few classes have moved from one konakart jar to another and some classes have been removed:

    From konakart.jar to konakart_custom.jar:

    • com.konakart.bl.OrderIntegrationMgr$TaxModuledata


    From konakart.jar to konakart_utils.jar:

    • com.konakart.KonaKartVersion
    • com.konakart.app.KKException


    From konakart_custom.jar to konakart.jar:

    • com.konakart.blif.LDAPMgrIf
    • com.konakart.bl.modules.ordertotal.OrderTotalInterface

  • These redundant classes have been removed:

    Removed from konakartadmin_gwt.jar:

    • com.konakartadmin.client.util.GWT_Validation
    • com.konakartadmin.client.util.GWT_Utils

    Removed from konakart_payment_worldpay.jar:

    • com.konakart.actions.gateways.WorldPayXMLRedirectResponseAction
  • Several jar name changes. Introduced the jar names used by maven for the purpose of supporting maven builds.
  • Admin Objects no longer inherit from AdminObjectIf which has been removed. The id in the inherited AdminObjectId was causing conflicts. In any custom code that you have written you should check that you are setting the correct Id – a simple recompilation of your code will tell you. If you have any compilation failures, replace the setId() or getId() with a set or a get of the relevant object Id and not the generic id attribute.
  • The addTerm() method of the AdminSolrMgr has an extra attribute (catalogId) . This is only of interest if you have specialised this method in your own AdminSolrMgr.
  • Enterprise users should ensure that the correct “EE” managers are specified in the two main properties files: konakart.properties and konakartadmin.properties. AdminProductMgrEE and AdminOrderMgrEE were introduced so if you are upgrading you will need to specify the new EE class names. You will need to specify:

    • konakart.admin_manager.AdminProductMgr = com.konakartadmin.bl.AdminProductMgrEE
    • konakart.admin_manager.AdminOrderMgr = com.konakartadmin.bl.AdminOrderMgrEE

    If you already had your own specialisations of these Managers you will need to modify these to extend the EE versions in order to access the new Enterprise functionality.

  • In the MqOptions class the attribute “String customInt1” has been changed to “int customInt1”.