Getting acquainted with Liferay

Enterprise Information Portals (EIP) have gradually been transformed from fashion to an irreplaceable business tool providing employees with a single point of access to data, tools for management of business processes and information exchange facilities. The Liferay project to be distributed under an Open Source license competes quite successfully with most commercial solutions.

Liferay Project

Liferay is a web platform for business solution design combining various applications into a single information space. It can help design portals with integration of corporate applications, dynamic websites, knowledge base and social networks. For access to data and for information exchange the employees will use one application. It is distributed along with the source code under a double license, GNU GPL and commercial. Liferay is far from novice on the market and is highly popular in the world. Starting from 2011, Gartner analytical agency Magic Quadrant for Horizontal Portals refers Liferay to leaders where it is close to solutions from Microsoft, IBM, SAP and Oracle. The portal has been downloaded from the official site more than four million times, the developers indicate about 350–500 thousand installations in organizations of various profiles. They also include companies of global renown: Ministry of Defense of France, Cisco, Andorra Telecom and many more.

As it is accepted in any similar systems, Liferay can be easily adapted for any conditions. After installation, the basic system contains only a certain optimum set. All Liferay’s additional functions have been implemented by connecting modules called portlets. In Liferay Marketplace, a great number of components is available, which are ready for use, with some of them being distributed free of charge.

In Liferay Marketplace we will find a large number of portlets

In Liferay Marketplace we will find a large number of portlets

 

Portlets can be created independently in various programming languages: Java, PHP, Ruby, Python, Grails framework, etc. The developers provide IDE, SDK and API, which facilitate the creation of applications. Therefore, portlets and themes for Liferay can be found by searching in GitHub, sf.net, Google Code and other resources. The project documentation and openness allow to connect any application easily, if necessary. By the way, the current version of Liferay in the installation by default supports the Russian language, the localization has been made through the portlet (86% for Russian).

Liferay server is ready for use in organizations of any size, is easily scalable, can be operated in a cluster and deployed in the cloud. The support is provided for integration with LDAP director services and Active Directory, Single Sign-On systems (CAS, OpenSSO, NTML, SiteMinder). Any SMTP/S, IMAP/S or POP3/S server will be suitable for mail operations. All applications and information are integrated into a single interface facilitating operations with Liferay by means of various methods (SOAP, REST, RSS, internal API). At present, these are tens of products: for generating reports, electronic document management system, CMS, ERP/CRM, Pentaho BI business analysis system, Libre/OpenOffice and many more. All this allows to implement the enterprise information portal with the required functions quickly and at minimum costs.

A portal created with the use of Liferay can include a content management system, blogs, wiki, forum, knowledge base, message panel, social networks, document management system (with support of MS Office), means for organization of collaborative work (calendar, tasks, warning, message exchange), management of business processes and interaction with clients, resource planning, etc. A user, apart from the messenger, obtains access to e-mail by means of integrated web client. In addition, a system for warning and distribution has been implemented (email, RSS, SMS or any other tool).

One Liferay installation can provide services for several organizations and websites. The portal supports several interface languages simultaneously, with a page for browser settings being issued upon connection. The portal appearance can be automatically adjusted for the screen size including that for mobile device.

An access system has been implemented, which is based on belonging to the organization, role and group. As a result, the user obtains access to documents and applications only on the basis of his/her role, group and organization. Information to be placed in a blog or website can be pre-moderated and published only after approval by an authorized person. Upon installation there are already several integrated roles and groups for main operations but it is easy to create new ones. An anonymous user obtains access to certain basic pages and employees or business clients have extensive rights from the very beginning.

In order to establish the content, an integrated editor with the spell checking function is proposed but in the Marketplace there are several alternatives available. Any information in Lideray is structured by means of tags and categories. Liferay supports MS SharePoint protocol, i.e. users can work with MS Office files being on local disks and download them into the Liferay storage. The support is provided for document versions, editor disabling, automatic conversion of format, image gallery, search, access via WebDAV, publication, etc. The appearance of the portal, website or a separate page can be modified by means of themes and layouts. The appearance and functionality of the personal account can be fully set both by the administrator and by the user himself/herself by means of themes, templates, portlets and widgets. For papers, records and similar things, the templates are also provided, which allows to standardize documentation. The software (SW) catalogue has been created, it allows to determine a set of SW to be available to users for downloading,

The project has developed its own client for synchronizing documents with the portal Liferay Sync, which supports drag’n’drop, logging of changes and rollback to previous versions, possibility of editing a file by several users simultaneously. Versions for Windows, OS X, iOS and Android are available. With such functionality, no special training is required from a user or administrator. All actions are performed intuitively, drag’n’drop is supported, AJAX makes the environment interactive.

Now let us note the most interesting things. Liferay is released under a double license: Community Edition (CE) under a license of GNU GPL and a commercial license for Enterprise Edition (EE). The capabilities of CE are somewhat shortcut: support of 24 х 7 х 1, integrated functions for analysis, audit, production control are unavailable. But some elements from those listed above can be compensated by means of free plug-ins. All main portal functions remained untouched, and at the beginning there is no sense in buying EE, it is sufficient to use CE in order to at least take a closer look at Liferay.
In EE, fee is collected depending upon server functionality, no client licenses (like Client Access License to be used in Microsoft products) are provided; therefore, no additional payment should be required in case of extension. It is worth mentioning separately that there are a large number of official partners dealing with implementation of Liferay worldwide.

At present the actual version is 6.2 but the development of 7.0.0 version is under way and it is possible to take a look at a pre-release. The project provides a good selection of documentation (in English). Therefore, one can find an answer to any question and without any official support. But sometimes documentation is delayed; therefore, certain matters under version 6.2 should be read in earlier releases. For example, Getting Started for 6.2 was missing as of writing this.

In addition, it is necessary to note that there is one more product, Liferay Social Office, orientated to organization of collaborative work with basic functions of the portal.

Liferay installation in Ubuntu Linux

Liferay is written in Java and, therefore, it can be operated on any platform for which JRE and application server are available. Operations with Windows OS, *nix, OS X are supported officially. By default, Hypersonic SQL is used as DBMS (database management system), which is installed automatically but it is suitable for text environments and low workloads. In industrial environments, it is better to connect the following: MySQL, PostgreSQL, MS SQL, Oracle, DB2, Sybase or Ingres. Finished images with pre-installed Liferay can be found in Amazon AWS, Bitnami, eApps and in many other cloud services. It is the simplest and fastest method for testing Liferay in operation (though Liferay deployment on a prepared OS will take not more than five minutes). Any present-day computer with RAM 2+ Gb will be suitable for testing (on cloud servers the operation is also possible with at least 1 Gb). The project offers finished sets with application servers Tomcat, Geronimo, GlassFish, JBoss, Jetty, JOnAS, Resin and the source code. We will install Liferay CE with the Tomcat application server to a system operated under control of Ubuntu 14.04 LTS with MySQL DBMS. The selection of an application server is a judgment call. Other installation variants differ only in peculiarities of configuration of the applications used. If a migration to another DBMS is required, a convenient tool is offered in the control panel. Check the availability of JDK:

If Java is missing, we will not receive in reply a list of packets which are to be installed. Install the following:

Then it is necessary to set the JAVA_HOME environment variables:

Download from the required file and unpack it in the directory.

Run the following:

In fact, this is all. In reply we will obtain a list of variables. If no errors appear (tail -f ../logs/catalina.out, netstat -ant | grep 8080), transfer to the portal. Open the browser and connect to port 8080 (http://localhost:8080). At first we will have to pass the settings proposed by Basic Configuration.

Basic Configuration window

Basic Configuration window

 

There are three subsections here:

  • Portal — name and language — by default, Add Sample Data flag will allow adding records and vividly evaluating the portal capabilities;
  • Administrator User — administrator’s data (name and e-mail);
  • Database — selection of DBMS for operation, Hypersonic is taken by default.

In principle, all is clear. We need MySQL. Select Change in the Database field from MySQL list, enter login and password and press Finish Configuration. It is necessary to wait a little until the installation has been performed. The settings will be saved in the portal-setup-wizard.properties file.

The only drawback of this method is that the DB administrator’s account will be used for connection, which is not good for industrial units from a safety point of view. Though after testing the account data can easily be corrected having prescribed the new information in the portal-ext.properties file.

Now let us tell some words on configuration files. All settings were initially saved in JAR files but you cannot touch them. All changes should be recorded in overriding files with “properties” extension. But the administrator can edit only two of them — portal-ext.properties and portal-setup-wizard.properties. These two files will be read out last and re-determine the settings in other files. It can be done in any text editor. A small number of settings simplifies the transfer of settings between several servers. There are many parameters inside, and all of them are prescribed in documentation. Some settings are available only in them. For example, the possibility of viewing user sessions loading the system is available only after its activation in the configuration file.

Alternatively, we can create a DB and the required account at once. The name of lportal base is used in Liferay by default; therefore, we will select it.

Let us transfer to the portal. Accept the terms and conditions of the licensing agreement, indicate the administrator’s password and the keyword for its restoration.

Getting acquainted with Liferay interface

As a result, we obtain a finished portal. To be more accurate, it needs proper additional adjustments depending upon the tasks but the basis already exists and further actions require no special training. After the entry, the Welcome To Liferay Portal page will meet you, here we obtain references to the main documentation, which can be suitable during the first view. For management it is necessary to specify the admin data or, in case of a new user, create an account. You can set nearly everything: color, arrangement, text, etc. The management of any of the above-mentioned settings is clear and self-consistent, a user will cope with them without any special training; therefore, there is no sense to describe them in detail. However taking into account the fact that there are many of them, at the first view it will be better for you just to try everything by yourself.

The menu on the page top allows to manage the website, user’s personal settings (including the addition of new pages) and carry out administration of Liferay. Two main settings are covered under the Admin button: add an object to Site Administration (page, article, document, wiki, tags, navigation, etc.), manage a page, model and site settings.

Page setup

Page setup

 

The website logo and theme are also selected here as well as the description, reference style, view from mobile devices, CSS proofing, etc. are indicated. Liferay global settings are available only to administrator in the control panel.

After installation several built-in roles are available

After installation several built-in roles are available

Control Panel window

There are four main items here:

  • Users — management of user and organization accounts, groups and roles, password policy, activity monitoring;
  • Sites — management of websites, website templates and pages;
  • Apps — installation and configuration of portlets, license management;
  • Configuration — portal settings, administrator functions.

Portlets are supplied in the form of WAR/LPKG archives. By means of menu on the page top it is possible to set (Admin -> Control Panel -> Configuration -> AppManager -> Install) indicating URL or a file on the local storage. You will need to have the account in Store in order to download a portlet.

For example, in Liferay CE 6.2 the support of the Russian language by default has been removed for some reason. But it can be remedied easily. Download the portlet (you can easily found it by search) and install it as described above. Then go to Admin -> Control Panel -> Configuration -> Portal Settings -> Display settings and edit the list of available languages. Save the result. Thereafter the Russian language will be in the Default Language list. Select. Here you can adjust the time zone, website logo, access to Google applications and other settings.

Liferay localization

Liferay localization

 

In other Control Panel tabs you can view the resources and properties of the system/portal, set the logging levels, indicate parameters of SMTP/POP3 server, execute certain administration operations (clear RAM, reset cache, check DB tables, etc.), limit the maximum size of the file to be downloaded and specify the list of permitted extensions. If it is required to create several portals, there is the corresponding item in Admin. The process is very easy: press “Add” and specify the name, mail domain, virtual host and optionally the maximum number of users. There is no sense to describe all settings, all of them are self-consistent, the purpose of many of them is clear from the name.

Conclusion

Liferay is very powerful but at the same time clear in configuring and support, which can easily be integrated virtually into any network and has already earned confidence of notable organizations.


Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">