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
1
vote
1 answer

LIFERAY 7.2 GA1 Theme: My custom scss style impacts the default Liferay Menu ( in the left hand side and in the top )

I have a problem when developing a new Liferay 7.2 theme based on gradle as a build tool, the problem is when I added a custom css in the file _custom.scss in order to customize some styles within my theme, the default liferay admin Control panel…
m.irouch
  • 61
  • 11
1
vote
0 answers

How to prevent multiple event listeners on Liferay SPA SennaJS?

I want to fire a function every time I change a page in Liferay. Liferay.on('endNavigate', function(event) { functionToExecuteOnEveryPage(); }); It works, but every time I change the page the event 'endNavigate' is invoked multiple times. The…
Mustapha Aoussar
  • 5,833
  • 15
  • 62
  • 107
1
vote
0 answers

How to create cloud portal and pages for it in Liferay 7.2 portal?

A year ago, We had embedded the Dashboard in Liferay 6.2 portal easily as using the following link. https://www.syncfusion.com/kb/10328/publishing-dashboards-in-liferay Now, we couldn't achieve the same in current the Liferay 7.2. Current UI is not…
1
vote
1 answer

create JSONObject and JSONArray in Liferay Portlet

Which is the best option to create a JSONObject and JSONArray in Liferay portlet? You can't do Java simple way: JSONObject json = new JSONObject(); JSONArray arrayJson = new JSONArray(); Error: Cannot instantiate the type JSONObject Cannot…
x3k
  • 144
  • 15
1
vote
1 answer

Custom Filter in Liferay Portal 7.2

I have to build one functionality for the filter of Liferay documents and media. I have to filter out a search on the basis of the extension of the file. For example, we have a set of .pdf,.xml,.txt or image file. Then when the user selects PDF it…
Sanat005
  • 33
  • 1
  • 8
1
vote
0 answers

How to prevent liferay from changing language automatically

I have a problem with Liferay 7.1 changing language automatically. I have two languages polish(default) and english. The problem is when guest is opening page on portal with link with english url. Liferay automatically redirects him to polish…
Kamil Ruszczyk
  • 305
  • 2
  • 17
1
vote
0 answers

How can I use to_char function in the Liferay DynamicQuery API?

Platform is Liferay 7.0, Tomcat, Oracle 12c. We currently use dynamic query below. In order to tune it for better performance, we need to convert the data_ field which is a CLOB to character. DynamicQuery dynamicQuery =…
VC1
  • 1,660
  • 4
  • 25
  • 42
1
vote
0 answers

How to change File Permissions in Liferay 6.2 sync (Liferay Sync Connector plugin)

I am using Liferay Sync Connector plugin in liferay 6.2 For accessing document and media folder data on my computer I am using Liferay Sync. Liferay Sync Connector plugin provide permission like, View Only View and Add Discussion View, Update, and…
Jeet Khatri
  • 21
  • 1
  • 6
1
vote
1 answer

How to use the Liferay "comments framework"?

I'm trying to use the built-in comments functionality within a JSF 2.0/ICEfaces portlet application (the application is running fine already). Unfortunately there seems to be no detailed documentation about the comments stuff yet so I hope somebody…
tamm0r
  • 179
  • 1
  • 2
  • 12
1
vote
1 answer

Liferay Search Container

I have used Liferay search container for displying data for custom entity and it is working. I have another portlet where data coming from REST API so is there any way that I can use search container? OR I need to use datatable for that. My REST API…
Sanjay
  • 2,481
  • 1
  • 13
  • 28
1
vote
2 answers

Can google mini search a liferay portal that uses CAS authentication?

We are setting up a portal based on Liferay at the same time we are moving our insitution's intranet onto Tridion CMS. Tridion is using google mini as its search tool, while Liferay is using lucene. What we want is a single search that indexes both…
Paul Gilfedder
  • 553
  • 1
  • 5
  • 16
1
vote
0 answers

Log4j MDC with Liferay DXP

We would like to implement Log4j MDC to log user related info in Liferay DXP. So I was trying use Log4j with MDC however there are still dependency issues and I am not sure whether MDC works well with Liferay DXP. Any help is…
suyash
  • 1,254
  • 1
  • 15
  • 33
1
vote
1 answer

How to query last version of JournalArticle with DynamicQuery in Liferay 7.2

I have the following query in my code: DynamicQuery journalArticleDynamicQuery = JournalArticleLocalServiceUtil.dynamicQuery(); journalArticleDynamicQuery.add(PropertyFactoryUtil.forName("DDMStructureKey").eq("MY_STRUCTURE"));…
Ravers
  • 988
  • 2
  • 14
  • 45
1
vote
2 answers

How to access and display all Liferay forms from a specific user

We want users to be able to view the forms that they have filled in while they're logged in. How could we use Liferay Forms to achieve this or how could we use DDL to access the forms? We thought to access the user id and then return the forms…
inderbir
  • 43
  • 7
1
vote
0 answers

Get past set up page Liferay DXP 7.1

I've tried numerous ways to set up DXP but none seem to work. I've tried with MySQL and Hypersonic, restarting everything multiple times etc but I'm coming back to one of two errors. If I set up using Hypersonic (which isn't a problem at the moment…
inderbir
  • 43
  • 7
1 2 3
99
100