Entries with Products Liferay Portal 7.2 .

thumbnail
David H Nebinger | 06 Dec 2023

Introduction So I was recently working with a team that was completing an upgrade assessment for a client wanting to upgrade from 7.2 to 7.4. A big chunk of the work in upgrading the client was going to be taken upgrading the themes. The client had one primary theme which contained the common style rules, but they also had 8 "child" themes, based upon the primary,...

2238
0
thumbnail
David H Nebinger | 29 Nov 2023

So just a quick one today about an issue that I helped a coworker with. A client had reported that after they restarted Liferay, they had to redeploy their custom module that had a replacement @Component for one of Liferay's components, otherwise the custom component would not work. I replied back, "Oh, they just need to blocklist the Liferay component so their custom...

1273
0
thumbnail
David H Nebinger | 20 Sep 2023

Introduction So recently I wrote the blog, Gradle 7 is here! Yay? where I showed how to update your workspace to Gradle 7.3.3, and I just kind of stopped there. I mean, I kind of assumed that as developers we might just be interested in having our toolchains up to date (we all know how infosec teams react when they find out we're using outdated tools). So other than...

2178
0
thumbnail
David H Nebinger | 01 Sep 2023

Introduction It started with a simple Liferay Community Slack post by Pierre Beule: Hello, I am using pretty standard Liferay stuff to generate a Liferay configuration (let's say a GROUP scoped configuration for instance). package com.test; import aQute.bnd.annotation.metatype.Meta; import ...

1300
5
thumbnail
David H Nebinger | 30 Aug 2023

Just a quick post today about the new Blade 5.0 release... It's out now, and you can update your local Blade using the blade update command. This new release supports JDK 11.0.20+ (so you don't have to manually massage your settings.gradle files to support it), plus for new workspaces it will use Gradle 7 (7.3.3) as well as the latest workspace plugin versions. For...

1800
0
thumbnail
David H Nebinger | 28 Mar 2024

Introduction So for some time now, Liferay builds have been stuck on Gradle 6. Which, you know, is 2 releases behind the currently available Gradle 8... But, after a lot of work, Liferay is ready to release support for Gradle 7. Gradle 7? Yes, that's right, I wrote Gradle 7, not Gradle 8. Apparently the release of Gradle 8 occurred some time after the...

2664
2
thumbnail
David H Nebinger | 02 Oct 2023

Introduction So if you really want to set off a firestorm with geeks like myself, step into the group and say "VI is better than Emacs!" Be sure to turn and walk away quickly or you might find yourself included in the tussle. Another way to set off a firestorm is to mention ChatGPT. Some like it, some hate it. I'm not really going to cover whether it is...

1952
0
thumbnail
David H Nebinger | 18 Aug 2023

NOTE: Please read to the end of the blog, there are important updates that affect developers, don't just stop at the conclusion... Introduction So, the various flavors of Java have just released the shiny new version, 11.0.20. Like many, I'm sure, I tried to start up Liferay with this new JDK and hit an exception at startup: Caused by:...

6663
1
thumbnail
David H Nebinger | 24 Mar 2023

Another quick one today... So when you start your brand spanking new Liferay environment, you will automatically get your test@liferay.com administrator account (or test@<your company email here> if you've set up the company.default.web.id and/or company.default.virtual.host.mail.domain property keys before first launch, or <your admin>@<your company...

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

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

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

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

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

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

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

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

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

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

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

11030
3