ZMI History tab

Hi! I believe I've installed the latest Zope 4.1.2. I followed the instructions with the final command:

bin/pip install Zope==4.1.2 -c https://zopefoundation.github.io/Zope/releases/4.1.2/constraints.txt

and the response begins:

Collecting Zope==4.1.2
  Using cached https://files.pythonhosted.org/packages/66/77/471673eebdcc904eaafaa4b97a01b97b8aa73aed84054248c5f258a00d92/Zope-4.1.2-py2.py3-none-any.whl

but I can't find the announced ZMI History tab.

In the Control Panel, I've got:
Zope Version (4.1, python 3.7.3, linux)
so I'm not 100% sure... do I need to enable History?

I never used the history tab, but from looking into my instance, it's here, see attached screenshot.

It is available per content type - maybe not for all?

I do not know whether there is a global one.

You may have a look at the pull request for detailed information.

That's weird.. so maybe I don't have 4.1.2 after all.

History is great for testing stuff and a lot faster than Undo in my experience.

testt

In my Control Panel you can read Zope Version (4.1.2, python 2.7.15, linux2)

So, obviously you are still on 4.1 - for reasons :slight_smile:

Unfortunately, right now I have no time to reproduce your problem (with your installation method) - maybe somebody else can jump in.

Hm... or do you have several instances on your machine? And you connect to the wrong one?

Really, I installed "by the book" but it's so easy to do now with droplets.. I'll just destroy and start over. I'll report back.

All is OK now with my shiny Zope 4.1.2.

Basic mistake: Wishing to use plone.recipe.zope2instance I copied the minimal buildout.cfg from the instructions that referenced 4.1 not 4.1.2

Then my buildout install got stuck at:
Getting distribution for 'zope.container==4.2.2'.
So I reverted to installing Zope with pip and the wrong things happened.

This time, when buildout failed at zope.container, I installed zope.container using pip install zope.container and the buildout install was able to complete.

So, I found a couple of minutes and tried to reproduce your problem.

I noticed two things:

Cool, thanks. Since buildout is recommended, I tried again. But I guess the zope2instance recipe has a flaw?

I also tried the buildout way with plone.recipe.zope2instance and it worked out well - I changed the Zope version to 4.1.2.

python3.7 -m venv zope
cd zope/
bin/pip install -U pip zc.buildout
vim buildout.cfg  # with the content from the installation documentation / section plone.recipe.zope2instance
bin/buildout

I used this one
https://zope.readthedocs.io/en/latest/INSTALL.html#using-plone-recipe-zope2instance
except I updated the version

I did the same (except that I have python3.6) but I got the error below. I ran bin/buildout a second time because sometimes that works :wink: After I installed zope.container separately it worked. Why?

Getting distribution for 'zope.container==4.2.2'.
unable to execute 'x86_64-linux-gnu-gcc': No such file or directory
error: Setup script exited with error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
An error occurred when trying to install /tmp/tmp7_j75m0qget_dist/zope.container-4.2.2.tar.gz. Look above this message for any errors that were output by easy_install.
While:
  Installing.
  Getting section zopeinstance.
  Initializing section zopeinstance.
  Installing recipe plone.recipe.zope2instance.
  Getting distribution for 'zope.container==4.2.2'.

An internal error occurred due to a bug in either zc.buildout or in a
recipe being used:
Traceback (most recent call last):
  File "/root/Zope-4.1.2/zope/lib/python3.6/site-packages/zc/buildout/buildout.py", line 2174, in main
    getattr(buildout, command)(args)
  File "/root/Zope-4.1.2/zope/lib/python3.6/site-packages/zc/buildout/buildout.py", line 701, in install
    [self[part]['recipe'] for part in install_parts]
  File "/root/Zope-4.1.2/zope/lib/python3.6/site-packages/zc/buildout/buildout.py", line 701, in <listcomp>
    [self[part]['recipe'] for part in install_parts]
  File "/root/Zope-4.1.2/zope/lib/python3.6/site-packages/zc/buildout/buildout.py", line 1324, in __getitem__
    options._initialize()
  File "/root/Zope-4.1.2/zope/lib/python3.6/site-packages/zc/buildout/buildout.py", line 1432, in _initialize
    self.initialize()
  File "/root/Zope-4.1.2/zope/lib/python3.6/site-packages/zc/buildout/buildout.py", line 1438, in initialize
    recipe_class = _install_and_load(reqs, 'zc.buildout', entry, buildout)
  File "/root/Zope-4.1.2/zope/lib/python3.6/site-packages/zc/buildout/buildout.py", line 1388, in _install_and_load
    allow_hosts=buildout._allow_hosts
  File "/root/Zope-4.1.2/zope/lib/python3.6/site-packages/zc/buildout/easy_install.py", line 957, in install
    return installer.install(specs, working_set)
  File "/root/Zope-4.1.2/zope/lib/python3.6/site-packages/zc/buildout/easy_install.py", line 730, in install
    for dist in self._get_dist(req, ws):
  File "/root/Zope-4.1.2/zope/lib/python3.6/site-packages/zc/buildout/easy_install.py", line 574, in _get_dist
    dists = [_move_to_eggs_dir_and_compile(dist, self._dest)]
  File "/root/Zope-4.1.2/zope/lib/python3.6/site-packages/zc/buildout/easy_install.py", line 1745, in _move_to_eggs_dir_and_compile
    [tmp_loc] = glob.glob(os.path.join(tmp_dest, '*'))
ValueError: not enough values to unpack (expected 1, got 0)

Please post the content of your buildout.cfg - thank you!

[buildout]
extends =
    https://zopefoundation.github.io/Zope/releases/4.1.2/versions-prod.cfg
parts =
    zopeinstance

[zopeinstance]
recipe = plone.recipe.zope2instance
eggs =
    Products.TemporaryFolder
user = user:password
http-address = 8080

Works for me without a problem - also on Python 3.6 :frowning:

Maybe maybe maybe... buildout tried to compile zope.container and failed because you lack the gcc compiler? And pip installs the already compiled wheel?

But this is just guess work - somebody else has to take a look at this.

At the top of the official installation instruction you can read that you need both a compiler and the python dev package.
https://zope.readthedocs.io/en/latest/INSTALL.html#prerequisites

I think you're right - the error says I am missing gcc. And as you suggest, installing zope.container seems to take care of that. Thanks, @jugmac00, I was working a bit too fast...

I am glad it worked out and we found the problem!

Try to meet the prerequisites - otherwise with the next buildout run maybe it will brake again - well, at least when there is a new zope.container version or similar.

totally agree! And I just feel like saying thank you to all who have made Zope 4 possible so Zope could live on into the future!

2 Likes

Plone Foundation Code of Conduct