首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Plone版自动化工具

Plone版自动化工具
EN

Stack Overflow用户
提问于 2015-02-15 00:45:33
回答 3查看 91关注 0票数 1

我注册到编辑的个人资料,一个用Plone写的门户。我收到了将多个链接(超过1000个)更改到他们的新地址的任务。

做了以下工作:

  1. 我将所有需要更正的页面保存到文件夹中(通过复制和粘贴);
  2. 编写了一个C程序来查找所有要替换的URL;
  3. 在文本文件中放置旧URL及其替代URL (在另一行下:旧URL、新URL、旧URL、新URL、旧URL、.);
  4. 然后另一个程序进行了适当的替换。
  5. 在此之后,只需重新设置页面(复制和粘贴)。在第一步和第五步中花费了大量的时间。我想知道是否有任何方法来自动化这个过程?换句话说:是否有任何Plone工具可以自动将门户的所有页面保存在计算机文件夹中,然后执行相反的操作(从计算机到服务器)?我找了很多遍却没找到。
EN

回答 3

Stack Overflow用户

发布于 2015-02-16 06:36:06

如果这些链接指向同一站点中的旧位置,则只需使用plone.app.redirector将它们重定向到新位置:

代码语言:javascript
复制
from plone.app.redirector.interfaces import IRedirectionStorage
from zope.component import getUtility

storage = getUtility(IRedirectionStorage)
paths = [('old/path/1', 'new/path/1'), ('old/path/2', 'new/path/2'), ]

for old_path, new_path in paths:
    storage.add(old_path, new_path)

这样,您就不必编辑包含旧链接的每个页面。

更多信息:https://pypi.python.org/pypi/plone.app.redirector/

票数 2
EN

Stack Overflow用户

发布于 2015-02-15 16:09:06

如果有新的,旧网址的格式与新网址的格式之间有某种关系,那么使用rt.bulkmodify可能会有很大帮助。

票数 1
EN

Stack Overflow用户

发布于 2015-02-17 04:44:01

所有自动化解决方案都需要管理员,因为它们涉及安装附加程序.

将此作为先决条件,如果您出于某种原因需要以编程方式更改这些链接,而不需要创建完整的包(或者这里给出的建议无法解决您的具体问题),那么您可以使用一个简单的命令行中的ZODB脚本来与您进行交互。

总是在执行这些操作之前备份ZODB。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28521918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档