Автор: Sitecore MVP Джейсон Сент-Сир

Думаете о том, чтобы сделать набег на территорию обновления Sitecore 8? Мы поможем вам определить семь скрытых опасностей, чтобы вы не попались в их ловушки на своем пути:

В прежние времена, если вы отважились отправиться в пункт назначения без хорошей карты, вы могли столкнуться со всевозможными опасностями. Опасные воды будут отмечены каким-нибудь страшным зверем или леденящим душу сценарием, предупреждающим о надвигающейся гибели. Если бы вы отправились в темноту в одиночку, вас, возможно, даже съела бы мразь! Самый ценный игрок Sitecore (и картограф обновлений) Джейсон Сент-Сир направляет вас к безопасности, намечая 7 скрытников, от которых следует держаться подальше во время вашего путешествия Обновление Sitecore 8.

Скрытень №1:

Web.config такой большой, что может вас съесть

IIS имеет ограничение по умолчанию в 250 КБ для любого загружаемого файла конфигурации, включая файл Web.config. Новый файл Sitecore 8 Web.config поставляется с огромным размером 241 КБ. Большинство решений начинают сталкиваться с ошибкой IIS Не удается прочитать файл конфигурации, поскольку он превышает максимальный размер файла после обновления, особенно если у вас есть RewriteRules в вашем файле Web.config, так как они быстро занимают место на диске.

Чтобы избежать этой ошибки, попробуйте разбить настраиваемые разделы на отдельные файлы конфигурации и оставить файл Sitecore 8 Web.config как можно более чистым. 9 КБ съедаются довольно быстро!

Sitecore знает об этой проблеме, и существуют запросы в службу поддержки, поэтому мы должны увидеть это в будущем выпуске.

Скрытень №2:

Атака клонов

Почти все знают, что в Sitecore 8 появилась концепция нового поля Final Renderings для поддержки версионных макетов. Это здорово и помогает во многих отношениях, если только вы не импортируете клоны в Sitecore 8 из более старой версии.

По умолчанию, поскольку это поле не существовало в более старых версиях, клон будет иметь нулевое значение. Для обычного элемента это здорово, потому что весь макет находится в общем поле, и все работает как обычно. Для клонов значение null означает использование исходного значения из источника клона. Если вы отредактируете исходный элемент клона, его окончательные визуализации заменят презентацию вашего клона.

Скрытень №3:

Устаревшие правила и действия, пожирающие неосторожных

Если вы выполняете обновление с Sitecore 6.x, некоторые системные папки, которые раньше находились в общей папке (/sitecore/system/Settings/Rules/Common), теперь перемещаются в Устаревшее расположение в дереве (/sitecore/system/Settings/Rules/Definitions/Obsolete/Common). Это действительно произошло в Sitecore 7, наряду с довольно большой реструктуризацией этой области дерева. У некоторых решений есть свои настраиваемые правила в этом устаревшем расположении, поэтому вам нужно быть осторожным при импорте из старой базы данных, особенно если десериализация является вашим методом миграции.

Папки имеют одинаковые идентификаторы GUID, поэтому, если вы разместили в этих папках некоторые из своих собственных правил, вы сможете достаточно легко найти местоположение сопоставленной папки. Если вы импортируете этот контент, убедитесь, что вы отправляете его в правильное место или найдите новое место для ваших правил.

Скрытень №4:

Закодированные URL-адреса мультимедиа из космоса

Это еще один забавный момент, который был представлен в Sitecore 7, поэтому влияет только на вас, если вы обновляетесь с версии 6.x. Способ разрешения элементов мультимедиа из URL-адреса был исправлен в Sitecore 7 и выше, чтобы работать так же, как и разрешение обычного элемента контента. К сожалению, это может привести к поломке некоторых ваших медиа-ссылок, если вы кодируете пробелы в URL-адресах дефисами.

Проблема в том, что если вы кодируете пробелы в дефисы, ваше решение может зависеть от старого метода разрешения, в котором родительские элементы могли иметь пробелы или дефисы в одном и том же пути.

Например: /Files/Media Folder/Media-Item. Это больше не работает! Пути должны быть согласованными (пробелы или дефисы, а не смесь).

Подробности и исправления смотрите здесь.

Скрытень № 5:

Роли, потопившие корабли

Импорт ролей с помощью сериализации из другой базы данных необходимо выполнять с осторожностью. Между Sitecore 6.6 и Sitecore 8 в систему было введено несколько новых ролей. Существующие определения ролей также изменились, поскольку они могут наследоваться от новых родительских ролей.

Если вы планируете перенести определения своих ролей, я советую сериализовать как чистые роли Sitecore 8, так и определения ролей вашего решения в файловую систему с помощью инструмента «Диспетчер ролей». На этом этапе используйте инструмент сравнения файлов, такой как Beyond Compare, KDiff, WinDIFF, DiffMerge и т. д., чтобы создать объединенный набор определений ролей. Затем импортируйте объединенный набор с помощью диспетчера ролей.

Скрытень №6:

Существо из лагуны IQueryable

Те, кто перейдет с Sitecore 6.x на Sitecore 8, столкнутся с тем же препятствием, с которым столкнулись те, кто перешел на Sitecore 7: новое пространство имен Sitecore.ContentSearch. То, как сейчас работает индексация и поиск контента, сильно отличается и намного лучше, чем в предшественнике, но это означает, что вам нужно будет обновить свой код для работы с новой моделью. Вам нужно будет запланировать изменение этого кода и добавление новых конфигураций для повторного создания ваших индексов. Эта статья отлично подходит для начала работы с новым пространством имен поиска.

Скрытень №7:

Восстание модулей

При обновлении любой версии вы должны проверять свои модули на совместимость, но, в частности, Sitecore 8 сделает это необходимым. Многие модули Marketplace не были обновлены для Sitecore 8, а некоторые модули теперь заменены функциями OOTB (например, Experience Explorer и FXM). Перед обновлением определите, действительно ли вы используете модуль. Если нет, просто удалите его. Если вы его используете, определите, какие функции предоставляет вам модуль, и проконсультируйтесь со своим партнером Sitecore, чтобы узнать, может ли Sitecore 8 или альтернативный модуль предоставить вам те же функции.

Хотите узнать больше о Sitecore? Посетите nonlinearcreations.com