Getting add-ons and versions from Data.fs?

I have been sent a zipped var-folder of an old site (5.0.something) that someone wants up and running again.

Is it possible from Data.fs (or something else) to know which add-ons / versions the site had?

Ask them to provide the buildout :wink:

Or if you have time they'd like to pay for:
Look in the portal_setup object using something like eye · PyPI to see which profiles have been applied in the past. This should give you some hints on which addons are installed.
When you have made a working buildout or venv you can clear-and-rebuild the catalog, so you'll find any object that was installed using an addon without profiles.

In all cases this will take you a lot of time and will be expensive for your client.

Good luck and have fun!


:man_shrugging:t2: I would request the buildout including a list of all used add-ons including all versions...otherwise such an undertaking is useless and a waste of time...if your customer (this customer) wants something, it should provide the related information...otherwise tell him to move on... :clown_face:

install 5.1 and run it over this Data.fs, then add all the missing addons that will show up as missing classes.

After forensics you will need to start with an installation and data recovery.

Knowing the addon name and its version doesn't imply nor make sure that you will have access to the necessary addons. And without addons (specially for content types ones) it will be very difficult (if not impossible) to access and recover any data.

Just a quick note: it is dead simple to retrieve the data from a ZODB without the classes.
It takes time to figure out what is what, but it is simple.

I've written some words on Converting Plone data to Django - Four Digits on how to do that using the infra that ZODB.broken.Broken offers out of the box.

I'd be more than happy to help answers any questions you might have after giving it a go.

1 Like

Thanks a lot.
I proabably only need the data (content items).
Unfortunately, I have never seen the site.

I managed to start the site, so a plan was to export the site as ZCML and then reimport it (and it would tell what add-ons are missing), and then add the version of add-on (version from ≈ when 5.0.3 was released).

… will probably give it up if I get something else to do :slight_smile:

PS: They are almost certain that it was 5.0.3, and I have added their 'custom add-ons' (but they might be in wrong versions), but on a 5.0.4 site I get error PersistentAdapterRegistry object has no attribute 'ro'

I know I have seen this before, but can not find any info. Maybe some of the wildcard add-ons can be used

Is there a quick and easy way to know 'which version the ZODB has'? I want to give it a try before I 'give up'.

Just try the latest eye/zodb version first

Thanks for all the help, I managed to get it to install 'in the end'. To find which add-ons were used, I exported a zexp and looked at the errors a got when trying to import it again. Basically, it gave we all the add-ons. I am not sure if everything works 100%, but at least I think it is 'close enough'.

1 Like