Upload
lugnsk
View
1.481
Download
2
Embed Size (px)
Citation preview
Максим Александрович Бакаев
История развития и применения CMS: Drupal и другие
VGroup (http://vgroup.ru)
директор
НГТУ, каф. экономической информатики (ФБ)
доцент, к.т.н., и т.п.
http://магистратура-нгту.рф
Есть ли у нас план?
Что такое CMS
преимущества и наоборот
принципы работы
классификация
История и настоящее
Коммерческие vs. свободные CMS
другие: сравнение основных бесплатных CMS
CMS Drupal подробно We love Drupal!
Похожие и непохожие проекты
Легко ли отдавать
2 Software Freedom Day, НГТУ, 2014
Системы управления контентом
Enterprise content management system (ECMS) –система управления контентом уровня предприятия
осуществляет управление информационными ресурсами предприятия (документы, файлы, мультимедиа, знания, …)
Web content management system (WCMS)– система управления веб-контентом
инструмент для создания/разработки/поддержки веб-сайтов
На русском «система управления контентом» (CMS)
в 95% случаев обозначает систему управления веб-контентом
изредка подразумевается система управления электронным документооборотом (электронными документами, электронным контентом)
3 Software Freedom Day, НГТУ, 2014
Системы управления веб-контентом Content management systems (CMS) – программный
комплекс для создания, публикации, редактирования и организации содержимого, настройки и администрирования сайта
Среди основных функций:
хранение содержимого сайта в БД и/или в файловой системе, наличие средств для управления информационным содержимым;
стандартизация представления информации на сайте, использование шаблонов, позволяющих централизованное редактирование;
масштабируемость по функциональности и по нагрузке;
управление пользователями, разделение ролей.
Content management frameworks (среды разработки) –поддержка создания сайта, готовые решения/библиотеки
4 Software Freedom Day, НГТУ, 2014
Преимущества CMS
Уменьшение трудозатрат на создание веб-сайтов, т.е. сроков и стоимости разработки
Возможность концентрироваться в ходе разработки на обеспечении удобства для целевых пользователей
Повышение качества информационного продукта –вложение чужих трудозатрат (надо стараться отдавать!)
Снижение трудоемкости и стоимости поддержки информации, снижение требований к квалификации персонала – с системами может работать и неспециалист в сфере ИТ (контент-менеджер, вебмастер, дизайнер)
Улучшение возможностей дальнейшего развития продукта – за счёт модульной архитектуры, разделения данных и их представления
5 Software Freedom Day, НГТУ, 2014
Особенности и недостатки CMS
Необходимость работать с чужим кодом и чужой архитектурой системы (программисты любят всё делать с нуля!)
Требовательность к компетенциям программиста (специализация)
Более низкая производительность по сравнению со специализированными программными решениями (универсальность не бывает «бесплатной»)
Требовательность к программным ресурсам
PHP; MySQL, PostgreSQL
ASP.NET, C#, Java, VB.NET, Python и др.; MSSQL, Oracle
Необходимость настройки и доработки под конкретные задачи, которая не всегда осознаётся неспециалистами (CMS легко принять за готовое решение!)
6 Software Freedom Day, НГТУ, 2014
Технические принципы работы CMS
Разделение контента и оформления Использование шаблонов веб-страниц
Настраиваемые шаблоны (в Друпале – блоки, регионы и т.д.)regions[header] = Headerregions[help] = Help
regions[page_top] = Page topregions[page_bottom] = Page bottomregions[highlighted] = Highlighted
Использование каскадных таблиц стилей (CSS)body {line-height: 1.5;
font-size: 87.5%;word-wrap: break-word;margin: 0;
padding: 0;border: 0;outline: 0;
}
7 Software Freedom Day, НГТУ, 2014
h1 {
font-size:
1.357em;
color: #000;
}
h2 {
font-size:
1.143em;
}
a:link,
a:visited {
text-decoration: none;
}
a:hover,
a:active,
a:focus {
text-decoration:
underline;
}
Технические принципы работы CMS
Обработка веб-страницы ядром CMS
Вставка элементов контента в обозначенные места шаблонов
<?php if ($logo): ?>
<a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>"
rel="home" id="logo">
<img src="<?php print $logo; ?>" alt="<?php print t('Home'); ?>" />
</a>
<?php endif; ?>
Возможность вызова функций модулей (ядром обрабатывается код всех модулей)
В Друпале – “hooks”, похожи на публичные методы классов
например: hook_block_configure (задаёт форму конфигурационных
настроек для блока), hook_comment_update (обновление комментария)
8 Software Freedom Day, НГТУ, 2014
Создание корпоративного сайта с CMS
9 Software Freedom Day, НГТУ, 2014
Разработчики: развёртывают CMS и БД, создают начальную структуру веб-сайта и оформление (вместе с дизайнерами)
Авторы контента: наполняют сайт (создают страницы, разделы)
Администраторы: управляют пользователями, выдают права
Бизнес-характеристики и типы CMS
По условиям использования (лицензии):
бесплатные и open-source коммерческие (платные) собственные разработки («внутренние»)
По возможности переноса (отчуждения): отчуждаемые Software as a Service – предоставляемые на сервере
автора
По функциональности: блог, личный сайт сайт-визитка, интернет-магазин сайт сообщества универсальные (расширяемые)
10 Software Freedom Day, НГТУ, 2014
Бизнес-характеристики и типы CMS
По необходимости донастройки:
для конечных пользователей;
для разработчиков: CMF – content management framework(среда разработки, использование её позволяет существенно облегчить труд программистов).
По используемым технологиям:
Языки: PHP, ASP.NET, C#, Java, VB.NET, Python;
Базы данных: MySQL, PostgreSQL, MSSQL, Oracle.
По архитектуре построения:
наличие ядра и модулей расширения;
легкость внедрения собственного кода;
легкость настройки внешнего вида для посетителя.
11 Software Freedom Day, НГТУ, 2014
Наиболее распространённые CMS Данные на июль 2014 г. Платные (13,1% в зоне .ru):
1С-Битрикс (58%), DataLife Engine, UMI.CMS, NetCat, HostCMS
12 Software Freedom Day, НГТУ, 2014
Наиболее распространённые free
CMS Данные на июль 2014 г. (.ru) Бесплатные и
свободные: WordPress, Joomla, Drupal, MODx
13 Software Freedom Day, НГТУ, 2014
Сравнение CMS 1С: Битрикс
известность, авторитет 1С, большое количество модулей платность, неудобство настройки и доработок, запутанность кода
Wordpress широко распространена за рубежом, много хороших готовых дизайнов низкая универсальность: рассчитана на блоги и личные сайты
Joomla большое сообщество, удобство для пользователя, распространенность недостаток производительности и уровня безопасности
Drupal архитектура CMF – возможность разработки, большое количество
модулей, поддержка на сайте drupal.org, устойчивость к нагрузке сделан для программистов, высокие требования к серверу/хостингу
MODx хорошая производительность, удобство как для программистов
(доработка), так и для пользователей (управление) относительно недавнее начало проекта, слабость функционала
14 Software Freedom Day, НГТУ, 2014
Drupal Единый сайт drupal.org (есть drupal.ru)
Около 1 млн. участников, около 30 тыс. контрибуторов
Около 6 млн. страниц
Разработка (open-source с 2001 г.):
Версия 6 – поддерживается (с 2008 г.)
Версия 7 – основная (с 2011 г.)
Версия 8 – в разработке (уже долго).
Представляет собой CMF, имеющую в качестве базовой комплектации CMS
Около 30.000 бесплатных расширений (модули и темы)
Разработчики знают слово «юзабилити» и даже проводят юзабилити-тестирования, НЯ!
15 Software Freedom Day, НГТУ, 2014
Drupal – особенности
Каждый материал на сайте является «узлом» (node):
страница, новость, опрос, заметка (статья)
администрирование – редактирование узлов или настроек
Нет разделения на «админку» и «витрину»
Дизайн = «тема»: стандартная, донастройка CSS, донастройка шаблонов, собственная)
«регион» веб-страницы – отмеченное в шаблоне страницы место («шапка», левая колонка, «подвал»)
блок – комплексный элемент, отображаемый в некотором «регионе» веб-страницы
16 Software Freedom Day, НГТУ, 2014
Самые-самые модули Drupal
CCK: создание собственных типов содержимого с задаваемыми полями (атрибутами):
«Новость», «Товар», «Вакансия», «Проект» и т.д.
С версии 7 почти весь функционал – в ядре
Views: отображение на сайте материалов всех типов (в виде списков, таблиц, изображений, ссылок…):
Например, отображение новостей в виде блока предпросмотра и на странице
Фактически, генерация запроса на SQL
Ubercart: электронная коммерция на все случаи жизни (но не для слабых умов)
17 Software Freedom Day, НГТУ, 2014
Drupal: проекты Система автоматизированного мониторинга рынка
труда (для мэрии г. Новосибирска) – Drupal и ещё много, много чего
Интернет-магазин «Краса-мама» (http://krasa-mama.ru/) – функционал и нагрузка
Интернет-магазин «SwiftAI» (http://swiftai.com/) –многоязычность и многоценовость
Ресторан «На даче» (http://nadacheresto.ru/) – дизайн
Оборудование «Тион» (http://tion.vgroup.su/) –дизайн
Оборудование «Биотек» (http://biotek-nsk.ru/) –дизайн
Магистратура по веб-дизайну (http://magistratura-nstu.ru/) – продвижение18 Software Freedom Day, НГТУ, 2014
Участие в жизни Drupal Разработка («песочница» -> полноценный проект)
участие в развитии «ядра»
создание собственного модуля или участие в развитии чужого
написание «патчей»
Тестирование (или хотя бы сообщить о баге)
Создание контента или документации
Участие в поддержке сайта, консультирование пользователей, обучение пользователей
Популяризация, предоставление услуг
бизнес-портал для небольших компаний http://vgroup.su
19 Software Freedom Day, НГТУ, 2014