govtnz/silverstripe-externallinks

在不修改数据库内容的情况下,为 SilverStripe CMS 添加跟踪外部断链的功能

安装次数: 7,569

依赖项: 0

建议者: 0

安全: 0

星标: 1

关注者: 6

分支: 18

类型:silverstripe-module

1.0.0 2014-08-13 05:36 UTC

This package is auto-updated.

Last update: 2024-09-21 19:32:11 UTC


README

介绍

核心模块

外部链接模块是一个任务和 ModelAdmin,用于跟踪和报告断开的外部链接。它由 Silverstripe 的 Kirk Mayo 维护。

此分支

这是一个移除了模块核心功能的分支。安装此分支后,模块将不再将 ss-broken css 类写入断开链接的 URL。进行此更改的原因是,将修改后的记录保存到数据库中会更改版本化内容的发布日期,将其推回 RSS 源和最近编辑的页面顶部。

新的 config.yml 文件包含一个布尔值,可以用来开启和关闭“添加类”功能。

除了下一节中的“维护者联系”外,本 README 的其余部分是 Kirk Mayo 的原始文档。

维护者联系

* Leigh Harrison: leigh (dot) harrison (at) dia (dot) govt (dot) nz

要求

* SilverStripe 3.1 +

功能

  • 将外部链接添加到断链报告
  • 添加任务以跟踪外部断链

安装

  1. 如果您有 composer,可以使用 composer require silverstripe/externallinks:*。否则,从 GitHub 下载模块并将其提取到 'externallinks' 文件夹中。将此目录放在您的网站根目录中。这是包含框架和 cms 的目录。
  2. 在浏览器中运行 - /dev/build 以重建数据库。
  3. 运行以下任务 http://path.to.silverstripe/dev/tasks/CheckExternalLinks 以检查断开的外部链接

报告

添加了一个名为“外部断链报告”的新报告。在查看此报告时,用户可以点击“创建新报告”按钮,这将触发一个 AJAX 请求以启动报告运行。

在此初始 AJAX 请求中,此模块将根据包含的模块执行以下一项操作

  • 如果已安装 queuedjobs 模块,则将启动一个新的排队作业。queuedjobs 模块然后将管理任务的进度。
  • 如果queuedjobs 模块不存在,则控制器将回退到在后台运行 buildtask。这不太稳健,因为在此过程中出现故障或错误将终止运行。

在两种情况下,后台任务将遍历系统中的每个页面,检查所有外部 URL 并检查请求每个 URL 返回的状态码。如果 URL 返回被认为是“断开”的响应代码(定义为 < 200 或 > 302),则将 ss-broken css 类分配给该 URL,并在报告中添加一项内容。如果之前断开的链接已修复或修正,则将删除此类。

在实际生成的报告中,用户可以点击任何断开链接项来在浏览器中查看链接,或在 CMS 中编辑包含的页面。

报告正在运行时,当前状态将在报告详细信息页面上显示,包括状态。用户可以离开此页面,稍后再返回以查看报告的持续状态。

在先前的报告完成之前,可能不会生成后续报告。

开发任务

运行以下任务以检查您的网站外部断链:http://path.to.silverstripe/dev/tasks/CheckExternalLinks

队列作业

如果您已安装队列作业模块,可以设置任务定时运行。在mysite/_config中的config.yml文件中添加以下配置,可以让任务每天运行一次(86400秒):

CheckExternalLinks:
  Delay: 86400

白名单代码

如果您想忽略或添加某些HTTP状态码的白名单,可以通过在mysite/_config的config.yml文件中的IgnoreCodes进行设置。

CheckExternalLinks:
  Delay: 60
  IgnoreCodes:
    - 401
    - 403
    - 501