muensmedia / partial-content-export
在 Neos 实例之间导出/导入/迁移内容。
Requires
- php: >=7.4
- ext-xmlwriter: *
- neos/neos: ^7.0 || ^8.0
README
导出和导入部分内容而不是整个站点
使用此包,您可以导出 部分内容 - 页面树和单个内容元素,从 Neos 实例到另一个实例。这可以看作是内置的站点导出和导入的更灵活版本。
Muensmedia.PartialContentExport
使用 Neos 内置的站点导出/导入服务,并通过扩展的命令行界面提供更多功能。如果您曾经需要手动将准备好的内容从预发布实例复制到生产实例,而导出整个站点不是一个选项,那么这个包就是为您准备的!
特性
- 导出单个节点及其后代,而无需导出整个站点
- 在另一个 Neos 实例中的相同或不同路径导入这些节点
- 自 v1.2.0 版起: 包含来自 Sitegeist.Taxonomy 包的术语数据
作者
此包由来自马格德堡的 MÜNSMEDIA GmbH 开发。
安装
运行以下 composer 命令来安装包:
composer require --no-update muensmedia/partial-content-export
然后更新 composer:composer update
用法
命令行界面受到原始 site:export
和 site:import
命令的强烈启发。
导出内容
示例:使用其标识符导出页面或内容元素。
./flow content:export --source 16e80b43-393b-42c6-8e1a-2f280640fbf0 --package-key "Muensmedia.Site" --site-name "site" --filename "easter-campaign"
这将导出由 16e80b43-393b-42c6-8e1a-2f280640fbf0
标识的节点,并将其保存为 Muensmedia.Site/Resources/Private/Content
目录下的 easter-campaign.xml
文件。此外,还会创建一个包含导出内容中使用的所有资源的 Resources
目录。
导入内容
示例:将内容简单地导入到与导出位置相同的内容树中。
./flow content:import --package-key "Muensmedia.Site" --filename "easter-campaign"
导出内容的原始位置存储在 xml 文件中。如果没有指定其他位置,则内容将导入到相同的位置。该位置已存在的内容将与新内容合并。
支持的扩展
部分内容导出器可以导入/导出来自扩展的附加数据,这些数据不是直接附加到内容存储库节点树中的。
导出内容时,我们将扫描兼容的扩展,并询问您是否要包含它们的数据。您可以使用 --detect-extensions 0
禁用自动扫描。您还可以直接指定要导出的扩展,例如使用 --extension <package name>
,例如 --extension sitegeist/taxonomy
。
导入数据时,将导入所有包含的扩展数据。如果目标 Neos 实例中没有安装所需的包,导入将失败并显示错误消息。如果包已安装在不同版本中(无论版本高低),将显示警告,但您可以选择导入数据。
目前,仅支持包 Sitegeist.Taxonomy。
当前限制
此包目前不能用于复制或移动内容(无论是同一安装中的同一站点还是不同站点)。 这意味着您不能将现有内容重新导入到不同路径以移动它或创建副本。这样做会导致 Neos 站点中各种问题,因此我们添加了一些基本的合理性检查来防止这种情况。
贡献
如果您发现此软件包有任何问题或对未来的发展有想法,请创建一个问题报告。我们也将乐意审查和接受拉取请求来改进此软件包。
许可证
请参阅许可证