Package release
ocyan-plugin-redirect
mandel/testing ยท Version 0.1.1rc5
Guarded legacy-URL redirect fallback for Ocyan sites
Metadata
| author_email | MandelBlog <[email protected]> |
|---|---|
| classifiers |
|
| description_content_type | text/markdown |
| license_expression | LicenseRef-Proprietary |
| metadata_version | 2.4 |
| project_urls |
|
| provides_extras |
|
| requires_dist |
|
| requires_python | <3.13,>=3.12 |
Release files
| File | Test results | History |
|---|---|---|
ocyan_plugin_redirect-0.1.1rc5-py3-none-any.whl
|
|
|
ocyan_plugin_redirect-0.1.1rc5.tar.gz
|
|
ocyan.plugin.redirect
Guarded Django/Ocyan fallback redirects from preserved legacy paths to current object URLs.
Responsibility
The plugin owns persisted legacy-path mappings and a 404 handler. It resolves a
mapped object under its stored language and returns a permanent 301 only when
the object supplies a destination URL. Incoming query strings are preserved
when the destination has none; a destination query remains authoritative.
Exact self redirects are refused and fall through to the normal 404 response.
It does not own URL routing, Wagtail redirects, content migrations, SEO policy,
external redirects, or automatic redirect imports. The optional spreadsheet
import command requires ocyan.plugin.redirect[import] and is explicitly
operator-invoked.
Compatibility
Certified with Python 3.12, Django 5.2 and ocyan.core 1.2.x. The optional
operator import command adds the certified ocyan.plugin.oscar 2.0.x contract.
Existing migrations and the redirect app label are preserved for deployed
database compatibility.
Validation
The deterministic suite verifies 301 semantics, query preservation, target query precedence, exact loop refusal, trailing-slash behaviour and package artifact provenance. No production redirect data is modified by certification.