Blogs

RSS

Entries with Blog Stream Featured .

RSS
thumbnail

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

5296
thumbnail

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

5528
thumbnail

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

6598
thumbnail

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

6232
thumbnail

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

7477
thumbnail

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

5992
thumbnail

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

6402
thumbnail

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

5155
thumbnail

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

6927
thumbnail

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

6431
thumbnail

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

4527
thumbnail

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

6746
thumbnail

In the previous blog post we covered the beginning of the project, this includes a description of the app features, advantages of using Liferay Screens and lastly the wireframe. In this one, we will cover how we can “screenletize” the different screens of the application and build them combining different screenlets. We will also organise the 10 days and plan what are the tasks we...

5716
thumbnail

Before we begin with this story, for those of you that don’t know about Liferay Screens. Liferay Screens is a library for iOS, Android and Xamarin that aims to speed up the development of native applications that use Liferay as a backend. It’s basically a collection of components, called Screenlets. These components are very easy to connect to your Liferay instance and provide plenty...

5769
thumbnail

Display pages functionality in Liferay always was tightly coupled to the Web Content articles, we never had plans to support more or less the same technology for other types of assets even though we had many of these types: Documents & Media, Bookmarks, Wiki, etc... Even User is an asset and every user has corresponding AssetEntry in the database. But for Liferay 7.1 we decided to...

4603
thumbnail

In Liferay 7.1 we presented a new vision to the page authoring process. The main idea was to empower business users to create pages and visualize contents in a very visual way, without a need to know technical stuff like Freemarker or Velocity for the Web Content templates. To make it possible we introduced the fragment concept. In our vision fragment is a construction block...

6174
thumbnail

Liferay is a large project, and many developers who are attempting to get their customizations to work with Liferay will often end up asking the question, "What version of module W should I use at compile time when I'm running on Liferay X.Y.Z?" To answer that question, Liferay has some instructions on how to find versions in its document, Configuring Dependencies. This blog entry...

9311
thumbnail

First of all, for those of you who don't know about Liferay Screens. Liferay Screens is a component library based on components called Screenlets. A screenlet is a visual component that you insert into your native app to leverage Liferay’s content and services, allowing you to create complex native applications for iOS and Android very fast. Awesome, isn’t it? BUT, Do you need to...

7447
thumbnail

Java 11 has just been released (on Sep, 25th) and it comes with the consolidation of a series of changes, not only to the language and the platform, but to the release and support model that has lead to some noise on the future of Java. Probably the two most notable concerns are the end of public updates for Java 8 and the uncertainty of the rights to use Oracle JDK without paying...

9269
thumbnail

With the release of JDK11, Oracle's new Java SE Support Policy (and here) brings sweeping changes to the Java Enterprise community. If you would like a good explanation of the changes to come, I highly recommend this video. Here are my thoughts on how some of these changes will affect Liferay Portal/DXP users: Starting with JDK11, you will no longer be able to use Oracle...

13938