Skip to main content

redirection tool

Project description

by Martin Aspeli <optilude@gmx.net> based on work by Helge Tesdal (RedirectionTool) and Whit Morriss (topp.rose).

Bring dead links back to life! plone.app.redirector knows where your content used to be and can bring you to its new location when content moves.

This component expects you to register storage.RedirectionStorage as a local utility providing IRedirectionStorage (CMFPlone does this). Once that’s done, the subscribers in subscribers.py will listen for object moved and object deleted events.

When an object is moved (renamed or cut/pasted into a different location), the redirection storage will remember the old path. It is smart enough to deal with transitive references (if we have a -> b and then add b -> c, it is replaced by a reference a -> c) and circular references (attempting to add a -> a does nothing).

When an object is deleted, all references to it are deleted as well.

The view in browser.py contains methods (used in Plone’s default_error_message.pt when it gets a NotFound error) that do the following:

  • attempt to redirect from the assumed intended path to the new path of an object, if the redirection storage holds a reference from the old path.

  • if not, look for the first valid parent of the assumed intended path, and present it as an option to the user

  • further, use the last id of the assumed intended path and attempt to search for objects in the catalog that contain this, presenting the options to the user

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plone.app.redirector-1.0.10.zip (24.6 kB view details)

Uploaded Source

File details

Details for the file plone.app.redirector-1.0.10.zip.

File metadata

File hashes

Hashes for plone.app.redirector-1.0.10.zip
Algorithm Hash digest
SHA256 ff3912a6e9f2347f17d0a43280a0a02d573f4fc66b47618bbc8ed9c8f17db14b
MD5 a3b91f7f55510affa35a09fa21cd7174
BLAKE2b-256 c69cb0ddbc84c84e381a331480b4f2ee7f6b4a0573622f13bbac2e0e7a113d54

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page