Blogs

RSS

Entries with Products Liferay Portal .

RSS
thumbnail

Just a quick one today... A community member reported getting an exception during module deployment: INFO [com.liferay.portal.kernel.deploy.auto.AutoDeployScanner][AutoDeployDir:238] Processing com.liferay.report.jar ERROR [fileinstall-directory-watcher][DirectoryWatcher:1195] Unable to start bundle: ...

2393
thumbnail

Introduction You may have seen my blog Setting Up JNDI in Liferay 7.4 which I posted to explain how to do a JNDI lookup. The code works, I assure you, but there's one group of developers that blog didn't serve: Spring Portlet Developers. Whether you are developing using PortletMVC4Spring and Spring 5, or you are developing using Spring Portlet MVC under an older ...

2495
thumbnail

Introduction I've been working with a client to upgrade their Spring portlet wars to Liferay 7.4. And the update is kind of big as we're upgrading Spring, changing to PortletMVC4Spring (needed for Spring 5), ... They have a large number of Spring portlet wars, but in reviewing the code I noticed that each of the wars had duplicate Spring services defined into the Spring...

2701
thumbnail

Introduction Liferay development has been changing throughout the years with its different versions. With 6.x we had WAR portlets. 7.0 came along and with it OSGi modules were the norm. And now, 7.4 has brought something completely new: Remote Apps. You can check this other blog and the official documentation for a thorough explanation about Remote Apps.   So, what...

3952
thumbnail

Introducción El desarrollo en Liferay ha ido cambiando a lo largo de los años con sus distintas versiones. Con las versiones 6.x teníamos los portlets de tipo WAR. Cuando llegó la versión 7.0 los módulos OSGi pasaron a ser el estándar. Y ahora, 7.4 nos ha traído algo totalmente nuevo: Remote APPs. Si queréis una explicación más detallada sobre Remote Apps podéis echar un...

2373
thumbnail

Part-1 | What & Why & When Custom Liferay Framework Create your own Liferay Framework, Understand the possibilities to write your own Liferay framework for any complex custom developed solution which could evolve with time like any other Liferay Out Of The Box Feature. Custom Liferay Framework - What? Alright! This is where we set the context. What is a Framework? ...

3069
thumbnail

Part-2 | How to Custom Liferay Framework? Implement your own Custom Liferay Framework over a simple use case and understand the possibilities and capabilities that open up. Continuing on top of the perspectives and ideas discussed in Part 1 of the blog series, we will try to implement our own Custom Liferay Framework for a simple use case picked up from one of the Liferay OOTB...

2559
thumbnail

Liferay provides an option to configure password policy (refer), it provides an option to mention Password Expiry Time. Once the Password is expired then user will not be able to login to the system and when user tries to login, Liferay shows error message :   Error: Your password has expired. Please contact an administrator to reset your password. Admin needs to reset the user...

3256

Many UI teams prefer building Liferay DXP Theme using gulp instead of the Liferay Theme Builder. For example, cd themes/my-themenpm installgulp build However, Liferay has not documented ways to integrate the above to a Maven project pom.xml. Here is a sample solution: { "name": "my-theme", "version": "1.0.0", ...

2504
thumbnail

Introduction So my friend Thiago Moreira posted the following (slightly edited) message to our internal Slack: Hey, so I've built a module for 7.4 GA5, but when it is deployed to 7.4 GA16, I get a bunch of "unresolved requirement" exceptions and the module won't be available. Is there something I need to set so my module will work on both GA5 and...

6030
thumbnail

Another quick one this week... A community member reached out and asked for help with a problem on their DXP Cloud site. They were already working with DXP Cloud support, but they had been struggling with the issue for over a week and were trying to get help from all corners... When they accessed their site using the direct URL (an internal URL that all DXP Cloud admins have access to), the...

9100
thumbnail

Just a quick one today... In previous versions of Liferay, if you were browsing a site as a guest but wanted to access a private page or a private site, Liferay would automagically show you the login form so you could authenticate before accessing the page or site. This has been changed in 7.4. It was determined that just by showing the login form, Liferay was leaking the fact that the page...

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

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

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

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

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

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

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

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

9134