Report from Plone Open Garden 2017

This is a summary of the discussions at Plone Open Garden 2017 in Sorrento

Report authors: Christine Baumgartner, Jens Klein, Fred Van Dijk

Plone Roadmap and Future Directions

Plone community members from around the world once again met for the 11th Plone Open Garden (PLOG) at the Hotel Mediterraneo in beautiful Sorrento, Italy, from April 18 to April  22, 2017.

The aim of the gathering near Naples was

  • to discuss and refine the roadmap for Plone 6
  • to continue work on the new Plone Headless CMS initiative
  • to decide on a new way of integrating Plone with its increasingly important JavaScript components.

PLOG’s new stewards

“PLOG is a strategic sprint for the Plone community,” explained Jens Klein, a returning attendee from Austria and member of the Plone Framework Team.

For the first time since PLOG's founding by Abstract Technology in 2007, the organization of the sprint was handed off to the general Plone community. Thanks to the gracious efforts of Abstract’s Vicente Barone, Rosario Savarese, and Maurizio Delmonte, the transfer went off without a hitch, continuing the tried-and-true formula that has worked for years.

“Networking, getting a feeling of current directions of the project, and identifying integrators' operational needs” are the reasons why Christian Theune traveled to PLOG from Germany to participate in discussions.

New opportunities with the Plone Headless CMS

The web’s front end, rendered by JavaScript running in the browser, has been evolving away from server-generated HTML and toward pure client-based rendering, which provides faster, richer user experiences, especially on mobile devices. The fast pace of JavaScript framework development has made it difficult for developers to choose a framework that will be around for the long haul.

In contrast, Plone as a back end storage system is stable, secure, and scalable, and comes with a complete, time-tested set of data management, workflow, and authorization functions.

With the Headless CMS initiative, the Plone community has found a way to combine Plone’s back end strengths with the richness of the rapidly changing JavaScript landscape.

The Plone community’s decision in 2014 to proceed with the adoption of a full API and accompanying REST API has come to fruition by making possible the decoupling of the rapidly changing JavaScript front end from Plone's stable back end.  

Plone as a headless CMS, in turn, offers the JavaScript world a mature and flexible back end on which to build its web and mobile applications.

In a video presentation at PLOG, Ramon Navarro-Bosch from Barcelona and Nathan Van Gheem from Green Bay, USA, shared their experiences experimenting in depth with the headless CMS approach using an Angular-based client with Plone’s REST API.

Eric Bréhault from Toulouse, France, travelled to Sorrento to join the work being done on the headless CMS initiative. “I came to PLOG because I wanted to present its current status, discuss strategy and see how it could fit in the Plone roadmap.”

Timo Stollenwerk from Bonn, Germany, presented by video the current status of the Plone REST API design, which follows best practices and the latest standards.

Maurits van Rees came to PLOG from Rotterdam seeking “Confirmation that we are not doing overly weird things that are just the pipe dream of individuals, but doing things that are actually possible for us, as a community.”

New UI/UX concept: Pastanaga

The draft of a fresh mobile first UI/UX concept created by Albert Casado was presented by Víctor Fernández of Barcelona. The concept is to make authoring content easy by focusing on the tools needed. The concept UI is named Pastanaga, meaning "carrot" in Catalan. While the concept is still in its initial stages, the community hopes to refine it and user it at future sprints.

“Albert is doing a terrific job!” said Gil Forcada Codinachs, Plone's continuous integration guru from Berlin.

Strategies for better JavaScript/CSS integration

Working with JavaScript and CSS in Plone 5 continues to require updates  because of the high rate of change in the JavaScript front end world. At PLOG, sprinters came up with an improved way to integrate JavaScript with Plone that decouples JavaScript from Python packages. The community plans to use the same tools used by the JavaScript world, such as Node packages (npm) and webpack configurations. 

The Roadmap: the future of Plone

The sprinters included ideas from the headless CMS, plone.restapi, and JavaScript framework integration into the Plone roadmap and developed a timeline to release these and other planned innovations.

“The most important outcome is the roadmap we agreed on,” explained Eric Bréhault.

According to Jens Klein, “The roadmap shows what we want to have, in which Plone version. We plan to not have a major Plone 6 release immediately, but wait for user-visible changes that will come with the new Pastanaga user interface”.