Creating new dexterity types — Can't pickle <class collective.js.jqueryui

We have a site which we migrated to Plone 5.0

When attempting to create new Dexterity Types in the site setup, it fails, with the following error

Traceback (innermost last):
Module ZPublisher.Publish, line 146, in publish
Module Zope2.App.startup, line 301, in commit
Module transaction._manager, line 89, in commit
Module transaction._transaction, line 329, in commit
Module transaction._transaction, line 443, in _commitResources
Module ZODB.Connection, line 567, in commit
Module ZODB.Connection, line 623, in _commit
Module ZODB.Connection, line 658, in _store_objects
Module ZODB.serialize, line 422, in serialize
Module ZODB.serialize, line 431, in _dump
PicklingError: Can't pickle <class 'collective.js.jqueryui.interfaces.IJqueryUILayer'>: import of module collective.js.jqueryui.interfaces failed

May you describe the exact steps to reproduce the error? Does this happen only in migrated sites or also in new/vanilla sites? Are any addons involved?

Not sure if this is your case, but I had a similar problem, and it stemmed from the fact that PloneFormGen in Plone 4 requires collective.js.jqueryui, but PFG 1.8.x does not. So I just needed to add collective.js.jqueryui to buildout, then uninstall it from portal_quickinstaller. After that, the error was gone and I was able to remove it from buildout again.

1 Like

Grazie Fulvio,

I just ran into this while installing collective.saconnect just after upgrading a Plone 5.0.6 install to 5.0.7. Not sure if this particular instance was originally created as a Plone 4 site.