2

Надеюсь, кто-то может мне помочь, я новичок в EPiServer и получил задание на перенос данных. Мы используем последнюю версию 8.5. Мне нужно перенести контент из дома CMS, который, к счастью, находится в дереве, подобном структуре, для EPiServer. По всей видимости, в Интернете не так много информации об этом, возможно, я просто не знаю, что нужно искать.EPiServer переносит содержимое из дома CMS

Похоже, что использование EPiServer.ServiceApi может быть маршрутом, но снова найти полезную документацию сложно.

Я думал о настройке клиентской CMS в SQL Server и написании простого консольного приложения для вызова EPiServer.ServiceApi, вставляющего содержимое. Если у кого-то есть информация об этом или еще лучше, и, например, я был бы очень благодарен.

Спасибо,

Dan

ответ

2

Если вы только импорт содержимого из другой 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/

Таким образом, вы можете запускать его, когда захотите, и иметь доступ к API-интерфейсу EPiServers. Также вы можете увидеть ход импорта через статус задания.

В задании вы можете прочитать содержимое как файл в любом формате, который вам нравится, или непосредственно из исходной базы данных CMS или, возможно, с помощью XML или RSS-канала.

Я переместил контент из PHP, Java и .NET CMS таким образом. В .NET вы можете даже получить доступ к исходной CMS через WCF или SOAP, если они доступны.

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 отдельных лицензий (и связанные с ними затраты).

+0

Спасибо вам большое за ваше время Andreas я дам этому попытку. Главное, что мне нужно сделать, это импортировать 9 разных языков в EPiServer. Предположим, что это можно сделать, используя приведенное выше объяснение. –

+1

Я согласен, использование IContent api намного более мощное. –

+0

@ DanielPickford: Я добавил дополнительную информацию о том, как управлять языками в EPiServer. – Andreas

0

Я сделал много проектов миграции контента EpiServer. Самый простой способ, если это возможно, - экспортировать свое текущее дерево сайтов в Json, а затем импортировать его в EpiServer. Я должен был сделать это в недавнем проекте и смешался с Json.net, это довольно легко.

Если вы хотите идти по этому пути, вы можете найти весь код, чтобы сделать это здесь: EpiServer Content Migration With Json.Net/