Мы строим сайт Sitecore, который будет извлекать некоторые данные о продукте из внешней базы данных. В ночное время мы будем запрашивать внешнюю базу данных и добавлять, обновлять или архивировать/удалять/удалять элементы контента продукта в Sitecore по мере необходимости. В нашем шаблоне данных есть несколько полей, которые будут заполняться непосредственно из внешней базы данных (и будут доступны только для чтения для авторов контента) и других полей, которые они будут заполнять. В наши пользовательские поля входит SKU элемента из внешней базы данных. Возможно, что со временем продукт может исчезнуть из внешней базы данных. В этом случае мы хотели бы, чтобы Sitecore каким-то образом удалил этот элемент из нашего списка продуктов, но не полностью удалил его. Причина этого в том, что продукты, которые были удалены, могут появиться в будущем, и мы не захотим потерять все данные, которые были добавлены в другие настраиваемые поля в элементе. Я могу придумать несколько различных подходов для этого:Какие стратегии я могу использовать в Sitecore для архивирования элементов, а затем восстановить позже через код?
Использование функций архивирования/повторного использования Sitecore. Когда мы обнаруживаем, что в Sitecore есть элемент продукта, который больше не отображается во внешней базе данных, мы можем его заархивировать. Это хорошо работает. Однако я не могу понять, как восстановить этот элемент позже, если он появится во внешней базе данных. У меня нет доступа к каким-либо настраиваемым полям при архивировании элемента (из того, что я читал в Интернете). Поэтому, когда я сталкиваюсь с SKU во внешней базе данных, которая отсутствует в Sitecore, я не могу понять, есть ли заархивированный элемент с этим SKU.
Используйте настраиваемое поле статуса для каждого элемента контента продукта. Я могу установить для каждого элемента контента продукта «активный» или «неактивный». Это упростит повторную активацию элементов, которые появятся во внешней базе данных. Однако я беспокоюсь о таких вещах, как поиск и публикация. Мне кажется бесполезным иметь некоторые элементы контента, которые неактивны в папке всех продуктов в основной базе данных. Это может запутать авторов контента, и я волнуюсь, что они найдут свой путь в веб-базу данных и т. Д. Кажется, мне пришлось бы делать много настраиваемого кодирования, чтобы убедиться, что эти продукты не отображаются на каких-либо страницах и т. д.
Когда продукт отправляется из внешней базы данных, я мог перемещать эти элементы контента в другое место в Sitecore. Затем, когда они снова появятся, я смогу вернуть их обратно. Это также кажется грязным.
Мне просто интересно, есть ли лучшее решение, которое мне не хватает. Заранее благодарю за любую помощь.
Спасибо за вход, это помогает. Мне нравится этот подход наряду с предупреждением пользовательского редактора. Я думаю, что я попытаюсь реализовать это и посмотреть, как это работает. –