SAVE THE DATE: DEVCON 2016 | November 14 - 16, 2016 | Darmstadtium (Germany)

We are glad you came!

It has been two exciting days and we are glad that we spend them together with you. Liferay DXP is here and we hope that you got already an inside view of the new features which are included. Stay connected and join the world wide Liferay community!

logos Created using Figma

Save the Date

Oct. 4-6, 2017 in Amsterdam

Become a speaker at DEVCON2017
Call for Papers
Recap Video
Recap Interview Olaf Kock

Checkout our DEVCON Photos

Go to our Facebook Page

Presentations and Recordings

You can access DEVCON and MODCONF presentation slides & recordings simply by clicking on the respective agenda entry.

16-LDSF-Recap-Slide-Image16-LDSF-Recap-Slide-Image
Monday, 14. November 2016 Tuesday, 15. November 2016 Wednesday, 16. November 2016
8:00
8:00 - 9:00
Unconference Registration
Room: Level 0, Time: 8:00 - 9:00
(Level 0)
9:00
9:00 - 10:00
Unconference Agenda building
Room: Chromium Titanium Vanadium, Time: 9:00 - 10:00
Session Summary:

Let's get started.

(Chromium Titanium Vanadium)
10:00
10:00 - 13:00
Unconference Break out sessions
Room: Palladium, Time: 10:00 - 13:00
Session Summary:

Agenda will be defined onsite

(Palladium)
11:00
11:00 - 12:00
Authentication in Liferay (A), Javascript with LR7 (B), Present and Future of Liferay Front End (C), Extebdubg Liferay default functionality in LR 7.0 (D)
Room: Chromium Titanium Vanadium, Time: 11:00 - 12:00
(Chromium Titanium Vanadium)
11:00 - 12:00
E- How to write modular software in DXP/LR7.0
Room: Palladium, Time: 11:00 - 12:00
(Palladium)
11:00 - 12:00
F- Safer Programming with functional Java 8
Room: Argentum, Time: 11:00 - 12:00
(Argentum)
11:00 - 12:00
G-H - Assigning roles in Liferay to increase securily?
Room: Aurum, Time: 11:00 - 12:00
(Aurum)
11:00 - 12:00
I - DevOps & Liferay, scripting deployments
Room: Platinum, Time: 11:00 - 12:00
(Platinum)
12:00
12:00 - 13:00
A - Vaadin & OSGi & Liferay; B - Liferay and Testing; D - Liferay in China & Iran
Room: Chromium Titanium Vanadium, Time: 12:00 - 13:00
(Chromium Titanium Vanadium)
12:00 - 13:00
E - All you need is a Liferay Theme
Room: Palladium, Time: 12:00 - 13:00
(Palladium)
12:00 - 13:00
G-H - Is Ext dead?
Room: Aurum, Time: 12:00 - 13:00
(Aurum)
12:00 - 13:00
I - Faceted search vocabulary based
Room: Platinum, Time: 12:00 - 13:00
(Platinum)
13:00
13:00 - 14:00
Unconference Lunch
Room: Level 0, Time: 13:00 - 14:00
(Level 0)
14:00
14:00 - 15:00
A - Docker experiencec with Liferay; B- Audience Targeting, Building custom rules
Room: Chromium Titanium Vanadium, Time: 14:00 - 15:00
(Chromium Titanium Vanadium)
14:00 - 15:00
E- How to manage Liferay projects using Agile methodologies
Room: Palladium, Time: 14:00 - 15:00
(Palladium)
14:00 - 16:00
F- Propagation of changes between different environments (test/stag/prog)
Room: Argentum, Time: 14:00 - 16:00
(Argentum)
14:00 - 15:00
I- Joins between portal entities and local entities defined in servicr xml
Room: Platinum, Time: 14:00 - 15:00
(Platinum)
15:00
15:00 - 16:00
A- Distributed/Remote OSGi to create a modular multi-tier environment; B- DDOS Proofing stategies for Liferay
Room: Chromium Titanium Vanadium, Time: 15:00 - 16:00
(Chromium Titanium Vanadium)
15:00 - 16:00
E- Ramping up developers, techniques for setting up new machines and people
Room: Palladium, Time: 15:00 - 16:00
(Palladium)
15:00 - 16:00
F- Upgrading from 6.1 to 6.2
Room: Argentum, Time: 15:00 - 16:00
(Argentum)
15:00 - 16:00
G-H- UX & Lexicon
Room: Aurum, Time: 15:00 - 16:00
(Aurum)
15:00 - 16:00
I- WEM. NEXT
Room: Platinum, Time: 15:00 - 16:00
(Platinum)
16:00
16:00 - 17:00
A- Hacking Liferay "best practices"; B- SPA; C- Performance Cache Tuning
Room: Chromium Titanium Vanadium, Time: 16:00 - 17:00
(Chromium Titanium Vanadium)
16:00 - 17:00
E- Maven with DXP/ Liferay 7.0
Room: Palladium, Time: 16:00 - 17:00
(Palladium)
16:00 - 17:00
F- Assets Framework: Ditch the boilerplate
Room: Argentum, Time: 16:00 - 17:00
Session Summary:

We gather together in the main room to wrap up the Unconference.

(Argentum)
17:00
17:00 - 17:45
Unconference Wrap Up
Room: Chromium Titanium Vanadium, Time: 17:00 - 17:45
Session Summary:

Let's meet in the plenary room and summaries the event.

(Chromium Titanium Vanadium)
DEVCON Liferay Track MODCONF Track A MODCONF Track B
8:00
8:00 - 9:00
Registration
Room: Level 0, Time: 8:00 - 9:00
Session Summary:

Welcome to DEVCON. Check in to DEVCON and MODCONF by using the self-service iPad stations.

(Level 0)
9:00
9:00 - 9:15
Welcome and Announcements
Room: Spectrum A, Time: 9:00 - 9:15
Olaf Kock
Training Manager Europe, Liferay
Session Summary:

Everything that you need to know for this year's DEVCON will be announced by Olaf.

Olaf Kock, Liferay
(Spectrum A)
9:15
9:15 - 9:45
Keynote
Room: Spectrum A, Time: 9:15 - 9:45
Brian Chan
Founder & Chief Software Architect, Liferay
Session Summary:

Keynote by Liferay's Chief Software Architect & Founder on the modular approach of Liferay. More info coming soon.

Brian Chan, Liferay
(Spectrum A)
9:50
9:50 - 10:20
The Essence of Modularity
Room: Spectrum A, Time: 9:50 - 10:20
Peter Kriens
Software Architect, aQute
Session Summary:

Modularity is one of the most fundamental building blocks of nature, both in the physical as well as the abstract domain. Though widely acknowledged to reduce complexity in software, the underlying reasons why it works so well are not well understood. By better understanding the theory of modularity we can improve on existing practices. This presentation explains the fundamentals, analyzes the forces in this domain, and demonstrates a modularity/dependency model for today’s software.

Peter Kriens, aQute
(Spectrum A)
10:30
10:30 - 11:00
7 Habits of Highly Successful Liferay Projects
Room: Spectrum A, Time: 10:30 - 11:00
Nathan Shaw
Software Engineer & Architect, Liferay
Session Summary:

Successful Liferay projects share certain common traits. These characteristics have their roots in agile methodologies but we’ll highlight the key ones and how they play out on a Liferay project. These will be useful as you start a Liferay project or look to improve the one you already have.

Nathan Shaw, Liferay
(Spectrum A)
10:30 - 11:00
Lean microservices on OSGi
Room: Spectrum B, Time: 10:30 - 11:00
Christian Schneider
Open Source Architect, Talend
Session Summary:

Microservices and their frameworks like spring boot allow to start fast but can easily produce architectures that are difficult to maintain. OSGi on the other hand provides great modularity but is regarded as more complex than spring boot and alike. This Talk shows how to create lean and modular microservices using OSGi, maven and bndtools. The build result is a runnable jar or docker image and nicely fits microservice deployments. See how OSGi allows the flexibility to deploy each microservice on its own and let them communicate over (REST) remote calls or deploy them together and talk using OSGi services locally using the same business code bundles.

Christian Schneider, Talend
(Spectrum B)
10:30 - 11:00
OSGi Transaction Control – A functional approach to resource management
Room: Lounge, Time: 10:30 - 11:00
Tim Ward
CTO, Paremus
Session Summary:

Transactions are a critical part of almost all Enterprise applications, but correctly managing those transactions isn't always easy. This is particularly true in a dynamic, modular world where you need to be certain that everything is ready before you begin. With the advent of lambda expressions and functional interfaces we now have new, better tools for defining transactional work. The OSGi Transaction Control service uses these functional programming techniques to scope transactions and resource access, providing control and flexibility while leaving business logic uncluttered. The resulting solution is decoupled, modular and requires no container magic at all, making testing and portability a breeze. This talk will review the Transaction Control specification draft from the upcoming Enterprise OSGi Release 7, and demonstrate the capabilities of Transaction Control using the prototype Reference Implementation from Apache Aries.

Tim Ward, Paremus
(Lounge)
11:00
11:00 - 11:30
Morning Coffee Break
Room: Level 1, Time: 11:00 - 11:30
(Level 1)
11:30
11:30 - 12:00
Liferay in the cloud, HA Architecture in AWS with a side of performance monitoring
Room: Spectrum A, Time: 11:30 - 12:00
Brett Swaim
Technical Managing Consultant, Liferay
Session Summary:

Thinking about moving to the cloud, or are you already in the cloud and wondering if your setup is right? I’ll talk about load balancing, clustering, data storage, scaling, and how to use Dynatrace to monitor your nodes in real time. All in Liferay 7, of course!

Brett Swaim, Liferay
(Spectrum A)
11:30 - 12:00
Modern building blocks for a modular Front-End
Room: Spectrum B, Time: 11:30 - 12:00
Chema Balsas
Software Engineer, Liferay
Session Summary:

Building a highly modular and scalable application is now possible. In this talk we’ll explore how OSGi, ES2015, metal.js and soy templates make this dream possible.

Chema Balsas, Liferay
(Spectrum B)
11:30 - 13:20
Modular Rest APIs using JAX-RS in OSGi (Workshop)
Room: Lounge, Time: 11:30 - 13:20
Carlos Sierra Andrés
Core Engineer, Liferay
Session Summary:

Building great APIs is essential in an increasingly interconnected world. In the workshop we will show how to build REST APIs using well known Java standards while dealing with complexity in an incremental way using OSGi. We will build a REST API from scratch that will be consumed from a client application. Creating JAX-RS application in a modular way Incremental resources and providers Adaptable URL generation Deploying in a OSGi container We will also introduce the ongoing OSGi RFC-217 for standarizing JAX-RS inside OSGi containers.

Carlos Sierra Andrés, Liferay
(Lounge)
12:10
12:10 - 12:40
Modern Continuous Delivery with Docker and Liferay
Room: Spectrum A, Time: 12:10 - 12:40
Manuel de la Peña
Software Engineer, Liferay
Session Summary:

Moving applications between environments is a well-known issue everyone suffers. Dev and Production environments are not always synchronised, or even up-to-date, so development teams have to deal with different versions of application runtimes. Therefore teams see how their development speed is decreased and they need more agility when developing new features or solving bugs. Trying to solve many of the problems described above, container virtualization is the most effective alternative nowadays, where Docker Inc has proposed a very good accepted solution. Replicating environments with exactly the same runtime and configuration is a must-have and Liferay Engineering is adopting Docker containers to do so. During the talk we’ll illustrate how Liferay teams are generating docker images on demand, allowing them to increase their development and bug-fixing speed.

Manuel de la Peña, Liferay
(Spectrum A)
12:10 - 12:40
From JARs to Bundles to Resolutions to Knowledge
Room: Spectrum B, Time: 12:10 - 12:40
Ray Augé
Senior Architect, Liferay
Session Summary:

Creating a modular system leads to a number of benefits, from technical improvements to organizational improvements. However, at scale modularity can require a significant amount of mental energy. The OSGi model is fundamentally based on the idea of injecting knowledge into individual modules which frameworks use to great effect. But given hundreds or thousands of modules the sheer volumn of information can make reasoning about them difficult. Luckily OSGi defines mechanisms for performing operations to reason over arbitrary number of modules. This talk will review and demonstrate the capabilities of these mechanism.

Ray Augé, Liferay
(Spectrum B)
12:50
12:50 - 13:20
Approach an Liferay 7 project
Room: Spectrum A, Time: 12:50 - 13:20
Fabio Pezzutto
Software Engineer & Architectural Consultant, SMC Treviso srl
Session Summary:

In this session I'll share our experience about the best patterns to approach a custom DXP project; what we have learned and some tricks. Starting from a gradle-based developer environment, through code patterns using Java 8 and OSGi, ending with how to deliver the project. We will explain how we have setup the continuous integration and delivery solution, how we moved our mind into a modular architecture to create an important project for the Italian central Bank.

Fabio Pezzutto, SMC Treviso srl
(Spectrum A)
12:50 - 13:20
Scalable Event Processing – Pushing the limits with Push Streams!
Room: Spectrum B, Time: 12:50 - 13:20
Tim Ward
CTO, Paremus
Session Summary:

Data is being produced everywhere, there are sensors in thousands of homes, metrics collection from your cloud applications, industrial sensors manage the safe provision of water and electricity. The question is, what do we do with all of this data? How do you cope with thousands (or millions) of push-based data events per second? A crucial part of any of any solution is to have the right primitives. An asynchronous, push-based event processing pipeline is essential. OSGi Push Streams offer the power and simplicity of Java 8 streams, but with the power of asynchronous push-based events. This talk will describe the work happening in OSGi’s Push Streams RFC, using streams and promises to build scalable event processing pipelines. Finally the speaker will demonstrate live processing of real IoT data streams using OSGi Push Streams!

Tim Ward, Paremus
(Spectrum B)
13:20
13:20 - 14:35
Lunch Break
Room: Level 1, Time: 13:20 - 14:35
(Level 1)
14:40
14:40 - 15:10
What's new in Liferay Mobile SDK for Android
Room: Spectrum A, Time: 14:40 - 15:10
Silvio Gustavo de Oliveira Santos
Software Engineer, Liferay
Session Summary:

Liferay Mobile SDK has been enabling developers to create native apps backed by Liferay Portal’s power. We’ve been using it in production since 2013 and have noticed many things could be improved. We also listened to the community and added new features that will make app development even faster. The new Liferay Mobile SDK for Android brings a lot of new features that boost apps development. Things from automatic JSON parsing and RxJava compatibility to better code generation are ones of the improvements in this new major release. In this talk, Silvio will show how to use all these new features and compare them with the previous SDK version.

Silvio Gustavo de Oliveira Santos, Liferay
(Spectrum A)
14:40 - 15:10
Best practices for creating Modular Web Applications
Room: Spectrum B, Time: 14:40 - 15:10
Iliyan Peychev
Senior Software Engineer, HERE
Session Summary:

Today’s Web applications are large and complex systems. Most of them are also hard to support, maintain and improve. In this talk we will focus on a crucial requirement to make a Web application maintainable - to build it from small pieces of modules, each of them replaceable, pluggable and testable. We will explore the different ways of achieving it, what JavaScript provides OOTB and finally, how to share code between the server and the browser.

Iliyan Peychev, HERE
(Spectrum B)
14:40 - 15:50
Modules from Front to Back: Combining Java/OSGi & Web Components
Room: Lounge, Time: 14:40 - 15:50
Neil Bartlett
Principal Engineer, Paremus
Session Summary:

OSGi is a powerful and mature technology for modularity in the Java world – many modern web applications run on modular, OSGi-based servers. Web Components are relatively new, but a rich and powerful way to modularise web pages and the front-end of a web application. In this workshop we harness both technologies to create vertical slices of functionality. This enables functional modules to be added and removed in an application with both front- and -back-end modules correctly deployed with all necessary dependencies. The workshop will follow a classroom format and delegates will have a small, working web application upon completion. Technologies to be used include: OSGi, enRoute, Web Components, Polymer, Eclipse/Bndtools. Requirements for the talk: • Java 8 • Eclipse Neon (recommended) https://eclipse.org/downloads/ or Eclipse Luna (minimum) https://eclipse.org/luna/ • Bndtools 3.3 http://bndtools.org/installation.html

Neil Bartlett, Paremus
(Lounge)
15:20
15:20 - 15:50
Taking Complete Control of Product Navigation
Room: Spectrum A, Time: 15:20 - 15:50
Julio Camarero
Software Architect, Liferay
Session Summary:

Liferay has evolved. All the administrative UIs from previous versions are now a set of very flexible, configurable and easy to use menus. If you can remember the old dockbar or the Control Panel, you will be blown away by the new Product Menu and Control Menu, they give administrative users power to perform any action they wish with very few clicks without losing context of their actions. The User Bar gives logged users a way to access their personal tools. The Simulation menu allows content creators to preview their content simulating different contexts. All these tools have been redesigned following a very decoupled and modular approach that allows any app in the marketplace to integrate with them in a very easy way. In addition, they can be easily configured, modified or replaced to give your Liferay installation all the flexibility you need.

Julio Camarero, Liferay
(Spectrum A)
15:20 - 15:50
The Java 9 Module System In Action
Room: Spectrum B, Time: 15:20 - 15:50
Nicolai Parlog
Freelancer, CodeFX
Session Summary:

You might have heard about Project Jigsaw in Java 9 but did you see it in action? This talk will walk you through the features and pitfalls while modularizing an example application. It will show how to... * define modules and a module graph * migrate an application while handling unmodularized dependencies * analyze an application and its dependencies for compatibility problems With the different pieces of the puzzle coming together you will be able to vet or even spike _your_ app's migration.

Nicolai Parlog, CodeFX
(Spectrum B)
16:00
16:00 - 16:30
Lessons learned from eCommerce platform integration with Liferay
Room: Spectrum A, Time: 16:00 - 16:30
Andy Kruzic
Competence Leader, Ness Czech
Session Summary:

Our customers asked us to develop and implement eCommerce & Care solution for their redesigned customer approach (on-line first, simplified processes and user interfaces, single customer view integrated in all systems etc.). We will showcase our experience of implementing some parts of this solution in production. The solution consists of some parts of commerce (e.g. eshop) and a complete portfolio of applications for sales and care processes: shop, web portal, online store and customer relationship management. We are combining Liferay and Broadleaf Commerce technology using rather nonstandard concepts of integration. We use agile methodology, working closely with the customer’s business owners. Which is both extremely beneficial for the outcome and extremely demanding for everybody on both sides. We are going to answer questions like: - What went well, and what is to avoid? - How to make the same user interface for customer and sales/care agent? - What is the difference between embedded and microservice (lightweight integrated) solution? - Why even use standalone eCommerce platform to enhance Liferay portal?

Andy Kruzic, Ness Czech
(Spectrum A)
16:00 - 16:30
Modularity in Web Applications with Vaadin & OSGi
Room: Spectrum B, Time: 16:00 - 16:30
Florian Pirchner
CEO, Lunifera GmbH
Session Summary:

We have been working in the area of modular software development for many years now. This talk is structured into two parts. The first part is about the basics behind modularity. What is modularity? What are best practice patterns behind it? How can we use Java to create real modular systems? What is the problem with WAR files and ServletContainers? Why can OSGi handle modularity so much better than JEE can? What about WildFly’s module system to create modular systems? How can we “make” JEE more modular? After part one the attendees know the difference between JEE-, OSGi- and Wildfly-ClassLoader-Architecture. And they will understand why (and how) OSGi allows to write much more modular systems then JEE containers do. In the second part, I will do a live demo and we are going to write a highly modular web application based on OSGi and Vaadin. We will make use of the brand new Vaadin-OSGi-R6 implementation based on the OSGi Prototype Scope. After this talk, the attendees will have good knowledge about modularity in web applications, the problems we are facing and a best practice implementation for a highly modular web application.

Florian Pirchner, Lunifera GmbH
(Spectrum B)
16:00 - 16:30
The Component Model in Mobile App Development: Liferay Screens 2
Room: Lounge, Time: 16:00 - 16:30
José Manuel Navarro
Senior Software Engineer, Liferay
Session Summary:

The component model was introduced more than 40 years ago, and it is one of the best practical applications of modularity. This presentation will bring you a new point of view of mobile app development, and will give you more insight about modular development and more specifically about the software component model

José Manuel Navarro, Liferay
(Lounge)
16:30
16:30 - 16:55
Afternoon Coffee Break
Room: Level 1, Time: 16:30 - 16:55
(Level 1)
17:00
17:00 - 17:30
Building awesome applications with WeDeploy
Room: Spectrum A, Time: 17:00 - 17:30
Zeno Rocha
Developer Advocate, Liferay
Session Summary:

In this session you’ll see how launch production-ready environments in a matter of minutes, how to store data in the cloud, search and stream content in realtime, authenticate and manage users very easily, and much more. If you’re interested in Microservices and Containers, this is the right talk for you.

Zeno Rocha, Liferay
(Spectrum A)
17:00 - 17:30
Building Real-Time Web Applications with Websocket in a OSGi Container
Room: Spectrum B, Time: 17:00 - 17:30
Cristina González Castellano
Software Engineer, Liferay
Session Summary:

Web applications have grown a lot, and they consume a really huge amount of data. One of the most important aspects that were holding them back was the client started transactions. Some alternatives were created trying to overcome the previous problem (like long-polling), but the main problem affecting to all these alternatives was the HTTP overhead. Trying to solve many of the problems described above, the WebSocket alternative was created. RFC 6455 defines an important new capability for web applications: a full-duplex, two-way communication channel between the client and the server. Thanks to this fact, we can have a low level, bidirectional communication channel where transactions can be started in both endpoints. During the talk we’ll discover how Websockets work, how we can use them in our OSGi container using the Whiteboard pattern, and, last but not least, we will learn how to build applications that can benefit from all the new goodies offered by this infrastructure we’ve built.

Cristina González Castellano, Liferay
(Spectrum B)
17:00 - 17:30
Unleashing the Full Potential of OSGi
Room: Lounge, Time: 17:00 - 17:30
Igor Arouca
Lead Consultant, Liferay
Session Summary:

Modularity, modularity, modularity. That’s all we hear these days. Yet, well-designed modular systems are still the exception rather than the rule. Why is that? Thinking in modular terms requires a concerted effort and a mindset change until it becomes second nature. Throughout this talk, you will learn how to leverage the power of OSGi in Liferay DXP to implement true modular systems. For instance, you will learn how to (re)implement some classic design patterns using the OSGi runtime, making them even more useful than before. You can think of this talk as your first step towards modularity nirvana.

Igor Arouca, Liferay
(Lounge)
17:40
17:40 - 18:10
Software Craftsmanship in the era of the Software Revolution
Room: Spectrum A, Time: 17:40 - 18:10
Milen Dyankov
Developer Advocate, Liferay
Session Summary:

Have you ever thought of the process of producing software? Would you describe it as craftsmanship? Or is it more like assembly line? How it should be? What is more important, quality or time to market? What about cost? We programmers need to be more efficient, deliver faster, meet deadlines, respond promptly to ever changing expectations, … At the same time we must remain creative yet precise and disciplined, continuously learning but aware of decades old principles, be open minded while our memory is mostly consumed by algorithms … And as if that wasn’t enough, our programmers’ ego, overclocked by the existence of some software masterpieces, insists on being an artist, a craftsman everyone else envy, a visionary architect that will change the world one day. If that sounds hard for a single programmer to handle, imagine what it has to be for a software company. Especially an open source one, with hundreds of own developers, thousands of community members and ever growing expectations from demanding customers. Curious? This keynote takes some time to explore how we (both individual developers and software companies) got where we are, why that matters and what options we have looking forward.

Milen Dyankov, Liferay
(Spectrum A)
18:15
18:15 - 18:45
Machine Learning: the next revolution or just another hype?
Room: Spectrum A, Time: 18:15 - 18:45
Jorge Ferrer
VP of Engineering, Liferay
Session Summary:

Machine Learning is quickly becoming the hottest topic in the technology world. The largest technology companies are investing tons of resources on it and the expectations on what it will achieve are sky rocketing. Is the hype justified? How does it affect us as developers? In this session we will go over the key concepts of machine learning, including neural networks and deep learning. We will also see examples of what they are good for and what they are not to better understand its applicability. Finally we will explain real code examples of machine learning for specific applications and show how to continue learning more to be able to answer whether it may be such a significant revolution.

Jorge Ferrer, Liferay
(Spectrum A)
18:45
18:45 - 19:00
Intro for Evening Reception
Room: Spectrum A, Time: 18:45 - 19:00
Session Summary:

Learn about the challenges and prizes that you can win during the WWW Party.

(Spectrum A)
19:00
19:00 - 22:30
WWW Party
Room: Level 0, Time: 19:00 - 22:30
Session Summary:

Enjoy the wild wild west party.

(Level 0)
DEVCON Liferay Track A DEVCON Liferay Track B DEVCON Workshops
9:00
9:00 - 9:15
Announcements Day 2
Room: Spectrum A, Time: 9:00 - 9:15
Session Summary:

We will announce the winners of the Wild Wild West Games of the day before.

(Spectrum A)
9:20
9:20 - 9:50
Introducing WeDeploy (Keynote)
Room: Spectrum A, Time: 9:20 - 9:50
Eduardo Lundgren
Director of Front End Engineering, Liferay
Session Summary:

When building a scalable application in the cloud there are many things you need to consider and be prepared for. Things like storing and consuming data securely, distributing incoming traffic, detecting and diagnosing errors, and so on. WeDeploy is a new Liferay initiative that helps you forget about those infrastructure challenges so you can dedicate your time to really matters: building great apps. Join us in this talk to see how you can leverage the power of WeDeploy.

Eduardo Lundgren, Liferay
(Spectrum A)
9:55
9:55 - 10:25
Liferay Community Panel
Room: Spectrum A, Time: 9:55 - 10:25
Jorge Ferrer
VP of Engineering, Liferay
Milen Dyankov
Developer Advocate, Liferay
Zeno Rocha
Developer Advocate, Liferay
Session Summary:

Are there questions you always wanted to ask about the Liferay Community that you feel are not getting answered? Well, now it's the best opportunity to solve that problem. This will be an interactive session where Liferay thought leaders will take questions submitted before the event, as well as questions from the audience live during the panel.

Jorge Ferrer, Liferay
Milen Dyankov, Liferay
Zeno Rocha, Liferay
(Spectrum A)
10:30
10:30 - 11:00
Developer Curse Words - Accessibility and the User Experience
Room: Spectrum A, Time: 10:30 - 11:00
Nate Cavanaugh
Director of UI Engineering, Liferay
Session Summary:

Designers forget it, developers hate it and everyone dismisses it until they need it: accessibility. In this talk, we'll explore why accessibility is both personal and crucial to any project, how it's costing you time, money, and common patterns that impact your project's success. It's a frequent idiom in software development that to build a great product, you must first build it for yourself and solve your own problems. While this is important, we'll show where and how this breaks down, and why it's even more critical, as a developer and as a human being, to build it with every user in mind. We'll cover tools that can help you create applications with accessibility in mind as well as areas that are frequently forgotten about.

Nate Cavanaugh, Liferay
(Spectrum A)
10:30 - 11:00
JSR Update: Portlet 3.0, JSF 2.3, and the Faces Bridge
Room: Spectrum B, Time: 10:30 - 11:00
Neil Griffin
Software Architect, Liferay
Session Summary:

This session provides an overview of the new features of Portlet 3.0 including: - CDI “bean portlet” development - Configuration via annotations - Portlet Hub Ajax IPC - Long-Running Async resource requests - New Parameters and RenderState API - File Upload - Share Client-Side Resource Dependencies In addition, it discusses new features of JSF 2.3 and how these technologies can be used together to develop JSF portlets via the Faces Bridge. This talk will feature live coding demos of CDI “bean portlets” and JSF portlets with Pluto 3.0 in order to show what the future looks like for Liferay Portlet developers. It will also discuss how future versions of Liferay Portal will rely on OSGi RFC 0193 in order to achieve CDI Integration with the OSGi Service Registry.

Neil Griffin, Liferay
(Spectrum B)
10:30 - 11:00
Using a graph database for analyzing your Liferay data
Room: Lounge, Time: 10:30 - 11:00
Máté Thurzó
Staging and Export/Import Lead, Senior Software Engineer, Liferay
Session Summary:

Whether you are running an e-commerce business on the top of Liferay or just a personal blog data analytics is something you are interested in. The talk will feature a scenario how can we pump data from your good old Liferay installation into a Neo4j Graph database instance and we will write example queries to show how can we use the graph to find out our customers’ purchasing habits or our readers’ interests.

Máté Thurzó, Liferay
(Lounge)
11:00
11:00 - 11:25
Morning Coffee Break
Room: Level 1, Time: 11:00 - 11:25
Session Summary:

Enjoy the morning coffee.

(Level 1)
11:30
11:30 - 12:00
Finding & fixing performance bottlenecks in a real world Liferay application
Room: Spectrum A, Time: 11:30 - 12:00
Andreas Firnau
Chief Consultant & Project Manager, USU AG
Boris Kazanskiy
Consultant, USU AG
Session Summary:

Complex individual applications sooner or later always face performance challenges. This talk is about the tools and processes we used to find, analyze and fix them, what worked and didn’t, using unique Liferay features. This talk describes how we tackled the issues at hand: - Tools & processes used to measure the performance to have a repeatable process to achieve a baseline measurement that can be compared with later measurements to show the effects of the changes - Easy configurative fixes that were implemented early on and were mainly based on configuration and available documentation - Systematic software architecture optimization using modularity and caching, monitoring their usage in Liferay Connected Services (LCS) - Systematic database optimization to move data-intensive application logic into the database using extended DBMS features - Additional system architecture optimization by adding a web server to take load off the application server and changing processes from on-demand to pre-generation - Selecting and using software profilers to analyze the source code to find and fix complex issues hidden deeply within the software - Analyzing JVM settings to find the best ones, with results that were surprising It will conclude with a presentation of best practices, lessons learned and next steps. This talk is ideal for project managers and developers that build mission-critical, large-scale applications. It shows how to uncover and fix performance issues on the software level and goes beyond “adding more hardware".

Andreas Firnau, USU AG
Boris Kazanskiy, USU AG
(Spectrum A)
11:30 - 12:00
Liferay & Hystrix
Room: Spectrum B, Time: 11:30 - 12:00
Florian Aßmus
Chief Architect for Development and Operations, PRODYNA AG
Session Summary:

A common task in many portal projects is the integration of various backend services using different types of Inter-Process Communication (e.g. REST or SOAP services, messaging, etc.). In a distributed system there is the ever-present risk of partial failure. Since clients and services are separate processes, a service might not be able to respond in a timely way to a client's request. A service might be down because of a failure or for maintenance. Or the service might be overloaded and responding extremely slowly to requests.This talk will demonstrate how Hystrix can be used within Liferay to integrate backend services in a robust and resilient way following the Netflix approach.

Florian Aßmus, PRODYNA AG
(Spectrum B)
11:30 - 12:40
Workshop - WeDeploy Workshop
Room: Lounge, Time: 11:30 - 12:40
Lais Andrade
Computer Engineer, Liferay
Ciro Costa
Software Engineer, Liferay
Session Summary:

WeDeploy is a new Liferay initiative that helps developers forget about infrastructure challenges and focus on what really matters: building great apps. This workshop introduces the product with hands-on demos that shows how easy it is to build modern applications. The participants will be guided through the process of creating apps from scratch, going deep into WeDeploy's built-in api and features. They will be able to locally run their own cloud in seconds, simulating the entire environment and feeling how it increases the developer productivity. That culminates on demonstrating how easy it is to push their apps to the cloud.

Lais Andrade, Liferay
Ciro Costa, Liferay
(Lounge)
12:10
12:10 - 12:40
Digital Experiences don‘t end where the Digital ends
Room: Spectrum A, Time: 12:10 - 12:40
Mauro Mariuzzo
Senior Software Architect, SMC
Session Summary:

In this presentation you’ll see how SMC is partnering with Liferay in order to create something new: an IoT Experience Platform. A place where you can define Industrial IoT and Machine to Machine solutions at those speeds we’re accustomed in the web. Devices, sensors and “things” are all around us. We wear them. We bring them with us. ​We work with them, and they help us build the next level for industries. Why shouldn’t them be in your Digital Experience Platform? « Take a device, choose a sensor, create a visualization, and publish it on your website. Live. Interactive. » The main goal is to build a vendor and protocol agnostic system, with all the necessary tools to create your own IoT Experience, such as: * a simple yet powerful visualization platform, * real time data access, * thresholds and events for notifications and automated processes, * editorial tools to integrate data in your content as interactive media. « Take a bunch of sensors, fuse the streams, define a threshold, setup notifications. Wake up. React. » In order to have an even better developer experience we are planning to support, out of the box, the most embraced protocols as both usable plugins and ​as​ reference implementation. « Choose a vendor, then another one, test a third. Find the best. Or keep all three. » Want to have a glimpse of your future M2M or IoT solution? This speech is for you. The question is: will the Skynet be built on top of the DXP? Let’s find out!

Mauro Mariuzzo, SMC
(Spectrum A)
12:10 - 12:40
OpenID Connect: Social login (SSO) plugin for Liferay 6.2 and DXP
Room: Spectrum B, Time: 12:10 - 12:40
Geert van der Ploeg
Developer, Finalist
Session Summary:

In the marketplace, an authentication plugin for OpenID Connect is available, making SSO using the OpenID Connect protocol (an OAuth 2.0 flavor) easy to configure. We will briefly explain the protocol, and give a few examples of where and when it's used. Then we'll dive deep into Liferay specifics and explain how the plugin works. Of course we will demonstrate the plugin, authenticating a user with his Google account, but also with Facebook and Github.

Geert van der Ploeg, Finalist
(Spectrum B)
12:40
12:40 - 13:55
Lunch Break
Room: Level 1, Time: 12:40 - 13:55
Session Summary:

Enjoy your lunch.

(Level 1)
14:00
14:00 - 14:30
Don't back the wrong horse: a DXP view framework comparison
Room: Spectrum A, Time: 14:00 - 14:30
Peter Mesotten
Developer, ACA IT-Solutions
Koen Olaerts
Liferay Portal Developer, ACA IT-Solutions NV
Session Summary:

Liferay developers have traditionally had the freedom to choose in whatever web framework they’d like to implement their portlet. Some devs play safe and stick as close as possible to the Liferay MVC framework using JSPs and low-level portlet classes. Others just love how frameworks like JSF and Vaadin eliminate the need to write Javascript and provide the developer with ready-to-use component libraries and built-in constructs for doing form validation, conversion, lazy loading, … And then there are the daredevils who attempt to make single page application frameworks like AngularJS play nicely with the portal. With the arrival of Liferay DXP, nothing has really changed. Or has it? Due to the modular architecture of DXP, the choice for some frameworks today might not be as optimal as it was in the past. We assessed the compatibility of 4 big view frameworks (Liferay MVC, JSF, Vaadin, AngularJS) with Liferay DXP - their advantages but also their constraints. This talk gives you the all the input you need to choose the right framework for the job.

Peter Mesotten, ACA IT-Solutions
Koen Olaerts, ACA IT-Solutions NV
(Spectrum A)
14:00 - 14:30
Easing Upgrades using Liferay Workspace
Room: Spectrum B, Time: 14:00 - 14:30
Gregory Amerson
Session Summary:

With Liferay Portal 7.0 CE and Liferay DXP, developers have the choice of continuing to build traditional WAR-based plugins, or moving to a new development paradigm of building modules using OSGi. However, this choice doesn’t have to be mutually exclusive. There are many cases where leaving existing development resources using traditional WAR plugins makes sense, other cases, a more modular approach using OSGi is warranted. Liferay Workspace, which is a set of development tools that is based on Gradle, bnd, and Liferay IDE, was designed specifically with this scenario in mind of supporting both traditional WAR-based plugins and new OSGi modules in the same development environment. Topics included but not limited to the following: - Quickly setting up new Liferay dev environments from existing Liferay 6.x Plugins SDK - Easing upgrade paths with a “modularize-as-needed” approach - Working with Liferay 7 projects in Eclipse with Liferay IDE

Gregory Amerson, Liferay
(Spectrum B)
14:00 - 15:10
Upgrading Liferay 6.2 plugin to 7.0 (Part 1)
Room: Lounge, Time: 14:00 - 15:10
Eduardo Garcia
Software Engineer, Liferay
Session Summary:

A few years ago we introduced the Jukebox Project, a Liferay 6.2 plugin to manage artists, albums and songs. This sample project made use of Liferay most commonly used APIs like Asset, Search, ADT, Export/Import or Recycle Bin and was very useful as a reference to create complex apps for Liferay 6.2. In this workshop we will use the Jukebox project as an example of how to migrate complex Liferay 6.2 apps to 7.0. After attending this session, you will have the knowledge, the tools and the sample code to migrate your own 6.2 plugins to 7.0.

Eduardo Garcia, Liferay
(Lounge)
14:40
14:40 - 15:10
Advanced use cases of Liferay Audience Targeting
Room: Spectrum A, Time: 14:40 - 15:10
Pavel Savinov
Software Engineer, Liferay
Session Summary:

This session will demostrate advanced extensions of Liferay Audience Targeting for Liferay DXP which allow marketing users to perform segmentation based on real-life requirements. Three use cases of Audience Targeting extension: user journey implementation, email analysis and emotional segmentation of the users. Development process, further actions and possible marketing benefits of new extensions in particular and Audience Targeting for Liferay DXP in general.

Pavel Savinov, Liferay
(Spectrum A)
14:40 - 15:10
Ship your vessel without any hassle: Continuous Delivery with Liferay and Docker
Room: Spectrum B, Time: 14:40 - 15:10
Juan Paniagua
Session Summary:

Developing a Liferay application is one thing, getting it to run fine on a production environment is another. Most often a software project is considered to be finished when all required functionality has been implemented, thereby ignoring the time, labour and expertise it takes to get everything deployed to production. Liferay is a powerful and complex beast with a lot of functionality and configuration. Without the proper knowledge and tools, errors are easily introduced during deployment. You’re familiar with the stress of having to debug a server that already has ‘gone live’. Now, how would you feel if a production deployment could be made as easy and safe as a deployment in your own development environment? And even more, how would you feel if you were empowered to do so without having to invest in all this sys admin knowledge? In this presentation Juan will share with you their experiences of moving hundreds of Liferay VMs to containers. You will learn how to use Docker to get a fully automated continuous delivery pipeline. You will be shown how you can create your own identical copy of the production environment, spin up temporary environments to do automated testing and when ready, move everything to production automatically.

Juan Paniagua, Firelay
(Spectrum B)
15:10
15:10 - 15:35
Afternoon Coffee Break
Room: Level 1, Time: 15:10 - 15:35
Session Summary:

Enjoy your coffee

(Level 1)
15:40
15:40 - 16:10
From Portlet Developer to SPA Rock Star
Room: Spectrum A, Time: 15:40 - 16:10
Bruno Basto
Software Engineer, Liferay
Session Summary:

As Portlet Developers, we do whatever is in our power to offer the best experience to our users. We want to offer that app-like experience that will make our audience delighted. We all know that the Single Page Application approach can help us deliver to our users that very experience. And we all have heard of frameworks that offer ways of doing it, but when we take a closer look, we find out that to use them, we will probably have to refactor and rethink our entire application. Not only that, but we will probably have to learn one more framework. But.. What if you could continue developing applications in the same way you are already very efficient at and, just like magic, every app you deploy automatically behaves like a Single Page App? What if, you could add SPA to your toolset, without having to refactor your code? If you are curious, don't miss this session.

Bruno Basto, Liferay
(Spectrum A)
15:40 - 16:10
Developing Web Application Bundles (WABs) With a View to the Future
Room: Spectrum B, Time: 15:40 - 16:10
Neil Griffin
Software Architect, Liferay
Session Summary:

Liferay Portal 7.0 CE and Liferay DXP supports the OSGi Web Application Bundle (WAB) standard for deployment of WARs that use Java EE or Spring. Simply put, a WAB is an archive that has a WAR layout and contains a MANIFEST.MF file with the Bundle-SymbolicName OSGi directive. Enabling WABs to run as OSGi modules at runtime is made possible by the Liferay WAB Extender. You can either let the Liferay WAB Generator convert your WAR artifact to a WAB at deployment time, or set up the build system of your WAR project to create a pre-configured WAB with an OSGi-ready MANIFEST.MF. This talk will discuss recommended practices for developing WABs by drawing on lessons learned by the Liferay Faces team. It will also discuss the benefits and drawbacks of dependency injection frameworks like Declarative Services (DS), Contexts and Dependency Injection (CDI), and Spring. Finally, it will discuss the CDI-based features of Portlet 3.0 will bring and how you can develop your WABs with a view to future versions of the Liferay Platform.

Neil Griffin, Liferay
(Spectrum B)
15:40 - 16:10
Upgrading Liferay 6.2 plugin to 7.0 (Part 2)
Room: Lounge, Time: 15:40 - 16:10
Eduardo Garcia
Software Engineer, Liferay
Session Summary:

this is part 2 of the Upgrading workshop, that started before the coffee break

Eduardo Garcia, Liferay
(Lounge)
16:20
16:20 - 17:00
Liferay – Our Vision Beyond the Product
Room: Spectrum A, Time: 16:20 - 17:00
Edmund Dueck
Marketing Manager Europe, Liferay
Session Summary:

Eddy will be sharing about the Liferay Vision. More infos coming soon.

Edmund Dueck, Liferay
(Spectrum A)
17:00
17:00 - 17:15
Raffle & Final Announcements
Room: Spectrum A, Time: 17:00 - 17:15
Session Summary:

We'll raffle the winners of our DEVCON challenge.

(Spectrum A)
Download All Presentations