Массовое создание элементов в Sitecore

Я использую Sitecore 8, обновление 3.

Я пытаюсь массово создать пару тысяч элементов, использующих настраиваемый шаблон. Все эти элементы создаются под одним конкретным родительским элементом.

Пользовательский шаблон имеет два поля: Path [Однострочный текст] и Target [Общая ссылка].

Источник данных находится в старой базе данных SQL.

Есть ли способ сделать это?


person eat-sleep-code    schedule 26.06.2015    source источник
comment
Возможно, стоит подумать об использовании контейнера элементов для хранения ваших элементов, поскольку не рекомендуется хранить такое количество элементов под одним родительским элементом в sitecore doc.sitecore.net/sitecore%20experience%20platform/   -  person geedubb    schedule 28.06.2015
comment
@geedubb Я полагаю, что выберу маршрут ведра, как только я разберусь с импортом.   -  person eat-sleep-code    schedule 29.06.2015


Ответы (3)


Вам подойдет модуль импорта данных для торговой площадки Sitecore.

Также возможно создание собственного импортера с API sitecore, для ускорения можно отключить перестроение индекса.

person Jan Bluemink    schedule 26.06.2015
comment
Такой модуль был бы идеальным. Но он никогда не обновлялся для работы с Sitecore 8. Таким образом, вы можете пройти все шаги и обнаружить, что в инструментах разработчика нет пункта меню, чтобы начать импорт. В основной базе данных был пункт меню, но на самом деле он не отображается в меню. - person eat-sleep-code; 26.06.2015
comment
Вы можете импортировать на более старый Sitecore и package. (если это разовая акция) - person Jan Bluemink; 26.06.2015
comment
В этих обстоятельствах вы в основном заканчиваете писать свой собственный код - person Ian Graham; 27.06.2015
comment
На самом деле этот модуль работает без опции инструментов разработчика. - person eat-sleep-code; 27.06.2015

Поскольку ваши данные уже находятся в SQL Server, вам следует взглянуть на использование компонентов SSIS для Sitecore, он был разработан для массового импорта именно таких данных в Sitecore с использованием ETL.

Дополнительную информацию можно найти в сообщении блога Создание ваш первый проект с компонентами SSIS для Sitecore, а также есть несколько полезных дополнений в Миграция на Sitecore: переход с WordPress на Sitecore с помощью служб интеграции SQL Server (SSIS).

Компоненты служб интеграции для Sitecore доступны на сайте Sitecore Marketplace. совместим с Sitecore XP8.

Я также добавлю, что если вы создаете что-либо более чем на 100 элементов ниже одного родительского элемента, тогда это не рекомендуется использовать в Sitecore, если элементы не находятся в корзине элементов. Убедитесь, что вы учитываете это, или разделите свои элементы на более мелкие подпапки (например, папки года/месяца для элементов типа новостных статей).

person jammykam    schedule 26.06.2015

В этих сценариях вы обычно заканчиваете тем, что пишете код для вызова API и создания элементов программно, а не выполняете общий импорт.

Если вам нужно создать большое количество элементов, я бы порекомендовал написать для этого консольное приложение. Вы можете использовать веб-API элементов Sitecore для создания элементов вне контекста Sitecore или исследовать новый API-интерфейс Entity Service в Sitecore, оба будут способны создавать большое количество элементов 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 и выполнить его на странице aspx в экземпляре Sitecore — хорошо работает для разовых задач.

Пример асинхронной обработки страницы в ASP. веб-формы (.NET 2.0)

person Ian Graham    schedule 26.06.2015