RSS

Entries with Products Liferay Portal 7.2 .

thumbnail
David H Nebinger | 16 Aug 2021

A really quick post to share something important with you React + Clay developers out there... A recent update to Clay had a breaking internal change. If after deploying your React portlet and you try to place it on the page and you get errors in the JS console like: liferay-amd-loader | Errors returned from server for require( ["my-module@1.0.0"] ): "Missing dependency...

15456
3
thumbnail
David H Nebinger | 06 Aug 2021

Introduction A client asked me to build a React portlet for them and I was like, "Oh Yeah!" I mean, it's been a while since I built a React portlet and tooling has really changed a lot since then, so I was really looking forward to this new task. So without further ado, I'm just going to dive right in... Creating the Module Okay, so this is still Liferay and still OSGi, so we're going to be...

28226
3
thumbnail
Crystal Santos | 23 Jun 2021

When we think about having different authentication types we commonly think about one fluid and intuitive screen to guide the user through this process. And why is that? It’s probably because logging in is a mean to an end, as a user is often trying to pass this step to achieve a broader goal. With this in mind, it is very important to make logging in smoothly and easily.A logging in process...

13348
2
thumbnail
David H Nebinger | 18 Jun 2021

IntroductionAs many folks know, I'm known for telling people not to look inside the Liferay database itself. It's not always clear what is what in the DB and Liferay has a lot of code around retrieving and updating data that you likely will not get completely right if you were to update the DB directly.I typically end with "Always, always use the Liferay API for your data needs..."And, if...

14722
1
thumbnail
David H Nebinger | 21 Jun 2021

So some time ago I wrote the Cluster Details marketplace plugin. Basically you drop this guy into all of your Liferay clusters and you get a nifty little control panel that tells you details about the cluster, all of the nodes which have joined the cluster and it identifies who the leader of the cluster is at the moment:Not super complicated, but it is a handy little tool to identify details...

11599
0
thumbnail
David H Nebinger | 18 May 2021

IntroductionHistorically developers have always wanted to be able to control site creation.It's not that Liferay admins are untrusted or anything like that. It is really more the case where setting up a new site can get complicated and the steps to create the site could be quite long. A site may have initial documents, web contents (with structures and templates), pages to create and populate...

13244
4
thumbnail
David H Nebinger | 18 May 2021

IntroductionLiferay has, for a long time, supported RBAC, the role-based access control. It is, of course, backed by the database so (inheritance aside for the moment) a user will be assigned a list of roles that is mostly fixed or unchanging. To change these role assignments, typically an admin is going to log into Liferay and, using the control panel, add or remove roles as necessary.This...

8827
2
thumbnail
David H Nebinger | 27 Apr 2021

Introduction One of the great advantages I have being known in the community is really the opportunity to meet, talk and work with talented developers and teams. Recently the team at ACSoftware announced in the Liferay Community Slack they were working on a new Liferay development tool, and I was fortunate enough to work with them on evaluation and testing. As it is just released, I...

12765
9
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...

12376
1
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...

14058
10
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...

10285
3
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...

11802
0
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...

11587
4
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,...

24090
17
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...

12998
0
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...

15834
2
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...

10893
3
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...

15586
1
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...

18170
4
thumbnail
David H Nebinger | 13 Sep 2019

Introduction So recently I have been working with Liferay's new Headless APIs... I have a nice React-based SPA leveraging the new headless-delivery and headless-user-admin modules. I'm going to release everything eventually, but some parts just aren't ready yet. The first part is ready, though: using the new REST Builder tool to create your own Headless APIs. I know what...

26779
2