Wednesday Lightning Talks

published Oct 12, 2022

Lightning talks at the Plone Conference 2022 in Namur, Belgium.

Vincent Paulis: From IT to brewery

I grew up in Spa, studied IT in Liege. I like comic strips. My company is called Bridge IT. A few years ago I adapted my company to officially sell beer. Brasserie du Point, le Gout du Plaisir. If you would stop working in IT, what would you do? I followed a micro brewery training. And I have a comic from Renaud, a well known comic artist, on my beer.

Andreas Jung: Typesense integration for Plone

A new full text solution for Plone 6.

A long time ago I created Products.TextIndexNG3, but after a long time it died. I was searching for a decent replacement. I came across Typesense, a few fault-tolerant, full text search solution. Faceted search.

The browser gets javascript from Plone and then talks directly to the Typesense server, so it is very fast.

Every widget is configured through javascript, very customisable.

You can deploy it on-premise or in a private cloud, either as single binary or as Dicker,.

Code: https://github.com/zopyx/zopyx.typesense

Mikel Larreategi: volto-react-table-widget

We had a use case for a kind of datagridfield. Standard stuff worked okay, but hat if the user needs more than 1000 rows? The browser dies.

How about react-table? Really fast. We integrated it into Volto.

For bonus points: CSV export import.

See https://github.com/eea/volto-react-table-widget

Erico Andrei: collective.elasticsearch

Developed originally by Nathan van Gheem. The Brazilian electoral justice site uses this. We have been updating it to Python 3. Also integrates with Volto.Simple to configure. Specify which indexes you want to use for Elasticsearch, press a button, and it will migrate. You can even delete the indexes from the portal catalog.

See https://github.com/collective/collective.elasticsearch

Fred van Dijk: Improv wisdom

Useful self help for your personal life. And how to participate in the Plone Community.

Improv wisdom is a book from 2005 by Patricia Plan Madson. See http://improvwisdom.com/

Improvisation theater: earlier in life I thought: how can this possibly be fun?

I realised today that this is also an interesting take on how the Plone community works.

Ideas from the book:

  1. Say yes. Be more adventurous. Don't say no by default.
  2. Don't prepare. Give up planning.
  3. Just show up. Just being somewhere enables things.
  4. Start anywhere.
  5. Be average. Dare to be dull. Be nothing special.
  6. Read the book.

Philip Bauer: What's awesome?

A community-curated list of awesome Plone add-ons: https://github.com/collective/awesome-plone

A curated list of things that make Volto awesome: https://github.com/collective/awesome-volto

We need you to help with this list: create an issue or pull request to add packages to these lists, or to remove no longer relevant ones.

It is fine to add your own, you are good.

Jon Pentland: Volto use case

NSW Government released a design system In 2018, now third version, we updated it. Result is 29 new Volto components. Hundreds of variations.

Lessons learned:

See https://github.com/pretagov/nsw-design-system-plone6

Victor Fernandez De Alba: Auto login

There was some problem that I created a fix for as Chrome extension. Click it and you are logged in. Also works in Firefox.

See https://github.com/collective/plone6-autologin-extension

Jens Klein: pipx

When you install an executable Python based tool, for example cookie cutter, this pollutes your virtual environment. pipx creates virtual envs on the fly, one for each tool. It updates, unless you tell it not to. Just use e.g. pipx run black. Or pipx run --spec zest.releaser fullrelease if the command differs from the package name

Flip McFadden: POSKeyError: how not to fix this

This is a serious talk.

You could use backups, but those are for the weak. So you have a POSKeyError. I like to debug things. A lot of people tell you how to do things, for example this smart guy. Don't belief him, that would be boring.

So try stuff. Use RelStorage. Reindex. Get advice from community forums. Step six or so: invent a new word: Kadosectomy. We will remove a bucket from the BTree. Seventh step: manually bisect a BTree and delete the bucket. Remove the BTree. Replace it with a fresh copy. Your problem is now fixed, and you can let someone else fix the AttributeError.