Wie bereinige ich alte Schnittstellen im zc.relation-Katalog?
Ich habe benutztplone.directives.form Version 1.0 mit Plone 4.2.5 und nach dem Upgrade auf 4.2.6 wurde der folgende Traceback und I angezeigtvermuten es liegt anplone.directives.form
wird auf Version 1.1 aktualisiert.
Wie kann ich diesen Fehler vermeiden? Die einzige Codezeile, die im Traceback nicht von Plone stammt, ist onder.freitag.handlers
wo es tut atransaction.commit()
und der Inhaltstyp ist nur ein regulärer Geschicklichkeitsinhaltstyp.
1385740390.020.496977141203 http://10.100.0.207:8081/website/front-page/atomkraft/++add++der.freitag.customizablearticlelink
Traceback (innermost last):
Module ZPublisher.Publish, line 138, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 48, in call_object
Module plone.z3cform.layout, line 70, in __call__
Module plone.z3cform.layout, line 54, in update
Module plone.dexterity.browser.add, line 112, in update
Module plone.z3cform.fieldsets.extensible, line 59, in update
Module plone.z3cform.patch, line 30, in GroupForm_update
Module z3c.form.group, line 138, in update
Module z3c.form.action, line 99, in execute
Module z3c.form.button, line 315, in __call__
Module z3c.form.button, line 170, in __call__
Module plone.dexterity.browser.add, line 99, in handleAdd
Module z3c.form.form, line 247, in createAndAdd
Module plone.dexterity.browser.add, line 78, in add
Module plone.dexterity.utils, line 152, in addContentToContainer
Module Products.BTreeFolder2.BTreeFolder2, line 455, in _setObject
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 der.freitag.handlers, line 126, in set_customizable_article_link_id
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 'plone.directives.form.schema.Schema'>: attribute lookup plone.directives.form.schema.Schema failed
BEARBEITEN: Das Objekt, das erstellt wird, hat ein Beziehungsfeld (az3c.relationfield.schema.RelationChoice
) und es stellt sich heraus, dasszc.relation
führt eine Liste aller Schnittstellen, die von jedem Mitglied einer Beziehung bereitgestellt werden. Daher können nach dem Upgrade von plone.directives.form Version 1.0 auf Version 1.1 die Schnittstellen auf plone.directives.form nicht mehr aufgelöst werden.
Vonz3c.relationfield Dokumentation Ich sehe keine Möglichkeit, Relationen zu aktualisieren. Die einzige Lösung wäre also, alle Relationen abzurufen und neu zu erstellen.