Exporting data from a .fs file. Plone 3.3.5

121 Views Asked by At

I just got a task saying "See what you can do with this". I have a 24GB Plone 3.3.5 folder containing a Data.fs file. No idea what to do with it. No relevant results.

The Plone is 13 years old. Nothing works. Can't be installed on a modern machine. Docker only runs a Plone 6 installation. I manage to import the Data.fs via

docker cp Data.fs mycontainer:/plone/instance/var/filestorage/Data.fs

But ever since that - the plone container doesn't run. It exits with an error. I tried installing plone 3.3.5 - another error:

pip install Plone==3.3.5
Collecting Plone==3.3.5
  Using cached Plone-3.3.5.zip (1.6 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error
  
  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [3 lines of output]
      error in Plone setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers; Expected end or semicolon (after version specifier)
          plone.app.contentmenu >= 1.1.6dev-r22380
                                ~~~~~~~~~~~~^
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

etc. etc. etc. I had enough. Does anybody know of an application or some reasonable human way, as an executable program, a phpmyadmin alternative to ZODB, or anything at all, that can just export the data contained in this .fs file?

3

There are 3 best solutions below

0
MrTango On BEST ANSWER

This is a vary old version of Plone. The best change you have is to use a virtual machine with an older OS, the best would be where you have older Python version installed. If i remember correctly, you will need Python 2.4 to run Plone 3. Use the unified installer https://launchpad.net/plone/3.3/3.3.6 to install Plone, i think you can also let it try to build the correct python version. It might work on systems where you don't have Python 2.4 anymore, but the best would be to pick an OS where you have it by default. The old installation docs are here. https://3.docs.plone.org/manage/installing/installation.html

in general, yest it's a pain if you have to work with such old code and databases. But that's true for all software out there.

When you have it running. You have some options:

  1. export some data via Webdav
  2. upgrade it to Plone 4 https://4.docs.plone.org/manage/upgrading/index.html

From Plone 4 on, you can also use collective.exportimport to export all Data and settings as JSON and import it later in newer versions or use it to use it somewhere else.

Also checkout the community forum, here you'll find the most info's and best answers to your questions. https://community.plone.org/

0
cdw9 On

You would likely be better off hiring a Plone expert to export the data for you - especially if you are not familiar with Plone, it will save you a lot of time and headache. Even if you set up a unified installer with the correct version, it may not have everything you need to work with the Data.fs, like the add-ons the site had installed.

Also, collective.jsonify will export to JSON from Plone 3, no need to upgrade to Plone 4. But you will need the Plone site working before you can use it.

0
wolfrevo On

I agree with @MrTango's answer.

Back in 2011 I find some notes which might help getting the rigth versions:

Virtual machine with "debian-503-i386-netinst"

apt-get update
apt-get install -y \
    tar gzip bzip2 gcc g++ make \
    libssl-dev zlib1g-dev libjpeg62-dev \
    libreadline5 libreadline5-dev readline-common \
    libxml2-dev wv xpdf

wget http://launchpad.net/plone/3.3/3.3.5/+download/Plone-3.3.5-UnifiedInstaller.tgz

tar -xzf Plone-3.3.5-UnifiedInstaller.tgz

cd Plone-3.3.5-UnifiedInstaller

./install.sh \
    --target=/home/Plone-3.3.5 \
    --instance=zeocluster \
    --user=plone \
    --password=admin \
    --libz=local \
    --libjpeg=local \
    --readline=local \
    zeo

/home/Plone-3.3.5/zeocluster/bin/plonectl start
/home/Plone-3.3.5/zeocluster/bin/plonectl stop