Blogs

RSS
RSS
thumbnail

A customer recently asked me how Liferay can help them deliver documents to their users based on user-preferred language. One of the easiest ways to do this is through Liferay’s out-of-the-box web content localisation feature. In this  blog entry, I will show how this can be easily implemented.   1. The first step is to create a Web Content structure with fields for our...

7135
thumbnail

Introduction So many times I have answered the question, "How do I find out what import packages my bundle needs?" with the tired and unsatisfactory response that uses the following process: Build your module. Deploy your module. Use Gogo to see why your bundle doesn't start, often from an Unresolved Requirement on an Import Package. Either include the lib in...

11080
thumbnail

As promised less than a month ago, we're working on more content for Liferay University. Meet your new professors Charles Cohick and Dimple Koticha. The new lessons are Gain Insight Into the Customer Journey - Liferay Analytics Cloud Fully Customize Your Search Experience As with all lessons on Liferay University, they're completely free and available...

10731
thumbnail

A SysAdmin came up to me and said he was having issues starting Liferay DXP 7.0, a bunch of CNFEs were coming up at startup. I found that they were set up to use Wily for monitoring their JVMs, and it was those classes that were generating CNFEs. In general, when you add the -Djavaagent=XXX parameter onto your app server's startup command, you're enabling an agent which will have...

12213
thumbnail

This is the second part of the "Extending Liferay DXP - User Registration" blog. In this blog we explore the ways of implementing registration process for a portal with multiple sites.  Portal Sites Configuration Let’s presume we have a portal with the following sites configured: "Liferay", default site, will not be listed "Site 1", site with open...

8214
thumbnail

Hi Liferay Community, Before responding this question I would like to explain what's sharding first: to overcome the horizontal scalability concerns of open source databases at the time (circa 2008), Liferay implemented physical partitioning support.  The solution allowed administrators to configure portal instances to be stored in different database instances and database...

8545
thumbnail

I am starting a short series of blogs in which I will show how to customise User Registration / Customer Acquisition process in Liferay. The inspiration for this blog is one of our DXP portal implementations which had very broad (and frequently changing) user data collection requirements. There are many scenarios in which you want to customise user registration and...

10780

In Liferay Portal 7.1 a lot of effort has been put in improving the experience of building sites and pages and, as a result, some new functionalities have been introduced to empower marketers and other business users in the creation of stunning websites. We have achieved this by considering differentiated needs for the marketer, designer and web developer; and adding a new approach...

11119
thumbnail

We are pleased to announce the first general available release of Liferay Project SDK Installers that support Liferay 7.1. New Installers: For customers, they can download all of them on the customer studio download page. The installer is the full fledged Liferay Developer Studio installer which installs Liferay workspace, blade, Developer Studio and comes pre-bundled with...

10983
thumbnail

Recently we got a couple of complains about new Web Content article behaviour, specifically about the JournalArticle.getContent() method’s return value. The main problem developers experience is when they embed an Image into the Web Content article or use ddm-image or ddm-document-library field in their structures they expect to see the URL of the object(Image or D&M asset) in the...

12127

The Problem The c3p0 connection pool exposes MBeans for JMX tools like jconsole to monitor its run-time states. However, both c3p0 and Liferay intentionally generate random MBean names on each startup. The random name of each data source makes it difficult to setup an independent monitoring tool. The second problem is, by default Liferay creates several data sources, one used by...

9325

Genesis My colleague Vagif proposed a new way to develop a Liferay dynamic widget (the best name I can think of for now) with these pieces: Use the “Basic Web Content” structure or define a new structure. For each dynamic widget type, define a new display template. Create an OSGi service that returns a data model to be used by the display template. Create a web...

9951

Introduction This is a simplified OSGi service API and implementation pattern. It follows the traditional Java interface-implementation pattern, in which the programmer is only required to keep the interface class and implementation class in sync. It does not use Liferay 7 service builder. The attached archive is a fully implemented ORM service based on MyBatis. Unzip it...

11078

Liferay 7.0 started to produce a pair of log files per day: ls -l /opt/liferay/home7/logs/ total 3104 -rw-r--r-- 1 michael admin 285201 May 26 13:24 liferay.2016-05-26.log -rw-r--r-- 1 michael admin 898027 May 26 13:24 liferay.2016-05-26.xml -rw-r--r-- 1 michael admin 400811 Aug 19 13:08 liferay.2016-08-19.log -rw-r--r-- 1 michael admin 0 Aug 19 12:26...

13262
thumbnail

TL;DR - Add "-v 7.0" to your Blade command line to create modules for Liferay CE 7.0 and Liferay DXP 7.0. Hey, just a quick blog post here for something that developers may need to know... I updated my Blade command line tool recently (since I use Intellij, I rely on the command line tool quite a bit for new module project creation), but I hadn't started a new module after...

10995
thumbnail

The world is big and diverse. Right now there are around 7.6 billion people in the world, 4 billion with an internet access. When you’re improving a Design System for a product used worldwide, like Lexicon for Liferay, you should take this simple statement into account. Cultural, religious and regional concerns need to be considered. It may sound obvious, but the true fact is that we...

11642
thumbnail

// The french version of this article can be found here: Libérez la puissance de Gogo Shell. Gogo Shell opens huge opportunities but some obstacles limit the expression of its potential. Let's see in this post how to remove these barriers. Few reminders: usual use of Gogo Shell Apache Felix Gogo Shell is an interactive shell that allows you to interact with an OSGi container....

15305
thumbnail

// The english version of this article can be found here: Unleash the power of Gogo Shell. Gogo Shell ouvre d’énorme possibilités mais certains obstacles limite la plein expression de son potentiel. Voyons au fil de ce billet comment lever ces barrières. Quelques rappels : utilisation usuelle de Gogo Shell Apache Felix Gogo Shell est un interpréteur de commandes en mode...

10938
thumbnail

Good news. Now that Liferay Portal CE 7.1 and Liferay DXP 7.1 are available, your training is also just a fingertip away. No longer do you have to travel far, or juggle your calendar, because these trainings are ready and available whenever you are, at your own pace. Liferay University is the place where you can find all of Liferay's trainings in a convenient place. And if you...

17740
thumbnail

Intro In case you're not aware, Liferay uses Apache PDFBox to look at your PDFs. In order to index the content of a PDF, Liferay uses PDFBox to extract the content and uses that during indexing/searching. However, Liferay tends to fall behind a bit on updating 3rd party libraries. When you favor stability, you tend to be rather conservative when considering updates like...

13736