Blogs

RSS
RSS
thumbnail

In the sequel for Implement Predictive Search in Liferay Part 1: Autocomplete I’ll demonstrate how to create a predictive search in another flavor: search as you type. It works like this: the user starts entering keywords in the search bar and gets instant content suggestions. The suggestions are direct links to contents. In the previous demonstration I used a headless approach with the...

8361
thumbnail

Introduction Recently I was asked how to implement MDC and/or NDC in Liferay 7.4, and since I thought it might be interesting to a wider audience, I'm going to blog about it here. Background In a multithreaded, multiuser environment such as in a web application like Liferay, different threads in the container will be handling different requests, but likely each request is doing something...

9453
thumbnail

Liferay doesn’t have predictive search, but it doesn’t mean it would be difficult to implement. In the following two blogs I’ll demonstrate implementing it in two flavors: an autocomplete suggesting previous, successful keywords and a search as you type flavor suggesting matching content as keywords are entered.  The goal is to do it as simply as possible leveraging Liferay’s standard...

9110
thumbnail

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 GA11: docker run -it -p 8080:8080 liferay/portal:7.4.3.11-ga11 For more information on using the official Liferay docker...

10556
thumbnail

Introduction In November of 2018, I authored a blog, Boosting Search. In that blog, I showed how to boost search results for tag matches in an effort to provide some alternative to GSA's KeyMatch support. A lot has changed in Liferay since that blog was posted, and it turns out there are much easier ways now in DXP 7.4 that won't require any code at all... Results Ranking In discussing the...

9114
thumbnail

Overview In this blog I'll explain how to implement a custom Headless API module, configure an OAuth2 authorization and consume the API.  We’ll implement the Headless API for “App manager” functionality with endpoints to get the list of apps, get app details, create/update/delete the app (“App” here is a model, describing some external application with the following...

10145
thumbnail

Introduction I've worked with clients that, for one reason or another, needed to change their database platform. This ask has increased with the move to DXPCloud and MySQL database. I'm not sure there's a well defined plan for how to migrate a Liferay database, so I thought I'd blog about it. Now, if you know anything about me, you know I'm a planner and I create (sometimes intricate)...

9092
thumbnail

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 GA10: docker run -it -p 8080:8080 liferay/portal:7.4.3.10-ga10 For more information on using the official Liferay docker...

10643
thumbnail

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 GA9: docker run -it -p 8080:8080 liferay/portal:7.4.3.9-ga9 For more information on using the official Liferay docker...

12548
thumbnail

Introduction I was recently polling my coworkers looking for new blog ideas, and Filipe Melo asked about Websockets. I haven't seen any other documentation or blogs about building Websocket solutions for Liferay, so I figured this would be an interesting challenge. Websockets was introduced to provide a full duplex and realtime client/server communication path between remote clients and your...

10504
thumbnail

Introduction My friend and coworker Eric Chin recently posed a question on our internal slack channels asking if anyone had experience with Liferay's Batch mode and he was not finding enough supporting documentation on it. Although I hadn't yet worked with Liferay Batch, I kind of took it as a challenge to not only give it a try, but more importantly to document it in a new blog post, so here...

9397
thumbnail

Downloads: Liferay Portal 7.3 GA8: Patch | Readme All vulnerabilities fixed in these patches have already been fixed in Liferay Portal 7.4 GA5. 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 and Dominik Marks, binary builds of the patches are available: ...

6964
thumbnail

Liferay stores all the information in a relational SQL database, but most of the entities (Web Content, Documents, Users, Blogs Entries, etc.) are also indexed on the Elasticsearch server. This Elasticsearch server is used by several Liferay functionalities, for example: Liferay search functionality: execute searches by keywords. Asset Publishers: display the contents filtered by some...

7610
thumbnail

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 GA8: docker run -it -p 8080:8080 liferay/portal:7.4.3.8-ga8 For more information on using the official Liferay docker...

8307
thumbnail

What is two-way ssl communication? In two-ways ssl authentication, Client and server need to validate and authenticate each other's identities. This can be summarized with the picture below. How ever, I will be writing a separate post about SSL and two-way authentication later.         In this post we will talk about calling external API which is two way SSL...

6606
thumbnail

Hey, so a quick post today about how to set up JNDI connections in Liferay CE 7.4 or Liferay DXP 7.4. Liferay moved jars around in 7.4. No longer are there key jars in the Tomcat lib/ext directory (or for other application servers). To set up JNDI resources under 7.4, you'll need to put the necessary JDBC jars into the Tomcat lib directory (or the lib directory of your application server). In...

9086
thumbnail

Beginning in 2020 we adopted a new rolling release strategy providing more frequent Liferay Portal releases which included new features, improvements, and bug fixes.   Although the new release strategy saw huge improvements with introducing new features in a timely fashion, it still led to a period where new features would not be added to the product again for several months. ...

8682
thumbnail

The English version of this article can be found here: Fragments, React and Widgets. Los Fragmentos son simples, son trozos de HTML, CSS y JavaScript que se pueden añadir a una página y fácilmente desarrollados por programadores FrontEnd. Esta fue, más o menos, la primera definición que dimos cuando empezamos el proyecto Modern Site Building. Pero también sabemos que hoy en día esa definición...

5944
thumbnail

Fragments are simple, are just some pieces of HTML, CSS and JavaScript that can be added to a page and easily managed by FrontEnd developers. That was, more or less, the first definition we gave when we started the Modern Site Building project. But we know that today that definition is full of exceptions: fragments also have JSON configuration files, they can be rendered with Freemarker or...

6442
thumbnail

The Liferay Portal 7.4 GA7 release is primarily focused on fixes so no new notable features will be introduced with this release. This release also includes Log4j 2.17.1 to address CVE-2021-44832 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...

9933