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
41
votes
2 answers

To Go or Not To Go with Liferay? What's the good, bad, and ugly?

We are evaluating several solutions for a new web thing we're looking to build. There are several aspects to it, including user management, content management, campaigns, community, and financial transactions. We are looking to roll the framework…
Alexx
  • 3,572
  • 6
  • 32
  • 39
30
votes
8 answers

Restrictions/disadvantages of developing portlets for Liferay

I'm considering developing an application as portlets, to be integrated in Liferay portal. Are there any significant disadvantages or restrictions in developing such an application, as opposed to developing a normal web application using Spring…
simon
  • 12,666
  • 26
  • 78
  • 113
27
votes
7 answers

How can I check the version of a Liferay instance?

I have several instances of Liferay Portal (bundled with Apache Tomcat 5.5.x/6.x) and I need to know how to check the version of those Liferay instances. Thanks in advance.
Rubens Mariuzzo
  • 28,358
  • 27
  • 121
  • 148
26
votes
5 answers

Hibernate: No CurrentSessionContext configured

I keep getting a : HibernateException: No CurrentSessionContext configured! in my code. The only information other searches that returned is that the culprit is: thread in my…
jconlin
  • 3,806
  • 6
  • 31
  • 32
22
votes
5 answers

How to download a file from AJAX request in Liferay serveResource(-, -) method

I have a requirement like: I am making an AJAX request to pass some data to server. In my server I am creating a file using that data. "Now problem is the file is not getting downloaded to client-side". (I am using Apache POI API to create excel…
22
votes
1 answer

Hot deploy Liferay Maven portlet from Intellij Idea to Liferay Tomcat bundled

I'm developing a Liferay portlet and I can't stand waiting for Maven to build the .war file and then copy that .war to LifeRay's auto-deploy directory to finally wait (again) till LifeRay finishes deploying it. That's why I want to build, start…
Nahuel Barrios
  • 1,870
  • 19
  • 22
20
votes
3 answers

Creating liferay portlet - how to pass data to view.jsp from Java class?

I'm trying to create portlet in liferay with just only from a JSP file called view.jsp. What I need is: When the portlet loads, I want to call custom Java class where I generate an array. I need to pass that array to the view.jsp. How to do that?
Almas Adilbek
  • 4,371
  • 10
  • 58
  • 97
19
votes
1 answer

Alternative to Liferay/JSR 168 and 286 Portals?

My team has been writing a dashboard application using Node.js, Twitter Boostrap, Mongo DB, and Mule for an ESB. Recently an executive asked us to change our approach to a Portal/Portlet container like Liferay. Some of us on the team have experience…
binarygiant
  • 6,362
  • 10
  • 50
  • 73
18
votes
4 answers

Programmatically get the url of a page in liferay

I want to create a link in a portlet so that I can navigate to a different page in the liferay portal. I order to do that I am looking for an API (can be liferay specific) that given a page name, would return it's url (it can be the friendlyURL as…
bernardn
  • 1,701
  • 5
  • 19
  • 23
16
votes
3 answers

How to submit form using Ajax request in Liferay?

I am newbie in liferay portal. I have developed one portlet in liferay for demo. I used inter portlet communication in this example. What i am doing is:- I have one search portlet in which i am having one textfield for search. When i click on…
Scorpion
  • 6,831
  • 16
  • 75
  • 123
16
votes
1 answer

How to find portlets added on a particular page in Liferay?

How can I find which portlets are added on a particular Liferay page? For Example: I have three pages: Welcome, Wiki and Search. Now all these pages have portlets added on them and some of them are instanceable portlets (like web-content display and…
Prakash K
  • 11,669
  • 6
  • 51
  • 109
16
votes
1 answer

Remove java exception breakpoints when debugging Liferay in eclipse

By debugging of Liferay Portal, that is tomcat application, eclipse make usual stop at ThreadPoolExecutor$Worker.run() line: 912 although I don't set a breakpoint at this class. The ThreadPoolExecutor isn't a class of my application, I think that…
Mark
  • 17,887
  • 13
  • 66
  • 93
16
votes
1 answer

How to show error message in liferay portal?

How to show error message in liferay portal? I read on liferay.com site that for show error message I can use liferay-ui:error tag from tag library, but it's not working, how to use it?
test1604
  • 620
  • 4
  • 12
  • 31
15
votes
4 answers

Accessing the user from a liferay portlet?

I'm attempting to develop a portlet for liferay. How can I get access to the username and password (and other data liferay has) of the user that's currently logged in? I'd also like to be able to execute some code when users change their password.
Joshua
  • 493
  • 2
  • 12
  • 25
14
votes
2 answers

How to tell if JDK is available from within running JVM?

Note: All the similar questions are answering this from the perspective of the shell (e.g. Is javac available? java -version or which java). I'm looking explicitly for the perspective of the currently running JVM. There are programs that require to…
Olaf Kock
  • 46,930
  • 8
  • 59
  • 90
1
2 3
99 100