Blogs

RSS
RSS
thumbnail

Introduction So those who know me or have worked with me know that I hate theming. I do. I find it to be one of the hardest things in Liferay to get right. I can build modules all day long, but ask me how to make the default buttons increase the height by a couple of pixels and change the color to orange, and I honestly have to start digging through doco and code to figure out...

10044
thumbnail

Introduction In this article I’ll try to give you a comprehensive picture of the current state of theming in Liferay 7.1. To do this, I’ll describe the evolution of Liferay theming from the early Bootstrap use in 6.x themes to the introduction of Lexicon for 7.0, as well as identifying and addressing challenges that have been changed in 7.1. Also, I’ll add some practical cases...

10144

Hello all!   We want our development tools to be flexible and extensible enough to meet our users requirements, and with this in mind, we have developed 2 new concepts for Blade: Extensions and Profiles. Extensions allow you to develop your own custom commands for Blade, in which Blade will act as a framework and invoke your command when it is specified on the CLI. You,...

6616
thumbnail

Just a quick blog in case it hasn't come up before... Liferay was using a CDN for offloading traffic for the repository artifacts. You've likely seen the URL during builds or within your build scripts/configuration. The old one is of the form: https://cdn.lfrs.sl/repository.liferay.com/nexus/content/groups/public/... Recently though Liferay switched to a new CDN...

6319
thumbnail

Did you already book your ticket for Devcon 2018? Early Bird ends in a few hours (14 Sep 2018) and I hear that the Unconference is solidly booked (not yet sold out, but on a good path to be sold out very soon). If you have or have not been at a past Devcon, but need more reasons to come again: The agenda is now online, together with a lot of information and quotes from past...

6454

With Liferay releasing new products such as Analytics Cloud and Commerce we decided to cover the need for charts by providing an open source library.   The technology Clay, our main implementation of Lexicon, created Clay charts. These charts are built on top of Billboard.js where many contributions have been done by Julien Castelain and other Liferay...

5867

This is the second post explaining the new Web Experience functionalities released in version 7.1 of Liferay Portal.  As presented in the previous post, in order to empower business users, it is necessary to have Page Fragment collections available.   But, what are they and what is their use?   Page Fragments are “reusable page parts” created by web...

7101
thumbnail

A few months ago, in the Community Chat, one of our community members raised the question, "Why does Liferay prefer public pages over private pages?" For example, if you select the "Go to Site" option, if there are both private pages and public pages, Liferay sends you to the public pages. Unfortunately, I don't have an answer to that question. However, through some experimentation,...

5654
thumbnail

By request, a blog to explain compile vs compileOnly vs compileInclude... First it is important to understand that these are actually names for various configurations used during the build process, but specifically when it comes to the dependency management. In Maven, these are implemented as scopes. Each time one of these three types are listed in your dependencies {} section, you are adding...

43202
thumbnail

Introduction One of the benefits that you get from an enterprise-class JEE application server is a centralized administration console. Rather than needing to manage nodes individually like you would with Tomcat, the JEE admin console can work on the whole cluster at one time. But, with Liferay 7 CE and Liferay 7 DXP and the deployment of OSGi bundle jars, portlet/theme wars...

6048
thumbnail

From the home office outside of Charleston, South Carolina, here are the top ten reasons to avoid Portlet and HTTP session storage: Number 10 - With sticky sessions, traffic originating from a web address will be sent to the same node, even if other nodes in the cluster have more capacity. You lose some of the advantages of a cluster because you cannot direct traffic to nodes with...

7458
thumbnail

The Ugly In one of the first Liferay projects I ever did, I had a need to have some Roles in the environment. They needed to be there so I knew they were available for a custom portlet to assign when necessary. I was working for an organization that had a structured Software Configuration Management process that was well defined and well enforced. So code deployments were a...

5521
thumbnail

  Liferay IntelliJ 1.1.1 plugin has been made available today. Head over to this page for downloading.   Release Highlights:   Watch task decorator improvements Support for Liferay DXP Wildfly and CE Wildfly 7.0 and 7.1 Better integration for Liferay Workspace Improved Editoring Support Code completion for resource bundle...

6544
thumbnail

Introduction As I spend more time digging around in the bowels of the Liferay source code, I'm always learning new things. Recently I was digging in the Liferay extenders and thought I would share some of what I found. Extender Pattern So what is this Extender pattern anyway? Maybe you've heard about it related to Liferay's WAB extender or Spring extender or Xyz extender,...

8490
thumbnail

One of the initiatives our Quality Assurance Team has taken the past few years, has been to try and automate all their testing. This has resulted in testing all of our compatible environments in a similar fashion.  Thus, we no longer need to distinguish between Supported and Certified environments.   Starting with Liferay DXP 7.0, we will now list all our compatible...

11203
thumbnail

We are pleased to announce the new release of Liferay Project SDK Installers version 3.3.0 GA1.   Download:   For customers, they can download all of them on the customer studio download page.   Upgrade From previous 3.2:   Download updatesite here Go to Help > Install New Software… > Add… Select Archive...Browse to...

9479
thumbnail

I've been asked a couple of times recently about different aspects of @Modified annotation that I'm not sure have been made clear in the documentation, so I wanted to cover the lifecycle annotations in a little further detail so we can use them effectively. The @Activate, @Deactivate and @Modified annotations are used for lifecycle event notifications for the DS components. They get...

11507
thumbnail

Hi everybody, With the version 7.X we have all started to play with OSGi and for some projects it's sometimes hard to have a clean start with the correct build tool; despite the blade sample which are definitely useful. I wanted to share through this blog, a sample with an OSGi service and a portlet which are configured to be deployed in a Liferay 7.1. The code given can be...

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

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

9783