Weblog

published Nov 03, 2021 , last modified Nov 04, 2021

Lightning talks Friday

published Oct 16, 2015

Lightning talks on Friday at the Plone Conference 2015 in Bucharest.

Jens Klein and Christine Baumgartner: Castle Sprint

A message from the prince. Castle in Goldegg, near Vienna. Next year Plone is fifteen years old. We will go back to our foundations. We will organize another Castle Sprint, with Phil Auersberg. We will announce more at the end of the year. Sprint will be around end Spetember, beginning October next year. Will be a small invent. We will be sure to invite Alex Limi and others.

Sven Strack: mr.docs

mr.docs tests documentation. Uses docker with properly configured Sphinx installed. With this in combination with mr.butler I have started testing the plone core packages. I will start sending mails to the last committer when you broke the package.

Joel Lambilotte: IMIO

Created by Belgian government. We write Plone software for local authorities. An organization was needed so we can share software: local authorities usually do not do this, as they are competing with each other. IMIO has more than 240 members, more than 60 percent of the Walloon communities.

Chris Lozinski

Zope ZMI sprint starting today. Demonstration of the J templating language.

Christine Baumgartner: Alpine City Sprint

At the end of January, welcome in the Alps!

Gil Forcada: World Plone Office Day

Each last Friday of the month: work on Plone. We have entry-level tasks ready so newcomers can join. Talk about it on social media, get on irc. You can meet with each other, maybe join forces with a few companies that day. Thanks!

Philip Bauer: migration of custom types

Plone is awesome. Say you have a custom archetypes content type. Install plone.app.contenttypes. Your custom type is still editable. On the new content types you can enable all kinds of behavior, so you want this for your content type too. You go to the @@custom_migration view, select your old content type, a new content type, some fields to migrate, and Plone will migrate your content items.

There is no need to write custom migrations yourself, just use this, and report issues if you encounter them, and we will help you.

Simone Orsi, Matt Hamilton: Plone Open Garden

PLOG is the best way to get in touch with the Plone community. We organize it every year in the Italian spring. Speakers, a garden to talk about Plone, sprinting. What is Plone for you? Find out in Sorrento! Family oriented event, you can bring wife, husband, kids.

Eric Brehault: Empowering users

We have a powerful theming tool, excellent, good. But users need more. They need to be able to create dynamic blocks, insert those into the page. They can do html, Python, but don't know viewlets, portlets, tiles, thingies. Now they can use Rapido. Rapido extends the theming editor. Create a folder, add html, simple python, use Diazo or Mosaic to include it, and it is going to work. You can use plone.api in your python code. It has a ready-to-use json backend, with full REST api. You can add content rules with hooks for it.

Jonas Baumann: ftw FTW

At 4teamwork we have made some handy tools for testing.

With ftw.builder you can easily create content and users in tests.

ftw.testbrowser allows to use lxml and css selectors in your tests. Also use browser.debug() to open the page in a real browser.

See https://github.com/jone/ploneconf2015.testingdemo

Victor Fernandez de Alba: new plone.org

Showing the current state of the new plone.org that is under construction. We will still integrate several stats, like github commits. Contributor profiles. We will work more on this during the sprint.

Maik Derstappen: CMS Garden

CMS Garden is a foundation, a joint venture of open source CMSes. We did quite a lot of events. Bigger than Microsoft and Telekom at the German LinuxTag for example. Starting 30 October this year we will have our first 'unconference' in Essen, Germany. Welcome to our garden!

We have produced a brochure with information on open source CMSes. If you are interested in organizing something in your own country, contact us.

QA Team open space

published Oct 16, 2015

QA Team open space at the Plone Conference 2015 in Bucharest.

Manual QA: install prereleases when Eric Steele announces them? Partially. Also: make sure people other than consultants can use it, so having updated documentation, if only a note that most add-ons have not been updated yet.

We had a Launch Team, with representative of other teams. Can we turn that into a QA team? Meeting say once a month, coordinating, checking if existing teams can handle things.

Isn't it then a Process Team? Another layer. Multiadapter.

Sounds a bit like a daily executive team.

No, the release team may say we are ready for a release. But then we need to check with other teams. The technical side has a process, but the non-technical side not really. With Plone 5 a lot of technical stuff has happening and the non-technical side was rushing along trying to catch up.

The hotfix was there, the community was informed. But then there were updates to the hotfix and the communications team was not informed.

For releasing, we may start doing real alpha, beta, release candidate releases, and then do an actual final release with only a version number change. That may also give you time to update other parts, like communication and docs. And you can tell the release team to hold off. For docs, we need to include the latest stuff, even if it is automatically, but we need a moment to check it.

Problem is when technical is moving along fast and other teams cannot catch up. Technical is used to just pushing on regardless.

Have email addresses for teams.

Changelogs: declare if something is a bug fix or feature or something else. Check this automatically if possible, see if it is declared. Have best practices. Have a CONTRIBUTING.rst file in each repo: this automatically ends up on github when creating an issue or pull request.

Make it visible if all teams are ready, whether manual or automatic.

For major releases, you can prepare better, because there should be plips.

What checklists do we need?

Communications team:

  • Input: changelog, the interesting 'cherries'. Saying how to get to the new features (go here, check this box). For changes: is it a feature, a bug fix, is it for developers or end-users.
  • Output: news item, newsletter, social media, progress report, update feature list on plone.com. What's in it for end-users, developers, that decides what output we need. How are the changes significant.

Annual meeting of Plone Foundation

published Oct 15, 2015

Annual meeting of the Plone Foundation at the Plone Conference 2015 in Bucharest.

Everyone is welcome, only members of the Plone Foundation can vote.

There is a report of the last year. Together with other documentation, see https://plone.org/foundation/meetings/membership/2015-membership-meeting

Thank you to the membership committee, ambassadors, Google Summer of Code, including talk of student Prakhar Joshi today.

Some activities this year: Plone Symposium Tokyo, Strategic Summit Sorrento. Sprints funded: FourDigits Anniversary Sprint, Munich Theming Sprint. There were lots more sprints.

Launch of http://plone.com. Many thanks to many people!

We were present in PyCon, EuroPython. Hardly any marketing money applied there, more guerilla marketing, with lots of T-shirts at the right time.

Plone 5 launch, which we had nothing to do with, except that we launched a Launch Team for issues that are not code related. Much better than the Plone 4 release which was basically dumping a tarball on the website. Thanks!

CMS Garden Brochure with a section on Plone, working together with other open source CMSes. We are not each others enemies, we have other fish to fry. Thanks Maik, Armin, Christina.

Relicensing of Mockup to BSD.

Trademarks renewed or reissued, for another ten years.

New foundation members: Kees Hink, Sally Kleinfeldt, Guido Stevens, Alin Voinea, Christina McNeill, Peter Holzer, K K Dhanesh, Fred van Dijk, Roel Bruggink, William Fennie, Cris Ewing. You are very welcome to nominate yourself for membership, don't be shy, no impostor syndrome please. :-)

Nathan van Gheem is representative on TinyMCE user advisory board. OSI membership. Social media support by Christina.

Thank you to all our sponsors. New: university sponsors. The first is the University of Namur, Belgium.

Financial balance: we are more or less even.

Philip Bauer moves to approve the report. Cris Ewing seconds. Everyone says aye. Report is approved.

Now a new Foundation board of directors.

Cris and Steve are leaving the board. Nominees for the next board. Existing: Kim, Alexander, Paul, Carol, Chrissy. New: Philip, Victor.

Christina moves to approve the new board. Alexander seconds. All say aye. We have a new board.

Any pressing concerns that you want to ask?

Alexander moves to adjourn the meeting, Philip seconds. All say aye.

Lightning talks Thursday

published Oct 15, 2015

Lightning talks on Thursday at the Plone Conference 2015 in Bucharest.

[I missed the first lightning talks.]

Fred van Dijk: Non technical talk

Our marketing posters are now not only lists of features, but they get a feeling across, like: Plone cares about you. Thank you, marketing team and whoever worked on this.

Imposter syndrome: other people know much much more than I do, so I will keep my mouth shut and not do a lightning talk.

Well... sometimes you actually are incompetent. Don't go from incompetent to overconfident.

Read this book by Daniel Kahneman: Thinking, fast and slow. Don't read too much at the same time. Biggest take-away: two systems to create thoughts. Subconscious or active, which both are very valuable at their time.

Dylan Jay: hostout.docker

I presented hostout years ago, we still use it. Sets up python, server, custom packages. You can have one big mega buildout and deploy parts to different servers.

We have now added Docker support. Run:

bin/hostout app01 docker

JC Brand: converse.js

In Arnhem I gave a talk on xmpp integration in Plone. Afterwards I took a part of that and created converse.js. The xmpp server delegates authentication to the Plone Site, using this javascript. So you can authenticate as username@plonesite.domain.

Chris Ewing: collective.isotope

On our Jazkarta site, we have a projects folder. We want visitors to be able to filter through this list. We use the isotope library for this. [Looks nice!]

Config panel where you can arrange filters, sorting, layout.

https://github.com/collective/collective.isotope

I would love to have this as a javascript pattern instead, I would happily use that.

Antonio: cloud deployment

Cloud deployment of a Plone 5 cluster on multiple hosts. Plone 5 docker images eeacms/plone and eeacms/zeo. Rancher on top for the multiple hosts.

Sven Strack: The Importance of Documentation

published Oct 15, 2015

Talk by Sven Strack at the Plone Conference 2015 in Bucharest.

I am working with Plone since 2006. Also involved in writethedocs.

I like to complain. Sometimes too picky? Working with Plone documentation I can get grumpy, sad, annoyed, angry. I will give a heavily opinionated talk. Please do not feel offended if I talk negatively about the documentation (or lack of it) of your package.

This talk is from a user point of view. You must realize that a good product is not just about the code. You look at the whole package. If the docs are broken, your product is broken.

On the Plone 5 release day, we had links to at least three different versions of Plone in the installer part. Confusing. Lots of old and not working or not checked code examples. Lots of confusing mixups between Archetypes and Dexterity. There were pending (not published) docs about theming. If you are a Plone consultant, you can find your way, or know who to ask, but as a user... No note that lots of add-ons are not working with Plone 5 yet. No note telling that some of the docs are not updated yet. The answer to a lot of questions on irc was: "The docs about X are not finished yet."

We forgot all of that, or had no time: our fault.

The technical stack is great. Plone 5 is ready as consultant-ware. For normal humans, the docs were not ready yet. Strictly spoken, we forgot to care about normal users.

You are done when it works and it is elegantly documented. Do at least something.

Documentation is marketing. It gets you new users much quicker. It can save a lot of time, effort, money.

Think about the process of documentation for your project as the true act of creation. Documentation Driven Development. I did not make this up!

  1. You write Documentation.
  2. You write Tests.
  3. You write Code.

Simple!

You give yourself the chance to think the project through, without getting bogged down in a detail that you will rip out five minutes later.

Developer documentation is not end-user documentation.

It is much easier to write documentation at the beginning when you are still happy and excited about the project, instead of at the end when you are glad you have finally squashed most bugs and can ship it.

It is much easier to have a discussion based on something that you have written down.

Create an easy and friendly landing page. Make it easy to report a bug. Telling people to create an issue on github, is already too hard for some. We should add a link in the overview-controlpanel to docs.plone.org. Make it easy to find articles on docs.plone.org, the search is not great.

Know the audience you are writing for. Are you targeting end-users or developers. Don't assume readers have your skill set.

Always write a readme, even if it is not perfect. At least it is a starting point, and people can help you out.

Don't postpone writing docs, just add a few lines when you are coding.

Include docs testing in your CI setup. If you want to, you can even include automatic screen shots.

Configure your editor. There are plugins for editors, to check pep8, pyflakes, but also docs: ReStructuredText, spell check, maybe link checkers.

Use a git hook to check your documentation when you commit. Look at mr.butler, mr.docs. mr.docs is a Docker image with the same Sphinx setup that we use for docs.plone.org.

There is not one solution to fix it all.

Let's have an open space about improving the situation. Maybe a QA team?

And: docs or it didn't happen!

Questions?

The English of the documentation is sometimes really clear, and sometimes really complex. Simple is better, you may not even need translation then.

The new patterns have tested documentation in their Javascript. I don't think this gets included in docs.plone.org? No, it is not nearly enough. Nathan has written blog posts. The mockup documentation is not maintainable, at least it cannot be included currently, we need ReStructuredText. We are getting there, but the Javascript parts need much more work.

Patternslib has its own documentation. Do we just link to this, or do we want to include it? If it is in core, we want to include it. Patternslib documentation is in MarkDown, but that will work fine. We will have to try it and think what is in the long run most suited.