Weblog
Sprint report Saturday
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
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
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:
- Think of an app. Work in teams to think of an idea for an app.
- Create an app prototype. Go into universities to get students with code skills.
- 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 ....
Plone Foundation meeting
Annual meeting of the Plone Foundation at the Plone Conference 2014 in Bristol.
Present: Alexander, Andy, Cris, Érico, Paul, Steve from the board, plus lots of foundation members.
Paul opens the meeting. Everyone is welcome, only members can vote.
Items on the agenda: the old board leaves, new board enters, annual report.
Thank you ambassadors. We had new members, let's give them an applause. Thank you sponsors. Thank you sprint organisers and sponsors. The Foundation sponsors sprints, but that is only a beginning amount to help start things off.
We made a slight loss, we are not super rich, but we are secure. We have seen that the more money we spend the more money comes in, so I recommend to continue that.
Steve moves acceptance of the annual report, Philip seconds. Motion passes unanimously.
New board: seven nominations for seven positions, so no elections needed. If you prefer elections, run for the board, we love it.
Steve moves to appoint the board. Érico seconds. Motion passes unanimously.
Thank you to the outgoing board members, Érico, Andy, Spanky.
Welcome new board members: T. Kim Nguyen, Chrissy Wainwright, and Carol Ganz, who join Paul Roeland, Alexander Loechel, Steve McMahon, and Cris Ewing.
Officers will be appointed in the board meeting next week.
Chris C. moves to adjourn the meeting, several people second. Unanimously approved. Meeting is adjourned until next year. Place is hardly a secret, but will be announced later today.
More info on the Plone Foundation can be found at https://plone.org/foundation
Open space on Plone 2020
Open space on Plone 2020 at the Plone Conference 2014 in Bristol.
Led by Philip Bauer and Martin Aspeli.
Roadmap on Plone 2020 was started in Brasilia last year at the conference. Was mostly focused on underlying technology, maybe moving from Pyramid to Zope. Sparked a discussion. Finding common ground. Where do we want to be? Which Python version? Which audience? What are our key strategies to be better?
Take ten minutes, write one or two items on a sticky pad: why are we here? Why are we using Plone? Maybe because it pays the bills, maybe because it does something that no one else does.
[Maurits: 1. Professional and friendly community. 2. It is my job (that I love).]
Martin summarizes.
- Absolute number one: community.
- Learn from clever people.
- Wisdom, shared experience.
- Zope Component Architecture, technology.
- Directly usable.
- Open source managed by a foundation.
- user friendly
- jobs
- out of the box features
- Allows my customers to do more.
- Great security track record.
- I don't know yet, I am new to Plone.
So: if we are going to change Plone, can we please not mess the above up?
Critical mass: lots of people use Plone, so customers do not depend on only you: other companies can take over or assist, if needed. That is good.
Now look to the future. Write down on sticky notes: one or two things that you want to change in Plone in the next five years. Be specific, concrete.
[Maurits: less ways to do stuff, one canonical way, for example plone.api. Confusing for new (and old) developers that you can add something in a skin layer or a browser view or a utility or a tool. The move to storing every config option in the configuration registry is a good example of progress. Have a stripped down Plone with the old ways removed, though still addable as option if you include some extra packages and know what you are doing.]
Martin summarizes and we have a discussion. No one said: use Pyramid.
- Python api, one canonical way. plone.api mitigates risk. Empower people that can build such an api to get things done, instead of reaching 80 percent of a finished product.
- Javascript api, embrace javascript, REST, web service. We agree on that it is good to have a RESTful json api. Some don't care, but are not against. It will help enable new stuff.
- Improve end user experience, better portlet handling, simple, intuitive, beautiful, flexible layout editor, more UX designers in community, fix default pages. Intranet, mockup, mosaic. Target specific audiences. Already Plone is usually only one of the systems that a client is using; someone may have Wordpress as front-end and Plone that does a few pages as well, we should be a good citizen and enable that.
- Documentation and training, engage computing students, cookbook, single entry point knowledge base, standards to do certain things.
- Deployment, be on every CPanel like platform, wsgi, mr.bob template engine, improve caching performance.
- TTW theming and templating, unify theming solutions, theme editor for real use in production, TTW customization export.
- Simplify code base structure, less methods when I list the methods of an object, legacy removed, only two ways of doing things ;-), reduce number of eggs, do not break if one part breaks.
- Removing things, cpy/cpt code, remove cmf. It is possible to remove stuff, but that will break things, which means pain. How much pain can we accept? If we get the Python api correct, we will have less pain; it is a step in the journey. Irritating if for every small release a few things might break; better have more breakage in a major release, that is less problematic. Some don't do in-place migration of content with plone.app.upgrade anymore, using transmogrifier. Add-on developers: use plone.api. DeprecationWarnings: can help, but usually they are annoying and ignored until stuff really breaks. We may be able to say to add-on developers: use plone.api and we can protect you from breakage, be stronger about saying what is safe. Be clear about what the correct way is.
- Forms, merge z3c.form, or kill it.
- Motivation, less bitching, empower leaders, bring Martin and Lawrence back in the community (twice), more fundraising, help Plone companies market Plone, success stories, bring more people from broader Python community and other communities (js, wordpress, you can put Diazo in front of wordpress too), be more inside the broader Python community.
- Give Zope some love, roadmap communication.
Plone Open Garden in Sorrento next year may be a good time to have a strategic planning summit. The Plone Foundation may be able to help people get there, with travel stipends. Also: it is good to pay the foundation so they can continue to do that.
Let's continue discussion on mailing lists too. Python and JSON api seem clear winners to work on. Consensus on removing things, but there are risks. Continue the conversation on UX improvements.
This right here is the roadmap team, not some secret group. This is where Plone happens.
Can we put this somewhere in documentation? [Feel free to copy this somewhere and improve it; Maurits.] Communicate it, add a news item. Can we do that? Yes, Eric will sit down with Christina.
Can we somewhere let people vote on ideas? Not just developers here, but users everywhere, without needing to subscribe to a mailing list.