Questions tagged [liferay]

Liferay is an open source JSR 286 compliant portal and social platform, written in Java. It provides fully functional built-in portlets (60+) and also various integration points to seamlessly integrate with other third-party softwares like Alfresco, Sharepoint etc. Make sure to also tag with the specific version that you're asking about.

Liferay is an open-source portal written in Java and a social platform. It implements JSR-286 and has various proprietary facilities.

Liferay Portal was created in 2000 as open source software. Thanks to a decade of ongoing collaboration with its active and mature open source community, Liferay's product development is the result of direct input from users with representation from all industries and organizational roles. Liferay provides a lot of integration points with other softwares like , , etc.

Liferay as a portal server is application-server agnostic, which means that Liferay can be installed on almost any Java application server.

Liferay provides more than 60+ preinstalled or built-in portlets (also known as out-of-the-box (OOTB) portlets) and the latest version Liferay 7 provides many more features like:

  1. Dynamic data lists
  2. Custom web content types
  3. Workflows for documents and media
  4. Related assets
  5. Faceted search
  6. Integration with multiple repositories
  7. Dynamic site templates
  8. Mobile device rules
  9. Bootstrap theme
  10. Advance Display Templates (ADT)

Liferay has a market-place which serves as an "app" store for the Liferay portal.

Editions

Liferay is distributed in two editions:

  1. Liferay Portal Community Edition (Liferay CE): This is supported by the Community and is free.
  2. Liferay Portal Enterprise Edition (Liferay EE): This is a licensed version of the Portal.

More about the editions can be checked out here.

Liferay Development

It is possible to customize Liferay (OOTB portlets and core) and add new features with the following plugin types using Liferay's Plugins SDK:

  1. EXT Plugin (prior to versions 6.x, it was known as the EXT Environment): To customize liferay's core classes and those things which are not customizable by hooks.

  2. Portlet Plugin: It helps in creating JSR 168 and JSR 286 compliant portlets. Liferay supports many frameworks to create portlets some of which are JSF with Liferay Faces, Spring MVC, Vaadin, Struts and for simple portlets Liferay provides a MVCPortlet class.

  3. Hook Plugin: This is used to modify Liferay's JSPs and other services

  4. Theme Plugin: This is used to customize the look and feel of the whole Portal.

  5. Layout Plugin: This is used to customize the page's layout and is one of the simplest plugins to develop. Liferay comes pre-bundled with 10 layouts.

All the plugins are packaged as .WAR files. All plugins are hot-deployable except the EXT plugin which requires server restart.

Liferay also provides Liferay IDE as an plugin to increase development productivity.

Liferay provides a rich API including many utility classes and also provides custom taglibs to ease development of JSPs, like:

  1. liferay-ui: It provides UI-related pre-styled structures and functional tools like the search container which handles search pagination.
  2. liferay-portlet: It is a wrapper around the tag and provides Liferay-specific portlet functionality.
  3. liferay-util
  4. liferay-theme
  5. liferay-security
  6. aui (AlloyUI taglib): A wrapper around Alloy UI to provide consistent UI components across the portal.

Liferay uses as the built-in Javascript library, which is a library built upon .

Liferay also provides the Service-builder, a declarative service and persistence layer code generator. The generated interfaces can also be exposed as web-services.

Known Liferay Integrations with third-party softwares

  1. Alfresco (Blog about Alfresco Integration)

Beginners' resources

  1. Liferay Developer Network: The place to start - with many tutorials
  2. Liferay Portal Wiki

Additional day to day resources

  1. Latest Liferay User Guide
  2. Latest Liferay Development Guide
  3. Liferay API Docs by version
  4. Liferay Marketplace: the place for getting plugins for all your needs
  5. Liferay Forums

Other Liferay resources

  1. Liferay Releases
  2. Previous Versions
  3. Liferay on Git-hub
  4. Alloy UI Demos
  5. Liferay in Action (official guide to Liferay development)
  6. Liferay Development Style guidelines
  7. Liferay Marketplace
  8. Liferay Portlets

Frequent/Interesting Questions

  1. To Go or Not To Go with Liferay?
  2. Restrictions/Disadvantages of developing portlets with Liferay
  3. Accessing User in Liferay Portlet
  4. Testing for custom plugin portlet
  5. Accessing logged-in User in a liferay portlet
  6. Programmatically get the url of a page in liferay
6475 questions
8
votes
5 answers

Including jQuery and other JS files in Liferay Theme

I use Liferay 6.1 and I created my theme (sample-theme) and I want add jQuery. How can I do that? Why I have folders: sample-theme and liferay-work and both have folders: css, js, templates? I created folder _diffs and subfolder js and there copy…
witek010
  • 359
  • 3
  • 9
  • 15
8
votes
2 answers

Difference between using GetterUtils and ParamUtils

For instance, when to use GetterUtil.getBoolean() and when ParamUtil.getBoolean()? Are both same, or is it expected to be used differently according to a parameter, a variable, etc? Can you give some examples for both?
Whimusical
  • 6,401
  • 11
  • 62
  • 105
8
votes
2 answers

How to disable default message: "Your request processed successfully"?

How would I disable this default message: "Your request processed successfully" for my plugin portlet when an add/update action is performed in my portlet? Also I would want to disable this for my custom configuration page (configuration.jsp), this…
Prakash K
  • 11,669
  • 6
  • 51
  • 109
8
votes
3 answers

Does Liferay provide a plugin for IDEA ?

Does Liferay provide a plugin for IDEA ? Or are there anyone working on this ?
爱国者
  • 4,298
  • 9
  • 47
  • 66
8
votes
3 answers

Large Permgen size + performance impact

We are running a liferay portal on tomcat 6. Each portlet is a contained web application so it includes all libraries the portlet itself requires. We currently have 30+ portlets. The result of this is that the permgen of our tomcat increases with…
user1344117
  • 195
  • 2
  • 7
7
votes
1 answer

Setting up a new website with Liferay Portal - basic steps?

I know this is not specifically a programming question, but programmers will often have to do this work. How do I create a website with Liferay portal - the docs are pretty light on this fundamental issue and are all for version 4.4. I am using…
Ankur
  • 50,282
  • 110
  • 242
  • 312
7
votes
3 answers

How to integrate a Google Docs document in Liferay?

Is there any way that we can integrate Google Docs in Liferay? I found some other 3rd party APIs, like Zoho, but I would like to use Google Docs instead.
Scorpion
  • 6,831
  • 16
  • 75
  • 123
7
votes
4 answers

Making Ajax request in portlets for liferay 6

I want to make an ajax call inside my jsp file which calls processAction method of a portlet, based on the success message from processAction method i need to make another call to serveResource method of portlet,please provide some examples..
user872220
  • 71
  • 1
  • 1
  • 3
7
votes
1 answer

How to replace a function on a Liferay native portlet

I am making a change to a native Liferay portlet, that comes with Liferay Intallation. How can I change a function to my own implementation by a hook or similar approach? I have read how to make pre and post conditions and how to make new…
mico
  • 12,730
  • 12
  • 59
  • 99
7
votes
1 answer

How to support file upload in web-form Liferay 7?

I need a simple extension for Liferay web form to enahance file attachment to data flled in a liferay 7 web form. Also need to sent this file as an attachment with the email to the registered user. I know how to achieve this functionality in liferay…
Sandeep
  • 667
  • 7
  • 25
7
votes
3 answers

Liferay Export/Import LAR: automated

is there a way to create/export a LAR from liferay server A and import this in liferay server B with a script or even a maven/hudson plugin? I'm using Liferay 6.0.5. thanks, Stijn
Stijn Geukens
  • 15,454
  • 8
  • 66
  • 101
7
votes
4 answers

Creating liferay service builder without configuring any database

Is it possible to create liferay service builder without any configuring any database tables in service.xml file. Actually purpose here is to create a service layer using liferay service builder. And there is no database interaction directly in this…
DAIRAV
  • 723
  • 1
  • 9
  • 31
7
votes
1 answer

Exclude 404 from being served from apache

I have apache configured as reverse proxy to liferay tomcat, 5 virtual hosts are configured on liferay tomcat, below configuration is used to serve error pages from apache. Alias /error/ "/usr/share/apache2/error/" Options -Indexes ProxyPassMatch…
Deepak Deore
  • 284
  • 3
  • 12
7
votes
3 answers

Liferay 6.1 - Private Plugin installer "disapear" or is disabled in Control panel

I´m developing an application for Liferay 6.1 EE GA3. Under the control panel, we have the section Private plugin installer where we can install / deploy new portlets. I was using the panel and the section was workng correctly. Then i tried to…
7
votes
3 answers

How is the Tomcat temp directory location defined?

I am running Tomcat bundled with Liferay5.2.3 and use Eclipse 3.5 (Galileo) as my IDE. I set up my Tomcat server in Eclipse as per this blog entry: http://www.jroller.com/holy/entry/developing_portlets_for_liferay_in. If I start Tomcat via the…
sdoca
  • 7,832
  • 23
  • 70
  • 127