Мы в Digital Design тут на низком старте — ждём запуска очередного проекта на Sitefinity. Наши разработчики готовы оды посвящать этому инструменту, и мы (Максим Паньков, архитектор ПО, и Сурен Соколов, ведущий разработчик ПО) решили выяснить, что же вызывает такой восторг. Ну и раз Sitefinity становится такой популярной платформой для разработки в Enterprise-сегменте (по нашим ощущениям), почему бы не познакомиться с ней поближе.

Это не рекламная статья о Sitefinity, это просто собранные в кучу мнения наших разработчиков, которые работают с этим инструментом. Они будут полезны тем, кто хочет разобраться, чем этот инструмент отличается от других, и тем, кто сейчас стоит перед выбором — что изучать, на чём работать.

image


КАТ


Коротко о главном «по-википедишному»: Sitefinity — это система управления веб-контентом, которая использует шаблоны разработки .NET 4.0, знакомые разработчикам Microsoft. На западе он очень популярен. Собственно, все клиенты, которые к нам приходили с просьбой разработать систему на Sitefinity, узнавали о ней именно от зарубежных коллег, либо от самого вендора, а в России Digital Design — единственный официальный партнер компании-разработчика Progress.

Мы не будем здесь рассматривать вопрос стоимости. Во-первых, мы работаем с крупными корпорациями, и им важна надёжность платформы, поддержка и развитие, поэтому они готовы платить за инструмент. Во-вторых, и клиентам, и разработчикам важны её возможности. Так что остановимся на них.

С чем сравнивают Sitefinity?


  • SharePoint
  • 1C-Битрикс
  • Wordpress
  • Umbraco
  • DotNetNuke
  • Orchard CMS

Чем выгодно отличается от них?


  • Виджеты на ASP.Net MVC

Sitefinity безумно удобна для разработчиков — считай, ты пишешь на чистом MVC (Model View Controller, технология разработки в .NET). Когда ты не привязываешься к контролам, или виджетам, — пишешь отдельно back, отдельно view, и они взаимодействуют друг с другом через MVC. Можно делать на ней все, что угодно — ты не ограничен технологиями, рамками платформы – можешь делать хоть SPA (single page application).

В Sitefinity есть динамические модули ListModules, которые в разы лучше списков SharePoint по производительности. Модульная и расширяемая – можно менять хранилища данных (виды файловых, типы баз данных, облачные интеграции и т.п.)

Всё в стиле Telerik (кто работал с их компонентами, знаком).

  • Мощная админка

У Sitefinity мощная админка, в которой легко можно настраивать любые процессы, персонализировать контент. Например, можно сделать несколько сайтов на одной CMS (в одной админке): создать одно ядро и по-разному настроить разные сайты.

image

image

image

image

image

image

  • Удобная архитектура

С помощью MVC Layout можно сделать гибкую настройку страниц, нагенерить страницы, в админке накидать на них виджеты — и всё это без программирования вообще.

  • Быстрая ORM

Object-Relational Mapping, или ORM (объектная модель данных) позволяет писать модули без изучения новых языков программирования, достаточно изучить MVC. Для администраторов это — удобное управление, для разработчиков — низкий порог вхождения в разработку.

  • Документация — огонь

Это, наверное, самая лучшая документация, с которой мне приходилось работать. Она доступна на сайте, и вы сами можете в этом убедиться.

  • Поддержка

У Sitefinity отличная поддержка вендора, а также активное сообщество. Sitefinity по три раза в год выпускает пакеты обновлений, которые повышают производительность, постоянно добавляет новые функции с учётом отзывов клиентов.

  • Тонкая персонализация

Этот пункт скорее оценят маркетологи. Компонент Sitefinity DEC (Digital Experience Cloud) позволяет настраивать сайт под маркетинговые кампании. Например, можно создать сайт и указать, что до 18 лет аудитории нужно показывать один контент, от 18 — другой. Сайт сам будет менять контент под цели компании, и это всё можно настроить через админку без программирования.

Примеры:

  1. Alumil

    Особенность: показывают разный контент для разных регионов через Sitefinity DEC.
  2. Weaver Leather

    Включает интеграцию с SmarterCommerce, JD Edwards EnterpriseOne ERP, чат SnapEngage, Power Reviews, Pixlee, SLI Enterprise, обучающий поиск, Hubspot.
  3. Аг-Про Компании

    Сайт использует Sitefinity workflow, возможности персонализации и Sitefinity DEC для анализа контента.

Ложка дёгтя


  • Процесс Deployment’а не до конца продуман, в частности одно из официальных предложений по процессу разработки состоит в том, чтобы копировать полностью промышленный стенд в среду разработки (все БД и файловые хранилища), делать доработки и заливать обратно. С другой стороны, есть различные утилиты синхронизации, Export for Deployment, экспорт данных и структуры списков, комбинируя которые можно наладить DevOps процесс и без проблем обновлять все среды и стенды.
  • В Sitefinity можно решить одну задачу разными способами, но в документации они друг на друга не ссылаются. Это один небольшой минус к документации, которую выше мы всё-таки похвалили за полноту и структурированность.
  • Часть функций доступна только в старших лицензиях, более дорогих. Но в то же время все эти функции можно допилить самостоятельно. Мы так сделали с аудитом, например. Журналирование событий безопасности доступно только при покупке старшей лицензии, мы разработали для заказчика упрощённую версию.
  • Стоимость.

Наш опыт


В 2015году мы разработали на Sitefinity портал для работы с партнерами строительного Холдинга RBI РАМПА. Портал строили на Telerik SiteFinity 8.0.
Это сайт для партнеров RBI, там содержится полная информация об объектах, через сайт агенты бронируют для показа и резервируют квартиры, доступен удобный подбор вариантов помещений.

Позже для этой же компании мы делали сайт для проведения конкурсов и тендеров тоже на Telerik Sitefinity, только уже версии 9.2, сейчас в процессе еще несколько проектов. Там настроено множество удобных для работы с документами функций. Есть у сайта одна особенность — автоматизированная оценка участников конкурса по финансовым и производственным показателям. Мы внедрили простой математический алгоритм, который анализирует информацию от конкурсантов и автоматически формирует рейтинг участников.

Вывод


Хорошая CMS на .Net, с фоновыми задачами и хорошим модулем пользовательских списков, Workflow Engine. Для работы с данными используется их собственная разработка DataDirect, позволяющая удобно работать с данными из самых различных источников (БД, файловая система, облачные сервисы, другие системы) и не терять в производительности.

Кроме того, если верить отчёту Forrester, международного аналитического агентства, которое занимается исследованиями рынка ИТ, Progress Software имеет целый стек технологий, позволяющих ускорить процесс внедрения ценных функций заказчику, в том числе Sitefinity.

  • Мобильная разработка — NativeScript и Kenvey
  • Интеграции — DataDirect
  • Web CMS, система управления веб-контентом — Sitefinity
  • Управление бизнес-правилами — Corticon

Комментарии (1)


  1. Sovetnikov
    07.09.2019 01:02

    Model View Controller — технология разработки в .NET?
    Обычная CMS, коих много на разных стеках.
    А ORM от Telerik мозг не выносит?