2011-01-20 2 views
0

Я поддерживаю существующего поставщика данных Sitecore, созданного внешним консультантом. Он работает по большей части, но, кажется, есть ошибка при заполнении поля, которое мне нужно для устранения неполадок.Когда выполняется поставщик данных Sitecore?

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

Также, что лучше всего подходит для отладки поставщика данных? Является ли практическим/возможным создание модульных тестов?

Это может быть или не быть актуальным, но этот конкретный поставщик данных построен поверх Spring Framework, что означает гигантский конфигурационный файл элементов Sitecore и полей, которые этот провайдер будет заполнять.

ответ

3

Каждая «база данных» (master/core/web) в Sitecore фактически является открытым каналом, на который может подписаться и реагировать любое количество поставщиков данных. Когда какой-либо запрос базы данных происходит в Sitecore, все поставщики данных, которые внедрили этот метод запроса, срабатывают и получают возможность ответить. Примерами таких методов запроса будет:

  • GetParentID
  • GetItemVersions
  • GetItemFields
  • SaveItem

Можно, конечно, отлаживать эти поставщики данных, как вы бы любой другой код в Sitecore (приложить к рабочему процессу IIS), независимо от того, срабатывает он или нет, зависит от того, какие методы этот поставщик данных реализует. Одна вещь, которую вы можете обнаружить, заключается в том, что метод не запускается, потому что элемент теперь кэшируется, чтобы этого не происходило, просто сбросьте пул приложений, лучший способ сделать это - нажать web.config или перестроить проект.

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

+0

Спасибо Стив. Это было очень полезно. Я читаю код вашего поставщика данных - отличный материал! –

Смежные вопросы