Skip to main content

WARNING! This package is highly experimental and should not be used by anyone but experts in the inner workings of the ZCA and the ZODB and it should never be used in production.

The handling of broken objects by the ZODB can leave make an application that with add-ons that use zope.interface far too fragile. If marker interfaces from an add-on are used on objects in the ZODB, removing that add-on can make any zope.interface operation on that object fail. Even worse, if an add-on registers any components in a registry in the ZODB, that entire registry will become unusable for any ZCA operations.

Since the interfaces and the ZCA are often core parts of an application using the ZODB, it may be appropriate to add special handling for broken objects to those services.The patches included in this package attempt to do just that.

For objects in the ZODB which directly provide a marker interface, these patches allow that object to behave as without the application of the marker interface if the interface is no longer available. If the interface is made available again, the full behavior of that interface is restored. Similarly, if a component whose class, provided interface, or required interfaces are missing, these patches allow the registry to perform lookups it would have been able to do without the broken component registration. If the component component, provided interface, and required interfaces are restored, then the component registration is fully restored. If an object or registry in the ZODB is committed to the ZODB with broken interfaces or components, the commit will succeed and it is still possible to fully restore previous behavior if the missing classes and interfaces are restored.

The intention of this package is to see if the implementation of broken object handling is correct and robust enough to merge into zope.interface and zope.component themselves. IOW, when this code is found to be robust enough to use more widely, this package won’t be the home for it. So once again, unless you are a senior Zope developer, do not use these patches.

Changelog

0.1 - 2011-11-06

  • Initial release. [rossp]

Metadata

Release files for experimental.broken 0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for experimental.broken 0.1
File Size Uploaded
experimental.broken-0.1.tar.gz 5.8 kB Details

Release files / experimental.broken-0.1.tar.gz

Download URL experimental.broken-0.1.tar.gz
Size 5.8 kB
Tags Source
SHA-256 checksum
How to use checksums
401d6c7e9e750786794cc5e18ecfa4140d65d39a1181096fef47a8e62262ff2a
BLAKE2b-256 checksum
How to use checksums
1f7ccda5eb4f18913e3cca24f5f493a60af5ff6b2ae68ae27120e3a4c305503d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

0.7

1 release file

0.5

1 release file

0.4

1 release file

0.3

1 release file

0.2

1 release file

This release

0.1 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page