Allen Ziegenfus | 07 Oct 2021

Did you know that you could subscribe to a RSS feed for Liferay blogs? You can use this URL to subscribe to community blogs on the site: In addition to the community blogs, we also have blogs on our main web site on a variety of topics: Starting next week (by October 14th or 15th), we will...

Anne Durey | 23 Sep 2021

It's that time of the year.  You've worked on/with Liferay Portal 7.4.  You are about to use Liferay Portal 7.4 to solve a problem.  You have any other awesome contribution you've made or plan on doing.  This is your chance to show it to the world during /dev/24, on the 3rd and 4th November.  The Call for Presentations is open, and here's why you should submit your 20...

David H Nebinger | 18 Sep 2021

Introduction So when you start building your own fragments and using them on your content pages, you will often times run into an issue with propagation... So I like to create fragments for headers and footers and then use those fragments on every page that I build. But when I update those fragments, I have to go into the usages panel to do the propagation so they all get updated. If you...

Roselaine Marques | 16 Sep 2021

Created in the middle of the Covid Pandemic in 2020, /dev/24 has come to stay { yeaaahh!! :clapping: }  Following the big success of the 24-hour-non-stop event last year...  We will do it again until:   For those of you who missed /dev/24 last year, or are not sure and asking yourself: “What is this event?”. Let me give you a quick overview: This is not a company event,...

Vitaliy Koshelenko | 10 Sep 2021

Overview   Search is one of the fundamental Liferay features, which provides users with the possibility to quickly find the content they look for. It’s powerful, pretty much configurable, and flexible.  However, during implementation of the latest project for our client we run into a bunch of issues. Some of them were Liferay bugs or missing functionality, other ones - configuration...

Olaf Kock | 09 Sep 2021

In the ancient past, Liferay had a feature to discover individual portlet's rendering times. It looks like this got lost with the move to OSGi -  but it's also reasonably simple to replace. Especially when it's for portlets only (fragments are still on the to-do list) Some portlets take longer than others. While that's ok - they typically provide more value and dynamic content - you might...

Maurice Sepe | 02 Sep 2021

Overview While working on an intranet with on of our clients in the APAC region, we discovered that private pages are not indexed correctly, thus having issues when searching content. Product team is already aware of this and have already logged a ticket here. While adding features to Liferay is all good and well, we don't have the time to wait for the product team, and thus this...

Ashley Yuan | 31 Aug 2021

The new Liferay IntelliJ 1.9.4 plugin supports IntelliJ 2021.2 and 2021.2.1. Head over to this page for downloading.   Release Highlights improvements on new liferay module wizard upgrade sinceBuild to 212 and fix compatibility issues support creating a maven workspace using target platform bug fix for rerun server button inside of a maven workspace ...

Yuxing Wu | 31 Aug 2021

Downloads: Liferay Portal 7.2 GA2: Patch | Readme All vulnerabilities fixed in these patches have already been fixed in Liferay Portal 7.3 GA8 and 7.4 GA3. Please refer to the readme file for a list of issues addressed in each patch. For more information on working with patches, please see Patching Liferay Portal . Thanks to Arun Das, binary builds of the patches are available: From...

Roselaine Marques | 30 Aug 2021

In a native React application, it is common that you have the CSS separated by components like I said here, actually maybe you want to use a separate SCSS to take advantage from SASS. So to do it in a Liferay React Application, we need to do some configurations.  Why?  We are working a Structure of OSGi Bundles Containing NPM Packages wrapper by Portlet Component, for this reason,...

Roselaine Marques | 25 Aug 2021

When we generate a React Widget project for Liferay DXP from Yeoman (liferay-js template), you can see, in the scaffolding, we have the CSS file in assets/css folder with the style.css file (set to load on our portlet-header, in the package.json).  It is common, in a native React application to have the CSS separated by components. So to have the CSS separated by components in a Liferay...

David H Nebinger | 27 Aug 2021

Introduction I posted two blog posts this week, and each of them had a particular drawback - lack of cluster coordination. The first blog post on cluster-enabled upgrade processes introduced using an @Reference dependency upon a specific Release version, the idea being that the component shouldn't start unless that version was available. When the upgrade process would run on the cluster...

David H Nebinger | 24 Aug 2021

Just a quick one... I've just updated my Log Persister project for Liferay 7.3. You can find it under the 7.3 branch: For those that aren't aware, I introduced the Log Persister here: Normally Liferay does not persist logging. If you make any changes in...

Fabian Bouché | 06 Sep 2021

This blog post is the second of a series I've just started. The previous one dealt with some recipes to deal with backend REST APIs integration, using Swagger Codegen, Retrofit and showcasing Portlet's 3.0 PortletAsyncContext in order to manage web service calls in an asynchronous fashion, so as to reduce the footprint of our code on the Thread Pool. This second blog post now deals with...

Fabian Bouché | 31 Aug 2021

With this first blog, I'd like to start a series about application integration. Quite often, I encounter projects where Liferay must integrate with some backend services. There are lots of integration patterns. Integration may happen at browser or server side. There are many development frameworks available (React, Vue, MVC Portlet, Liferay Faces, Spring MVC Portlet...) Communication with...

Roselaine Marques | 23 Aug 2021

When we generate an Angular Widget project for Liferay DXP from yeoman (liferay-js template), you should realize in the scaffolding, there are assets/{static_folder}/{static_files} and the src/{modules_and_clases}. So at the moment, all static’s file should be put into the assets folder, where you can find for example the CSS file in assets/css folder with the style.css file (set to load on our...

David H Nebinger | 24 Aug 2021

I recently was helping a client with an upgrade process and that had run into a little problem... A few of the model hints were not updated on some of the columns in their Service Builder services and, as we all know, Service Builder will not ensure the columns are changed in a production environment (well, actually any environment where the property is not set...

Anne Durey | 18 Aug 2021

En aquel momento era diciembre de 2020 y la pandemia ya nos había dejado casi un año sin encuentros presenciales de nuestra comunidad en todo el mundo. En esa ocasión realizamos el primer encuentro de desarrolladores Liferay en español en LATAM en línea, pensando que las restricciones se encontraban cerca de su fin y que pronto podríamos encontrarnos presencialmente en alguna parte de la...

Ashley Yuan | 18 Aug 2021

The new installers and IDE 3.9.4 ga5 has been made available.  Community Download Customers Download Release highlights Installers...

Roselaine Marques | 17 Aug 2021

For big and complex applications and take advantage from some parameter and configuration as a Liferay Application, the best way to have total control over your application is by transforming manually  a native Angular Application to a Liferay Angular Widget. You need your Angular application and a new Angular widget generated by liferay-js from scratch. Requirements: Node, Yeoman and NPM...