November 13th, 2018
My first ever trip to Tokyo couldn't have been better: fast trains coming and going as scheduled, tasty fresh delicacies available in every corner, helpful Japanese people welcoming the visitors. And most importantly, Plone Conference 2018 was as exciting, interesting and inspirational as ever - enjoyed together with possibly the most friendly open source community in the world!
Here is a short summary of some of the things that caught my divided attention. Lots of interesting tracks at the same time, but luckily all conferenece presentations and lightning talks will be published later in YouTube and Slideshare (and another blog post).
During the conference I attended the trainings, held an impromptu demonstration of a new tool we created at University of Jyväskylä, gave my conference presentation and even gave a lightning talk, in addition to attending the talks.
Oh, and Plone is an enterprise level open source content management system, widely used e.g. at JYU for websites, intranet portals, workflow solutions and customized web applications.
A view from the hotel room.
Trainings 5.-6.11.2018
Monday 5.11.2018
My trip to Tokyo from Jyväskylä took about 24 hours, so after leaving on sunday morning 10 am and arriving at the conference venue at 1 pm next day, I was pretty exhausted :) I decided to try to attend the trainings, staying shortly at Mastering Plone -course and ending up to Hacking Plone course for the rest of the afternoon.
The discussion in the hacking class turned to mastering various Plone features, like building custom Dexterity content types and enhancing those with different workflows. As it happens, my presentation was about workflows, Dexterity types and a new tool called collective.flow, so I was encouraged to give an impromptu demonstration of the tool in hand. Thanks to my colleague Asko Soukka (https://twitter.com/datakurre), I had a working demo environment to play with.
Collective.flow is a Plone add-on, that enables content editors to easily create customizable, form based content types and attach different workflows to them. For example you can create a form that saves information as a new document, that can be handled by a review workflow. In addition, that form can be easily modified to have slightly different schema for different needs, for example in two departments at a university.
It might not have been the most coherent demonstration ever, considering the traveling and jetlag, but I had fun, and people seemed to get what I was telling to them :)
After the training day I retreated to my hotel room to get some sleep and to make final preparations for my presentation. The conference venue was near Keikyu Kamata station at Ota financial district. The area was not so densely populated, and had couple of nice shopping streets with lots of small restaurants.
Tuesday 6.11.2018
On tuesday, refreshed after a good night's sleep, I attended Plone React (Volto) training.
Volto is React-based front-end for the Plone and Guillotina Content Management Systems.
https://github.com/plone/volto
Though I'm not much of a developer, or hardly touched terminal window or code editors, I managed to get a Plone 5 -site running on the backend and Volto on the frontend, thanks to pretty detailed documentation: https://training.plone.org/5/volto/index.html. Nice!
Everything you need
Maybe the main point with React and Plone is that you can use a robust, secure, full-featured cms with granular permission management and loads of other features as a backend, but still build the frontend using some fancy JavaScript library like React. The communication is done via plone.restapi, a RESTful hypermedia API for Plone: https://github.com/plone/plone.restapi.
Compared to building an application from the scratch, using CMS backend is a huge bonus.
Volto looks really slick, the UI (pastanaga.ui) is clear and super fast - its having the Plone features but the UX is totally new.
Some examples of a real world Volto use cases include a flexible learning management system in Germany: https://vhs-ehrenamtsportal.de/ and beautiful and fast bakery site https://www.zeelandia.com/. Other use cases might be modern progressive web apps (PWA) in addition to any web-based service.
Conference 7.-9.11.2018
Plone conference main event days usually consist of presentations, open spaces and 5 minute lightning talks from 9.30 to 18.30. https://2018.ploneconf.org/.
In addition to Plone stuff, the conference had 3 additional tracks: Python Web Day track, DB Day track and Frontend Day track - all nicely contributing to one another.
Wednesday 7.11.2018
The conference talks were opened once again by a "State of Plone" presentation by Plone release manager Eric Steele. The main points from his presentation (in addition to being funny and inspiring):
- Zope (the system behind Plone) has been successfully ported to Python 3 https://zope.readthedocs.io/en/latest/WHATSNEW.html
- Python 3 support is done for Plone
- Plone 5.2 alpha to be released during conference
- Plone.restapi and all the possibilities with combining Plone as backend and JS as frontend
- Guillotina and Volto
- Community
Then came my turn.
I told the audience how we searched for a multi-functional workflow solution and ended up using Plone as a workflow engine and form builder in different cases, like the Supervisiondoc for all the postgraduate students and their supervisors. For this, we have developed Plone add on called collective.flow, which enables us to flexibly create form based workflow solutions.
The actual service I was talking about was a success - it servers users well, has more features than originally intended and was released in time. After releasing it, more than 600 documents were created to the system in short time, with little to none technical problems or need to more documentation or support.
https://www.jyu.fi/supervisiondoc/
Currently we are using collective.flow in other cases too: different invoice forms, feedback system and many more in the future.
Update: here's the video of my presentation:
Conference days 7.-9.11.2018 - the rest
There were many interesting presentations, which I will go through on another post when the videos arrive!
Sprint 10.-11.11.2018
Sadly, I couldn't stay for one of the most important events from the perspective of the community: the sprint. During the last two days, people gather at the same location to develop things further, to create documentation, to test features, to contribute to the Plone community in anyway they can, together.
Based on github activity, the sprint was yet again really active and successful one.
https://github.com/plone/
More sprints are coming, feel free to join for example the legendary Alpine City Sprint at Austria in February: https://plone.org/events/sprints/alpine-city-sprint-2019-in-innsbruck-austria!
Domo arigato!
The conference was professionally organized by our Japanese hosts. Everything worked as planned, yet the atmosphere was relaxed and easy-going. Thank you Manabu Terada and crew!
Battle hardened, future proof, driven by extraordinary people
Plone has been around for almost 18 years. That kind of life span is impressive for any software, especially for an open source one that is driven by dedicated people during their spare time. Not all conference goers or sprint attendees use Plone actively, but they keep contributing.
So what keeps people investing in Plone? The answer might be (in addition to solving interesting tech problems) in the community: professional, passionate, welcoming and friendly!
By the way, the next Plone Conference will be held in Ferrara Italy at October 2019 so save the date!
https://plone.org/news/2018/plone-conference-2019-will-be-in-ferrara-italy
The future of Plone looks lively: Plone and Zope has been ported to Python 3, there is robust and feature rich Plone 5.2 in the works and interestingly, using Plone as a backend for modern JavaScript based custom applications might be a big step towards something new. From enterprise-level custom workflow applications to fast PWA mobile apps, anything is possible!
Stay tuned for the second part of my Ploneconf 2018 blog post!