Blogs

RSS

Entries with Blog Stream Featured .

RSS
thumbnail
Sarai Diaz | 26 Feb 2020

Since Liferay Portal 7.2, you can use the Personalization Capabilities to define Segments that allows matching the different types of audiences you have identified for your site and deliver personalized experiences for them. You can define those Segments combining User, Organization and Session criteria. Now with Liferay CE 7.3, the Segments definition has been improved, and you can...

8896
thumbnail
David H Nebinger | 29 Feb 2020

My friend, Olaf Kock, recently shared with me that he had struggled with and resolved an issue after moving to Tomcat 9.0.31 when using AJP. Update: What maybe we didn't know, Tomcat 9.0.31 (and other versions of Tomcat 6, 7, 8 and 8.5) were all being fixed to address a newly identified attack vector against Tomcat nicknamed...

22660
thumbnail
Jamie Sammons | 05 Feb 2020

We are happy to announce the availability of Liferay Portal CE 7.3 GA1. This is the first rolling release (announcement about this new release strategy coming soon) for the 7.3 series. What can you expect from this release? The first set of finished features that will be made available during the 7.3 cycle. Many more features are in progress but hidden for this first release. ...

25693
thumbnail
David H Nebinger | 01 Feb 2020

Just a quick one this morning... So I'm working on a project for 7.1. With my new love of the target platform, I decide I'm going to enable the 7.1 target platform for my DXP project. Everything seems to work fine until I deploy the portlet jar. That's when I get the following during deployment: 2020-02-01 08:40:06.324 ERROR...

10279
thumbnail
David H Nebinger | 31 Jan 2020

Introduction So I get finished which the previous blog, Visiting DynamicQuery, and I shared it with my team. I'm always kind of happy when I get a new blog post done, so I share it with everyone I can think of. The first comment I got was from my friend and teammate, Shane Merriss: Hey Dave, thanks for the blog post, I’ll be able to share it with my client since we use it in a...

9961
thumbnail
David H Nebinger | 30 Jan 2020

Introduction If you've used any Liferay entities or ServiceBuilder custom entities, you've likely run into a situation where you've needed to perform a custom query to get a set of results that are outside of what the normal methods provide. So you've had to use a DynamicQuery in order to make that happen. Or perhaps you've needed to perform batch operations on entities and...

11160
thumbnail
David H Nebinger | 30 Jan 2020

One thing I sometimes see is using a given Liferay feature the wrong way in order to do something. Take delivering content to the right users. Liferay actually has a bunch of ways to accomplish this kind of thing. First we have taxonomy. Using vocabularies, categories and tags, you can apply taxonomy to your assets and then, through an asset publisher or search filter, for...

8412
thumbnail
David H Nebinger | 23 Jan 2020

I did an informal poll on the Liferay community Slack channel recently: I was actually kind of surprised by the majority of votes for the "What is the target platform?" option. So, inspired by the results of the poll, I'm going to answer the question, What is the Target Platform? The Target Platform's Roots So the phrase, "Target Platform", is really a Liferay-only name...

9629
thumbnail
David Truong | 22 Jan 2020

As we near the first GA of 7.3, one change we've managed to make was to migrate off Soy + Metal.js and fully onto React.js. The story reminded me of how far our frontend infrastructure has evolved in the past fifteen years that I’ve been a part of Liferay. While this was initially going to be a longer post, due to some user error on my part, I have decided to split this into two posts....

13555
thumbnail
David H Nebinger | 12 Jan 2020

Classic Liferay Localization Handling Any developer who has been around for awhile will have some knowledge of how Liferay handled localization for the entities... In your service.xml file where you normally just have a column type of String, you would also have an additional attribute set, localized="true". With this addition, your model classes getters and setters change...

9516
thumbnail
David H Nebinger | 03 Jan 2020

So I've been seeing this a lot recently, so I thought I'd do a quick blog about it... With web contents, we can build structures to provide an organized chunk of data, and then we can define a template to render the HTML fragment for that structure. Since the template language of choice is FreeMarker, and since in FreeMarker we have practically the entire Liferay API (and...

8806
thumbnail
Jamie Sammons | 19 Nov 2019

Docker Official images can be found on Dockerhub and can be used for deployments on any system that is running Docker. For more information on configuration options for the image see the overview page. To get started with docker run the following: docker run -it -p 8080:8080 liferay/portal:7.2.1-ga2 Download You can find the 7.2 release on the download page.  If you...

20795
thumbnail
Javier Gamarra | 18 Nov 2019

Liferay 7.2 GA2 brings us many awesome new features but I'm particularly proud of one: GraphQL support. Starting today you can build dynamic JS applications with your preferred framework (which is the one trending today?) and leverage the powerful GraphQL queries to fill the entire screen with one request. In 7.2 we introduced the new breed of Headless APIs to help you serve...

12718
thumbnail
David H Nebinger | 13 Sep 2019

Recently when I was working on my custom Headless API blog series, I ran into a bit of trouble with my Service Builder-based persistence tier. My SB code was done and working, and I was adding methods to my CLI tool to test all of the Headless methods. I had the list working, I could add, update and patch Vitamins, and I just finished the delete method testing and I was on cloud...

12307
thumbnail
David H Nebinger | 13 Sep 2019

Introduction I've recently started working on a React SPA to take advantage of the Liferay Headless APIs. I was working through all of my implementation details and was finally ready to start making API calls, but I needed to figure out how to handle authenticated requests. I reached the following point in the documentation,...

20386
thumbnail
David H Nebinger | 05 Sep 2019

If you’ve spent time rummaging around Liferay’s search and indexing documentation provided here, you’ll find a lot of details about document contributors, index writers, search registrars, etc. The part that might be missing is what all of these things actually do, why they are important, and why you actually want to go down the road of supporting indexing and search for your custom...

11028
thumbnail
David H Nebinger | 13 Sep 2019

Introduction Welcome back to my series on using Liferay's REST Builder tool to generate your own Headless APIs! In part 1 of the series, we created a new project and modules, and we started to create the OpenAPI Yaml file defining our headless services by specifying the Reusable Components section. In part 2 of the series, we completed the OpenAPI Yaml file by adding in...

13282
thumbnail
David H Nebinger | 03 Sep 2019

Just a quick post today... So I've been using the Target Platform like all the time now. I don't want to have to worry about versions, especially those Liferay modules that change version numbers on every fix pack... However, I've found that sometimes the version numbers just aren't there. But often I only find this out after I've stripped out the version and tried a build. My...

9478
thumbnail
David H Nebinger | 13 Sep 2019

Introduction In part 1 of this series, we started a project to leverage Liferay's new REST Builder tool for generating Headless APIs. We defined the Reusable Components section, the section where we define our request and response objects, namely the Vitamin component and a copy of Liferay's Creator component. In part 2 of the series, we finished the OpenAPI Yaml file by defining...

12856
thumbnail
David H Nebinger | 13 Sep 2019

Introduction In part 1 of this series, we started a project to build our own custom Headless APIs using Liferay's REST Builder tool. The project was started, four modules were created and I presented the Meta and Reusable Components sections from my OpenAPI Yaml file. We're going to pick up where we left off and finish presenting the Paths (endpoints) section and then start...

14564