This website uses cookies to ensure you get the best experience. Learn More.
I’ve been mulling over an oft-encountered requirement, and I figured it would be alright to jot down my thoughts, even if only to evoke a response. Nothing makes my day like a comment that goes, “Uh, actually, there is a better way to do that.” Here’s the problem definition. It’s quite typical. Customer has one site. There will be a lot of content on it. Customer wants...
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...
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...
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,...
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...
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...
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...
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...
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,...
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...
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...
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...
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...
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...
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,...
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...
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...
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...
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...
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...
Showing 741 to 760 of 3,025 entries.