2. WELCOME TO
BARCELONA
Barcelona has been very important to Plone over the last few years.
• Barceloneta
• Mockup
• mr.roboto
• Pyrenees/Guilotina
• plone.org
4. TEXT
PLONE 5.1
‣ Direct link from group name on Sharing tab will take you to that group’s member list
‣ Collective.indexing integrated into core.
‣ Easily change default sort order
‣ Registry improvements
‣ Meta bundles generation
‣ Portal actions control panel
collective.indexing: Operations for indexing, reindexing, unindexing queued and processed at the end of the transaction. Can have big performance improvements
on larger sites.
Registry improvements: Split registry.xml into multiple files. Added Delete, add, import, export options in control panel. Conditionally import registry records
Meta bundles: Merges different JS and CSS resources provided by Plone and any installed add-ons into unique bundles. Refreshed each time a new bundle is
added.
5.
6. TEXT
PLONE 5.1
‣ Support retina image scales
‣ Enhanced icons and thumbnails
‣ Auto-rotation for images
‣ Remove portal_quickinstaller
‣ Remove plone.app.openid
‣ Use lxml for safehtml transofrms
collective.indexing: Operations for indexing, reindexing, unindexing queued and processed at the end of the transaction. Can have big performance improvements
on larger sites.
Registry improvements: Split registry.xml into multiple files. Added Delete, add, import, export options in control panel. Conditionally import registry records
Meta bundles: Merges different JS and CSS resources provided by Plone and any installed add-ons into unique bundles. Refreshed each time a new bundle is
added.
10. PEOPLE LEAVE PROJECTS. OTHER PEOPLE
REPLACE THEM (IF YOU’RE DOING IT RIGHT).
GENERATIONAL RELAY
11. TEXT
CONTRIBUTOR LIFECYCLE
If you think of the lifecycle of a long-term contributor, it’d look something like a bell curve. The enter the project, fairly timidly, lacking knowledge of the codebase and
confidence to contribute. Over time, they become increasingly involved. After a while, they’re likely to drift away, due to things like job changes, economic situations,
personality conflicts, or changes in their personal lives.
12. TEXT
CONTRIBUTOR GENERATIONS
And this curve is typically true for groups of contributors as well.
Curves show the rise and fall of each generation of contributors.
In a multigenerational project, like Plone, a small, very active group of contributors does most of the work.
Measure developer populations by “half-life”, the point at which half of the developers active during this period are no longer contributing.
Debian was a standout, with a developer half-life at around 7.5 years.
The human body replaces all of its cells every 7 years. That's exactly it. Similarly, a project is replacing its own constituent parts. It’s a natural process.
Stasis, particularly in a software project is bad. This process of continuous renewal allows new ideas, new perspectives, and new skillsets to find their way into the
community.
13. PROJECT KNOWLEDGE
KNOWLEDGE RETENTION
KNOWLEDGE LOSS
Normally this turnover is happening continually. As one generation is diminishing, another is rising. The pitfall is dropping that baton.
The smaller the overlap between generations, the less interaction they have with one another, the higher the likelihood of losing project knowledge.
14. “THE KNOWLEDGE SYSTEM IS NOT THE
INDIVIDUAL BUT THE ENTIRE HISTORY OF
PROBLEM SOLVING TEAMS IN WHICH
INDIVIDUALS ACTIVELY PARTICIPATE.”
C. Hutchison.
“Personal knowledge, team knowledge, real knowledge.” EUROCON 2001, Trends in Communications
TEXT
No single person knows everything there is to know about the project. It’s important to build in that redundancy across contributors.
Code history. Organizational history. Cultural history.
Orphaned code, orphaned initiatives.
Difficult to recover that lost knowledge, since it’s typically only partially recorded and scattered across places like comments, tickets, and mailing lists.
17. IF WE SLICE A TEAM OPEN, WE CAN SEE A NUMBER OF
GENERATIONS, LIKE RINGS IN A TREE TRUNK. EACH
GENERATION IS A SOURCE OF STORIES AND ALSO A
SOURCE OF MENTORSHIP. EACH GENERATION PASSES
DOWN STORIES, EXPERIENCES, AND LIFE LESSONS TO
THE NEW GENERATION.
Jono Bacon
“The Art of Community”
TEXT
This sharing is vital to a project’s continued existence.
18. ANOTHER THING THAT SEPARATES THE PLONE COMMUNITY FROM A LOT OF
OTHER COMMUNITIES IS THE AMOUNT OF FACE-TO-FACE COMMUNICATION WE
HAVE... WE CAN HAVE REALLY HEATED DISCUSSIONS ABOUT THINGS RELATED TO
PLONE, BUT PEOPLE ARE VERY SELDOM OFFENDED, SINCE THEY MOST LIKELY
HAVE MET THE PERSON ON THE OTHER END IN PERSON.... WE CAN BE THE BEST
FRIENDS IN REAL LIFE, AND STILL ARGUE AGITATEDLY ABOUT A PARTICULAR
PART OF IMPLEMENTATION DETAIL WITHOUT OFFENDING ANYONE.
Alex Limi
TEXT
Plone’s longevity can be tied directly to the effort we make to get contributors together in one place.
Martin Aspeli’s masters thesis “Plone: A model of a mature open software project” is a great analysis of the early days of the projects. A lot of great quotes about what
makes Plone work as a project.
Another thing that separates the Plone community from a lot of other communities is the amount of face-to-face communication we have… We can be the best friends in
real life, and still argue agitatedly about a particular part of implementation detail without offending anyone
19. WE WANT TO MEET YOU AND
MAKE SURE YOU’RE MOSTLY
SANE.
Alex Limi
TEXT
Or as he once told me.
20. EVEN THOUGH I'M NOT A DEVELOPER, THE PLONE
COMMUNITY IS A TANGIBLE, WARM, FRIENDLY, INVITING
THING TO ME. IT IS THE LENS THROUGH WHICH I SEE PLONE.
IN FACT, IT IS PLONE. THE SOFTWARE COMES AND GOES,
CHANGES, EBBS, ETC. IT'S THE PEOPLE THAT MAKE PLONE
WHAT IT IS.
Paul Everitt
TEXT
Paul Everitt
the Plone community is a tangible, warm, friendly, inviting thing to me. It is the lens through which I see Plone. In fact, it is Plone. The software comes and goes, changes,
ebbs, etc. It's the people that make Plone what it is.
Our generation came into this project hearing stories about
21. Courtesy David Glick
Sprints at a castle in Austria, Finland, Cape Town South Africa, Japan,
And perhaps most exotic of all…
25. It’s the fact that there’s now a reminder that no, you can’t bring a katana onto a plane at Schiphol Airport.
26. It’s “The Plone Ranger”, with Foundation Board Member Kim Nguyen as a backup singer.
27. It’s the RV we rented for PyCon 2013 to shuttle people into downtown San Francisco since Santa Clara was such a completely uninteresting area. This is the sort of
horrible evangelism we do and it helps solidify who we are as a people both within the community and without.
As one attendee put it: “You may code with Django, but you hang out with Plone.”
29. CAT HERDING
Managing an open source community is often referred to as “cat herding”, but I’ve never liked that term.
It’s meant to convey the difficulty of getting a group of dispassionate or unfocused people moving in the same direction, but I’m hard pressed to think of a single instance
where standing behind and attempting to goad contributors into moving towards a specific destination has ever worked.
31. The problem is that once you’re done, they’ll spend the next 15 minutes starting at the place the dot used to be, ignoring everything else going on around them.
33. IF YOU WANT TO BUILD A SHIP, DON’T DRUM UP
THE MEN AND WOMEN TO GATHER WOOD, DIVIDE
THE WORK, AND GIVE ORDERS. INSTEAD, TEACH
THEM TO YEARN FOR THE VAST AND ENDLESS SEA.
Antoine de Saint-Exupéry
TEXT
The best work we’ve done has come from storytelling, from saying “beyond the horizon is a thing and it is wonderful and will you take us there?”
34. ONE WILL WEAVE THE CANVAS; ANOTHER WILL FELL A TREE BY THE LIGHT
OF HIS AXE. YET ANOTHER WILL FORGE NAILS, AND THERE WILL BE
OTHERS WHO OBSERVE THE STARS TO LEARN HOW TO NAVIGATE.
BUILDING A BOAT ISN’T ABOUT WEAVING CANVAS, FORGING NAILS, OR
READING THE SKY. IT’S ABOUT GIVING A SHARED TASTE FOR THE SEA, BY
THE LIGHT OF WHICH YOU WILL SEE NOTHING CONTRADICTORY BUT
RATHER A COMMUNITY OF LOVE.
Antoine de Saint-Exupéry
“Citadelle”
TEXT
The site “Quote Investigator” believes that quote is really a modernization of a statement from his “Citadelle”, and while certainly not as succinct, this original version
feels far more appropriate:
I think this could not possibly describe us better.
35. STORIES THAT SHAPE OUR FUTURE
PETE AND ANDY TRY PLONE 4
Blog post from Martin Aspeli in
Details the first two weeks using Plone for two new integrators
Basically a set of user stories for Plone as a project. Not just code, but also documentation, installers, add-ons.
Touched on the features that would later become Diazo, Mosaic, Theme Editor, mr.bob
While not everything came true, it was still something we could look at and decide that, yes, we’re on the right track.
Really the starting point for my own journey as a core contributor.
36. STORIES THAT SHAPE OUR FUTURE
INEZ BECOMES A PLONE DEVELOPER
Steve McMahon followed that up several years later. Now that Pete is a manager and Andy now works for Mozilla, a new python developer is learning the system.
Highlights a lot of what Plone has gotten right
Primarily points out gaps in our documentation, installers, and template generation tools.
37. STORIES THAT SHAPE OUR FUTURE
CAL DOVAL
And they don’t have to be stories told with words either. Cal Doval mocked up a new add-ons page during the Emerald Sprint in 2014 and immediately sparked a lot if
interest in redoing that interface and that evolved into the add-ons page you see in Plone 5.
38. IT’S TIME FOR
NEW STORIES
We’ve realized so many of the stories told by prior generations. Dexterity, Diazo, Recurring events, Mosaic.
Time to begin writing our own.
Not necessarily for us, but for the generations to follow.
And we’ve begun doing that.
Eric Brehault talking about “Hackability” in Plone
Plone 2020 asking "Plone will be running on Python 3 by the year 2020. What does that look like?”
We’re beginning to write the headless CMS story
39. • New User Experience framework for Plone
• Created by Albert Casado
• He came up with this, this took me totally by surprise
40. Pastanaga
• Victor: "Oh, by the way. Albert is working on a new UI framework for Plone"
• Used to developers doing stuff on their free time
• But Designers? Same passion, spending free time on s. he cares about
• Briefly: Design Principles
42. Adaptive User Interfaces
• Second principle
• 2015 Google reported: mobile overtook desktop searches 10 countries (US, Japan)
• 2016 Guardian reported: According to Statcounter mobile overtook desktop worldwide
• Challenge: Adapt UI to best user experience on that particular device
43. Focus
• Particular User Interface but also most important users
• Eye opener experience: Blog - write offline -> copy over
• 10 years ago: Plone had an outstanding UX/UI for its time: Kupu / TTW
• 15 years later: TinyMCE (like everybody else) -> Plone is not standing out any longer
• How do we make Plone’s UX stand out again?
• How do we make this happen?
44. Carrot on a Stick
• Albert provided us not only with a framework but an idea
• Pastanaga = “Carrot” in Catalan
• Idea: something that we can use to drag ppl to something
• Resonated with me
• Pastanaga idea started a life on its own with a second story
45. Another story …
• plone.restapi 3y ago as idea in Sorrento -> PoC
• Ramon plone.rest -> Guillotina (-> Nathan)
• Thomas, Lukas: plone.restapi (AT, Adapters)
• Eric: Angular SDK / Rob, Roel: plone-react
• If we want to modernize the UI, we need modern technology, with those two ideas we can have both
46. • Use Pastanaga to drag people to
• Plone, make it stand out in the CMS market again
• Modernize our front end and re-use momentum of the JS community over re-invent
• Modernize our back end with Python 3 and Zope 4
• Bright future for future Plone versions
47. IT’S TIME FOR
NEW STORIES
Challenge you this week to share the story of Plone, both past and future.
If you see someone with that distant stare that comes from staring at the AccessControl code trying to debug an error in their site, say “Grandfather, what was it like
when you were young?” A few beers might help.
And I’d like to challenge you all to begin writing the story of Plone’s future. Not just for you, but for the generation that follow.