Summary

This app integrates Liferay with the state of the art open source CMS Crafter Studio (http://craftersoftware.com/products/overview). Crafter Studio is an award-winning web content and experience management solution that allows organizations to build and manage rich online experiences on the web, mobile, social, and all digital online channels.

Crafter offers an open source, agile, and modern Java-based alternative to closed, proprietary WCM solutions from Oracle, Adobe, HP, Open Text, Documentum, and others.  And Crafter provides a much higher performance solution when compared to other open source  solutions that are closely-coupled to SQL databases or Apache Jackrabbit.

Crafter leverages best of breed free and open source software, including the Alfresco content platform, the Spring Framework, Freemarker Templating Language, Bootstrap, Google Analytics and Apache Solr.

Crafter Software offers two editions: 

Crafter Liferay CMS Integration provides the capability to render articles authored and published in Crafter Studio. Currently, you can either render one single content or render a list of articles by searching a particular topic against websites managed by Crafter CMS.

Overview

Crafter Liferay CMS Integration app consists of two portlets and one theme plugin. 

Crafter configuration portlet allows the administrator to pre-configure Crafter Search URL and Crafter End Point. Crafter Search URL is used for searching articles inside Crafter studio using Restful APIs. Crafter End Point can be used for accessing static assets directly from Crafter. 

Crafter Integration Portlet provides search services for the front-end. It searches for articles inside Crafter studio using Crafter's Restful APIs by passing specific parameters configured using Liferay CMS.

Velocity Templates Theme provides structures and templates for rendering articles from Crafter studio. Currently, there are two types of structures: one for single parameter search, one for single content. 

Installation

The installation steps are as follows:

  1. Download Crafter CMS 2.4.0 from http://craftersoftware.com/downloads. Select the version that matches your operating system, install Crafter CMS 2.4.0 following the installer instructions using default options. We recommend to use Java SE 7. Crafter works even with Java SE 8, but there are some servers that doesn't, like JBoss 7 or Glassfish 3.
  2. Download Liferay portal CE GA2 from  http://sourceforge.net/projects/lportal/files/Liferay%20Portal/6.2.1%20GA2/liferay-portal-tomcat-6.2-ce-ga2-20140319114139101.zip/download.  Install CE GA2 under your choice of directory. To avoid conflicts of ports from Crafter CMS, change the ports as following in /liferay-portal-6.2-ce-ga2/tomcat-7.0.42/conf/server.xml: 

    <Connector port="9090" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" URIEncoding="UTF-8" />
    <Connector port="9009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" />
    

    Note: if you are using Liferay bundled with JBoss, you can find the file to edit in /liferay-portal-6.2-ce-ga2/jboss-7.1.1/standalone/configuration/standalone.xml. Or if you are using bundled with Glassfish the file will be in /liferay-portal-6.2-ce-ga2/glassfish-3.1.2.2/domains/domain1/config/domain.xml.

  3. Obtain Crafter Liferay CMS Integration app from the Liferay Marketplace.
  4. Deploy the app in your existing Liferay installation.

Socket Security

Why do we need it
  1. This app requires a connection to Crafter site to obtain the content. 
  2. Since the app is PACL enabled, the Crafter URL with which it connects need to be specified in liferay-plugin-package.properties of Crafter-Integration-Portlet.
  3. To understand Socket Security, click here
How to update the URL
  1. Go to the [Tomcat Home]/webapps/crafter-integration-portlet/WEB-INF
  2. Replace the localhost (127.0.0.1:8080) with Crafter URL as show below in liferay-plugin-package.properties 

    security-manager-sockets-connect=\
    
        127.0.0.1:8080 
  3. Restart the tomcat upon saving the changes.

Configuration

  1. Under control panel, click on Crafter Configuration Portlet:

     2.  Configure Crafter Search URL and Crafter End Point: for localhost, Crafter Search URL = http://127.0.0.1:8080/crafter-search/, Crafter End Point = http://127.0.0.1:8080/


 3.  Create Structures:  create structure Single Content and Single Parameter by copy the structure definitions under /velocity-templates-theme/docroot/_diffs/templates/crafter-generic/structures/ from the source code.

 

 

4. Create templates: Create corresponding templates for article (article.vm) and single parameter, then select from structure Single Content and Single Parameter respectively. 

5. Create web contents: create one web content with single content ( one example is a page called About inside Crafter Studio). Specify correct CrafterSite and Local Id. Find those values by searching the Office Locations page inside Crafter studio sites using http://localhost:8080/solr-crafter/admin/.

Create another web content using Single Parameter template, enter Keyword value, for example  "big data". 

Create two new pages on your Liferay Site: Big Data and About. Select corresponding web contents:

 

Features

This is how the web contents should look once you display them:

  1. Single Content:
    This is how the web content looks in Crafter Studio


This is how the same content looks in Liferay

 

     2. Single Parameter Content:

Code repository

The latest source code is located at the following location:

https://github.com/rivetlogic/liferay-crafter-integration

Contact Us

We welcome feature/bug reports concerning Liferay Crafter Integration app. Discussion helps to clarify the ways the app can be used and also helps define directions for future development. Please post your concerns at http://issues.rivetlogic.com/browse/LRA.

 

Change log:

1.1.0

New feature: Help page.