2021 will be great

/dev/24 is for you, to get on track with all of the new features that are to be found and discovered in Liferay Portal and Liferay DXP 7.4.
​​​​​​​Read the first announcement (and find the - extended -Call for Presentations) - and, of course, submit! Let us have part in your knowledge. Brag about what you've developed, discovered or done in 7.4!
​​​​​​​And mark your calendar for 3. + 4. November 2021

Note: The following Agenda is incomplete, and subject to change:

Preliminary Agenda

Responsive Image

Escape the entrance: Enter early

profile picture

There is no presenter.

2021-11-03 10:00 UTC

Our interactive world opens at 10:50am UTC, but you can come early, solve a few fun puzzles to get into the event space before everybody else. You can also talk to someone, or collaborate with them to enter together. Or just see what happens behind the scenes, before the venue opens.

Yes, this is a reverse escape game where you don't want to get out, but in. Be the first one to see the world while it's being prepared for massive exchange of information during the coming 2 days

Opening, Agenda and Structure


2021-11-03 11:00 UTC

We're opening the doors for 2021 and let you into this year's world.

2021 will be interactive, and you'll have a lot more opportunities to get your own message heard than last year.

Form your form fields in Forms: From 'hard to say' to 'easy to do'!

profile picture

Martín Domínguez

The main target of this session is letting know what are the keys when you want to leverage all the power of forms and create your own custom fields. No matter what, if it can be done with React you can use it in your forms.

Although actually the Forms and Docs teams are working hard to document this feature and provide examples with great snippets of code trying to shed some light about the different pieces that you can use.

Save the Thread pool, use Async HTTP clients

Fabian Bouché

Developers frequently have to integrate with backend web services (REST, SOAP...).
But beware of slow web services as they are going to block your worker threads while they wait for a response. And the pool of threads has a limited head count.

I've written two blog posts on the topic :

The objective of the session is to raise awareness about the Thread pool and to give one possible solution to this issue: taking advantage of HTTP client libraries able to implement non blocking processing, relying on promises rather than sync HTTP calls.

The power of Collection Providers

Daniel de Francisco

Did you ever find the asset selection capabilities of the Asset Publisher not enough for your use case? Do you wonder how you could leverage Liferay commerce data to create a custom collection of Liferay assets? Let me show you how to use Collection Providers to have your own custom asset selection based on Liferay Commerce data and how to use it in an Asset Publisher or directly on a Content Page with the Collection Display fragments.

Liferay 7.4 “Code-Less” Site Implementation

Vitaliy Koshelenko

Liferay 7.4 site creation without a custom theme, but with leveraging master pages, page templates, fragments, widget templates and style books.

  1. Overview of different approaches for site creation (with custom theme or not, +/-);
  2. Target site overview (content site, like learn.liferay.com);
  3. Site creation
  4. Implement a “header” fragment:
    1. Header structure/styling;
    2. Editable fields (logo/sitename/etc.);
    3. Add built-in widgets to the header fragment (available with lfr-widget-xxx, and not): navigation, search, language, personal bar.
  5. Implement a “footer” fragment:
    1. Editable fields;
    2. Links/navigation;
  6. Create a Master Page template:
    1. Define the page structure;
    2. Place/configure header/footer;
    3. Configure DropZone;
  7. Add “Left navigation” to master page (navigation widget);
  8. Implement a custom widget template for the left navigation;
  9. Create a Page Template from Master Page;
  10. Create pages from Page Template;
  11. Fill pages with demo content;
  12. Setup a search page;
  13. Implement a widget template for Search Results;
  14. Create a custom StyleBook and adjust styling;
  15. Overview created site;
  16. Conclusions;
  17. Questions/answers.

Fantastic Liferay API features and where to find them

profile picture

Luis Miguel Barcos

In this talk, we will show some not-so-well-known API tricks and features hidden in Liferay APIs. Features that can be very useful for you and maybe you were missing. Some of them are:

  • Nested fields
  • API multi-language support
  • Aggregations
  • Field restrictions on responses
  • Unauthenticated requests
  • Existing APIs extensions
  • GraphQL namespaces
  • and more tricks

Join us to know these fantastic API features and where to find them

APIs, this is the way

Javier de Arcos Velilla

In this talk, we will go back to the fundamentals and talk about APIs best practices that will help you develop your API into Liferay and will allow you to create a great experience for your clients.

InfoListProviders: Beyond Liferay entities

Fabian Bouché

Liferay has recently introduced InfoListProviders.
Most of the examples describe how you can map Liferay entities to InfoLists.
But you can also write InfoListProviders that integrate with third party data providers.
During this session, we'll demonstrate how we can integrate with a music / discography metadata provider.

Reducing complexity by using pure CKEditor 4 in Rich Text experiences

profile picture

Diego Nascimento

The goal of this presentation is to:

  • Introduce why We're deprecating AlloyEditor and migrating to a strategy using directly CKEditor 4
  • Show the process(challenges, methodology) involved in migrating internal use cases of AlloyEditor in pure CKEditor 4
  • Discover opportunities for the future of Rich Text Content editing in Liferay DXP

Remote Apps in DXP (It will probably change)

profile picture

Carlos Lancha

Participants will learn what a Remote App is, why they are useful, how to create one in DXP and place it as a widget in a Page. How to communicate with DXP from the Remote App with DXP using the SDK we've created.

I'm planning to present what all of it is in theory and create a custom Remote App from scratch, explaining liferay's SDK and what can be done with it.

Improving TreeFilter component performance in Content Dashboard

profile picture profile picture

Beltrán Rengifo & Clara Izquierdo

The audience will learn about how to detect, analyze and solve performance problems in a React JS component:

  • Detect by performing heavy tests
  • Analyze by concluding over the metrics
  • Solve by implementing the most efficient and affordable tasks

We considered the necessity to audit the performance of our React TreeFilter component and we want to share the results we achieved.
In this path, we’ll show some JS implementation inside React components, how we tested the performance using the React’s OOTB Profiler component, and the final fixes we implemented in master.

Clara will present the component, it's main duties and the drawbacks we detected along the way. Beltrán will show the performance test, the results and the implementation of the improvements.

How to make it possible to run BPMN process in Liferay

Alexey Kakunin

In this presentation Alexey is going to:

  • Explain default workflow implementation in Liferay - how Liferay using workflow and how it is integrated (through Workflow API and Liferay Service Bus)
  • Default Workflow Engine - Kaleo - why it is good and why it is not always good
  • How technically it is possible to replace Kaleo by some other implementation
  • Demonstrate how it is working (to show some "magic"!)

Escape the entrance: Enter early, day 2

profile picture

there is no presenter

2021-11-04 10:00 UTC

Our interactive world opens at 10:50am UTC, but you can come early, solve a few fun puzzles to get into the event space before everybody else. You can also talk to someone, or collaborate with them to enter together. Or just see what happens behind the scenes, before the venue opens.

Yes, this is a reverse escape game where you don't want to get out, but in. Be the first one to see the world while we freshen everything up from yesterday's event, to be prepared for the second day.

Opening of Day 2, Agenda and Welcome Back


2021-11-04 11:00 UTC

We're opening the doors for 2021's second day and let you into this year's world.

What have you learned yesterday? Who did you meet? What went well, what could we work on?

2021 will be interactive, and more so on the second day, hopefully after a refreshing sleep.

Looking for 2020 content?

While we're preparing the 2021 event (and long after we're done with it) you can find the full 2020 content on its own archived page.

The first 12 hours

The second 12 hours