RSS

Entries with Projects Platform .

thumbnail
David H Nebinger | 08 Apr 2021

Introduction Let me start by saying that I'm a huge fan of Upgrade Processes. I've actually written many blogs about Upgrade Processes or using Upgrade Processes: https://liferay.dev/blogs/-/blogs/old-versus-new https://liferay.dev/blogs/-/blogs/thinking-outside-of-the-box-resources-importer https://liferay.dev/blogs/-/blogs/servicebuilder-and-upgrade-processes ...

14241
1
thumbnail
David H Nebinger | 04 Aug 2021

Introduction As of yet, there has been no official word that JDK 11 is supported by the Liferay developer tools. Just like the old delays going from JDK 7 to JDK 8, various third party tools and libraries held up the switch to JDK 11. Up until now, some developers had luck using JDK 11, but there were lingering issues with some tools such as Service Builder which could get in the way. In...

14946
4
thumbnail
David H Nebinger | 04 Feb 2021

What is the Mega-Jar? So the Liferay Dev Tools team recently included a new feature that they refer to as a "fat" jar, but I'm giving it the name Mega-Jar! This is a new single dependency that you can use in your Maven pom.xmls and Gradle build.gradle files, replacing all of the atomic dependencies with a single "one Mega-Jar to rule them all" dependency. So basically your...

12676
0
thumbnail
David H Nebinger | 01 Feb 2021

A community member posted the following plea on the Liferay Community Slack channel. I feel that it makes a great example, so I'm including it here. HiI am migrating from Liferay 7.0 to Liferay 7.3 GA6So I followed the below steps for DB migration 1 ./opt/liferay736/bundle/tools/portal-tools-db-upgrade-client          Inside the directory, I have updated...

11016
6
thumbnail
David H Nebinger | 17 Aug 2021

About a year ago, Liferay introduced a new program that I have been actively participating in, Liferay Developer Services. But what is this program? Liferay Support When you are a Liferay DXP customer, you automatically get access to Liferay Support as part of the Subscription Services. Support is staffed by a great bunch of people that want to help clients resolve product-level issues....

10389
0
thumbnail
Olaf Kock | 12 Nov 2020

Sometimes there are several ways to achieve a goal - and this is a story about one of those times, and one of those different paths to achieve a goal. Recently, in a conversation, I came across two different ways to solve the same problem: One is way more graphical than the other, and both have their advantages, disadvantages and limitations: How to edit next month's special...

10773
0
thumbnail
David H Nebinger | 23 Jan 2020

I did an informal poll on the Liferay community Slack channel recently: I was actually kind of surprised by the majority of votes for the "What is the target platform?" option. So, inspired by the results of the poll, I'm going to answer the question, What is the Target Platform? The Target Platform's Roots So the phrase, "Target Platform", is really a Liferay-only name...

11944
0
thumbnail
David H Nebinger | 12 Jan 2020

Classic Liferay Localization Handling Any developer who has been around for awhile will have some knowledge of how Liferay handled localization for the entities... In your service.xml file where you normally just have a column type of String, you would also have an additional attribute set, localized="true". With this addition, your model classes getters and setters change...

11734
4
thumbnail
David H Nebinger | 03 Jan 2020

So I've been seeing this a lot recently, so I thought I'd do a quick blog about it... With web contents, we can build structures to provide an organized chunk of data, and then we can define a template to render the HTML fragment for that structure. Since the template language of choice is FreeMarker, and since in FreeMarker we have practically the entire Liferay API (and...

10732
2
thumbnail
David Gómez | 25 Jun 2019

We, as software developers, usually need to reach our users through different channels: from web sites to applications running on smart devices (smartphones, smartwatches, ...) or even through IoT devices… and all those solutions, oriented to the different ways that nowadays the users can interact with our systems, share the same content and features. Even if we are just creating a...

15507
1
thumbnail
David H Nebinger | 18 Jun 2019

Quite some time ago I was working with a client that had built web service clients as OSGi modules and leveraged JAXB. During load testing, we found that after many hours of heavy use, the Liferay nodes would stop serving traffic and, for all intents and purposes, would die.  Threads would get hung, blocked waiting to load a class from the web service client, and eventually...

12729
1
thumbnail
David H Nebinger | 06 Mar 2021

So recently I got to hang out with board members and officers of the OSGi Alliance, including Liferay's own Ray Auge. A great bunch of folks these guys are; they were easy to talk to and really wanted to help out. Can't wait to do it again, but that's a different story... At one point we were talking about versioning and I was explaining how I version my bundles, but I don't really...

10831
3
thumbnail
David H Nebinger | 25 May 2019

So just a quick post here about your Liferay build chain... It is easy, when you're starting out, to follow the instructions to install the Blade CLI or the Maven artifacts. It is also easy, even after you've been developing for awhile, to "blade init" a new project or "mvn archetype:generate" a new project and write your next great software masterpiece. And while you may know...

7446
0
thumbnail
David H Nebinger | 24 May 2019

Introduction So I'm not sure if you've had the chance to play around with the new Target Platform stuff that Liferay has, but it is really cool. If you haven't read about it or don't know what it is for, let me just summarize quickly: You declare a "dependency" on a Liferay-shipped BOM file, the "bill of materials" file for a project that lists all of the dependencies and...

10040
4
thumbnail
David H Nebinger | 21 May 2019

Liferay has a complete built-in scheduled job service which manages jobs that run on every node as well as single jobs that run in a cluster. Unfortunately there hasn't been a way to gain visibility on those scheduled jobs to see what they are, when they were scheduled, when they have run before and when they will run again. Until today. Now available is the Scheduled Tasks...

7072
3
thumbnail
David H Nebinger | 18 May 2019

The price for TripWire CE and TripWire DXP have been significantly reduced by 90%! TripWire is a control panel that compares each node in a cluster against a baseline. Any time there is a configuration or other change, the administrator will be notified that the cluster is in an inconsistent state and provide details about the inconsistency. This tool can help ensure each node...

6800
0
thumbnail
David H Nebinger | 14 May 2019

So whenever I set up a new Liferay cluster, I get to the end and I ask myself, "How do I know it is working?" My standard test is to connect to a node of the cluster and view a page. Then I connect to another node and change the content the first node is displaying. If I refresh the first node, I know it is working if that node shows the updated content instead of the old content....

7192
0
thumbnail
David H Nebinger | 09 May 2019

Introduction So for the longest time I have been an advocate of Liferay's logging API. Folks have asked how to use Log4J or other frameworks and I've always advised against it. Why? Well, for 3 primary reasons: Liferay uses it. As with all things Liferay, it is always easier to go with flow than it is to fight your way upstream. It can be controlled by the...

10340
8
thumbnail
David H Nebinger | 27 Feb 2019

Introduction Out of the box, Liferay DXP has fairly limited audit message output targets. In fact, there are only two that are provided: logging them or persisting to the database. Each of these come with their own set of issues. Logging is tough because it is not searchable and hardly usable. Database persistence doesn't have these problems, but the administration and...

10785
1
thumbnail
David H Nebinger | 30 Apr 2019

Introduction In the earlier days of Liferay, many administrators missed the warning about not using HSQLDB in production. By default, Liferay is configured to use HSQLDB so you can spin up a Liferay instance for development or testing or whatever, but HSQLDB was never to be used in production because it is not a production-ready database. It's easy to set Liferay up to use a...

12201
5