Sitecore - 如何导入内容?

ron*_*ray 4 sitecore

所以我有一项新任务,即将网站内容导入使用Sitecore CMS构建的新网站.我的客户基本上正在进行改造.之前的网站是使用非常古老的CMS构建的,一切都是HTML格式.我实际上想抓住旧网站并以csv格式转储所有内容......但我需要知道..

  1. 如果Sitecore在CMS或Web服务中提供导入外部数据的功能?
  2. 如果是,以什么格式(csv,xml)?
  3. 如果没有,我可以知道是否有替代品或插件?

有这么多的文件,我真的很困惑从哪里开始.我希望我不必编写脚本来做这件事.

如果你们中的任何人都这样做过,如果你能分享你的经验,那将会很棒.

谢谢.

Ste*_*ope 6

好的,这是一个好消息/坏消息.

Sitecore没有标准的"导入"功能,您很可能必须编写C#脚本来导入您的内容.Sitecore允许您定义任意数量的数据结构(模板)来塑造您的站点所需的内容类型,因此从CSV/XML等导入的工具将会有一个艰难的工作,因为有很多不同的可能性如何构建新网站以及可能使用的功能.

好消息是,Sitecore有一个非常强大的C#API,使得处理数据变得非常简单,我建议你查看一下烹饪书,例如SDN上Content API Cookbook.这包含有关使用模板,项目和可用的不同字段类型的信息.

您需要编写的脚本不需要大量复杂,但以这种方式运行迁移可以让您有额外的空间来执行以下操作:

  • 从内容中剥离HTML标记.(我建议使用HtmlAgility)
  • 跟踪/重新映射链接标记中旧页面的链接.
  • 删除对图像的引用或重新映射到新路径或对媒体库的引用.
  • 充分利用Sitecore的不同字段类型

我假设您还没有完成任何Sitecore培训,我会优先考虑这一点,以便您了解Sitecore中数据和内容的结构.

在这种情况下没有灵丹妙药,但根据我的经验,编写这些小脚本并不耗时,并且允许您处理内容迁移带来的复杂要求.

希望这可以帮助.

  • 实际上有两个共享源迁移/导入工具,但我没有使用它们,并且总是为我正在处理的特定站点编写自己的迁移.正如斯蒂芬所提到的,通用导入实用程序通常需要太多自定义才能在100%的时间内工作.http://trac.sitecore.net/DataImporter&http://trac.sitecore.net/XmlImporter (2认同)