Lauri Hiltunen
Software should be modular. It has been a core thought of developers and architects for quite a long time. The microservices style of development and deployment is a thing now, and different projects are taking the modularity from logical design also to physical level. There’s project Jigsaw that’ll offer a way to create modules in Java 9. Liferay is onboard with modularity as well,...
Liferay allows using site specific Google Analytics tracking codes to analyze the traffic inside your portal. Adding the code is simply a matter of going to the site settings and saving the code you need. Insert your google analytics id in site settings However, the default version of Liferay's Google Analytics code might not be enough in some cases, as it offers...
The Expando API is a great tool to add custom data to the default models Liferay offers. We've used it regularly in our projects. Although the concept might overwhelm you at first, there’s no need to be scared. Let me show you around... Liferay’s models offer you a basic interface to use. For instance, when interacting with a User class, you can easily get the name, email address...
One of Liferay's more commonly used extension points is the application startup event. You can define custom code to run whenever your plugin is deployed. This is a powerful feature. In this blog post I'm going to describe a common use-case here at Ambientia, where we use these events to make sure that the custom fields the plugin is dealing with are always up to date. ...
Liferay offers extensive set of features regarding user accounts and signing in to your portal out of the box. Many of the features are made configurable through portal properties, enabling the developer to concentrate more on the core features clients want from their portals. These options include, among others, the “remember me” feature, login by...
Sometimes you need to perform actions which relate directly to your Liferay portal and your site structure. In some cases getting the handle on the layout needed might be a bit tricky though. You might query it with certain parameters, maybe using expando attributes or something similar. One clever little trick we’ve done on some of our projects is using pointer portlets. In this...
Creating configurable portlets allow site administrators to customize the behaviour of the portlet the way they want to. The core feature set can be expanded dynamically by changing the portlet preferences. You could, for instance, change the email address where customer feedback is delivered, change the display styles of asset publishers or even disable some features if needed. Using...
Portlets are components which create a portal application. They can function without any knowledge of other portlets, or can be configured to be dependent of one another in many ways. You can define events which portlets fire and listen to. You can query the location of another portlet and link to it from your portlet, or even call the service interface the other portlet is offering....