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...

David H Nebinger | 16 Aug 2021

A really quick post to share something important with you React + Clay developers out there... A recent update to Clay had a breaking internal change. If after deploying your React portlet and you try to place it on the page and you get errors in the JS console like: liferay-amd-loader | Errors returned from server for require( ["my-module@1.0.0"] ): "Missing dependency...

Jamie Sammons | 04 Nov 2021

Download options Liferay Portal and Liferay Commerce share the same Bundle and Docker image.  To get started using either Liferay Portal or Liferay Commerce, choose the best download option suited for your environment below. Docker image To use Liferay Portal 7.4 GA3 and Liferay Commerce 4.0 GA3 run the following: docker run -it -p 8080:8080 liferay/portal:7.4.2-ga3 For more...

Roselaine Marques | 14 Sep 2022

IMPORTANTE: esta publicación de blog se realizó con Liferay Portal versión 7.4.1 GA 2, que puede ser usada como guía, pero debe adaptarse a su propia versión (archivo CartItem.js y dependencias de .npmbundlerrc y package.json si es necesario). NOTICE: This blog  post has Spanish and  English version. Cuando empieces a crear un sitio web de comercio electrónico con ...

Roselaine Marques | 14 Sep 2022

IMPORTANT: this blog post was done with Liferay Portal version 7.4.1 GA 2, which you can use as your guide, but you need to adapt to your own version (CartItem.js file and dependencies from .npmbundlerc and package.json if needed).  NOTICE: This blog  post has Spanish and English version. When you start to build an e-commerce website with Liferay Commerce, you...

David H Nebinger | 06 Aug 2021

Introduction A client asked me to build a React portlet for them and I was like, "Oh Yeah!" I mean, it's been a while since I built a React portlet and tooling has really changed a lot since then, so I was really looking forward to this new task. So without further ado, I'm just going to dive right in... Creating the Module Okay, so this is still Liferay and still OSGi, so we're going to be...

David H Nebinger | 19 Jul 2021

Introduction So I was recently asked to help build a custom Liferay docker image for a client and there were some specific requirements such as: Should not contain hard-coded credentials, those will be available as environment variables. Should be a single image that can be used in every environment, DEV, UAT and PROD. Now these kinds of things can be challenging to do if you were to...

Neil Griffin | 14 Jul 2021

Each year at about this time I try to post the download stats for the Liferay Faces project. I am pleased to report that downloads for the Liferay Faces project hit another all time high back in September of 2020, and held fairly steady until January of this year (2021). Downloads seem to take a dip after the holidays, so perhaps that's why we saw a drop-off in February. Since then,...

David H Nebinger | 12 Jul 2021

Introduction Recently I asked some of my teammates for ideas about what to blog about next. Most of the time I take my inspiration from different clients I work with or questions that come up on the Liferay Community channels, but lately the well has seemed kind of dry. So I went fishing for suggestions. My friend Andrew Betts, who happens to be in the Liferay DXP Cloud (DXPC) team suggested...

Olaf Kock | 09 Jul 2021

If you’ve ever looked at a Liferay workflow implementation and its scripts, you might have seen workflowContext being referenced in the scripts that are executed in the individual tasks and states. I’ve recently had my first scripting contact with Workflow, and wanted to look at this context, and what it can do for me. Digging a bit, you’ll find out that workflowContext is a Map<String,...

Prasanna Katti | 09 Jul 2021

After doing multiple rounds of search over the internet about using IN parameter in Custom SQL in Liferay but without any satisfactory results, I assumed probably this could never be achieved in Liferay. However a few days back when I was looking at the code I thought about a tweak that could be applied if we have a use case that pertains to the mentioned scenario. I applied the same and lo! It...

Jamie Sammons | 30 Jun 2021

The Liferay Portal 7.3 CE GA8 release is primarily focused on fixes so no new notable features will be introduced with this release. Download options Choose the best download option suited for your environment below. Docker image To use Liferay Portal 7.3 CE GA8 in docker, run: docker run -it -p 8080:8080 liferay/portal:7.3.7-ga8 For more information on using the official Liferay docker...

Marcial Calvo Valenzuela | 03 Nov 2021

Esta entrada de blog  está también disponible en español. One of the most common needs that we face in Liferay Portal / DXP installations is the monitoring, as well as the alert system that alerts us if something does not work as it should (or as expected) Whether it is a web service managed in the cloud, a virtual machine, or a Kubernetes cluster, we need to monitor the entire...

Crystal Santos | 23 Jun 2021

When we think about having different authentication types we commonly think about one fluid and intuitive screen to guide the user through this process. And why is that? It’s probably because logging in is a mean to an end, as a user is often trying to pass this step to achieve a broader goal. With this in mind, it is very important to make logging in smoothly and easily.A logging in process...