PLOG Tuesday morning

published Apr 07, 2015

Notes from Plone Open Garden Sorrento, april 2015.

Maurizio Delmonte welcomes us to Plone Open Garden. Organized by Abstract. About sixty people will be here. This is a Plone Strategic Summit. Ninth year of the Open Garden.

No laptops in the hall please, let's give the other clients of the hotel a sense of vacation still. Do not go everywhere, give others a bit of space. We have enough room for you.

Paul Roeland speaks. Last Strategic Summit was in 2008. Was anyone there who is now here? Only Matt Hamilton. Last Plone conference in Bristol there was talk about Plone 2020, more about the backend. There will be Hangouts tonight at 2200 local time, and Friday too, same time, connection with PyCon in the USA.

Ground rules:

  • one conversation at a time
  • not talking over someone else
  • letting two others speak before I speak again
  • be nice

Always appoint a person who reports, writes down, draws it, whatever. Maybe snippets of code will do. Sticky notes, flip charts. Tell the rest of the people here, tell the world, because not everyone is here.

If you want to complain about how Plone 4.2 works, this is not the time. We look from Plone 5 forwards.

Talks in the morning. Technical track in the afternoon.

We love it when you talk a lot to each other. Having a not so fantastical internet connection helps, so be happy about it. Do not be afraid of talking if this is your first time here. Step out of your comfort zone. Do not talk about just the backend, which some of you could talk for three weeks about. If you are a Plone provider, try to think like a Plone user.

Timo Stollenwerk speaks about the technical track. Goal of today: full report about where we are from a technical point of view.

Guido Stevens talks briefly about Plone Intranet Consortium. No sprinting planned, just talks about direction.

Complaining session

What are your major pain points in working with Plone at the moment? We split into three groups.

  • Almost impossible to hire new developers. Even just people who I can train up. Django or other Python web developers. There are no Plone developers walking around that you can snatch up. But you can train the others. Better have web developers than people who have only worked with Python in a scientific way. Still, there is lots of Plone code, divided over hundreds of packages, and that makes it hard for new people to get productive quickly.
  • Lots of old CMF or Zope code from the nineties, or early this century, that mostly works, but that nobody dares to touch and improve or cleanup.
  • Collective is nice, but there are thousands of packages, and no known good set of add-ons that really work and are still maintained. You do not want to reinvent the wheel, but do not want to use somebody else's abandoned wheel either.
  • You can easily click around in the settings, but then you want to export it, create an upgrade step, just too much trouble to get that done right, at least for new developers. Or how do you get extra content on the page: viewlet? portlet? diazo? browser view? Through The Web is still a good starting point for getting new people enthousiastic. Sean Kelly's video is still awesome, drawing people in, but it uses technology that is eight years old and that we no longer advise.
  • We miss completing things. Things start out nice, but developers get bored with it and it is much more fun to create new stuff without finishing the last five or ten percent. But to finish it, you need to put it in the wild and then people complain because it does not work completely. For example Dexterity, it had nice concepts, I tried using it a few years ago, in a way that should work (by looking at code, not at the then not existing documentation), and it did not work.
  • Hard to estimate how much work it is to fix things in a new client project, so you estimate higher, so you do not get the project. It is not a problem specific to Plone. Problem of classical fixed price projects. Difficult for me to have profitable projects in Plone. Every project has a new black box, a new part of Plone that I have not touched before, so where I run into problems that are hard to estimate and solve.
  • Plone has lots of features, it is hard to learn them all, keep them in your head. We might need to drop more stuff. It is easier and more fun to write something new.
  • Editing of complex pages is hard, content on one page being shown on other pages. Too hard to build UI in Plone. We add a prefix for each component so we can know css for this component only affects that component instead of needing to know which other pages might be adversely affected too. Mosaic should be finished, it had been a problem for years to solve lots of theming problems we have.
  • Some packages are old, for example last release of plone.app.tiles is from 2012, but there have been several helpful commits on it which have not been released.
  • Plone is ahead in some areas, but in the user experience of content editing, Plone is lagging behind in enterprise level.
  • I am concerned about migration from Plone 4 to 5. I generally customize login form, really specific theme now with Diazo. Now all the login form stuff was removed, done differently, so it is going to be hard to redo. I may not be able to sell this migration to the customer, and stay on Plone 4 for years. Currently we use bootstrap 3, and Plone 5 theme uses bootstrap 2, so that will give difficulties. Lots of add-ons cannot support both Plone 4 and 5. Upgrade guide still needs to be written. Also upgrade guide from Archetypes to Dexterity, and from LinguaPlone to plone.app.multilingual. It would already help to add a header in the documentation to remind others that something needs to be written.
  • Several packages have been released as a bugfix release, where it suddenly no longer works in Plone 4, without creating a branch.
  • If stuff is broken, open a ticket. But it should be clear where to file it, on the front page of docs.plone.org.
  • Lots of pull requests are open, please look at them. If you are not sure about merging, at least add a comment. We need a process. dev.plone.org is slowly being moved to github.
  • Current LDAP integration is old. Lots of layers. Very large or remote LDAP: very slow. Should be on the roadmap, in core Plone.
  • Releases are not happening often enough, should be every month. Now releases take up too many changes, which can give more unexpected problems. There is just so much development going on that it is hard to keep on top as release manager. Working on a release team.
  • Complaint about companies using Plone and not contributing back. But sometimes it is hard to contribute. Plone TuneUp may be reintroduced, with team leaders available. Get people into the community. Make donations easier.
  • It used to be easy to create complex workflow with ArchGenXML, but now you need to code it yourself. There is a plone.app.workflowmanager that does similar things, rewrite going on.
  • Setup a review service so you can pay someone to look at your project to check that it is state of the art.