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

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

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

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

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

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

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

12364
0
thumbnail
Michael Adamczyk | 13 Nov 2018

At this years Unconference at DEVCON in Amsterdam, Victor Valle kept a session about changing the look-and-feel of the portal administration. Things like removing the default product menu and creating your own. I missed that discussion because so many other interesting discussions were going on, so I have no idea if someone brought this up. In this blog article, I'm not going to do...

7747
2
thumbnail
David Truong | 13 Nov 2018

As some of you may have already discovered, 7.1 GA2 was released as a 7zip bundle instead of the typical zip bundle. This probably caused a ton of issues. Even our own Dev Tools are not yet equipped to handle 7z files since all the events took up our time. I will provide you with the reasons why we had to make this move and hopefully, everyone will come to the conclusion that this...

10016
8
thumbnail
Jamie Sammons | 31 May 2019

What's New Release Notes Downloads Download the release now at: https://www.liferay.com/downloads-community New Features Summary Web Experience:  Fragments allow a content author to create small reusable content pieces. Fragments can be edited in real time or can be exported and managed with the tooling of your choice. Use content pages from within a...

12350
15
thumbnail
Kyle Joseph Stiemann | 06 Nov 2018

Mitigating RichFaces 4.5.17.Final EOL Vulnerabilities If you are using RichFaces, you should be aware that Code White has discovered some remote code execution vulnerabilities in the component library. Unfortunately, since RichFaces has reached end-of-life status, these vulnerabilities will not be fixed. Thankfully there two easy options to mitigate these vulnerabilities: ...

12870
0
thumbnail
Sébastien Le Marchand | 06 Nov 2018

// The french version of this article can be found here: Pour un indicateur de chargement SPA plus visible. Since version 7.0 of Liferay, you surely noticed the apparition of a thin loading bar on top of screen, after most of user actions. This loading bar is part of the new SPA (Single Page Application) mode of Liferay, supported by the Senna.js framework. Unfortunately,...

11908
3
thumbnail
Sébastien Le Marchand | 06 Nov 2018

// The english version of this article can be found here: For a more conspicuous SPA loader. Depuis la version 7.0 de Liferay, vous avez surement remarqué l’apparition d’une fine barre de chargement en haut de l’écran en réponse à la plupart des actions utilisateur. Cette barre de chargement intervient dans le cadre du nouveau fonctionnement SPA (Single Page Application) de...

8050
0
thumbnail
Ibai Ruiz | 02 Nov 2018

Helping my colleague Sergio Sanchez with his GDPR talk in the past Spanish Symposium, I came across a hidden gem in Liferay 7.1. It turns out you can integrate custom Service Builder entities with Liferay’s GDPR framework (UAD), to enable anonymization of personal data in your own entities. I didn’t know anything about this feature, but it’s really easy to use and works like a...

10122
0
thumbnail
Luis Miguel Barco | 29 Oct 2018

In the previous posts, we talked about what we were going to do, how we were going to do it, and which tools we were going to use. We introduced you the Liferay Screens’s screenlets and the reason why we were going to use them. Well, it’s time to explain to you how we developed this application and how a junior developer, with only one year of experience in the mobile world and...

11638
1
thumbnail
Sarai Diaz | 29 Oct 2018

Previously, we talked about how market is really fragmented right now because there isn’t any popular hybrid framework. We kept an eye on some of the most popular frameworks like React Native, Nativescript, Ionic2 and Xamarin. We did a prototype with Nativescript and it worked fine but we think that the use of native libraries with this technology isn’t mature enough. If you...

11303
0
thumbnail
Álvaro Saugar | 28 Oct 2018

//The spanish version of this article can be found here: Primer aniversario de la comunidad Liferay en España, otra vez. One year ago, on October 25, 2017, Liferay Community in Spain started again. During this year, we have made important achievements: we have joined a great group in all the events and we have called meetups regularity (usually last Wednesday every...

8450
0
thumbnail
Álvaro Saugar | 28 Oct 2018

//The english version of this article can be found here:  First anniversary of the Liferay Spain User Group El  25 de octubre se cumplió un año del comienzo de la nueva etapa de la Comunidad Liferay en España. En este año se han conseguido logros importantes, como juntarnos un grupo fijo en todos los eventos y tener  una regularidad en los...

8574
1
thumbnail
Pavel Savinov | 26 Oct 2018

In Liferay 7.1 we introduced a new approach to the Liferay Navigation. New navigation doesn't depend on the pages tree, there is a possibility to create multiple navigation menus, to compose them using different types of elements and to assign them different functions. Out of the box, we provide 3 types of menu elements - Pages, Submenus and URLs.  But we don't want to limit the...

11169
3
thumbnail
Eduardo Perez | 23 Oct 2018

As many of you probably know, starting with Liferay DXP, Elasticsearch is the default Search Engine. In fact, by default, an Elasticsearch instance is embedded in Liferay DXP (it’s a good moment to remind everyone that this is not supported for Production environments, where a separate Elasticsearch instance must be created). In this article we’re going to outline how to use the...

12105
3