Upgrading 4.0.10 to Plone 5 (missing IRegistry?) - plone

I'm trying to upgrade a Plone 4.0.10 site to 5.0. I went through the upgrade to 4.3.6 and somewhat painfully got it to work there. In my Data.fs I have two Plone sites: the site in question, and another one that has nothing but the default content (News, Events, Users). When I moved the Data.fs and blobs from the 4.3.6 to the Plone 5 instance, the "empty" site upgraded fine. However, if I even try to go to the ZMI root for the production site, or to load the site, I get this:
2015-12-05 17:19:24 ERROR Zope.SiteErrorLog 1449364764.10.146181213601 http://localhost:8080/mysite
Traceback (innermost last):
Module ZPublisher.Publish, line 127, in publish
Module ZPublisher.BaseRequest, line 444, in traverse
Module ZPublisher.BeforeTraverse, line 97, in __call__
Module Products.CMFCore.PortalObject, line 75, in __before_publishing_traverse__
Module zope.event, line 31, in notify
Module zope.component.event, line 24, in dispatch
Module zope.component._api, line 136, in subscribers
Module zope.component.registry, line 321, in subscribers
Module zope.interface.adapter, line 585, in subscribers
Module zope.component.event, line 32, in objectEventNotify
Module zope.component._api, line 136, in subscribers
Module zope.component.registry, line 321, in subscribers
Module zope.interface.adapter, line 585, in subscribers
Module plone.app.theming.plugins.hooks, line 33, in onRequest
Module plone.app.theming.policy, line 91, in isThemeEnabled
AttributeError: 'NoneType' object has no attribute 'enabled'
I don't know why plone.app.theming is involved, since the old site had no Diazo theme, and I'm just loading the ZMI. Also, the problem seems to be that there is no IRegistry:
In plone.app.theming.policy.getSettings:
def getSettings(self):
"""Settings for current theme."""
registry = queryUtility(IRegistry)
And registry at this point is None, and so is settings in plone.app.theming.policy.isThemeEnabled.
Any suggestions on how to proceed?

plone.app.theming has to be installed in Plone 4. Include p.a.t in your Plone 4.3.6 Site and re-upgrade.
(How to upgrade sites to Plone 5, 24:15)

Related

Upgrade Plone 3.3.6 to either Plone 4.3.7 or Plone 5 (Error: 'tuple' object has no attribute 'remove')

I'm attempting an upgrade of an existing site from Plone 3.3.6 to Plone 4.3.7, and then on to Plone 5.0.
The existing site is very small, and has no add-on Products installed (vanilla Plone, vanilla template, etc.) It did have CacheFu installed, but after some earlier obvious errors with that, I removed it prior to the upgrade. I'm simply copying the contents of var/filestorage (Data.fs, etc) from v3 site to v4 site and re-running buildout.
In Plone 4.3.7, when running the UPGRADE option, I see a lot of successful activity, and then the following error at the bottom:
Upgrade aborted. Error:
Traceback (most recent call last):
File "/usr/local/Plone4_migration/buildout-cache/eggs/Products.CMFPlone-4.3.7-py2.7.egg/Products/CMFPlone/MigrationTool.py", line 259, in upgrade
step['step'].doStep(setup)
File "/usr/local/Plone4_migration/buildout-cache/eggs/Products.GenericSetup-1.7.7-py2.7.egg/Products/GenericSetup/upgrade.py", line 160, in doStep
self.handler(tool)
File "/usr/local/Plone4_migration/buildout-cache/eggs/plone.app.upgrade-1.3.18-py2.7.egg/plone/app/upgrade/v40/betas.py", line 99, in beta3_beta4
value.remove('Large Plone Folder')
AttributeError: 'tuple' object has no attribute 'remove'
If I skip Plone 4.x and jump right to Plone 5.0, I can't even run the UPGRADE feature, and just get the following error trace on the console:
2015-10-09 01:14:21 ERROR Zope.SiteErrorLog 1444371261.060.792132208718 http://www.example.com/example
Traceback (innermost last):
Module ZPublisher.Publish, line 127, in publish
Module ZPublisher.BaseRequest, line 444, in traverse
Module ZPublisher.BeforeTraverse, line 97, in __call__
Module Products.CMFCore.PortalObject, line 75, in __before_publishing_traverse__
Module zope.event, line 31, in notify
Module zope.component.event, line 24, in dispatch
Module zope.component._api, line 136, in subscribers
Module zope.component.registry, line 321, in subscribers
Module zope.interface.adapter, line 585, in subscribers
Module zope.component.event, line 32, in objectEventNotify
Module zope.component._api, line 136, in subscribers
Module zope.component.registry, line 321, in subscribers
Module zope.interface.adapter, line 585, in subscribers
Module plone.app.theming.plugins.hooks, line 33, in onRequest
Module plone.app.theming.policy, line 90, in isThemeEnabled
AttributeError: 'NoneType' object has no attribute 'enabled'
This is a known bug which has a fix that was not released yet: https://github.com/plone/Products.CMFPlone/issues/1134

Issue upgrading PloneFormGen on a Plone 3.3.1 migration

I'm migrating a website from Plone 3.3.1 to Plone 4.3. The migration actually worked fine with no errors, but when I tried to update PloneFormGen to the current version (1.7.8), I get this:
Traceback (innermost last):
Module ZPublisher.Publish, line 126, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 46, in call_object
Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 580, in installProducts
Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 512, in installProduct
- __traceback_info__: ('PloneFormGen',)
Module Products.GenericSetup.tool, line 350, in runAllImportStepsFromProfile
- __traceback_info__: profile-Products.PloneFormGen:default
Module Products.GenericSetup.tool, line 1100, in _runImportStepsFromContext
Module Products.GenericSetup.tool, line 1015, in _doRunImportStep
- __traceback_info__: pleonformgen
Module Products.PloneFormGen.setuphandlers, line 79, in importVarious
Module Products.PloneFormGen.setuphandlers, line 34, in update_kupu_resources
AttributeError: getPortalTypesForResourceType
Any thoughts? I saw something about Kupu having old references to linkable types, but I think this might be a different problem. I checked through my linkable resource types and they all seem to be the standard ones.
Thanks!
I suggest you check the "Resource Types" in the Visual Editor configlet on the Plone 3.3 side. Make sure it doesn't refer to any types that are either not installed or won't be available in 4.3. You may be able to eliminate the uninstalled types simply by saving the config.
And, make sure that PFG you upgrade to is 1.7.11+. There's a security advisory covering 1.7.8 and earlier.

Plone 4.3 migration - AttributeError: type object 'IIntIds' has no attribute '__iro__'

After migrating Plone 4.1 + Dexterity site to Plone 4.3 site's /manage_workspace becomes inaccessible. Database migration cannot be performed.
The ZMI root can be still accessed.
Traceback (innermost last):
Module ZPublisher.Publish, line 237, in publish_module_standard
Module ZPublisher.Publish, line 179, in publish
Module zope.event, line 31, in notify
Module zope.component.event, line 24, in dispatch
Module zope.component._api, line 136, in subscribers
Module zope.component.registry, line 321, in subscribers
Module zope.interface.adapter, line 585, in subscribers
Module plone.transformchain.zpublisher, line 119, in applyTransformOnFailure
Module plone.transformchain.zpublisher, line 79, in applyTransformOnSuccess
Module plone.transformchain.zpublisher, line 55, in applyTransform
Module zope.component._api, line 172, in queryUtility
Module zope.component.registry, line 163, in queryUtility
Module ZODB.Connection, line 860, in setstate
Module ZODB.Connection, line 914, in _setstate
Module ZODB.serialize, line 613, in setGhostState
Module zope.component.persistentregistry, line 40, in __setstate__
Module zope.interface.adapter, line 91, in _createLookup
Module zope.interface.adapter, line 439, in __init__
Module zope.interface.adapter, line 476, in init_extendors
Module zope.interface.adapter, line 480, in add_extendor
AttributeError: type object 'IIntIds' has no attribute '__iro__'
Also ##plone-upgrade is inaccessible.
Any ideas or special migrations needed?
In Dexterity 2, relation field support (which includes installing the intids catalog) is no longer installed by default. To get it you need to install Dexterity with the [relations] extra:
[instance]
eggs =
plone.app.dexterity [relations]
This is documented at http://plone.org/documentation/manual/upgrade-guide/version/upgrading-plone-4.2-to-4.3/dexterity-optional-extras and in the Dexterity release notes.

Plone 4.2.5: Disallowed to paste item(s)

Today I upgrade plone from 4.1.4 to latest 4.2.5 through buildout. Everthing works except paste. When I paste a page to a folder, traceback shows:
Traceback (innermost last):
Module ZPublisher.Publish, line 126, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 46, in call_object
Module Products.CMFFormController.FSControllerPythonScript, line 105, in __call__
Module Products.CMFFormController.Script, line 145, in __call__
Module Products.CMFCore.FSPythonScript, line 127, in __call__
Module Shared.DC.Scripts.Bindings, line 322, in __call__
Module Shared.DC.Scripts.Bindings, line 359, in _bindAndExec
Module Products.PythonScripts.PythonScript, line 344, in _exec
Module script, line 33, in folder_paste
- <FSControllerPythonScript at /keti/folder_paste used for /keti/switch1>
- Line 33
Exception: Disallowed to paste item(s).
I need your help.
Usually this error is thrown, if the 'allowed content types to add' are restricted, so I doubt a correlation of your problem with the upgrade and rather suspect a simple configuration-setting as the cause:
Go to
http://yourhost.org:8888/yourSiteId/portal_types/Folder/manage_propertiesForm
Look, if 'Filter content types' is checked.
If yes, either uncheck or define the allowed types in the widget below.
Ida Ebkes did get the point. So I unchecked 'Filter content types' and select file, document, folder in the widget below in portal_types/Plone%20Site/manage_propertiesForm . But it works for frontpage. So If I want "Add new" appear global, I have to check "Implicitly addable" in every content type page under portal_types.
Thanks,
Hugo

AttributeError: 'module' object has no attribute 'NavigationViewlet'

here is my traceback from a Plone 4.2.1 installation (on SuSE Linux):
Traceback (innermost last):
Module ZPublisher.Publish, line 126, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 46, in call_object
Module OFS.ObjectManager, line 620, in manage_importObject
Module OFS.ObjectManager, line 638, in _importObjectFromFile
Module ZODB.ExportImport, line 92, in importFile
Module transaction._transaction, line 260, in savepoint
Module transaction._transaction, line 257, in savepoint
Module transaction._transaction, line 690, in __init__
Module ZODB.Connection, line 1123, in savepoint
Module ZODB.Connection, line 587, in _commit
Module ZODB.ExportImport, line 176, in _importDuringCommit
AttributeError: 'module' object has no attribute 'NavigationViewlet'
The strange thing, that I do not understand is, why only one Plone Site shows this error during import into an instance newer than Plone 4.1.5?
The Plone site has only the following additional plugins/products installed (as others too, but they all work fine):
LinguaPlone
PloneFormGen
Products.ZSyncer
collective.quickupload
So, where is my mistake/error?
Thanx for any help, because the site is too big now to "rebuild" it in a new Plone instance from scratch :-(
The plone.app.layout.viewlets.links.NavigationViewlet was removed in plone.app.layout version 2.2 (see this entry into the HTML5 PLIP and this commit).
ZEXP imports into different version stacks are generally fraught with problems, exactly because of changing persistent object locations. You'll have to import to an earlier version of the software stack, then follow the regular Plone upgrade path to bring yourself up to a more recent version of Plone.
The upgrade scripts take care of removing references to removed viewlets like these, for example.

Resources