SlideShare a Scribd company logo
1 of 51
Download to read offline
THE STATE OF PLONE
MAURITS VAN REES & ERIC STEELE – RELEASE MANAGERS
(And Friends)
COVID-19
It’s been a rollercoaster of a year.
This is what school looks like for my kids now.
I learned to play the ukulele.
This random cat came to our house daily and yelled until we pet it.
NOAnd to top it all o
ff
, my Dad decided to grow a mustache.
One of the ironies of Plone is that despite being a geographically distributed project, Plone has traditionally been at its best when we’re able to gather together in the
same room. 

	 Bring together a diversity of opinion and experience to help drive Plone forward.

	 Allows us to align on our goals, and then get to work. It’s a lot easier to argue about how a feature should be implemented when you’re physically together

	 There’s a lot less chance for misunderstandings and hurt feelings when you’re sitting across the dinner table or can share a drink afterwards. 

This year has been dramatically di
ff
erent. We had a few events earlier in the year before everything shut down, but since then, we’ve had to make-do with doing
everything virtually. Forced us to reexamine how we do some things, intervene in occasional disagreements.

Talking with many of you the past few weeks as I’ve prepared for this talk has been tough. It’s reinforced that it’ll be more than a year since I’ve last seen some of my
favorite people in the world.

Thank you to everyone who worked so hard to make this conference happen. The organizers of the Belgian conference for remaining
fl
exible during all of this uncertainty,
the Foundation Board for making the tough call, and for Six Feet Up for making this even happen at all. 

We have 267 people here from 33 di
ff
erent countries, and that’s likely gone up since earlier today. I wish we could be together, but if this is all this dumpster
fi
re of a year
will allow, then let’s make it a good one.
COMMUNITY
ZOPE MERGER
One of the major projects the Foundation addressed this year was the merger of the Zope Foundation.

There had been no meaningful activity from the Zope Foundation for quite some time, but development needed to continue as part of Plone’s Python 3 e
ff
orts.

In early 2019, Zope Foundation membership voted to transfer assets to the Plone Foundation, close the Zope Foundation. This year, we were able to
fi
nalize that
integration.
ZOPE MERGER
▸ Aligned Contributor Agreements


▸ Integrated Zope and Plone security teams


▸ Inclusion in the Plone Foundation’s democratic structure


▸ Legal security for Plone’s codebase
* Aligned contributor agreements

* Combined the Zope and Plone security teams

* Including Zope in Plone Foundation’s democratic structure

* Transferring the Zope trademark to the Plone Foundation allows us to ensure that Plone’s underlying codebase stays secure from a legal perspective and that
development is able to continue.
THE PLONE FOUNDATION ECOSYSTEM
▸ Plone


▸ Zope


▸ Guillotina


▸ Volto
And so we’ve reached the point where the software covered by the Plone Foundation isn’t just Plone, but also Zope, Guillotina, and Volto.
STEERING CIRCLE
Which brings us to another major project.
STEERING CIRCLE
▸ Plone as a project has shrunk


▸ Plone as a foundation has grown


▸ New voices
* Plone, as a project, has shrunk

* Plone, as a foundation, has grown, with the addition of Zope, Guillotina, Volto

* Avoid the risk of fragmentation

* Volto, in particular, has the opportunity to bring in members who have no experience with Plone/Python community structures and values.
GOALS
▸ Reevaluate community structure


▸ Avoid understaffed, overworked teams


▸ Make more voices heard


▸ Make decisions public
Many of our structures were set up nearly 20 years ago. 

Existing teams are understa
ff
ed and overworked, with too many people serving on multiple teams.

Make sure more voices are heard and decisions are made publicly.
STEERING CIRCLE
▸ Bi-monthly steering committee meetings


▸ Keep the teams on track


▸ Keep teams aligned on common goals


▸ Make successes and challenges public


▸ Provide avenues for involvement
* One of the initial ways we’re doing this is through bi-monthly steering committee meetings. 

* Keep the teams on track,

* keep them aligned

* make both their successes and de
fi
ciencies public. 

* Make sure the community knows where their help is needed.
STEERING CIRCLE
▸ https://plone.org/foundation/governance-process


▸ Open Space - Friday at 15:00 CET


MARKETING
PLONE.ORG REFRESH
▸ Currently improving plone.org content


▸ Minor theme tweaks


▸ Larger overhaul in 2021
Plone is a website platform and our website should look and feel as mature yet modern as the product itself!
#WEAREPLONE INITIATIVE
▸ Bring the awesomeness of the community forward


▸ Interviews


▸ Case studies


▸ Stories
WORLD PLONE DAY 2021
▸ April 29th, 2021


▸ 24-hour live event


▸ #WPD2021


▸ See the lightning talk
24 hour live event around the world with hosted, yet freeform discussion and presentations from (almost) every timezone. #WPD2021
MARKETING
▸ Open Space session Friday, 17:00 CET
ANNUAL FOUNDATION BOARD MEETING
▸ Thursday, 18:50 CET


▸ All are welcome to listen in


▸ Only Foundation members may vote
Thursday before lightning talks.
DORNELES TREMÉA SCHOLARSHIP
▸ Provide aid for conference
attendance

▸ Aimed at new community
members and underrepresented
segments


▸ This year: Reduced ticket costs for
attendees in developing countries


▸ Helped 24 people this year
This is Dorneles Treméa. He was one of the most respected members of the Brazilian Python, Zope and Plone communities. He died unexpectedly in 2011. 



He was a founding member and president of the “ah-soh-see-ah-soh python Brasil”, the entity that promotes and protects Python in Brazil

Dorneles was recognized as someone that would be generous with his time and would always volunteer to help others. He helped us to organize the
fi
rst Plone sprints,
the World Plone Day, and the Plone Symposium South America.

To give an idea of the impact Dorneles has in the Brazilian Python Community, since 2011 the community awards its members that donate their time to knowledge-
sharing and inclusion with the Dorneles Tremea Award (This year the award was renamed to Dorneles Tremea|Jean Ferri Award, to also honor Jean Ferri a late Plonista
and Plone Foundation Member)

Personally, I knew Dorneles as one of the
fi
rst people to introduce himself to me at a Plone event. Friendly and welcoming, true example of what it means to be a
Plonista.

We announced the creation of this scholarship at the conference in Tokyo in 2018. 

Provide aid for conference attendance

Aimed at new community members and underrepresented segments

This year: Reduced ticket fees for attendees in developing countries

At last count, helped 24 people to attend this year’s conference.
I talked earlier about that diversity of opinion and experience. We’re continuing to work to expand that diversity. Plone shouldn’t be shepherded by only those who can
a
ff
ord to travel to or host a sprint or conference. The Foundation has shown a commitment to expanding the voices that in
fl
uence Plone through their sprint funding and
now this scholarship.

Donations to the Plone Foundation can be earmarked for the “Dorneles Treméa Scholarship” if you’re interested in contributing.
CODE
ZOPE
Zope, of course is the granddaddy of all web Python frameworks and is the application layer underneath Plone.
ZOPE 5.X
▸ Support for Python 3.6 and above


▸ Drops support for ZServer


▸ Restores WebDAV support


▸ Improvements to the Chameleon templating engine


▸ Better support forfi le transmission


▸ Restores the ZMI Debug Information control panel page
I want to be sure to mention Guillotina. Guillotina was originally begun as a reimagining of the Zope and Plone stack. It’s developed into an entirely separate project with a
life of its own. 

Meant to be a framework
fi
rst

Trying to use existing tooling, database, indexing, etc rather than building their own

Keep it small, modular, easy to get into

Plug and play based on problems you’re trying to solve
GUILLOTINA
▸ Guillotina 6


▸ ASGI support

 ▸ Work
fl
ows


▸ User registration


▸ Performance and error
handling improvements


▸ Grange


▸ Guillotina React


▸ Guillotina Volto
ASGI support which is a successor to WSGI

There’s also been a major e
ff
ort on frontend initiatives:

Grange: Angular SDK framework to build Guillotina/Plone REST API applications on top.

Guillotina React: A simple ZMI for guillotina to navigate across objects

Guillotina Volto: A compatibility layer interface done with Volto team to allow Guillotina backend.
GUILLOTINA
▸ Wednesday: “Guillotina: Real use cases & Roadmap”
More on Wednesday.
PLONE
PLONE 4 AND 5
Last year after the conference, we approached Maurits about taking over release management of Plone 4 and 5. I am so glad he agreed, for many reasons. He’s been
part of the release team for several years now and has been fantastic in the role, so I know he’s going to a great job of maintaining these releases.
PLONE 6
BACKEND CHANGES
▸ Building on Plone 5.2


▸ Zope 5


▸ Archetypes EOL

 ▸ Drop Python 2 support


▸ Removal of portal_quickinstaller
Plone 6 on the backend will largely build on the promises made in Plone 5.2

Python 3 compatibility, 

Dexterity as the way forward for content types

continued cleanup of the backend.

API maturity

Builds on outstanding work Maurits did in Plone 5.1 to improve the way install, upgrade, and uninstall work in Plone.

All of this should be trivial if you’re hosting a site on 5.2. We’re just removing the things you’ve already stopped using. 

If you’re not there yet, this is your reminder that it’s going away.
FRONTEND CHANGES
▸ LTS Theming


▸ Volto
The frontend will be where you see the most obvious changes.

Happening in two ways.
“LTS THEMING”
▸ New sites should use Volto


▸ Continued support of


▸ Server-side rendering


▸ Diazo theming
We’re considering Plone 6 to be a long term support release.

Those using classic theming should not feel pressured to move to Volto immediately. 

Thursday’s track 1 will cover the work being done to modernize Plone’s classic UI
“PLONE CLASSIC”
▸ Barceloneta LTS


▸ Bootstrap 5


▸ Reduce custom markup and styling


▸ Resource registry improvements


▸ Simpli
fi
cation of bundles


▸ Mockup updates
Rewrite of Mockup to use ES6 imports instead of RequireJS

Caching improvements

Dynamic module loading

Make the registry easier to understand and work with. Match developer expectations better.
VOLTO
▸ React-based frontend for Plone, Guillotina


▸ Compatible with Plone 4, 5, and 6


▸
VOLTO PRINCIPLES
▸ Approachability


▸ Developer experience
fi
rst


▸ Customization and extensibility


▸ Well-de
fi
ned UI/UX


▸ Don’t over-engineer things


▸ One true way of doing things


▸ Frontend and backend are meant to be decoupled


▸ Focus on UI/UX implementation and upcoming challenges


▸ Semantic versioning
GAINING MOMENTUM
▸ “We’re not alone anymore”


▸ Released Volto 4 in March (“The Maturity Release”)


▸ Released Volto 10 last week
* One of the things that stood out to me when talking with Victor last week was when he said “We’re not alone anymore.”

Reached a point where it wasn’t just a handful of people, but a community who jumped in to help with development.

That’s shown from what they’ve been able to build this year and the pace at which they’ve done so.

* Released Volto 4 in March

* Volto 10 last week.

Able to iterate at a much faster pace. Incremental releases happening multiple times per week. 

This isn’t a case of “we’ve rewritten the framework entirely 6 times”, this is measured development, semantically versioned. Changes are well-de
fi
ned and upgrade
guides are published.
ZOPE/CMF PLONE API VOLTO
THE API IS THE CONTRACT
▸ API provides the contract between the front and backend


▸ Decoupled development cycles


▸ Example: Volto on Plone 4
* When we have something like plone.restapi providing the contract between the frontend and backends

* We can decouple the development cycles.

* Ongoing issue in Plone is that when we tightly couple frontend and backend development, our frontend work is likely to be outdated by the time we can release. 

* By the same token, we can remain more measured in how much we change our underlying architecture. Major Plone releases can remain stable for a far longer
period of time if we’re not having to constantly refresh our frontend implementation.

* As an example of why this contract is so important, Volto works on Plone 4. If you’ve built a site on Plone 4 with a Volto frontend, your upgrade path to Plone 5 is
purely a backend-only upgrade. The API contract doesn’t change between the two Plone releases, only the implementation underneath.
NEW FEATURES
▸ Additional blocks


▸ Listing


▸ Table of contents


▸ Lead image


▸ Block transforms
* Volto has released several new blocks, the base unit of the page layout.

* Utilizing Plone’s transforms engine in the API layer to allow for pluggable, orderable data transformations when serializing and deserializing JSON.
NEW FEATURES
▸ Multilingual support


▸ Lazy loading


▸ Folder contents view improvements


▸ Support for swapping CSS frameworks


▸ Enforced layouts
* Multilingual support

* Lazy loading, which reduces bundle sizes

* Adding column ordering to the folder contents view

* Adding the ability to use a completely di
ff
erent CSS framework by separating the CMS UI from the Theme UI. You can use Bootstrap instead of SemanticUI for
example.

* You can now set enforced layouts for content types. [demo]
Enforced layouts for Dexterity content types

Create a new type, give it the lead image behavior.

Now we’ll edit the default layout. 

I can add some prede
fi
ned content blocks here on the page, including that lead image
fi
eld. Reorganize them. 

I can also choose which ones are required and which ones cannot be moved.

Obviously I’m not great at page layouts. But not all of your content editors are either.

You can see as I add a new page (Plone the band has a new album out this year)

that I can
fi
ll in those preexisting
fi
elds. I can’t move the image or byline
fi
elds since I locked those in place, but I can move the other text and add additional content
since I allowed that here.

Gives you the
fl
exibility to allow your editors full control, no control or somewhere in between.
NEW FEATURES
▸ Multilingual support


▸ Lazy loading


▸ Folder contents view improvements


▸ Support for swapping CSS frameworks


▸ Enforced layouts


▸ Block display variations
* And blocks now support multiple display variations.
Let’s look at block display variations.

Here I’m going to create a new image folder and upload some images. Simple drag and drop bulk upload. I didn’t speed this up at all.

Create a new page and add a listing block

No I can choose the criteria I use to select which content shows up in there. So I’m going to use image types and a location of that folder I just created.

By default it’s going to use the listing view. I’m going to choose the gallery view instead. This allows me to view the images as a slideshow.

These variations allow me to display one type of block in many di
ff
erent ways, 

Slider, tabular view
VOLTO ADD-ONS
▸ https://github.com/collective/awesome-volto#addons


▸ mrs.develop


▸ Uni
fi
ed style guide
* They’ve also been putting a lot of e
ff
ort into building out the add-on framework for Volto. There’s a great list of existing add-ons in the awesome-volto repo here.

* Created a tool called “mrs.develop” which works similarly to Plone’s mr.developer, and makes it easy to develop and contribute to add-ons.

* Maybe most importantly, there’s the uni
fi
ed style guide produced by Albert Casado. 

* Provides UI/UX guidelines for the entire application. Pastanaga

* Helps to ensure Plone look and feel is the same top to bottom.

* I hear there may be a refresh coming this year.
▸ volto.kitconcept.com


▸ “Volto: Past, Present and Future”
Two things I want you to check out:

* volto.kitconcept.com is a live Volto 10 site. My two demos were recorded directly from there.

* Victor’s talk, immediately after mine. 

Multiple companies using this in production now. It’s time to start trying it out and making it as amazing as it has the potential to be.
THE STATE OF PLONE
MAURITS VAN REES & ERIC STEELE – RELEASE MANAGERS
(And Friends)

More Related Content

Similar to Volto is the new frontend framework for Plone 6

eZ Conference 2015 - Virtual Talkoot
eZ Conference 2015 - Virtual TalkooteZ Conference 2015 - Virtual Talkoot
eZ Conference 2015 - Virtual TalkootExove
 
Cultural Diversity Essay. Diversity Essay Multiculturalism Engineering
Cultural Diversity Essay. Diversity Essay  Multiculturalism  EngineeringCultural Diversity Essay. Diversity Essay  Multiculturalism  Engineering
Cultural Diversity Essay. Diversity Essay Multiculturalism EngineeringCristina Araujo
 
Plone Cono Sur: creating a Plone users group from scratch
Plone Cono Sur: creating a Plone users group from scratchPlone Cono Sur: creating a Plone users group from scratch
Plone Cono Sur: creating a Plone users group from scratchRoberto Allende
 
Tech4Good, Tech4All, and Digital Inclusion
Tech4Good, Tech4All, and Digital InclusionTech4Good, Tech4All, and Digital Inclusion
Tech4Good, Tech4All, and Digital Inclusion3Play Media
 
A Small Group of Thoughtful, Committed [plone] People
A Small Group of Thoughtful, Committed [plone] PeopleA Small Group of Thoughtful, Committed [plone] People
A Small Group of Thoughtful, Committed [plone] PeopleElizabeth Leddy
 
Roberto Allende Plone Cono Sur Creating A Plone Users Group From Scratch
Roberto Allende Plone Cono Sur   Creating A Plone Users Group From ScratchRoberto Allende Plone Cono Sur   Creating A Plone Users Group From Scratch
Roberto Allende Plone Cono Sur Creating A Plone Users Group From ScratchVincenzo Barone
 
The New plone.org Built on Plone 6
The New plone.org Built on Plone 6The New plone.org Built on Plone 6
The New plone.org Built on Plone 6Rikupekka Oksanen
 
National Platform of Self Advocates
National Platform of Self AdvocatesNational Platform of Self Advocates
National Platform of Self Advocatesmneylon12
 
Paul Everitt Community And Foundation Plones Past, Present, Future
Paul Everitt   Community And Foundation   Plones Past, Present, Future Paul Everitt   Community And Foundation   Plones Past, Present, Future
Paul Everitt Community And Foundation Plones Past, Present, Future Vincenzo Barone
 
EduSpots Conference 2021
EduSpots Conference 2021EduSpots Conference 2021
EduSpots Conference 2021CatLouise
 
Virtual Talkoot - or Bringing Quality to Your Life by Contributing - DrupalCa...
Virtual Talkoot - or Bringing Quality to Your Life by Contributing - DrupalCa...Virtual Talkoot - or Bringing Quality to Your Life by Contributing - DrupalCa...
Virtual Talkoot - or Bringing Quality to Your Life by Contributing - DrupalCa...Exove
 
Youth at COP15 Climate Change Conference
Youth at COP15 Climate Change ConferenceYouth at COP15 Climate Change Conference
Youth at COP15 Climate Change ConferenceYangki Imade Suara
 
#23GLIS_Slides_GAC Spotlight.pdf
#23GLIS_Slides_GAC Spotlight.pdf#23GLIS_Slides_GAC Spotlight.pdf
#23GLIS_Slides_GAC Spotlight.pdfEbba Ossiannilsson
 
Night Shelters Project - Strategy Plan 1b
Night Shelters Project - Strategy Plan 1bNight Shelters Project - Strategy Plan 1b
Night Shelters Project - Strategy Plan 1bMessrs G Owen & Co
 
The garage sale_trail
The garage sale_trailThe garage sale_trail
The garage sale_trailDarryl
 
European Summit Sponsorship Info
European Summit Sponsorship InfoEuropean Summit Sponsorship Info
European Summit Sponsorship InfoEuropean Summit
 
Interview : Boris de Fautereau, Resident Representative Guilde du Raid & Soli...
Interview : Boris de Fautereau, Resident Representative Guilde du Raid & Soli...Interview : Boris de Fautereau, Resident Representative Guilde du Raid & Soli...
Interview : Boris de Fautereau, Resident Representative Guilde du Raid & Soli...SPB
 

Similar to Volto is the new frontend framework for Plone 6 (20)

eZ Conference 2015 - Virtual Talkoot
eZ Conference 2015 - Virtual TalkooteZ Conference 2015 - Virtual Talkoot
eZ Conference 2015 - Virtual Talkoot
 
Cultural Diversity Essay. Diversity Essay Multiculturalism Engineering
Cultural Diversity Essay. Diversity Essay  Multiculturalism  EngineeringCultural Diversity Essay. Diversity Essay  Multiculturalism  Engineering
Cultural Diversity Essay. Diversity Essay Multiculturalism Engineering
 
Plone Cono Sur: creating a Plone users group from scratch
Plone Cono Sur: creating a Plone users group from scratchPlone Cono Sur: creating a Plone users group from scratch
Plone Cono Sur: creating a Plone users group from scratch
 
Tech4Good, Tech4All, and Digital Inclusion
Tech4Good, Tech4All, and Digital InclusionTech4Good, Tech4All, and Digital Inclusion
Tech4Good, Tech4All, and Digital Inclusion
 
A Small Group of Thoughtful, Committed [plone] People
A Small Group of Thoughtful, Committed [plone] PeopleA Small Group of Thoughtful, Committed [plone] People
A Small Group of Thoughtful, Committed [plone] People
 
Roberto Allende Plone Cono Sur Creating A Plone Users Group From Scratch
Roberto Allende Plone Cono Sur   Creating A Plone Users Group From ScratchRoberto Allende Plone Cono Sur   Creating A Plone Users Group From Scratch
Roberto Allende Plone Cono Sur Creating A Plone Users Group From Scratch
 
The New plone.org Built on Plone 6
The New plone.org Built on Plone 6The New plone.org Built on Plone 6
The New plone.org Built on Plone 6
 
National Platform of Self Advocates
National Platform of Self AdvocatesNational Platform of Self Advocates
National Platform of Self Advocates
 
Paul Everitt Community And Foundation Plones Past, Present, Future
Paul Everitt   Community And Foundation   Plones Past, Present, Future Paul Everitt   Community And Foundation   Plones Past, Present, Future
Paul Everitt Community And Foundation Plones Past, Present, Future
 
WP5 WYRED Istanbul meeting
WP5 WYRED Istanbul meetingWP5 WYRED Istanbul meeting
WP5 WYRED Istanbul meeting
 
Daily Corriere: The Second Global AgriKnowledge Share Fair daily newspaper
Daily Corriere: The Second Global AgriKnowledge Share Fair daily newspaperDaily Corriere: The Second Global AgriKnowledge Share Fair daily newspaper
Daily Corriere: The Second Global AgriKnowledge Share Fair daily newspaper
 
EduSpots Conference 2021
EduSpots Conference 2021EduSpots Conference 2021
EduSpots Conference 2021
 
Virtual Talkoot - or Bringing Quality to Your Life by Contributing - DrupalCa...
Virtual Talkoot - or Bringing Quality to Your Life by Contributing - DrupalCa...Virtual Talkoot - or Bringing Quality to Your Life by Contributing - DrupalCa...
Virtual Talkoot - or Bringing Quality to Your Life by Contributing - DrupalCa...
 
Youth at COP15 Climate Change Conference
Youth at COP15 Climate Change ConferenceYouth at COP15 Climate Change Conference
Youth at COP15 Climate Change Conference
 
#23GLIS_Slides_GAC Spotlight.pdf
#23GLIS_Slides_GAC Spotlight.pdf#23GLIS_Slides_GAC Spotlight.pdf
#23GLIS_Slides_GAC Spotlight.pdf
 
Night Shelters Project - Strategy Plan 1b
Night Shelters Project - Strategy Plan 1bNight Shelters Project - Strategy Plan 1b
Night Shelters Project - Strategy Plan 1b
 
The garage sale_trail
The garage sale_trailThe garage sale_trail
The garage sale_trail
 
ebbf's annual general meeting - october 2014, barcelona
ebbf's annual general meeting - october 2014, barcelonaebbf's annual general meeting - october 2014, barcelona
ebbf's annual general meeting - october 2014, barcelona
 
European Summit Sponsorship Info
European Summit Sponsorship InfoEuropean Summit Sponsorship Info
European Summit Sponsorship Info
 
Interview : Boris de Fautereau, Resident Representative Guilde du Raid & Soli...
Interview : Boris de Fautereau, Resident Representative Guilde du Raid & Soli...Interview : Boris de Fautereau, Resident Representative Guilde du Raid & Soli...
Interview : Boris de Fautereau, Resident Representative Guilde du Raid & Soli...
 

More from PloneFoundation

Form Block / Formbuilder
Form Block / FormbuilderForm Block / Formbuilder
Form Block / FormbuilderPloneFoundation
 
Pyruvate, a reasonably fast, non-blocking, multithreaded WSGI server
Pyruvate, a reasonably fast, non-blocking, multithreaded WSGI serverPyruvate, a reasonably fast, non-blocking, multithreaded WSGI server
Pyruvate, a reasonably fast, non-blocking, multithreaded WSGI serverPloneFoundation
 
Améliorer la gouvernance et la gestion interne de la ville avec Plone
Améliorer la gouvernance et la gestion interne de la ville avec PloneAméliorer la gouvernance et la gestion interne de la ville avec Plone
Améliorer la gouvernance et la gestion interne de la ville avec PlonePloneFoundation
 
Plone 6 Theming based on Barceloneta LTS
Plone 6 Theming based on Barceloneta LTSPlone 6 Theming based on Barceloneta LTS
Plone 6 Theming based on Barceloneta LTSPloneFoundation
 
Modernize Plone's Classic UI
Modernize Plone's Classic UIModernize Plone's Classic UI
Modernize Plone's Classic UIPloneFoundation
 
Volto: A Journey towards Personalization
Volto: A Journey towards PersonalizationVolto: A Journey towards Personalization
Volto: A Journey towards PersonalizationPloneFoundation
 
Bundle Splitting in Volto
Bundle Splitting in VoltoBundle Splitting in Volto
Bundle Splitting in VoltoPloneFoundation
 
Asking questions for the benefit of your future self - Growing with the Plone...
Asking questions for the benefit of your future self - Growing with the Plone...Asking questions for the benefit of your future self - Growing with the Plone...
Asking questions for the benefit of your future self - Growing with the Plone...PloneFoundation
 
Pyramid and the Pylons Project in the wild
Pyramid and the Pylons Project in the wildPyramid and the Pylons Project in the wild
Pyramid and the Pylons Project in the wildPloneFoundation
 

More from PloneFoundation (14)

Form Block / Formbuilder
Form Block / FormbuilderForm Block / Formbuilder
Form Block / Formbuilder
 
Pyruvate, a reasonably fast, non-blocking, multithreaded WSGI server
Pyruvate, a reasonably fast, non-blocking, multithreaded WSGI serverPyruvate, a reasonably fast, non-blocking, multithreaded WSGI server
Pyruvate, a reasonably fast, non-blocking, multithreaded WSGI server
 
Améliorer la gouvernance et la gestion interne de la ville avec Plone
Améliorer la gouvernance et la gestion interne de la ville avec PloneAméliorer la gouvernance et la gestion interne de la ville avec Plone
Améliorer la gouvernance et la gestion interne de la ville avec Plone
 
Running Plone on AWS
Running Plone on AWSRunning Plone on AWS
Running Plone on AWS
 
State of Plone 4 and 5
State of Plone 4 and 5State of Plone 4 and 5
State of Plone 4 and 5
 
Plone 6 Theming based on Barceloneta LTS
Plone 6 Theming based on Barceloneta LTSPlone 6 Theming based on Barceloneta LTS
Plone 6 Theming based on Barceloneta LTS
 
Modernize Plone's Classic UI
Modernize Plone's Classic UIModernize Plone's Classic UI
Modernize Plone's Classic UI
 
Green Party Maps
Green Party MapsGreen Party Maps
Green Party Maps
 
Volto: A Journey towards Personalization
Volto: A Journey towards PersonalizationVolto: A Journey towards Personalization
Volto: A Journey towards Personalization
 
Bundle Splitting in Volto
Bundle Splitting in VoltoBundle Splitting in Volto
Bundle Splitting in Volto
 
Asking questions for the benefit of your future self - Growing with the Plone...
Asking questions for the benefit of your future self - Growing with the Plone...Asking questions for the benefit of your future self - Growing with the Plone...
Asking questions for the benefit of your future self - Growing with the Plone...
 
The State of Pillow
The State of PillowThe State of Pillow
The State of Pillow
 
Pyramid and the Pylons Project in the wild
Pyramid and the Pylons Project in the wildPyramid and the Pylons Project in the wild
Pyramid and the Pylons Project in the wild
 
Questions
QuestionsQuestions
Questions
 

Recently uploaded

Business Analyzopedia - Your Pocket Gita for Business Analysis
Business Analyzopedia - Your Pocket Gita for Business AnalysisBusiness Analyzopedia - Your Pocket Gita for Business Analysis
Business Analyzopedia - Your Pocket Gita for Business AnalysisDEEPRAJ PATHAK
 
The State of the Green IT at the beginning of 2024
The State of the Green IT at the beginning of 2024The State of the Green IT at the beginning of 2024
The State of the Green IT at the beginning of 2024Artur Skowroński
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
AmsterdamJUG April 2024 - Going serverless with Quarkus GraalVM native images...
AmsterdamJUG April 2024 - Going serverless with Quarkus GraalVM native images...AmsterdamJUG April 2024 - Going serverless with Quarkus GraalVM native images...
AmsterdamJUG April 2024 - Going serverless with Quarkus GraalVM native images...Bert Jan Schrijver
 
Tech Tuesday Slides - Getting Started with the Portfolio Module.
Tech Tuesday Slides - Getting Started with the Portfolio Module.Tech Tuesday Slides - Getting Started with the Portfolio Module.
Tech Tuesday Slides - Getting Started with the Portfolio Module.OnePlan Solutions
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Transform your Corporate Strategy Office - Harness OnePlan’s Strategic Portfo...
Transform your Corporate Strategy Office - Harness OnePlan’s Strategic Portfo...Transform your Corporate Strategy Office - Harness OnePlan’s Strategic Portfo...
Transform your Corporate Strategy Office - Harness OnePlan’s Strategic Portfo...OnePlan Solutions
 
Chapter -5 Agile Testing types and its examples.pptx
Chapter -5 Agile Testing types and its examples.pptxChapter -5 Agile Testing types and its examples.pptx
Chapter -5 Agile Testing types and its examples.pptxManishaPatil932723
 
What are the core components of Azure Data Engineer courses.docx
What are the core components of Azure Data Engineer courses.docxWhat are the core components of Azure Data Engineer courses.docx
What are the core components of Azure Data Engineer courses.docxkzayra69
 
OpenMetadata Community Meeting - 4th April, 2024
OpenMetadata Community Meeting - 4th April, 2024OpenMetadata Community Meeting - 4th April, 2024
OpenMetadata Community Meeting - 4th April, 2024OpenMetadata
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
SPSS Statistics - Encrypting a Syntax File in IBM SPSS Statistics.pptx
SPSS Statistics - Encrypting a Syntax File in IBM SPSS Statistics.pptxSPSS Statistics - Encrypting a Syntax File in IBM SPSS Statistics.pptx
SPSS Statistics - Encrypting a Syntax File in IBM SPSS Statistics.pptxVersion 1 Analytics
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flinkconfluent
 
full course of software engineering mid term.pdf
full course of software engineering mid term.pdffull course of software engineering mid term.pdf
full course of software engineering mid term.pdfAbdul salam
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
ManageIQ - Sprint 234 Review - Slide Deck
ManageIQ - Sprint 234 Review - Slide DeckManageIQ - Sprint 234 Review - Slide Deck
ManageIQ - Sprint 234 Review - Slide DeckManageIQ
 
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...kalichargn70th171
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfmaor17
 
Revolutionize Your Video Editing with InVideo.io: A Comprehensive Review
Revolutionize Your Video Editing with InVideo.io: A Comprehensive ReviewRevolutionize Your Video Editing with InVideo.io: A Comprehensive Review
Revolutionize Your Video Editing with InVideo.io: A Comprehensive Reviewjw364beach
 

Recently uploaded (20)

Business Analyzopedia - Your Pocket Gita for Business Analysis
Business Analyzopedia - Your Pocket Gita for Business AnalysisBusiness Analyzopedia - Your Pocket Gita for Business Analysis
Business Analyzopedia - Your Pocket Gita for Business Analysis
 
The State of the Green IT at the beginning of 2024
The State of the Green IT at the beginning of 2024The State of the Green IT at the beginning of 2024
The State of the Green IT at the beginning of 2024
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
AmsterdamJUG April 2024 - Going serverless with Quarkus GraalVM native images...
AmsterdamJUG April 2024 - Going serverless with Quarkus GraalVM native images...AmsterdamJUG April 2024 - Going serverless with Quarkus GraalVM native images...
AmsterdamJUG April 2024 - Going serverless with Quarkus GraalVM native images...
 
Tech Tuesday Slides - Getting Started with the Portfolio Module.
Tech Tuesday Slides - Getting Started with the Portfolio Module.Tech Tuesday Slides - Getting Started with the Portfolio Module.
Tech Tuesday Slides - Getting Started with the Portfolio Module.
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Transform your Corporate Strategy Office - Harness OnePlan’s Strategic Portfo...
Transform your Corporate Strategy Office - Harness OnePlan’s Strategic Portfo...Transform your Corporate Strategy Office - Harness OnePlan’s Strategic Portfo...
Transform your Corporate Strategy Office - Harness OnePlan’s Strategic Portfo...
 
Chapter -5 Agile Testing types and its examples.pptx
Chapter -5 Agile Testing types and its examples.pptxChapter -5 Agile Testing types and its examples.pptx
Chapter -5 Agile Testing types and its examples.pptx
 
What are the core components of Azure Data Engineer courses.docx
What are the core components of Azure Data Engineer courses.docxWhat are the core components of Azure Data Engineer courses.docx
What are the core components of Azure Data Engineer courses.docx
 
OpenMetadata Community Meeting - 4th April, 2024
OpenMetadata Community Meeting - 4th April, 2024OpenMetadata Community Meeting - 4th April, 2024
OpenMetadata Community Meeting - 4th April, 2024
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
SPSS Statistics - Encrypting a Syntax File in IBM SPSS Statistics.pptx
SPSS Statistics - Encrypting a Syntax File in IBM SPSS Statistics.pptxSPSS Statistics - Encrypting a Syntax File in IBM SPSS Statistics.pptx
SPSS Statistics - Encrypting a Syntax File in IBM SPSS Statistics.pptx
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flink
 
full course of software engineering mid term.pdf
full course of software engineering mid term.pdffull course of software engineering mid term.pdf
full course of software engineering mid term.pdf
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
ManageIQ - Sprint 234 Review - Slide Deck
ManageIQ - Sprint 234 Review - Slide DeckManageIQ - Sprint 234 Review - Slide Deck
ManageIQ - Sprint 234 Review - Slide Deck
 
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdf
 
Revolutionize Your Video Editing with InVideo.io: A Comprehensive Review
Revolutionize Your Video Editing with InVideo.io: A Comprehensive ReviewRevolutionize Your Video Editing with InVideo.io: A Comprehensive Review
Revolutionize Your Video Editing with InVideo.io: A Comprehensive Review
 

Volto is the new frontend framework for Plone 6

  • 1. THE STATE OF PLONE MAURITS VAN REES & ERIC STEELE – RELEASE MANAGERS (And Friends)
  • 2. COVID-19 It’s been a rollercoaster of a year.
  • 3. This is what school looks like for my kids now.
  • 4. I learned to play the ukulele.
  • 5. This random cat came to our house daily and yelled until we pet it.
  • 6. NOAnd to top it all o ff , my Dad decided to grow a mustache.
  • 7. One of the ironies of Plone is that despite being a geographically distributed project, Plone has traditionally been at its best when we’re able to gather together in the same room. 
 Bring together a diversity of opinion and experience to help drive Plone forward. Allows us to align on our goals, and then get to work. It’s a lot easier to argue about how a feature should be implemented when you’re physically together There’s a lot less chance for misunderstandings and hurt feelings when you’re sitting across the dinner table or can share a drink afterwards. This year has been dramatically di ff erent. We had a few events earlier in the year before everything shut down, but since then, we’ve had to make-do with doing everything virtually. Forced us to reexamine how we do some things, intervene in occasional disagreements. Talking with many of you the past few weeks as I’ve prepared for this talk has been tough. It’s reinforced that it’ll be more than a year since I’ve last seen some of my favorite people in the world. Thank you to everyone who worked so hard to make this conference happen. The organizers of the Belgian conference for remaining fl exible during all of this uncertainty, the Foundation Board for making the tough call, and for Six Feet Up for making this even happen at all. We have 267 people here from 33 di ff erent countries, and that’s likely gone up since earlier today. I wish we could be together, but if this is all this dumpster fi re of a year will allow, then let’s make it a good one.
  • 9. ZOPE MERGER One of the major projects the Foundation addressed this year was the merger of the Zope Foundation. There had been no meaningful activity from the Zope Foundation for quite some time, but development needed to continue as part of Plone’s Python 3 e ff orts. In early 2019, Zope Foundation membership voted to transfer assets to the Plone Foundation, close the Zope Foundation. This year, we were able to fi nalize that integration.
  • 10. ZOPE MERGER ▸ Aligned Contributor Agreements ▸ Integrated Zope and Plone security teams ▸ Inclusion in the Plone Foundation’s democratic structure ▸ Legal security for Plone’s codebase * Aligned contributor agreements * Combined the Zope and Plone security teams * Including Zope in Plone Foundation’s democratic structure * Transferring the Zope trademark to the Plone Foundation allows us to ensure that Plone’s underlying codebase stays secure from a legal perspective and that development is able to continue.
  • 11. THE PLONE FOUNDATION ECOSYSTEM ▸ Plone ▸ Zope ▸ Guillotina ▸ Volto And so we’ve reached the point where the software covered by the Plone Foundation isn’t just Plone, but also Zope, Guillotina, and Volto.
  • 12. STEERING CIRCLE Which brings us to another major project.
  • 13. STEERING CIRCLE ▸ Plone as a project has shrunk ▸ Plone as a foundation has grown ▸ New voices * Plone, as a project, has shrunk * Plone, as a foundation, has grown, with the addition of Zope, Guillotina, Volto * Avoid the risk of fragmentation * Volto, in particular, has the opportunity to bring in members who have no experience with Plone/Python community structures and values.
  • 14. GOALS ▸ Reevaluate community structure ▸ Avoid understaffed, overworked teams ▸ Make more voices heard ▸ Make decisions public Many of our structures were set up nearly 20 years ago. Existing teams are understa ff ed and overworked, with too many people serving on multiple teams. Make sure more voices are heard and decisions are made publicly.
  • 15. STEERING CIRCLE ▸ Bi-monthly steering committee meetings ▸ Keep the teams on track ▸ Keep teams aligned on common goals ▸ Make successes and challenges public ▸ Provide avenues for involvement * One of the initial ways we’re doing this is through bi-monthly steering committee meetings. * Keep the teams on track, * keep them aligned * make both their successes and de fi ciencies public. * Make sure the community knows where their help is needed.
  • 18. PLONE.ORG REFRESH ▸ Currently improving plone.org content ▸ Minor theme tweaks ▸ Larger overhaul in 2021 Plone is a website platform and our website should look and feel as mature yet modern as the product itself!
  • 19. #WEAREPLONE INITIATIVE ▸ Bring the awesomeness of the community forward ▸ Interviews ▸ Case studies ▸ Stories
  • 20. WORLD PLONE DAY 2021 ▸ April 29th, 2021 ▸ 24-hour live event ▸ #WPD2021 ▸ See the lightning talk 24 hour live event around the world with hosted, yet freeform discussion and presentations from (almost) every timezone. #WPD2021
  • 21. MARKETING ▸ Open Space session Friday, 17:00 CET
  • 22. ANNUAL FOUNDATION BOARD MEETING ▸ Thursday, 18:50 CET ▸ All are welcome to listen in ▸ Only Foundation members may vote Thursday before lightning talks.
  • 23. DORNELES TREMÉA SCHOLARSHIP ▸ Provide aid for conference attendance ▸ Aimed at new community members and underrepresented segments ▸ This year: Reduced ticket costs for attendees in developing countries ▸ Helped 24 people this year This is Dorneles Treméa. He was one of the most respected members of the Brazilian Python, Zope and Plone communities. He died unexpectedly in 2011. 
 He was a founding member and president of the “ah-soh-see-ah-soh python Brasil”, the entity that promotes and protects Python in Brazil Dorneles was recognized as someone that would be generous with his time and would always volunteer to help others. He helped us to organize the fi rst Plone sprints, the World Plone Day, and the Plone Symposium South America. To give an idea of the impact Dorneles has in the Brazilian Python Community, since 2011 the community awards its members that donate their time to knowledge- sharing and inclusion with the Dorneles Tremea Award (This year the award was renamed to Dorneles Tremea|Jean Ferri Award, to also honor Jean Ferri a late Plonista and Plone Foundation Member) Personally, I knew Dorneles as one of the fi rst people to introduce himself to me at a Plone event. Friendly and welcoming, true example of what it means to be a Plonista. We announced the creation of this scholarship at the conference in Tokyo in 2018. Provide aid for conference attendance Aimed at new community members and underrepresented segments This year: Reduced ticket fees for attendees in developing countries At last count, helped 24 people to attend this year’s conference.
  • 24. I talked earlier about that diversity of opinion and experience. We’re continuing to work to expand that diversity. Plone shouldn’t be shepherded by only those who can a ff ord to travel to or host a sprint or conference. The Foundation has shown a commitment to expanding the voices that in fl uence Plone through their sprint funding and now this scholarship. Donations to the Plone Foundation can be earmarked for the “Dorneles Treméa Scholarship” if you’re interested in contributing.
  • 25. CODE
  • 26. ZOPE Zope, of course is the granddaddy of all web Python frameworks and is the application layer underneath Plone.
  • 27. ZOPE 5.X ▸ Support for Python 3.6 and above ▸ Drops support for ZServer ▸ Restores WebDAV support ▸ Improvements to the Chameleon templating engine ▸ Better support forfi le transmission ▸ Restores the ZMI Debug Information control panel page
  • 28. I want to be sure to mention Guillotina. Guillotina was originally begun as a reimagining of the Zope and Plone stack. It’s developed into an entirely separate project with a life of its own. Meant to be a framework fi rst Trying to use existing tooling, database, indexing, etc rather than building their own Keep it small, modular, easy to get into Plug and play based on problems you’re trying to solve
  • 29. GUILLOTINA ▸ Guillotina 6 ▸ ASGI support ▸ Work fl ows ▸ User registration ▸ Performance and error handling improvements ▸ Grange ▸ Guillotina React ▸ Guillotina Volto ASGI support which is a successor to WSGI There’s also been a major e ff ort on frontend initiatives: Grange: Angular SDK framework to build Guillotina/Plone REST API applications on top. Guillotina React: A simple ZMI for guillotina to navigate across objects Guillotina Volto: A compatibility layer interface done with Volto team to allow Guillotina backend.
  • 30. GUILLOTINA ▸ Wednesday: “Guillotina: Real use cases & Roadmap” More on Wednesday.
  • 31. PLONE
  • 32. PLONE 4 AND 5 Last year after the conference, we approached Maurits about taking over release management of Plone 4 and 5. I am so glad he agreed, for many reasons. He’s been part of the release team for several years now and has been fantastic in the role, so I know he’s going to a great job of maintaining these releases.
  • 34. BACKEND CHANGES ▸ Building on Plone 5.2 ▸ Zope 5 ▸ Archetypes EOL ▸ Drop Python 2 support ▸ Removal of portal_quickinstaller Plone 6 on the backend will largely build on the promises made in Plone 5.2 Python 3 compatibility, Dexterity as the way forward for content types continued cleanup of the backend. API maturity Builds on outstanding work Maurits did in Plone 5.1 to improve the way install, upgrade, and uninstall work in Plone. All of this should be trivial if you’re hosting a site on 5.2. We’re just removing the things you’ve already stopped using. If you’re not there yet, this is your reminder that it’s going away.
  • 35. FRONTEND CHANGES ▸ LTS Theming ▸ Volto The frontend will be where you see the most obvious changes. Happening in two ways.
  • 36. “LTS THEMING” ▸ New sites should use Volto ▸ Continued support of ▸ Server-side rendering ▸ Diazo theming We’re considering Plone 6 to be a long term support release. Those using classic theming should not feel pressured to move to Volto immediately. Thursday’s track 1 will cover the work being done to modernize Plone’s classic UI
  • 37. “PLONE CLASSIC” ▸ Barceloneta LTS ▸ Bootstrap 5 ▸ Reduce custom markup and styling ▸ Resource registry improvements ▸ Simpli fi cation of bundles ▸ Mockup updates Rewrite of Mockup to use ES6 imports instead of RequireJS Caching improvements Dynamic module loading Make the registry easier to understand and work with. Match developer expectations better.
  • 38.
  • 39. VOLTO ▸ React-based frontend for Plone, Guillotina ▸ Compatible with Plone 4, 5, and 6 ▸
  • 40. VOLTO PRINCIPLES ▸ Approachability ▸ Developer experience fi rst ▸ Customization and extensibility ▸ Well-de fi ned UI/UX ▸ Don’t over-engineer things ▸ One true way of doing things ▸ Frontend and backend are meant to be decoupled ▸ Focus on UI/UX implementation and upcoming challenges ▸ Semantic versioning
  • 41. GAINING MOMENTUM ▸ “We’re not alone anymore” ▸ Released Volto 4 in March (“The Maturity Release”) ▸ Released Volto 10 last week * One of the things that stood out to me when talking with Victor last week was when he said “We’re not alone anymore.” Reached a point where it wasn’t just a handful of people, but a community who jumped in to help with development. That’s shown from what they’ve been able to build this year and the pace at which they’ve done so. * Released Volto 4 in March * Volto 10 last week. Able to iterate at a much faster pace. Incremental releases happening multiple times per week. This isn’t a case of “we’ve rewritten the framework entirely 6 times”, this is measured development, semantically versioned. Changes are well-de fi ned and upgrade guides are published.
  • 43. THE API IS THE CONTRACT ▸ API provides the contract between the front and backend ▸ Decoupled development cycles ▸ Example: Volto on Plone 4 * When we have something like plone.restapi providing the contract between the frontend and backends * We can decouple the development cycles. * Ongoing issue in Plone is that when we tightly couple frontend and backend development, our frontend work is likely to be outdated by the time we can release. * By the same token, we can remain more measured in how much we change our underlying architecture. Major Plone releases can remain stable for a far longer period of time if we’re not having to constantly refresh our frontend implementation. * As an example of why this contract is so important, Volto works on Plone 4. If you’ve built a site on Plone 4 with a Volto frontend, your upgrade path to Plone 5 is purely a backend-only upgrade. The API contract doesn’t change between the two Plone releases, only the implementation underneath.
  • 44. NEW FEATURES ▸ Additional blocks ▸ Listing ▸ Table of contents ▸ Lead image ▸ Block transforms * Volto has released several new blocks, the base unit of the page layout. * Utilizing Plone’s transforms engine in the API layer to allow for pluggable, orderable data transformations when serializing and deserializing JSON.
  • 45. NEW FEATURES ▸ Multilingual support ▸ Lazy loading ▸ Folder contents view improvements ▸ Support for swapping CSS frameworks ▸ Enforced layouts * Multilingual support * Lazy loading, which reduces bundle sizes * Adding column ordering to the folder contents view * Adding the ability to use a completely di ff erent CSS framework by separating the CMS UI from the Theme UI. You can use Bootstrap instead of SemanticUI for example. * You can now set enforced layouts for content types. [demo]
  • 46. Enforced layouts for Dexterity content types Create a new type, give it the lead image behavior. Now we’ll edit the default layout. I can add some prede fi ned content blocks here on the page, including that lead image fi eld. Reorganize them. I can also choose which ones are required and which ones cannot be moved. Obviously I’m not great at page layouts. But not all of your content editors are either. You can see as I add a new page (Plone the band has a new album out this year) that I can fi ll in those preexisting fi elds. I can’t move the image or byline fi elds since I locked those in place, but I can move the other text and add additional content since I allowed that here. Gives you the fl exibility to allow your editors full control, no control or somewhere in between.
  • 47. NEW FEATURES ▸ Multilingual support ▸ Lazy loading ▸ Folder contents view improvements ▸ Support for swapping CSS frameworks ▸ Enforced layouts ▸ Block display variations * And blocks now support multiple display variations.
  • 48. Let’s look at block display variations. Here I’m going to create a new image folder and upload some images. Simple drag and drop bulk upload. I didn’t speed this up at all. Create a new page and add a listing block No I can choose the criteria I use to select which content shows up in there. So I’m going to use image types and a location of that folder I just created. By default it’s going to use the listing view. I’m going to choose the gallery view instead. This allows me to view the images as a slideshow. These variations allow me to display one type of block in many di ff erent ways, Slider, tabular view
  • 49. VOLTO ADD-ONS ▸ https://github.com/collective/awesome-volto#addons ▸ mrs.develop ▸ Uni fi ed style guide * They’ve also been putting a lot of e ff ort into building out the add-on framework for Volto. There’s a great list of existing add-ons in the awesome-volto repo here. * Created a tool called “mrs.develop” which works similarly to Plone’s mr.developer, and makes it easy to develop and contribute to add-ons. * Maybe most importantly, there’s the uni fi ed style guide produced by Albert Casado. * Provides UI/UX guidelines for the entire application. Pastanaga * Helps to ensure Plone look and feel is the same top to bottom. * I hear there may be a refresh coming this year.
  • 50. ▸ volto.kitconcept.com ▸ “Volto: Past, Present and Future” Two things I want you to check out: * volto.kitconcept.com is a live Volto 10 site. My two demos were recorded directly from there. * Victor’s talk, immediately after mine. Multiple companies using this in production now. It’s time to start trying it out and making it as amazing as it has the potential to be.
  • 51. THE STATE OF PLONE MAURITS VAN REES & ERIC STEELE – RELEASE MANAGERS (And Friends)