EPiServer 从自家开发的 CMS 迁移内容

EPiServer migrate content from home grown CMS

希望有人能帮助我,我是EPiServer的新手,有一个数据迁移任务。我们正在使用最新版本 8.5。我需要将内容从客户自制的 CMS(幸运的是在树状结构中)迁移到 EPiServer。网络上似乎没有太多关于此的信息 - 也许我只是不知道要搜索的正确内容。

看起来使用 EPiServer.ServiceApi 可能是可行的方法,但再次证明找到有用的文档很困难。

我正在考虑在 SQL 服务器中设置客户端 CMS 并编写一个简单的控制台应用程序来调用 EPiServer.ServiceApi 插入内容。如果有人对此有任何信息或更好的信息和示例,我将不胜感激。

谢谢,

如果您只是从另一个 CMS 导入内容,我会在 EPiServer 中编写计划作业:

http://world.episerver.com/code/dannymurphy/Stoppable-Scheduled-Job-with-feedback/

该作业然后使用标准 IContentRepository 来创建内容:

http://world.episerver.com/documentation/Items/Developers-Guide/EPiServer-CMS/8/Content/Persisting-IContent-instances/

这样您就可以随时 运行 它并且可以访问完整的 EPiServers API。您还可以通过作业状态查看导入进度。

在作业中,您可以将内容作为您喜欢的任何格式的文件读取,或者直接从源 CMS 数据库或某些 xml 或 RSS 提要中读取。

我已经通过这种方式从 PHP、Java 和 .NET CMS 中移动了内容。在 .NET 中,您甚至可以通过 WCF 或 SOAP(如果可用)访问源 CMS。

ServiceApi 相对较新,更侧重于商业产品和媒体资产,而不是 CMS 页面和块内容,因此我不会使用它。

顺便说一句,下面有完整的ServiceApi文档,你没找到吗?

http://world.episerver.com/documentation/Items/EPiServer-Service-API/

关于语言管理,您可以在以下链接中阅读更多内容:

http://cjsharp.com/blog/2013/04/11/working-with-localization-and-language-branches-in-episerver-7-mvc/

http://tedgustaf.com/blog/2010/5/create-a-new-page-language-branch-programmatically-in-episerver/

基本上,对于多种语言,您有两种选择。如果内容只是直接翻译,您应该为同一页面创建九个不同的语言版本(分支)。您还可以在一个 EPiServer 安装中拥有多个站点,但这需要 9 个单独的许可证(以及相关费用)。

我做过很多EpiServer内容迁移项目。如果可能的话,最简单的方法是在 Json 中导出您当前的站点树,然后将其导入 EpiServer。我不得不在最近的一个项目中这样做,并与 Json.net 混合使用,这很容易。

如果你想走那条路,你可以在这里找到所有的代码:EpiServer Content Migration With Json.Net/