Plone Archeology: running Plone 1.0 to 4.2 in containers

Hi everyone! :waving_hand:

Ever wondered what Plone looked like back in 2003? No need to hunt for old screenshots anymore. You can just run it.

I wrote a post about it:

The short version: I'm working on a project that upgrades a Plone 2.1 site to Plone 6.2 with Volto. Getting Plone 2.1, and the ancient Python it needs, to run on a modern OS is a challenge, and we had no container images for anything older than Plone 4.3. So I built them.

There's now one image per release series, all the way back to Plone 1.0. Each one has a -demo variant with a Plone site already created. Pick a year and off you go:

docker run -it --rm --platform linux/amd64 -p 8080:8080 plone/plone:1.0-demo

Open http://localhost:8080/Plone and log in with admin / admin. Swap 1.0 for 2.1, 3.3, 4.2… and enjoy the nostalgia. :grinning_face_with_smiling_eyes:

(Please don't use any of these in production! Besides being old, they are not supported and have known, unpatched security issues. They're meant for content extraction, migration rehearsals and archeology.)

A nice side effect: this work also led to the proposal to standardize the names of our container image repositories. The rename is done, and the old plone/plone.docker repository is now plone/container-historical, which is where these images live. Thanks @gforcada for the name!

Part 2 will cover Plone 4.3 to 6.2, as soon as those images get their -demo variants too.

If you take one of them for a spin, tell me which version brings back the most memories. Did your Plone journey start with 2.5? 3.0? Screenshots are very welcome!

p.s: And, of course, to please our good friend @polyester: We do have Hello Kitty!

15 Likes

Hi Érico!

I love this work - thank you for the effort, it is much appreciated.

I have several Plones running on 4.3.4 and one using 2.5.5.

I want to migrate to 6. I cannot seem to get collective.exportimport installed using buildout.

Could collective.export.import be include in these legacy Docker images? Could I then be looking at simply including in my add-ons and copying the var folder to get them up in Docker so that i could extract the data ready for import into Plone 6?

You can see my current versions at phd.richardmillwood.net and at naec.org.uk

collective.exportimport supports version Plone 4.3 and above (and I did not touch those images yet), but I did have success doing that in the past (by pining the correct versions required by collective.exportimport)

For Plone 2.5.5, maybe Products.ExportImport could work (I'm currently working on a Plone 2.1 export and, so far, so good)

1 Like

Plone 4.3.x requires using plone.restapi = 7.9.1 to be able to use collective.exportimport.

plone.restapi requires to pin some dependencies, they are documented in the README of that version here:

2 Likes

IIRC Philip has some documentation for sites < Plone 4 where he uses jsonexport or another package to get ar least the basic content out of a site for further processing for import with collective.exportimport. Have to look it up.

1 Like

I did not use it for a while, but back in the days collective.jsonify helped me a lot with older sites.