Blogs

RSS

Entries with Products Liferay Portal 7.3 .

RSS
thumbnail
David H Nebinger | 21 Feb 2023

Introduction Recently there have been a bunch of questions lately in Slack, in Ask, and even in Liferay Support tickets complaining about the time it takes to log into Liferay and what can be done to improve performance, specifically targeting the hash algorithms... TL;DR - Liferay has increased the rounds on the PBKDF2 hash which is detrimental to your login...

773
thumbnail
David H Nebinger | 27 Jul 2022

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

4476
thumbnail
David H Nebinger | 22 Jul 2022

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

4758
thumbnail
David H Nebinger | 12 Feb 2022

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

11989
thumbnail
David H Nebinger | 07 Feb 2022

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

11949
thumbnail
David H Nebinger | 26 Jan 2022

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

13353
thumbnail
David H Nebinger | 26 Jan 2022

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

12416
thumbnail
David H Nebinger | 12 Jan 2022

Introduction So recently I completed a database upgrade from Liferay EE 6.1 up to Liferay DXP 7.4. It was actually pretty straightforward and I didn't encounter any significant blockers. I did however learn some stuff along the way and I thought I'd share those details here so you will be able to do your next Liferay DB upgrade in the same way. Note that although I'm specifically including...

12305
thumbnail
David H Nebinger | 11 Jan 2022

Introduction So I wrote https://liferay.dev/blogs/-/blogs/extending-liferay-osgi-modules five years ago targeting Liferay 7.0. A lot has changed since then. Liferay Gradle Workspace plugin has seen numerous updates. Gradle has seen an update or two as well. Recently when asked to assist a client who wanted to extend Liferay's Journal Article service, I started by recommending they look...

9595
thumbnail
David H Nebinger | 10 Nov 2021

Introduction In a recent blog I explained how to create a React-based portlet within your Liferay Gradle Workspace by using the js-widget Blade template which in turn uses the Yeoman Liferay JS Generator to create the project. (Wow, that was a mouthful ;-) ) In this way, you can have your Liferay Gradle Workspace take care of building your complete suite of Liferay modules, the...

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

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

10091
thumbnail
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: https://github.com/dnebing/log-persist/tree/7.3 For those that aren't aware, I introduced the Log Persister here: https://liferay.dev/blogs/-/blogs/liferay-7-dxp-making-logging-changes-persistent Normally Liferay does not persist logging. If you make any changes in...

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

11140
thumbnail
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 schema.module.build.auto.upgrade property is not set...

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

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

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

10869
thumbnail
David H Nebinger | 18 Jun 2021

IntroductionAs many folks know, I'm known for telling people not to look inside the Liferay database itself. It's not always clear what is what in the DB and Liferay has a lot of code around retrieving and updating data that you likely will not get completely right if you were to update the DB directly.I typically end with "Always, always use the Liferay API for your data needs..."And, if...

10748
thumbnail
David H Nebinger | 21 Jun 2021

So some time ago I wrote the Cluster Details marketplace plugin. Basically you drop this guy into all of your Liferay clusters and you get a nifty little control panel that tells you details about the cluster, all of the nodes which have joined the cluster and it identifies who the leader of the cluster is at the moment:Not super complicated, but it is a handy little tool to identify details...

9867

Showing 1 to 20 of 24 entries.