Loading...
Showing posts with label ploneconf. Show all posts
Showing posts with label ploneconf. Show all posts

Plone Conference 2018 at Tokyo -report, part 1: Battle-hardened, future-proof, driven by extraordinary people!


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. 

Workflows and Plone
 - Case supervisiondoc 


 


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.

My colleague Asko Soukka (https://github.com/datakurre), in addition to creating the add on and building the system, provided me with detailed slides for this presentation about collective.flow. 




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.

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!

Plone Conference Barcelona 2017

It was awesome to be back at Plone Conference this year. Finally! We have had participation in Plone conferences in 2009, 2011–2012 and 2014–2017, but for me the previous one was years ago: Plone Conference Bristol in 2014. Needless to say that I have missed the warm and welcoming atmosphere of a Plone conferences, and It's my pleasure to report that Barcelona did not let me down. Even the weather was still warm there in this October.

This year there was no single big Plone news at the conference. The latest major release of Plone CMS was released already two years ago, and the next feature release is still waiting for its gold master. Yet, there was still a lot of good news, and putting all the puzzle pieces together resulted in a clear picture of the future of Plone.

Disclaimer: These are obviously just my personal opinions on all these things Plone...

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia1BKUW7MnOgG_uMAvE53uueDa1yoVIYQXPA4sLq5aQJBL4L_2mjtuAxzZxl3b6Ohw6rIUDD7Vk_K7U33u0avgGFyFnu2EPeSxRmGNrvT5LO4OaH6p_FK_kIo3k6GxziD_vhFrOxDvylLI/s1600/DMsDO13WsAAh3zG.jpg%253Alarge.jpeg

Plone Conference Barcelona was so much of fun that I took a piece of it with me back home.

Plone 2020 and beyond

At first, let's say it clear that Plone CMS remains to be a safe bet for a long-term enterprise CMS solution. If there ever was any doubt, whether Plone could make it to Python 3 in-time before the end of Python 2.7 maintenance in 2020, that should be no more. Plone will make it.

All the major blockers seem to have been solved, and the rest is just hard work left for our community (check some related talks by Alexander and Hanno about the recent events on that). Python 3 version of Zope application server powering Plone is already in beta, and it is scheduled to be released within a year. Plone, for sure, has still plenty of packages to be ported from Python 2.7 to Python 3, but there are already many sprints scheduled to continue that work in near future (including the already completed Barcelona Conference sprints). We might even have an alpha version of Plone on Python 3 before end of 2018.

In addition that, it's always good to mention, that Plone Foundation has continued to do its usual great job in all the possible paper work around managing Plone's copyrights and trademarks.

All these should be good and relaxing news for any long-term Plone user.

Let's go frontend!

The greatest challenge for Plone CMS seems to be keeping up with the ever increasing UX expections of the day, while complying with the high accessibility standards. After Plone 5 rewrote the default theme and whole front-end resource management in Plone, there are no longer blockers for using any current front-end tech with Plone. But just being able to use some tech is not enough – also the real work for better UX needs to be done. And even a lot has been done for Plone 5 and 5.1, that work seems to never end.

Plone Conference Barcelona included a great amount of front-end, user experience and accessibility related talks to educate our community. So many that I can only mention a few.

At first, there were talks regarding the current Plone user interface: Johannes gave a bit technical, but very comprehensive talk how the new frontend resource registries in Plone 5 really work. My talk instructed, how to combine the ancient powers of Zope application server with the modern Plone 5 theming support to achieve shorter iterations and faster deployments when developing new UX features. Our Rikupekka talked about our migration experiences from Plone 4 to Plone 5, and gave a demo about of the UI features we have developed using the approach I discussed in my talk. Finally, I want to mention Wildcards' Kim's talk about Castle CMS, which really showcased, how much difference well lead and focused UX development for Plone based distribution could do in just about a year. Although, the fact that Castle's development had to be forked a bit from the main Plone distribution is also telling, how difficult it is to make the same UX please everyone.

Then there were many talks about the future: there's a new branch of Plone user interfaces built completely in JavaScript on top of the great Plone REST API (which Timo gave a nice presentation about). With Plone REST API it's possible to combine the great and robust CMS features of our secure Plone backend with leading edge JavaScript based frontend. It also makes Plone based solutions feasible for the current generation of frontend developers, because only very basic Plone knowledge is needed to get started. And while there is no complete replacement of Plone user interface in JavaScript yet, there are SDK like projects with many familiar UI components already for ReactJS, Angular (check Eric's talk) and even on VueJS.

If these don't feel ambitious enough, there was one more thing: Albert's talk about Pastanaga UI – a proposal for next generation UI for generic CMSs.

Guillotina – server for a more civilized age

I'm not sure how common mistake it is, but at least we have sometimes ended up using Plone as a framework for projects, for which Plone was not really the most optimal solution. That has happened, because Plone has some very unique features we love and trust: object database with URL traversal, extremely flexible Zope Component Architecture, and very proven security model especially designed for hierarchical data.

At Barcelona conference, Nathan from Onna presented their new ”AsyncIO REST Resource Application Server” called Guillotina (open sourced through Plone Foundation)r What makes Guillotina very special and interesting is that it has all those unique features we have learned to love in Plone ”framework”, but with minimal server footprint and first class support for asynchronous programming using Python 3 AsyncIO event loop. That should allow Guillotina to go places where no Plone has gone before.

I really hope the next year brings us a suitable project to try Guillotina in practice...

There and back again

To summarize all this, here's my picture of the future of Plone on the base of Plone Conference Barcelona 2017 in three sentences:

  • Plone CMS as we know it remains here to stay – the current users remain safe with Plone
  • Plone REST API and all the UI SDKs based on it ”save Plone” by making it a feasible solution for content management related progressive web apps
  • Guillotina ”saves Plone developers” by allowing them to transfer their current Plone ”framework” knowledge into era of high-performance Python 3 AsyncIO microservices.

Obviously there was a lot more in the conference than this. There was a lot of great talks by talented speakers. It was great to see all the old friends and make some new ones. I had a chance to meet my GSOC 2017 student Oshane Bailey. And there are no parties like parties in Plone Conferences.

Thanks once again for all the organizers. It was a pleasure to be there.

We'll see if I get to see Tokyo next year...

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvxIb7dlO8IKiht7ldxF-tSC-q4y5Xf3vlyxThI6Ka-6LYpykadrtC7R8Ku3BB0rBEU3Aa_15mhe0jQyDchxEgugFAwIoGzGWU0M6_JGxW35kwDelGh8Db2-WifZ1D1qqsL9BeAJsy04So/s1600/DMlL1SzWsAM9mfO.jpg

Photo of me, Oshane Bailey and David Bain by Maik Derstappen. They said this pose is to honor Usain Bolt.