phptek / staticsiteconnector

此包已被 弃用 且不再维护。未建议替代包。

从任何网站到 Silverstripe 的全自动内容迁移。

安装: 14

依赖: 0

建议者: 0

安全: 0

星星: 2

观察者: 2

分支: 0

开放问题: 9

类型:silverstripe-vendormodule

0.7.3 2023-04-10 19:45 UTC

README

CI Scrutinizer Code Quality License Packagist Version

简介

Exodus 是一个遵循 ETL 标准(《提取、转换、加载》)的内容迁移工具。它将从任何网站(无论其底层 CMS 技术如何)消耗内容,并将其作为本地内容对象(如 SiteTreeFile 等)导入 Silverstripe 实例。

Exodus 会爬取源网站的 DOM 并将匹配的 URL 缓存到本地文件系统中。然后,它会通过去除文件扩展名、斜杠和特定实现字符串来规范化页面 URL,并运行站点抓取,将内容作为本地 Silverstripe 对象导入您的站点树和资产层次结构。

请参阅文档索引

Migration into Silverstripe CMS

工作原理

提取 类似于模块的“爬取”模式。给定一个 URL,该工具将爬取目标网站并将匹配的 URL 集合缓存在本地文件系统中。

转换 是对在爬取模式下缓存的 URL 进行规范化的过程,这些 URL 独特于源系统(Drupal、Wordpress 或 Plone)。这是自动发生的,并且随着在主要“URL 处理”选择中做出的选择。这可能需要试错,直到爬取过程完成。

加载 类似于模块的“导入”模式,这是调整您的爬取设置所付出的艰辛工作的回报,允许您将每个缓存的 URL 中的内容导入您的站点树和资产存储。

请参阅文档索引

迁移

请参阅迁移文档

要求

  • PHP ^7||^8

安装

composer require --dev phptek/silverstripe-exodus

您需要设置 PHP 以允许长时间运行的过程。根据需要爬取的目标网站中 URL 的数量以及您的配置,您可能需要 20-30 分钟。因此,根据您的设置配置以下内容:

# Tell PHP itself to allow for long-running processes in php.ini
max_execution_time 72000
# Tell php-fpm to not stop reading after 20m in nginx.conf
fastcgi_read_timeout 72000;
# Tell php-fpm to increase the no. of available child process up from the default of 5 in www.conf
pm.max_children = 25

请参阅包含的迁移文档,该文档详细介绍了如何配置工具以执行内容迁移。

请参阅其他文档

历史

本模块最初于2012年由当时Silverstripe Ltd的首席执行官Sam Minnee编写,当时被称为“静态站点连接器”模块。当时该公司成功地在多个场合使用它来导入正在建设的新Silverstripe项目的内 容,并且多年来其他Silverstripe员工对其进行了改进。

大约在2015-2016年间,Sam将此模块存档,随后由Russell Michell接手并进行了改进。

2022年,Russell在即将到来的工作中再次发现了这个工具的需求,并将其修改为与Silverstripe v4兼容。

贡献者

按提交次数排序

还要感谢Marcus Nyholt对使用外部内容模块的贡献,这个模块是Exodus构建的基础。当前状态的模块实际上包含了nyeholt/silverstripe-external-content包,并以子目录的形式将其打包,而不是使用Composer。

这样做更简单。

支持我

如果你喜欢看到的结果,请支持我!我接受比特币

Bitcoin
3KxmqFeVWoigjvXZoLGnoNzvEwnDq3dZ8Q