Plone

published Nov 03, 2021

This is here to serve as contents for the atom/rss feed for Plone, also read by planet.plone.org.

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.

Summary of Plone conference 2014 Bristol

published Nov 03, 2014

What did I take home from Plone Conference 2014 in Bristol?

During the Plone Conference, as usual, I made summaries. You can see them all by checking the ploneconf2014 tag. I do this for you, with pleasure, but also for myself. Now I can read my own notes and gather my thoughts and remember what I actually heard.

Here are a few highlights.

  • Plone 5 is coming. I would be very surprised if a final release is done this year. I would be even more surprised if it did not happen in 2015. I may want to try to redo my own website with the next alpha of first beta version.
  • Transmogrifier can be a good way to migrate sites. I have some experience with it already. I may want to use collective.jsonify to migrate my current Plone 2.5 site...
  • The new Plone 5 theme is called Barceloneta. It uses Diazo. It uses the new resource registries that you can configure in the Plone UI, replacing the old portal_css and portal_javascript. Your custom Plone 5 themes should do that too.
  • A lot is happening in Javascript for Plone. The conference gave food for thought on AngularJS and json. A json api on top of Plone is being worked on, which can help in creating a completely different UI if your website needs it, or it can make showing Plone content in a completely different framework possible. Mockup should be the basis for your widgets or other Javascript work. Quote: We have to get the whole community into thinking 'Javascriptish', really push it into the head of more developers.
  • Documentation is (as always) being worked on, including versioning. Using five.grok in code is not officially recommended practice (it should work fine, but too many people in core development do not like its 'magic'), so the documentation that uses it is being copied to a grok-only part and edited in the original location to use best practices.
  • The Plone Intranet Consortium is working on improving Plone as an intranet. Several companies are banding together, with online sprints each Wednesday. The plan is to give the license of the code to the Plone Foundation. But for the moment development is tightly controlled so that effort is focused, with a design first approach. Contact us if you want to join.
  • The Plone Roadmap team talked about the roadmap and vision for Plone in 2020. Most important is what we want to keep, which is first and foremost: the community. Particularly, the Roadmap Team is the community, which means you. Favorites for changing: have one canonical way to do something (practical: improve plone.api); create a json api to help enable new stuff; improve end user experience.

I had a great time. Thank you, each and every one. Hopefully see you next year in Bucharest.

Sprint report Saturday

published Nov 01, 2014

Report on sprints on Saturday at the Plone Conference 2014 in Bristol.

See list on https://titanpad.com/5oi4wTa0oP

p.a.contenttypes: working on custom type migration, Topic migration, portlets, working on broken diffs for various content types

Mosaic: lots of bug fixing, field tiles are working, tomorrow application tiles.

Working on theming editor so it works on Plone 5. Showing people how everything works together. Plans on improving stuff.

Clean Diazo theme. Slimmed Mockup repo. Resource Registry is tricky, migration.

plone.api: work on getting PLIP out for inclusion in core. Adding new modules. We ate the chocolate.

Heroku: some stuff got pushed. Idea for demo pack for the paragon add-ons.

plone.login: password strength as pattern, wrapping forms to make it easier to customize, control panel to indicate where it should be redirected to after login.

Plone testing: migrating Products.contentmigration to plone.app.testing.

CI/Jenkins: setting pipelines to get a quicker response.

Documentation: no more magic in the repo, working versioning, docs for Plone 3.3 now look like Plone 3.3, busy killing grok examples, 12 or 14 new contributors today.

Plone training: came up with plan to improve the story, plan for automated screen shots. Maybe reintroduce the old theme editor from David Glick, as for now that is easier.

Themes on docs.plone.org. Version and language switcher.

Rapido: fighting with mockup theme editor. New field type for Rapido.

Plone control panels: figuring out how to fix loose ends, work underway.

PloneEDU: new folder at https://plone.org/edu. Docs on configuring, case studies.

Intranet: getting everyone up to speed, get buildouts running, code and communications, patternslib intro, migrating Plone Intranet to Plone 5a2, updated documentation, design driven approach is a bit different than people are used to so we talked about that, investigating how we can best use Plone's form handling mechanisms with forms that are completely defined in an html design, checking our conceptual thinking, looking at switching between Diazo themes on the fly.

Japanese bugfixes: quite a few mugs were fixed, see you next year in Tokyo.

Existdb: making integration possible.

Installers: providing moral support to Eric as he was releasing, documentation driven development, ansible build kit documentation nearing completion at https://github.com/plone/ansible-playbook, docker documentation at https://github.com/plone/plone.docker, please read those and give us feedback telling us if it is clear and makes sense.

RESTful json api. Added notes from open space, rough description of Hydra, work on json api for news items and folders, and for search which is really hard to do.

Ecosystem KGS, add-ons installing through the web: getting information, looks promising.

2020 discussion: Sally is gathering all the sticky notes that people wrote.

Plone releasing: releasing packages, people: please add changelog entries for changes that you do.

Matt Hamilton closing remarks

published Oct 31, 2014 , last modified Nov 03, 2014

Matt Hamilton talks at the Plone Conference 2014 in Bristol. And a little something for next year.

Thank you to the hotel, video and sound guys, our sponsors. Thank you Netsight team. Astra has arranged all the logistics and organized me. Thank you Scott or Wifi. Thank you to my wife, who felt very welcome.

Audience: "Thank you Matt!"

Thank you Plone community.

Not the end. Sprints tomorrow.

Looking forward to next year. What about 2015?

Alex Ghica. http://eaudeweb.ro. We will do the next Plone conference in Bucharest in Romania. Part of Europe, EU, NATO, so all is safe. :-) Venue is a five star hotel, city center, well connected. International airport. Ticket from London if you book it now is 20 euro. 12 to 18 October 2015. Thank you Elena Melis. Thank you Maurizio Delmonte as Sprint manager. Thank you Plone Foundation.

Plone Lightning talks Friday

published Oct 31, 2014 , last modified Nov 03, 2014

Lightning talks at the Plone Conference 2014 in Bristol.

Ben Cole and Matt Sital-Singh: netsight.cloudstorage

Add-on designed to offload large data to cloud storage. Transcoding of videos to web-compatible format. Control panel to configure things. You can also stream it.

We will make a release of that soon. For now, see https://github.com/netsight/netsight.cloudstorage

Manabu Terada: Plone behind CDN

Oud customer requested highest available system, lots of requests, large requests, more than 384 MBps. CDN: Content Delivery Network. Using CloudFront. nginx, varnish, Plone 1-3. With some configuration nginx will first get the content normally from Plone, later requests will be handled by the CDN. Using this for various universities, including single sign-on for students, some for local government.

Please join Plone Symposium Tokyo group.

Eric Steele: Hey, when is Plone x.x.x going to be released?

We check Jenkins, making sure all tests pass, check for new packages, make sure changelog are updated, check crazy commits, update versions.cfg, check p.a.upgrade, ask for locales, update metadata.xml, make pending release, unified change log, notify installers team, probably forgetting a few.

You make some progress releasing, then someone does more changes, hard to keep up and keep it stable. Ticket 13283: merge several packages into one, may help.

Thank you to Zest for creating zest.releaser, keeping me sane.

Alexander Loechel: security

Studies on security. Take at least fifteen minutes per day per system to check for updates. Drupal had some problems recently, unless you updated your system within seven hours of releasing the hotfix.

Check these packages:

  • plone.app.vulnerabilities
  • plone.hud, plone.app.hud
  • Check for vulnerability checks: plone.vulnerabilitychecks

See https://github.com/loechel/plone.vulnerabilitychecks.core

Timo Stollenwerk: Plone Testing and Continuous Integration Team

Keeping a green build since 2011. I am the guy who shouts at you when you break the plone testing build, that is why I now sound like I sound.

Continuous integration rules: http://buildoutcoredev.readthedocs.org/en/latest/continous-integration.html

We did some sprinting this year. I went to the Jenkins User Conference Europe in June 2014, presenting how Plone uses it.

CI infrastructure. Sven did a really great job of creating an infrastructure with nodes, multiple builds and test jobs. Ramon created mr.roboto to report results back. Asko improved acceptance testing, with robotframework. Testing cleanup, moving from PloneTestCase to plone.app.testing.

Future plans: maybe Docker setup.

Team page: http://plone.org/community/teams/cit

Gil forcada: are you ready for sprinting?

Have you ever not finished what you are sprinting on?

Use https://github.com/collective/sprints

Add info on your sprint topic: titel, what, who, code status. Update it at the end of the day.

Fred van Dijk: Hierarchy and/or Relational

Another look at how you structure information on your site.

Too much hierarchy is deadly for customer centric. Plone has a hierarchical folder structure, that always shines through, even when you add relational items or tags. Conflict: chaos or relational.

We want to use our hierarchical Plone hammer and see nails everywhere. Designer had other ideas, maybe because of Drupal background. They wanted 25 different content types, just so they could have relations between themes, projects, etcetera. Oh, there was no Folderish type.

But couldn't we use mostly simple Folders and Pages? The functionality is not actually different, just the label.

Landing pages around themes. collective.cover. Theme page has links to reports and other stuff.

Two part labeling: categories and themes. collective.classifiers dexterity behavior.

You can search in collections on these classifications: give me all 'themes' on category 'water'.

Similar solution may be collective.taxonomy.

Jens Klein: Alpine City Sprint 2015

This winter we will at last again have a sprint in Austria, in Innsbruck, capitol of Tirol. Lots of (olympic) ski areas. Very nice view from high restaurant that we will be visiting. Your family is welcome too. Guided tour in quantum physics institute.

Sprinting on probably Plone 5. Stabilize what we have, for doing daily business with Plone without headaches but with fun. plone.app.multilingual needs some love. You are invited to work and have some fun and maybe stay a few days longer and enjoy Innsbruck.

Find us on Coactivate.

Pawel Lewicki: ADFS

ADFS: Active Directory. Single Sign-on.

Using dm.zope.saml2, extending it with some functionality.

Julia Pasov: Plone, Virtuoso, Elasticsearch

Purpose: link data from multiple sources. Fast search for semantic data (rdf). Index data from an endpoint (Virtuoso) into Elasticsearch.

You need an RDF marshaller for the Plone website. Via Virtuoso. RDF River plugin for Elasticsearch.

But you can use the plugin to get the rdf from Plone directly into Elasticsearch, without Virtuoso in the middle.

Asko Soukka: Mosaic

Mosaic is a rendering engine for Plone. Flexible custom layout of the page. You can make prototype layouts that editors can use.

Christian Ledermann: Founders4Schools

We connect teachers with entrepreneurs. Get them to speak to school children. See http://Founders4Schools.org.uk

We have an Appathon:

  1. Think of an app. Work in teams to think of an idea for an app.
  2. Create an app prototype. Go into universities to get students with code skills.
  3. Winners announced.

Guest house is in Mountain View. Companies like Google, Facebook, Tesla. Consolation prizes of Raspberry Pis.

Please host an Appathon yourself, very nice. Contact us for ideas and support.

Nejc Zupan: Plone on Heroku

We have it running. You need a credit card currently, but we will work on that.

See code here:

https://github.com/niteoweb/heroku-buildpack-plone

In your own buildout you need to change a few things, enable RelStorage, all documented on the above repository. Our company website is running for a couple of months on Heroku.

Eric Brehault: nodeenv

nodeenv is a virtualenv for Node. easy_install nodeenv, activate it, use npm install ....

See https://pypi.python.org/pypi/nodeenv