Ver – What’s New?


Released on 6-March-2014 Version is the first release after version that has been made generally available. It’s a major release containing some new features and a number of bug fixes.


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 support for Shippers and Shipments. Multiple shipments may be defined for a single order. The shipments (including tracking number) can be included in a notification eMail and are visible from the order details page of the storefront application.
  • Performance Improvement : Upgrade to Torque 4 – keeps up-to-date with the latest version of Torque which helps to provide an overall performance improvement in KonaKart of approximately 10%-20%. (Based on timings made before and after the upgrade to Torque 4 when running a broad cross-section of test suites). Upgraded to the ojdbc6.jar Oracle JDBC driver.
  • Performance Improvement : Product Caching (Enterprise Only). Choice of caches available: KonaKart (on heap, POJO), Ehcache (on heap, byte arrays) and Big Memory Go (off heap, byte array).
  • Added support for real time credit card refunds through the payment gateway, which can be managed from within the Admin App. The full details of the refund transactions are saved in the database. This is an Enterprise Only feature.
  • Added two new types of product options. KonaKart now supports 4 different types (types 2 – 4 are Enterprise Only):
    • 1) The Standard type is where each option value defines a product attribute which may or may not modify the price of the product (e.g. Small, Medium and Large for an option called Size or Black, Brown and Red for an option called Color).
    • 2) The Customer Text type option allows a customer to enter text which for example could be used to personalize the product with a name, initials or a greeting.
    • 3) The Variable Quantity type is an option, the value of which may take a customer defined quantity. It can be used for example to specify the required amount of disk storage required when configuring a cloud based computer.
    • 4) The Customer Price type allows the customer to enter a price for the option. This could for example be used for making donations.
  • Added CustomStoreService and CustomAdminService – a framework and set of utilities to create custom functionality alongside the KonaKart services. A utility is provided to make it easy to create SOAP versions of these custom services. These can be used alongside the KKEngIf and KKAdminIf engines to provide custom services that you may need to supplement the standard KonaKart functionality for your unique requirements. Examples provided for you to customize to make it easy to implement.
  • Added support for spelling suggestions when a search returns no results.
  • Added functionality to be able to set the sort order of product options such as size and color.
  • Added a new “Virtual Product” type for a product that doesn’t ship and isn’t downloaded. It may be used for services like extra warranty or 1 hour of tuition etc.
  • Added functionality to the Admin App to be able to decide whether to send Newsletters to everyone who has signed up or just to registered customers.
  • New KKEvent mechanism to signal key events in the system such as updates of products. Initially this is only used for Cache Management functions but its use will be extended.
  • New set of Custom Panels that can be arranged in each section of the Administration Application for more flexible integration of custom administrative features.
  • Added an example Admin Application to insert a product using a very user friendly wizard driven interface. The application can be run in a custom panel. The application (including full source code) is available to Enterprise customers so that it can be used as a starting point for developing custom admin functionality. An ANT task called make_eclipse_wizard_project has been provided to create an Eclipse project for this example application.
  • Added the ability to configure the role privileges on the Customers For Reviews column of the Administration Application (as for the Customers for Orders panel).
  • Set the logon count and the last logged on date for users of the Administration App.
  • Added security enhancement to the storefront application to prevent XSRF attacks.
  • Added quantity droplist to the storefront application to select quantity before adding product to cart.
  • Modified the Order Status objects so that the Order Status Id is no longer a part of the primary key.
  • Added an order total module which can be configured to add a charge based on the selected payment method.
  • Updated the version of Solr to 4.6.0
  • Added a method in the AdminProductSolrMgr that can be overridden in order to index all product related data that isn’t automatically indexed. e.g. Data from product custom fields.
  • Added a tokenizer to the Solr search string to be able to search for the keywords within the search string AND’ed together rather than an exact match on the string. e.g. The search string “rotary lawnmower” is converted to rotary AND lawnmower.
  • Added functionality to return a Solr score for searches and to be able to sort by the search score.
  • When reading an order (through the Admin APIs) retrieve the FirstName and LastName of the user who updated an Order as well as the updatedById. These values are now made available for use in the Order templates.
  • Allow the definition of whether the assignment of products to stores is allowed using role-based configuration rather than only allowing super users this privilege. (See Custom1 setting on the Privileges of the Edit Products Panel).
  • Hide the Set Language link in the Administration Application if only 1 language is defined.
  • Enhanced search for orders and reviews – now possible to search for between specified last modified dates.
  • Removed the maximum length on text fields in the Store Maintenance window of the Administration Application to allow greater flexibility in using the store custom fields for bespoke purposes.
  • Enhanced mail APIs to be able to specify a dynamic list of bcc recipients.
  • By setting a new logging flag a clearer representation of all SQL being executed can be logged making it far easier to track down problems in customised code. Time taken by each query is also logged which is very useful information when tracking down performance issues and helping you to tune the database for optimum performance. Simply set = INFO in your file to see the SQL.
  • For application engine API calls that return an array of products you can now configure the API call to add the product options and the comparison data attribute is returned together with the description when the API calls are configured to return the description.
  • Multiple coupon codes may now be entered for an order to activate multiple promotions.
  • Improvements to the utility provided to set up KonaKart as a Windows Service. The default tomcat wrappers are now 64′ versions and not 32′ versions as previously. This is better for most users as the jvm.dll used must be bit-compatible with the wrapper and most users nowadays are using 64′ JVMs.
  • Now possible to pass the sessionId through to Quartz batch jobs. You define a parameter in your konakart_jobs.xml file with the value SESSION_ID and this gets substituted with the sessionId of the user executing the Quartz job at runtime.

Bug Fixes

  • Fixed paging problems in 3 API calls. The result wasn’t correct when an offset was set in the DataDescriptor.
    • getOrderHistory(WithOptions)
    • getAlsoPurchased(WithOptions)
    • getRelatedProducts(WithOptions)
  • The products ordered count (used to determine how popular a product is) wasn’t being updated when KonaKart was configured to not subtract stock levels on receipt of an order.
  • Modified the Shipping Order Total module to not return a value of $0 if no shipping quote is found. Now it returns null and the application stops checkout if no module is found.
  • In the scenario whereby you remove a category then add a category without modifying any data on the new category, the category tree was not being updated on the storefront. In these circumstances the category tree is now updated.
  • Fixed a storefront bug that was occurring in the case where a customer created a wedding list before a normal wish list. The wish list was always showing as empty.
  • Product Synchronization: The admin app wasn’t displaying invisible products.
  • Product Synchronization: No longer existing product relations were not being deleted.

Backwards Compatibility Alert

  • The sort order of product options such as size and color is now determined by a sort order attribute which is set automatically by the admin app when the product is saved. Until this attribute has been set correctly, the sort order may not be the same as it was in the previous version of KonaKart.
  • With the upgrade to Torque 4 there are a number of database-related changes to be aware of. See the “Upgrade to Torque 4″ section in the User Guide.