Upgrade Plone and its problems

Dear community,

we have plone 4.3 version 1.5.3 in our institution . We have approximately 300 sites inside the Plone. This way, i'd like to know the best way to upgrade to the latest version, or even, up to Plone 5. It's always problematic to upgrade.



What do you mean with 300 sites inside Plone? Are you saying you using Plone Sites nested with a main Plone Site?
In particular: what is problematic? You must be precise...migrations can be easy (using the built-in migration) or very complex depending on dependencies and so on...the main hurdle with migrations is going to Plone 5.2 if you want to use Python 3...but all this is documented and discussed pretty often lately...be specific...

Frederico A M Saraiva famsaraiva@gmail.com
10:25 (há 1 minuto)
para Plone

Hello Andreas,

300 sites i want to mean multi sites. Independents. I think its problematic upgrade plone versions. Eg. i made an upgrade last week. Version 1.1.x to 1.5.3. So, When i migrated Data.fs and Blobstorage to new plone server, the sites pointed out that they needed to be updated. Ok..so a started to update them. In many moments errors appeared. Error messages etc. But i went ahead. I conclude the process.

Thus, i would like to learn a non-painful way to upgrade plone versions. Sorry if I'm still not clear.

  • I'm novice in plone



Do you have any idea how these 'multisites' were made. Can you describe the urls (do you have http://someserver/somesite and http://someserver/anothersite or https://someserver/Plone/somesite and http://someserver/Plone/anothersite

Maybe you can list what add-ons you use (copy the part 'eggs =' from you buildout.cfg file, maybe.

You should know that if you have custom themes they will not work in Plone 5

Without specific information like error message, we can not help.


2019-04-10T15:18:22 ERROR plone.app.viewletmanager Error while rendering viewlet-manager=plone.belowcontentbody, viewlet=plone.belowcontenttitle.contents
Traceback (most recent call last):
  File "/opt/plone/portal.buildout/eggs/plone.app.viewletmanager-2.0.11-py2.7.egg/plone/app/viewletmanager/manager.py", line 112, in render
  File "/opt/plone/portal.buildout/eggs/zope.browserpage-3.12.2-py2.7.egg/zope/browserpage/simpleviewclass.py", line 44, in __call__
    return self.index(*args, **kw)
  File "/opt/plone/portal.buildout/eggs/Zope2-2.13.27-py2.7.egg/Products/Five/browser/pagetemplatefile.py", line 125, in __call__
    return self.im_func(im_self, *args, **kw)
  File "/opt/plone/portal.buildout/eggs/Zope2-2.13.27-py2.7.egg/Products/Five/browser/pagetemplatefile.py", line 59, in __call__
    sourceAnnotations=getattr(debug_flags, 'sourceAnnotations', 0),
  File "/opt/plone/portal.buildout/eggs/zope.pagetemplate-3.6.3-py2.7.egg/zope/pagetemplate/pagetemplate.py", line 132, in pt_render
    strictinsert=0, sourceAnnotations=sourceAnnotations
  File "/opt/plone/portal.buildout/eggs/five.pt-2.2.4-py2.7.egg/five/pt/engine.py", line 98, in __call__
    return self.template.render(**kwargs)
  File "/opt/plone/portal.buildout/eggs/z3c.pt-3.0.0a1-py2.7.egg/z3c/pt/pagetemplate.py", line 163, in render
    return base_renderer(**context)
  File "/opt/plone/portal.buildout/eggs/Chameleon-2.22-py2.7.egg/chameleon/zpt/template.py", line 258, in render
    return super(PageTemplate, self).render(**vars)
  File "/opt/plone/portal.buildout/eggs/Chameleon-2.22-py2.7.egg/chameleon/template.py", line 191, in render
    raise_with_traceback(exc, tb)
  File "/opt/plone/portal.buildout/eggs/Chameleon-2.22-py2.7.egg/chameleon/template.py", line 171, in render
    self._render(stream, econtext, rcontext)
  File "/opt/plone/portal.buildout/var/chameleon-cache/031f073c86cdbf44e863cbe4cc49865b.py", line 191, in render
    __macro.include(__stream, econtext.copy(), rcontext, __i18n_domain)
  File "/opt/plone/portal.buildout/var/chameleon-cache/08a48c70d0b712f95c736d6578670946.py", line 263, in render_listing
    __value = _static_140062813209488(getitem('view'), econtext, True, ('batch', ))
  File "/opt/plone/portal.buildout/eggs/five.pt-2.2.4-py2.7.egg/five/pt/expressions.py", line 154, in __call__
    base = self.traverse(base, request, path_items)
  File "/opt/plone/portal.buildout/eggs/five.pt-2.2.4-py2.7.egg/five/pt/expressions.py", line 126, in traverse
    base, name, path_items[i:], request=request
  File "/opt/plone/portal.buildout/eggs/zope.traversing-3.13.2-py2.7.egg/zope/traversing/adapters.py", line 136, in traversePathElement
    return traversable.traverse(nm, further_path)
  File "/opt/plone/portal.buildout/eggs/zope.traversing-3.13.2-py2.7.egg/zope/traversing/adapters.py", line 50, in traverse
    raise LocationError(subject, name)
LocationError: (<Products.Five.viewlet.viewlet.SimpleViewletClass from /opt/plone/portal.buildout/eggs/collective.nitf-2.1b4-py2.7.egg/collective/nitf/browser/templates/nitf_contents.pt object at 0x7efc6e9bc590>, 'batch')




Which Plone version is this?

Is collective.nitf supposed to run on Plone 5? No, it is not.

Plone 4.3

@famsaraiva you're mixing concepts here. There isn't a "Plone 4.3 version 1.5.3", what you're talking about is an IDG installation, an implementation of a visual identity on top of a Plone 4.3 by the plonegovbr intitative: https://github.com/plonegovbr/brasil.gov.portal

There's no support for Plone 5 in this project. For upgrading, please follow the guide on https://identidade-digital-de-governo-plone.readthedocs.io/en/latest/atualizacao/ and open any issues about this project either in https://github.com/plonegovbr/brasil.gov.portal or the mailing list.

thanks Andreas.

best regards


For this specific traceback, there's an issue in https://github.com/collective/collective.nitf/issues/228. It happens when you have nitf content with pdf or link content-type as children. As a workaround, you need to remove them.