1. Bitrix .NET Forge CMS
Кроличья нора в WEB разработке
Золотой Сертифицированный парнёр 1С-Битрикс
Задойный А.В.
2. Что такое CMS?
CMS – Content
Management System
Кофе-Дизайн студия, Задойный А.В. 02
3. Бесплатный сыр?
• Нет обязательств
производителя
• Низкий порог входа
• Порой бывает
большое
сообщество
Кофе-Дизайн студия, Задойный А.В. 03
4. Известный бренд или инновационный продукт?
Кофе-Дизайн студия, Задойный А.В. 04
5. Что вкусного?
• Интерфейс управления сайтом «Эрмитаж»
• Поддержка мультидоменной многосайтовости на одном
приложении
• Управляемое кеширование
• BitrixMobile – мобильный интернет-магазин
• Интеграция с Azure и Visual Studio
• Установка из WPI и WebMatrix
• Web-Кластер
Кофе-Дизайн студия, Задойный А.В. 05
8. Мультидоменная многосайтовость
• На одной копии продукта (БД + файлы) можно создать
несколько сайтов с разными доменами (site.ru,
site.com, site.info)
• Реализована внутренним механизмом продукта
• На сервере требуется указать только привязку домена
к web-приложению
• Может работать на shared-хостинге
Кофе-Дизайн студия, Задойный А.В. 08
9. Управляемое кеширование
(cache dependencies)
• Автоматическое обновление данных
сразу после их изменения
• Как только данные изменяются, все
зависимые кеши сбрасываются
• Поддержка в модулях: Блоги и
Инфоблоки
• API для разработчиков
Кофе-Дизайн студия, Задойный А.В. 09
10. Проактивная защита
Делает пользовательский ввод безопасным до того, как
вы начнете его обрабатывать
Посетитель
Опасные данные
Проактивный фильтр
Безопасные данные
Сайт
Кофе-Дизайн студия, Задойный А.В. 010
11. Продукт 1C-Битрикс: .NET Forge
• 14 модулей
• 5 готовых решений «из коробки»
• Система обновлений SiteUpdate
• Сайт сообщества bitrix.net и коммерческая ТП
• Английский и русский дистрибутив
• Бесплатная редакция
• Документация для разработчиков на русском языке
Кофе-Дизайн студия, Задойный А.В. 011
12. Что на десерт?
• ORM
• Гибкая система прав доступа
• Поддержка IntelliSense в Visual Studio
• Агенты – запуск произвольного кода по расписанию
Кофе-Дизайн студия, Задойный А.В. 012
17. Из чего собирается сайт
• сайт строится из ASPX-страниц,
класса BXPublicPage (наследник System.Web.UI
.Page),который можно переопределить (в
настройках продукта есть опция – указать,
какой базовый класс будет применяться к
страницам, создаваемым из веб-интерфейса).
• Т.к. страница на старте подключает шаблон
(мастер-страницу), то весь ее контент может
располагаться только в контентных областях
(<asp:Content>)
Кофе-Дизайн студия, Задойный А.В. 017
18. В теории всё хорошо
Шаблон сайта Формализованный
Стили template.master исполняемый код
styles.css
Компоненты
и
template_styles Контейнеры для кода
.css включаемые области или контента
Основной контейнер
Шаблоны
Рабочая область
компонент
HTML вёрстка НЕ
ДОЛЖНА содержать кода
Компоненты
Файлы
Порядок следования
включаемые области любой и отвечает
выполняемым задачам
Кофе-Дизайн студия, Задойный А.В. 018
19. Новая модель компонентов
• Универсальность.
• Упрощение кода.
• Ускорение работы.
• Уменьшение накладных расходов
• Автоматизированное тестирование
Кофе-Дизайн студия, Задойный А.В. 019
21. Новая модель компонентов
Упрощение кода
Декларативная разметка. Название и описание компонента задано
атрибутом BXComponent. Параметры описываются атрибутами BXCategory
(описание категории) и BXParam (название параметра).
Кофе-Дизайн студия, Задойный А.В. 021
22. Уровни разработки (“вниз по норе”)
.NET Forge предоставляет следующую трехуровневую модель
разработки сайта (по степени сложности требуемого
функционала):
1. Страницы сайта – где мы размещаем компоненты и контент
2. Шаблон сайта и шаблоны компонентов – динамические
блоки – здесь мы делаем основную верстку и дизайн сайта,
кода мало или нет
3. Компоненты – мы решаем различные бизнес задачи, пишем
код
4. Модули, библиотеки – это самый низкий уровень, где мы
формируем API для компонентов, используем системные
абстракции, создаем свои и т. д. Обзору этого функционала
можно посвятить не одну статью
Кофе-Дизайн студия, Задойный А.В. 022
24. «Бесплатный» сайт реален!
• Бесплатный хостинг/VPS на Window Server
2008R2 Web Edition существует
• Бесплатная лицензия .NET Forge CMS
• Стоимость разработки – только ваше время
http://flamenco-libre.ru/ http://naph-24.ru/
Кофе-Дизайн студия, Задойный А.В. 024
Крупные сайты требуют систем управления, поскольку с ними работают не только IT -специалисты. Не стоит каждый раз изобретать паровоз, возможно уже имеющиеся экземпляры эффективнее в эксплуатации?
Болезненный выбор между платной и бесплатной CMS . Сторонники каждой точки зрения доказывают свою правоту с пеной у рта, хотя на самом деле важно как поставленная задача решалась в каждом конкретном случае. Определённое преимущество в масштабировании у редкого экземпляра - .NET Forge CMS , имеющей как платные, так и бесплатную редакцию с довольно большим функционалом. заказчику всё равно на чём его сайт… ему важно чтобы работало…
1С-Битрикс: Управление сайтом – очень известный и узнаваемый на рынке бренд. .NET Forge CMS пока новичок. Чем оправдана смена названия? Не допустить бессмысленную конкуренцию между PHP и ASP.NET линейками Бесплатная версия продукта – community edition Основной маркетинг на английском рынке Цель: за 1.5-2 года собрать сообщество разработчиков вокруг продукта
Современный интерфейс администрирования, возможность настройки панели инструментов, скрыть или привязать инструменты, перемещать панели в удобные места. Всплывающие инструменты не загораживают публичную часть и позволяют видеть администратору сайт «как есть» и тут же вносить изменения.
Основное отличие от обычного кеширования – результат изменения кешируемых данных виден в публичке сразу же после внесения правки, а не спустя время хранения кеша.
Сайт находится в крайне агрессивной среде, и хотя лично я признаю, что бывают пользователи, которые не пытаются нанести нам вреда. Однако хватает и тех, кто несёт опасность ресурсу, даже не осознавая этого. В связи с этим любая информация, получаемая от пользователя должна быть проверена на безопасность. Рассмотрим типичную схему по которой действует модуль проактивной защиты в автоматическом режиме.
Небольшое резюме
Важная особенность .NET Forge CMS заключается в том, что система построена на основе веб-форм в ASP.NET , что позволяет воспользоваться всем арсеналом платформы в работе. Это уже не блокнот…
Всё выше перечисленное было в общем и целом довольно обычным и типичным для большинства систем управления контента. В разных комбинациях и в разной степени, но чудес пока продемонстрировано не было. Однако была обещана «кроличья нора», так где же анонсированные чудеса? Первое чудо уже произошло – показанная простота и функциональность сочетаются в бесплатном продукте от известного производителя. Однако есть ряд… «тонких моментов»… =)
Наиболее яркий случай из моей практики. Очень серьёзная уязвимость, позволяющая злоумышленнику получить практически полный контроль над сервером была признана Microsoft и было предложено временное решение. К сожалению реализация не была доступна большинству простых пользователей. И меньше чем через неделю после появления информации об уязвимости все владельцы лицензий .NET Forge CMS получили уведомление о появлении срочного обновления в CMS , закрывающего данную уязвимость тем самым «временным способом». Достаточно просто нажать кнопочку и загрузить обновления. Большинство владельцев .NET сайтов ещё долго даже не знали о курсировавшей лишь среди специалистов информации. Не буду тыкать пальцем, однако мало какая другая система управления контентом так оперативно реагирует на уязвимости в среде, где она обитает. А проблемы с PHP , многочисленными *nix операционными системами, PhpMyAdmin и т.п. возникают по крайней мере не реже проблем с Win средой.
Несмотря на короткий срок существования и довольно слабую маркетинговую активность сообщество уже содержит довольно много полезной информации. Так же в сообществе оказывается бесплатная техподдержка владельцам некоммерческих лицензий.
В настоящий момент опубликованы 10 шаблонов для .NET Forge . Наш проект пока единственный бесплатно распространяющий (и демонстрирующий) шаблоны для .NET Forge , не считая 5 поставляемых «из коробки» типовых решений с несколькими цветовыми гаммами каждое.
Шаблон сайта в .NET Forge CMS имеет следующую файловую структуру. Мастер-страница служит для размещения HTML -вёрстки, включаемых областей (контейнеры для кода или контента), а так же компонент – заранее подготовленных элементов. В шаблоне некорректно писать код, однако это достаточно часто встречаемое явление, особенно в результате работы неопытных разработчиков. Компоненты в .NET Forge работают на основе разделения логики и представления, так что у каждой компоненте при её вызове в шаблоне (включемой области или на странице) указывается набор входных параметров, которые передаются в компоненту, где обрабатывается логика, а результат передаётся шаблону компоненты, чтобы облечь его в представление (вёрстку компоненты). Смешивать их в кучу считается дурным тоном, однако тоже довольно часто это можно увидеть на практике. Шаблоны компонент бывают типовые (они расположены в самих компонентах), а так же привязанные к шаблону сайта, в этом случае они физически находятся в папке с шаблоном сайта. Каждая компонента расположена в определённом пространстве имён, для типовых компонент это bitrix . Если вам необходимо изменить логику работы компоненты, то некорректно делать это «вживую» – при обновлении ваши изменения могут быть утеряны. Вам следует создать собственное пространство имён, куда скопировать компоненту и дальше править её. Со стилями и файлами всё просто. На слайде представлены типовые названия стилей, которые подключаются в визуальнмо редакторе
http://xn--80ahcjeib4ac4d.xn--p1ai/information/raznitsa_v_shablonakh_1c-bitrix_php_i_asp.net/ - описание всех обязательных полей шаблона На слайде представлен код обязательный для простейшего шаблона. У нас на сайте есть статья, где объясняется значение каждой из данных строк. Используя их в простой HTML вёрстке, можно буквально за 10-15 минут интегрировать простейший шаблон.
Довольно часто приходится слышать о том, как использование данной технологии дорого – вот живой пример возможности бесплатного получения сайта. В прошлом году мы устраивали акцию в рамках которой сделали 2 полностью бесплатных сайта. Лицензия – бесплатная Бесплатный хостинг можно было получить помимо нас у Parking , сейчас у Amazon и на небольшой срок в Azure . При этом вы получите полностью настроенную и сконфигурированную систему. По сути стоимость разработки – только стоимость вашего времени. .NET Forge нужно большое сообщество и тогда эта система управления контентом возьмёт всё лучшее как от платных, так и от бесплатных систем. Вы можете присоединиться к создающемуся прямо сейчас комьюнити и внести свой вклад.