重定向工具
项目描述
简介
由 Martin Aspeli <optilude@gmx.net> 编写,基于 Helge Tesdal (RedirectionTool) 和 Whit Morriss (topp.rose) 的作品。
让死链复活!plone.app.redirector 知道内容曾经所在的位置,并在内容移动时将您带到其新位置。
该组件期望您将 storage.RedirectionStorage 注册为提供 IRedirectionStorage 的本地实用工具(CMFPlone 会这样做)。完成此操作后,subscribers.py 中的订阅者将监听对象移动和对象删除事件。
当对象被移动(重命名或剪切/粘贴到不同位置)时,重定向存储将记住旧路径。它足够智能,可以处理传递引用(如果我们有一个 -> b,然后添加 b -> c,它将替换为 a -> c 的引用)和循环引用(尝试添加 a -> a 不会产生任何效果)。
当对象被删除时,所有指向它的引用也将被删除。
browser.py 中的视图包含以下方法(在 Plone 的默认_error_message.pt 接收到 NotFound 错误时使用):
尝试从假设的意图路径重定向到对象的新的路径,如果重定向存储包含从旧路径的引用。
如果没有,查找假设的意图路径的第一个有效父项,并将其作为选项呈现给用户
进一步,使用假设的意图路径的最后 id 并尝试在目录中搜索包含此 id 的对象,将选项呈现给用户
变更日志
3.0.3 (2024-06-13)
内部
更新配置文件。[plone 开发者] (6e36bcc4)
测试
删除测试 test_find_first_parent_not_viewable,该测试在 Plone 6 中丢失了其环境。[jensens] (#42)
3.0.2 (2024-01-19)
内部
更新配置文件。[plone 开发者] (7723aeaf)
3.0.1 (2023-04-15)
内部
更新配置文件。[plone 开发者] (93e1ab65)
3.0.0 (2022-11-30)
错误修复
最终发布。[gforcada] (#600)
3.0.0a1 (2022-04-08)
破坏性更改
仅限 Plone 6,删除 Archetypes 特定代码。同时进行代码现代化(black,isort,pyupgrade)。[jensens] (现代化)
2.2.1 (2020-04-20)
错误修复
小型的打包更新。[#1]
2.2.0 (2020-03-13)
新功能
对于 GET 请求,将响应的 http 状态从 301(永久移动)更改为 302(找到),对于其他请求方法更改为 307(临时重定向),因为没有阻止 URL 在未来被重复使用。[ale-rt] (#8)
2.1.1 (2019-12-10)
错误修复
允许性能测试运行更长的时间。这似乎在 Plone Jenkins 测试服务器上运行并行作业时是必需的。[maurits] (#20)
2.1.0 (2019-04-29)
新功能
在路径中存储日期信息。可以用作删除所有例如一年以上的重定向的基础。[maurits] (#17)
跟踪重定向是手动添加的还是自动添加的。[maurits] (#18)
2.0.1 (2019-03-03)
新功能
支持使用‘in’运算符进行路径操作。支持使用storage[old_path]获取新路径,可能会引发KeyError。支持使用storage[old_path]设置或删除新路径。支持使用len(storage)获取路径数量。支持storage.clear()清除所有数据。支持storage.update()进行批量更新。已添加性能测试。调用时使用export PLONE_APP_REDIRECTOR_PERFORMANCE_NUMBER=100000启用。[maurits] (#13)
错误修复
将doctests转换为unittests。移除了不再需要的test_suite函数。[maurits] (#12)
2.0.0 (2019-02-13)
破坏性更改
不再尝试检查portal_redirection的允许类型。这来自Products.RedirectionTool,该工具计划合并到CMFPlone 5.2。仅允许特定类型重定向的功能将被删除或更改。[maurits] (#1486)
1.3.7 (2018-11-21)
错误修复
清理项目级别文件(setup.py,pyproject.toml)[maurits] [gforcada] (#2524)
1.3.6 (2018-02-02)
错误修复
添加Python 2/3兼容性[vincero]
1.3.5 (2017-06-20)
错误修复
移除unittest2依赖[kakshay21]
1.3.4 (2017-01-12)
错误修复
不要测试树迭代器的repr。[davisagli]
1.3.3 (2016-11-10)
错误修复
在Python文件上添加编码头。[gforcada]
1.3.2 (2016-08-18)
修复
使用zope.interface装饰器。[gforcada]
1.3.1 (2015-09-09)
修复测试以使用注册表进行值查找。[esteele]
1.3 (2015-08-14)
重新发布1.2.1为1.3以提高清晰度。这仅适用于Plone 5。[maurits]
1.2.2 (2015-08-14)
重新发布与1.2相同的代码。1.2.1的变化仅适用于Plone 5。[maurits]
1.2.1 (2014-02-26)
不使用folder_contents重命名。[davisagli]
使用p.a.contenttypes测试固定装置,并适配/修复由于Plone 5中ATContentTypes删除而失败的测试。[timo]
1.2 (2013-05-26)
支持重定向到外部URL。[rpatterson]
1.2a1 (2012-07-02)
从zope.lifecycleevent导入对象事件。[davisagli]
将测试从PloneTestCase移动到plone.app.testing。[timo]
1.1.3 (2012-05-07)
支持视图的部分,例如mypage/@@myview/somepart [anthonygerrard]
#12354将基于存储的查询字符串以及路径进行重定向。[djay]
#9967在重定向后附加相同的查询字符串,以提高跟踪友好性。[djay]
#12858对未找到页面的第一个建议可能不合适[anthonygerrard]
1.1.2 - 2011-07-05
在objectMoved处理程序中,如果请求没有ACTUAL_URL,则不要中断,以方便测试。[davisagli]
添加MANIFEST.in。[WouterVH]
1.1.1 - 2011-03-02
优雅地处理404视图上解析SearchableText查询时的错误。[davisagli]
1.1 - 2010-07-18
将许可更新为仅适用于GPL版本2。[hannosch]
1.0.13 - 2010-01-25
为Products.RedirectionTool的getRedirectionAllowedForTypes方法添加可选支持。[hannosch]
1.0.12 - 2009-06-17
修复IFourOhFourView定义中的错误调用约定。[wichert]
将事件订阅者移动到单独的zcml文件,以便可以轻松排除。[wichert]
更新浏览器视图,以处理存储实用工具不可用的环境。[wichert]
1.0.11 - 2009-04-05
修复了多个步骤循环引用#8840 [gotcha]
修复了由于重定向而导致的带有%-转义序列的URL增长额外%25s的bug。[erikrose]
1.0.10 - 2009-03-07
修复测试以使其不依赖于任何默认内容。[hannosch]
修复了一个测试,使其对页面渲染的依赖性更小。[hannosch]
在括号周围添加引号。这解决了http://dev.plone.org/plone/ticket/8588的问题。[MatthewWilkes]
1.0.9 - 2008-07-07
修复了关于新创建的对象不必要创建重定向条目的修复。[witsch]
1.0.8 - 2008-07-07
通过确保我们有一个“晚”版本号来解决发布混淆。在某个地方,有人创建了一个1.0.7。:-) [optilude]
1.0.6 - 2008-07-07
修复了新创建的对象不必要创建重定向条目的bug。[witsch]
1.0.5 - 2008-01-03
从导航根而不是站点根开始搜索缺失的项目。[wichert]
1.0.2 - 2007-10-08
也忽略视图的id。[ldr]
在storage中添加了__iter__函数,该函数遍历所有路径。[fschulze]
1.0 - 2007-08-17
初始发布。[optilude]
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪一个,请了解更多关于 安装包 的信息。