RSS
thumbnail
Olaf Kock | 17 Jan 2019

It's time for a new announcement for new content on Liferay University. A new year brings new content. Happy new year! Liferay Devops Do you know how to set up a cluster? How to backup (or even better: restore) your installation? In Liferay Devops we cover this and more. Based on Docker, this course guides you through the exploration of a lot of the day-to-day operations of a...

7991
0
thumbnail
Kyle Joseph Stiemann | 18 Jan 2019

Before I answer this question, consider: What are you actually trying to accomplish? Are you sure that you need share session data to fulfill your goal? Can you use another (better) method to share data between several portlets across several requests? David Nebinger, Liferay expert and prolific community member, has said that "Session Storage is...

20400
3
thumbnail
Sébastien Le Marchand | 17 Dec 2018

Since Liferay 7.1, pages management has been completely redesigned. Now the navigation tree presented to end-users are controlled by the new Navigation Menus rather than the position of pages in the pages administration screen (now using the Miller columns visualization system). Unfortunately, by the time these lines are written (i.e. with Liferay 7.1 GA2), the position of a page...

10163
4
thumbnail
Jan Verweij | 14 Dec 2018

While trying to give your users the best experience ever you always try to keep things simple. In the past I have filled in many forms and many times with the same data and many times at the same site. Why? As a simple example I took a free 'zipcode to address' service in the Netherlands and used this to show how easy this can be done. And this is what it looks like. Todo...

9954
2
Pablo Agulla | 21 Dec 2018

I’m happy to announce the release of the first beta for the new set of Liferay REST APIs. But before going into details, for those of you who might not be aware of this project, I’d like to give you some context. Our vision Over the last year and a half, we have been working on a new set of REST APIs for Liferay following industries best practices. The goal of these APIs is to...

14820
7
thumbnail
Andrew Jardine | 13 Dec 2018

Today I experienced a great victory, but the day sure didn't start that way. In the days leading up to OSGI I spent a lot of time reading about it, listening to discussions, etc. I wanted to understand what the big deal was. Among the list of benefits, one stuck out most for me. "OSGI does the dependency management, at runtime, for you. So if you have Module A that is dependent on...

9249
4
thumbnail
Bryan H Cheung | 11 Dec 2018

Background Last fall we reintroduced the option to use clustering in Liferay 7.0 by compiling a series of modules manually and including them in your project. We received a lot of feedback that this was a very cumbersome process and didn’t really provide the benefits we intended in bringing back clustering.   Enable Clustering Beginning with Liferay Portal 7.1 CE...

12982
16
thumbnail
Andrew Jardine | 11 Dec 2018

What a trip. From the dynamic format of the Unconference, to the Air Guitar competition, the opportunity to speak, and a lens into what's coming in 7.2, it was by far the best event that I have ever been to. I've been to many conference, but my first developer conference. It was so good that I forced myself to find the time to document the exprerience to share it with all of you. ...

10627
1
thumbnail
Álvaro Saugar | 06 Dec 2018

//La versión española del artículo se puede encontrar aquí:  Unconference 2018. Unconference took place on November 6, in Pakhuis de Zwijger, previously at Liferay DevCon in Amsterdam. I've read about this sessions, but I've never taken part in one. Spoiler, I loved it If you have ever been taking part of one, you'll know Unconference agenda doesn't exist...

8633
2
thumbnail
Álvaro Saugar | 06 Dec 2018

//The english version of this article can be found here:   Unconference 2018. El 6 de Noviembre, día anterior a comenzar la DevCon 2018, tuvo lugar la Unconference de Liferay en Pakhuis de Zwijger. Había leído sobre este tipo de sesiones pero nunca había participado en ninguna. Spoiler, me encantó. Si ya has participado en alguna, sabrás que en estas sesiones no se...

7911
0
thumbnail
Olaf Kock | 04 Dec 2018

Have you checked out Liferay University by now? Or even better: Liferay Passport - the all-inclusive version of University? If you did, you might want to come back and check the new content. If you haven't... Why? Since my last update, we've added two more free lessons and one full course Increase completion rates for your Forms with adaptive rules Getting...

11948
0
thumbnail
Jamie Sammons | 29 Nov 2018

Update: This has been moved to January 11, 2019. Reason for the changes The vulnerabilities in TLS 1.0 (and SSL protocols) include POODLE and DROWN. Due to these security risks, Liferay decided to disable TLS 1.0, as many other companies have done. Moving to TLS 1.1 and higher will allow users to keep communications between Liferay and Liferay.com secure. What TLS...

14538
0
thumbnail
Joshua St. Clair | 28 Nov 2018

So perusing the web, you'll notice there's a couple of resources out there explaining how to override the default favicon in Liferay. Of course, the standard way is to add it to /images folder of your theme and apply the theme to the site. As long as you got your path right and it's the default name, "favicon.ico," it should work just fine.  While this satisfies most use...

12922
4
thumbnail
Renato Rêgo | 28 Nov 2018

Well, if you're reading this post, I can say you're interested, and maybe anxious, to find out how to create your own form field and deploy it to Liferay Forms, am I right? Therefore, keep reading and see how easy is to complete this task. The first step we need to do is to install blade-cli ( by the way, what a nice tool! It boosts a lot your Liferay development speed! ), then just...

8148
1
thumbnail
Minhchau Dang | 23 Nov 2018

Part of content targeting involves scheduled jobs that periodically sweep through several tables in order to remove older data. From a modeling perspective, this is as if content targeting were to make the assumption that all of those older events have a weight of zero, and therefore it does not need to store them or load them for modeling purposes. If we wanted to evaluate whether...

9330
1
thumbnail
David H Nebinger | 17 Nov 2018

So we've all seen those @Reference annotations scattered throughout the Liferay code, and it can almost seem like those references are not changeable. In fact, this is not really true at all. The OSGi Configuration Admin service can be used to change the reference binding without touching the code. Let's take a look at a contrived example from...

9128
2
thumbnail
David H Nebinger | 17 Nov 2018

Introduction When developing JSP-based portlets for OSGi deployment, and even when doing JSP fragment bundle overrides, it is often necessary to get service references in the JSP pages. But OSGi @Reference won't work in the JSP files, so we need ways to expose the services so they can be accessed in the JSPs... Retrieving Services in the JSP So we're going to work this a...

9758
0
thumbnail
David H Nebinger | 10 Jul 2021

Introduction The official Liferay deployment docs are available here: https://dev.liferay.com/discover/deployment They make it easy for folks new to Liferay to get the system up and running and work through all of the necessary configuration. But it is not the process followed by professionals. I wanted to share the process I use that it might provide an alternative set of instructions...

11143
9
thumbnail
David H Nebinger | 20 Nov 2018

Introduction A client recently was moving off of Google Search Appliance (GSA) on to Liferay and Elasticsearch. One key aspect of GSA that they relied on though, was KeyMatch. What is KeyMatch? Well, in GSA an administrator can define a list of specific keywords and assign content to them. When a user performs a search that includes one of the specific keywords, the associated...

12127
1
thumbnail
David H Nebinger | 16 Nov 2018

Introduction So often when discussing how to deal with dependencies, we're often looking for ways to package our third party jars into our custom modules. There's good reason to do this. It ensures that our modules get a version of a third party jar that we've tested with. It also excludes ambiguity over where the dependency will come from, whether it is deployed and available or...

12245
0