Radio Liferay

Welcome to Radio Liferay, a peek into what is going on in Liferay from the people doing it themselves.


Latest Broadcast

Radio Liferay Episode 60: Performance and Permissions with Preston Crary

  An episode on the "Per" things: Performance and Permissions. I spoke to Preston Crary, who amazingly was not mad at me for losing an earlier recording.

We're talking about these (and more) topics

  • We open with the attention to detail that's required for working on performance tuning and some short conversation about this topic.
  • Sadly, there's not often a single silver bullet, but many areas of dust.
  • Sometimes the fastest code is not the most optimal
  • Continuing with Preston's work on Permissions:
  • ResourceBlock is deprecated, and there's an easy migration path
  • The usecase for Resources, ResourcePermission, and ResourceBlocks (as they're not at all visible on the UI)
  • Preston's way through Liferay from Support to working on the topics that he's now working on
  • The new API for Permissions - and the documentation is also done already (as of me writing this article, not yet published, but available on github - should be a matter of days or hours)
  • Should you implement your own permission system? (and how the answer to this question might change in 7.1)
  • Upgrades are being performance tuned. I smell a future episode coming up. Paging the team that is working on this area
  • The remarkable memory savings that refactoring the UserBag introduced
  • What happend during login
  • Passwords are PBKDF2WithHmacSHA1/160/128000 hashed, a deliberately expensive password hashing algorithm.
  • LPS-75747 and an update to my hardball question: Document Library's default.xml is still in core, can't be updated through a module, just through an ext.

Follow @RadioLiferay, Preston and me (@olafk) on twitter.

You'll find this episode - and make sure that you don't miss any of the future episodes - by subscribing to You can also subscribe on itunes.: Just search for "Radio Liferay" or just "Liferay" in the podcast directory. Make sure to write a review for the podcast directory of your choice - or find everything about Radio Liferay on

Or just download the MP3 here:

download audio file

Average (0 Votes)
The average rating is 0.0 stars out of 5.

Threaded Replies Author Date
Clicked the link to and Chrome... Dante Wang March 28, 2018 8:37 PM
Whoops, sorry - Something went wrong in the... Olaf Kock April 3, 2018 1:05 AM

Clicked the link to and Chrome warned me about invalid cert...
Posted on 3/28/18 8:37 PM.
Whoops, sorry - Something went wrong in the reconfiguration of that server. Non-https works for now, it's just a forwarder to anyways...
Thanks for letting me know
Posted on 4/3/18 1:05 AM in reply to Dante Wang.

Tell others

If you enjoy this podcast and are subscribing on itunes or any other aggregator: Please consider telling them how much you like it - just use their rating system. And consider leaving feedback and comments (at the shownotes, linked for each episode)

Older Episodes

« Back

Radio Liferay Episode 29: Milen Dyankov

 Please welcome yet another return guest, Milen Dyankov, a fellow trainer and senior consultant in Liferay. Milen has been participating in episode 9 and he has been the original contributor of the mobile device detection code to Liferay (see his presentation at the EU Symposium 2011). Back then he was a community member, but in the mean time he as joined the team and is now working from Poland and all over (and around) the european continent.

Some more keywords from the conversation:

  • Training experiences
  • Mobile Device Detection, or Device Recognition as it's labelled on Marketplace
  • The UI for DR is not too obvious - which was the original reason for us to have this conversation. Milen describes how to make sense of the UI, how to use it and what features are hidden behind the UI facade
  • WURFL and the dimensions of information that it can detect from devices
  • The history (more) (even more) of his contribution (for 6.0)
  • The UI changes in 6.2 have been significantly and will indicate that you'll need to install a plugin to use DR properly (we were not sure and didn't check yet if it's in M6 yet, if/once you see it please give feedback)
  • As the UI offers only a selection of the device information: Why we limited the information and what else is available through WURFL
  • How to determine if a certain device is a telephone or a tablet (hint: whatever WURFL says is assumed to be correct)
  • How to make use of the WURFL capabilities that are not exposed in the UI. Milen promised to post a blog article on it and - in fact - he has already done so.
  • Future plans to help with responsive desins
  • How DR can be used to serve specific content to devices (e.g. if all you want is to download an App)
  • Other mobile strategies:
    • run your own apps (how is that Liferay dependent? Well, take a look at Liferay's Events app (for the upcoming Developer Conference, Liferay Portal Solution Forums or Symposiums) that uses the agenda content directly from the portal, e.g. Liferay's CMS
    • Sync
    • Make use of HTML5 local storage (see the IBA presentation at the 2012 european symposium
  • Milen recently got praised for a beautiful presentation he did at a conference, titled "What is a portal?". His motivation and the story behind. (sshhh: He's available for presentations at other events as well)
  • Also, we're both showing age remembering Container Managed Persistence from EJB 2 and how Spring and similar libraries have turned the world upside down since then.

Follow Milen, RadioLiferay or me on twitter

Thank you again to Auphonic for improving the sound quality dramatically. AFAIK this time there were no unrecoverable dropouts ;)

You'll find this episode - and make sure that you don't miss any of the future episodes - by subscribing to You can also subscribe on itunes.: Just search for "Radio Liferay" or just "Liferay" in the podcast directory.

download audio file

Average (0 Votes)
The average rating is 0.0 stars out of 5.

No comments yet. Be the first.