Sunday, February 9, 2014

Liferay-Konakart Integration

Liferay-Konakart Integration

This is post about integration Konakart shop functionality with Liferay.

Konakart version:
Liferay version: 6.1.1

I. Steps for base Installation:

1. Download clean Konakart ( ) and Liferay ( )

2. Install Konakart (into Konakart folder).

3. Go to the Konakart/custom folder.

4. Genarate KonakartStore and KonakartAdmin portlets with the following ant commands:

bin/kkant make_admin_liferay_portlet_war -DLR611=true -DnoAXIS=true

bin/kkant make_liferay_portlet_war -DLR611=true -DnoAXIS=true

(-DLR option specifies Liferay's version; -DnoAXIS option is to disable AXIS web services)

5. The konakart.war and konakartadmin.war files will be generated in Konakart/custom/portlet_war and Konakart/custom/admin_portlet_war folders.

6. Unzip liferay, and copy generated war files into liferay/deploy directory.

7. Startup Liferay, and konakart portlet will be deployed.

II. PayPal module integration:

1. Go to Konakart Administration portlet. Select Modules -> Payment -> Paypal.
2. Fill the PayPal configuration options:

Sort order of display: 1
PayPal Payment Zone: --none--
Callback username:
Callback Password: princess
Callback URL: http://[YOUR_DOMAIN]/konakart/PayPalCallback.action
Return URL: http://[YOUR_DOMAIN]/konakart/CheckoutFinished.action
Cancel URL: http://[YOUR_DOMAIN]/konakart/CatalogCheckoutExternalPaymentErrorPage.action
Test Mode: true
Transaction Currency: USD

3. Go to KonaKart Storefront portet. Try to buy product.

Possible issue:

Error 'There has been an unexpected problem Unfortunately we have encountered a malfunction.' when you try to pay with PayPal in KonaKart Storefront portet.

Links with the same issue:,1911.0.html,1910.msg7369.html

How To Fix:

1. Check your tomcat logs, if you have ' The String parameter called hostPort must be given a value. It cannot be set to null or be left empty.' exception.

If so, go to Konakart/custom/modules/src/com/konakart/bl/modules/payment directory, open class, and add the following code at the beginning of getPaymentDetails method:

if (hostAndPort == null || hostAndPort.length() == 0) {
    hostAndPort = "YOUR DOMAIN HERE...";

Compile classes with ant 'compile_modules' command, and replace this class inside konakart/WEB-INF/lib/konakart.jar file.

This code will avoid the above exception.

2. Add the following code to your konakart/WEB-INF/web.xml file:


3. Change konakart/WEB-INF/jsp/CatalogCheckoutExternalPaymentBody.jsp file - replace
document.forms[0].submit(); code with document.getElementById('konakartPaymentForm').submit(); and specify the id for the form below. This will submit the paypal form to the PayPal instead of first form on the portal page.

4. Modify konakart/WEB-INF/classes/ file to enable DEBUG:

# Modules = DEBUG = DEBUG = DEBUG

# Gateways = DEBUG = DEBUG

5. Restart Liferay, and try it again :)

Friday, January 17, 2014

Liferay Migration form 5.2.3 to 6.2

Liferay Migration from 5.2.3. to 6.2

Step 1. Liferay Migration to 6.0.6

1. Create 5.2.3 DB dump (db.sql).

2. Create database for LR 6.0.6 (db606).

3. Load 5.2.3 dump into 6.0.6 database:

mysql -uroot -p1 db606 < db.sql;

Delete all database views (if any).

4. Unzip clean Liferay 6.0.6.
5. Delete all folders from 'webapps' (except 'ROOT' and 'tunnel-web'); delete jre from tomcat folder.

6. Copy 'data' folder from Liferay 5.2.3 to Liferay 6.0.6.

7. Startup Liferay 6.0.6 (with default Hypersonic database settings).

8. Shutdown Liferay 6.0.6.

9. Create file:



10. Startup Liferay 6.0.6. Wait until Liferay's upgrade process has upgraded database to 6.0.6.

11. Check if there is no " ' " symbol in DB field.
Go to Control Panel → Server Administration → Data Migration. Click 'Execute' under 'Convert legacy permission algorithm'.

12. Once permission algorithm is upgraded, remove permissions.user.check.algorithm property
from file and restart server.

13. Go to Control Panel → Server Administration → Data Migration. Select 'FileSystemHook' inside Migrate images section, and click 'Execute' button.

14. Change image.hook.impl to com.liferay.portal.image.FileSystemHook in file and restart server.

Step 2. Liferay  Migration to 6.2.

1. Create 6.1 DB dump (db61.sql).

2. Create database for LR 6.2 (db62).

3. Load 6.1 dump into 6.2 database:
mysql -uroot -p1 db62 < db61.sql;

Check if there is no " ' " symbol in DB field.

4. Unzip clean Liferay 6.2.

5. Startup Liferay 6.2 (with default Hypersonic database settings).

6. Shutdown Liferay 6.2.

7. Copy 'data' folder from Liferay 6.1 to Liferay 6.2.

8. Modify file, add db configuration:



#For Themes:



9. Startup Liferay 6.2. Wait until Liferay's upgrade process has upgraded database to 6.2.

Step 3. Portlets and Themes Migration.

3.1. Migrate portlets from 5.2.3 to 6.2 version.

3.2. Migrate themes from 5.2.3 to 6.2 version. Make sure, that themeId is the same in 5.2.3 and 6.2 versions, otherwise themes will be not applied for pages.

P.S. Post-Migration issues.

Issues, which may occur after migration described here: Post-migration issues