Magnolia 5.4 reached end of life on November 15, 2018. This branch is no longer supported, see End-of-life policy.
Magnolia KonaKart Connector module allows users to connect a KonaKart store to Magnolia. KonaKart is a Java-based eCommerce solution for retailers of all sizes. It offers features such as multiple stores and payment gateway integrations.
The Magnolia KonaKart Commerce bundle consists of two modules:
Integration: Connects Magnolia with the KonaKart eCommerce server
Demo: Contains a reference website and configuration examples.
The KonaKart Connector module exposes the content of the store using standard Magnolia components that can be displayed on the website. Users (shoppers) can manage their account and wish list and complete the checkout process. The module installs a Products Browser app that allows users to browse stores. This documentation is based on the KonaKart Connector module 2.0 that is compatible with Magnolia 5.4 and newer.
Before installing, please be aware of:
Update from KonaKart Connector 1.2 and lower to 2.0 is not supported due to many changes done in version 2.0!
You can also download the modules as a WAR file:
Hotfixing resource konakart_json.properties in the Resources app will not affect KonaKart engine setup because KonaKart libraries are using its own mechanism of loading .properties
file!
Configuring the konakart module includes the following steps:
In Magnolia, go to Configuration > /modules/konakart-commerce-integration
and create the structure shown below.
Node name | Value |
---|---|
modules |
|
konakart-commerce-integration |
|
config | |
storeConfiguration | |
engineConfig | |
propertiesFileName | konakart-commerce-integration/konakart_json.properties |
storeId | store1 |
stores | |
store1 | Store 1 |
| |
| required Name of the engine configuration file. |
| Default store ID. |
productsShared | When in multi-store single database mode, the products can be shared between stores |
categoriesShared | When in multi-store single database mode, the categories can be shared between stores |
customersShared | When in multi-store single database mode, the customers can be shared between stores |
| Engine mode that the JSON engine will use 0 = Single Store (default) 1 = Multi-Store Multiple-Databases 2 = Multi-Store Single Database |
| required only for multistore configurations Store mapping as used in the Products Browser app. |
|
The Products Browser app and KonaKartTemplatingFunctions uses KonaKart libraries to communicate with the KonaKart eCommerce solution. Configure the libraries using a .properties
file. Default configuration file shipped with Magnolia is located in the integration module and is set to point to KonaKart demo. In order to use your own configuration, put the file in the classpath such as /WEB-INF/classes
or add it to your module under src/main/resources
. For example, if would have maven module called myModule
, location of the .properties
file could be /myModule/src/main/resources/my_konakart_json.properties
, and value of the propertiesFileName
would be my_konakart_json.properties
.
See default configuration of the .properties
file below:
Node name | Value |
---|---|
konakart-commerce-integration |
|
config | |
storeConfiguration | |
engineConfig | |
propertiesFileName | konakart-commerce-integration/konakart_json.properties |
The default configuration points to konakart_json.properties - this file is in src/main/resources/konakart_json.properties of the Magnolia Konakart module.
Once the fresh installed module works with the default konakart_json.properties - we recommend creating a custom properties file on a different location. When using a custom properties file, make sure to change the property /modules/konakart-commerce-integration/config/storeConfiguration/engineConfig/@propertiesFileName
accordingly.
You can override options configured in the .properties
file in Configuration > /modules/konakart-integration-commerce/config/storeConfiguration/engineConfig
. See KonaKart EngineConfig Javadoc for configuration options.
The KonaKart Connector module installs a Setup app that allows you to configure a front-end JavaScript engine for KonaKart tiles. The configuration is saved under the site's parameters which allows you to have one store per site configuration.
A KonaKart tile is a building block for creating an eCommerce application which can be integrated into a front end system such as a CMS. Each tile has a template, a style sheet and a JavaScript file which control the look and feel as well as the functionality. The tiles communicate with a KonaKart server using the KonaKart JSON APIs called asynchronously via JavaScript.
The KonaKart Connector module installs a Products Browser App that allows store administrators to browse all shops, categories and products. The product information is read-only since the KonaKart libraries do not expose the product update API. However, a store administrator can use the provided embedded IFrame app to use KonaKart administration within Magnolia to update products without leaving AdminCentral.
The KonaKart Connector module templates have no dependencies to templates from other modules. (No need for STK or MTE.)
The KonaKart Store
Demo
template is the default page template. It displays a complete store.
The KonaKart Store Components
Showcase is simple page displaying one or more components.
The Product Teaser teases and links to individual products.
Configurable parameters:
Category carousels display teasers to all products in a category.
Horizontal carousel:
Vertical carousel:
Configurable options:
Allows users to search for products in the store.
Requires the products browser component.
Displays categories from the store.
Requires the products browser component.
Allows users to browse the store and filter products.
Configuration options:
Displays a summary of the shopping cart with item price and total price.
Displays full content of the shopping cart, including taxes and discounts. Allows manipulation of the shopping cart content. Starts the checkout process
Checkout tile allows to set delivery and billing addresses and choose shipping and payment methods.
Displays a summary of items in wish list with item prices and total price.
Displays full content of the wish list allowing to manage item priority, also allows to add items form wish list to the shopping cart.
Allows users to log in or register.
Allows users to manage their account.
The KonaKartTemplatingFunctions can be used for obtaining product or category IDs, product and category beans, store ID assigned to the current site, etc. See API for all available functions. Templating functions are available in all templates by default under kkfn
abbreviation.
The KonaKart Connector provides a full KonaKart Java API which allows you to write your own actions and column formatters in the Products Browser app. You can also get products and categories as Java objects in templates instead of Javascript and work with them.
Caching is enabled in the Product Browser app to reduce the number of calls and to make the Products Browser app and its choose dialog as responsive as possible. Cache is cleared when user closes the app.
Lazy loading
Categories and products in the Product Browser app are loaded lazily (for example when expanding category) to make Products Browser more responsive.