在 Sitecore 中批量创建项目

Bulk Creation Of Items In Sitecore

我正在使用 Sitecore 8,更新 3。

我正在尝试批量创建几千个使用自定义模板的项目。所有这些项目都是在一个特定的父项目下创建的。

自定义模板有两个字段,路径[单行文本]和目标[常规Link]。

数据源在旧的 SQL 数据库中。

有办法吗?

Sitecore marketplace module Data Importer 是您的一个选择。

也可以使用 sitecore 创建自定义导入器 api,要加快速度,您可以禁用索引重建。

在这些情况下,您通常最终会编写代码来调用 api 并以编程方式创建项目,而不是进行通用导入。

如果您需要创建大量项目,我建议您编写一个控制台应用程序来执行此操作。您可以使用 Sitecore Item Web api 在 Sitecore 上下文之外创建项目,或者研究 Sitecore 中的新实体服务 api,两者都能够创建大量 Sitecore 项目。

http://mikerobbins.co.uk/2015/01/06/entityservice-sitecore-service-client/

https://sdn.sitecore.net/upload/sdn5/modules/sitecore%20item%20web%20api/sitecore_item_web_api_developer_guide_sc65-66-usletter.pdf

如果这些不能满足您的要求,您始终可以编写异步代码来创建 Sitecore 项目,并通过 Sitecore 实例中的 aspx 页面执行该代码 - 适用于一次性任务。

Example of Asynchronous page processing in ASP.net webforms (.NET 2.0)

由于您的数据已经在 SQL 服务中,您应该看看使用 Sitecore 的 SSIS 组件,它旨在使用 ETL 将这种数据批量导入 Sitecore。

您可以在博客中找到更多信息 post Creating your first project with SSIS Components for Sitecore and there is also some good additional into in the Migrating to Sitecore: Going from WordPress to Sitecore with SQL Server Integration Services (SSIS) post.

Integration Services Components for Sitecore 在 Sitecore Marketplace 上可用,并且与 Sitecore XP8 兼容。

我还要补充一点,如果您要在单个父项下创建超过 100 个项目,那么这个 is not recommended Sitecore practice 除非这些项目位于一个项目桶中。确保你考虑到这一点,或者将你的项目分成更小的子文件夹(例如 year/month 新闻文章类型项目的文件夹)