Мой год c Sitecore CMS

Более года я не писал в блог не одного поста. В основном из-за отсутствия времени или желания, или просто от банальной лени.

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

О Sitecore

Sitecore(www.sitecore.net) - датская компания с главным офисом в Копенгагене и центром разработке в Украине (Днепропетровск).

Sitecore занимается разработкой своего продукта - Sitecore CMS, а также сопутствующих к нему расширений:

  1. Sitecore Intranet Portal - решение для созданий Интранет-вебсайтов
  2. Sitecore Azure - расширение для публикации Sitecore CMS в облако
  3. Web Forms For Marketeers - упрощает создание опросников и форм в Sitecore CMS
  4. Sharepoint Integration - расширение для интеграции с Microsoft Sharepoint

Sitecore CMS

Sitecore CMS основывается на следующих технологиях:
  1. ASP.NET
  2. MSSQL - используется для хранения данных и может быть заменено MySQL/Oracle БД.
  3. Lucene - используется для поиска в CMS
Хранение контента в CMS

Данные в Sitecore представлены в иерархическом виде.



Каждый элемент дерева (Item) основан на шаблоне, который описывается списком полей.


Поле описывается именем и типом поля. Sitecore CMS включает большой список полей которые покрывает все базовые типы. К слову можно с лёгкостью добавлять собственные типы для полей.

На каждый элемент накладывается представление, которое может быть как:

  • ASP.NET User Control-ом
  • XSLT
  • WebControl-ом
  • или даже ASP.NET MVC view, поддержка которого добавлена в последнюю версию CMS
Backend

После доступа в админку Sitecore многих разработчиков посетит приятное дежа-вю. :)


Иногда складывается впечатление что работаешь в RDP. Админ-панель содержит множество полезных утилит:
  • Редактор пользователей
  • Редактор разрешений доступа к контенту
  • Редактор контента
  • Инструменты разработчика
  • И др.
Кроме того разработчик может создавать свои расширения и утилиты к CMS с помощью Package Designer-а. 

Наряду с обычной админкой Sitecore включает Page Editor который позволяет пользователям редактировать контент прямо на сайте. 

Производительность

В основном работа с данными в Sitecore идёт не через БД, а через API.

Отсюда возникает закономерный вопрос. Насколько он быстрый?

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

http://adeneys.wordpress.com/2010/09/17/sitecore-api-vs-sql/ - Здесь можно посмотреть очень интересное сравнение по скорости импорта данных в Sitecore по сравнению с SQL.

Расширяемость и поддержка IDE

Почти любой компонент системы можно расширить или подменить. Большинство базовых типов системы определены в config-файлах и их можно подменить своими.

Кроме того расширение Visual Studio Sitecore Rocks упрощает создание Sitecore вебсайтов.

Выводы

Для меня знакомство с Sitecore CMS было крайне приятным. 

Из плюсов:
  • Разработка очень схожа с разработкой ASP.NET приложения
  • Простое в изучении API и обилие документации в Sitecore Developer Network
Из минусов:
  • Множество техник разработки на укладываются в процесс написания вебсайта на Sitecore (юнит-тестирование, CI, и др.)






Популярные сообщения из этого блога

Backbone.JS + ASP.NET WebAPI

Работа с LiqPay в ASP.NET и не только

2D Физика для игр - Separate Axis Theorem