ПЗ CMS. Инсталляция, настройка и конфигурирование cms на примере конкретной прикладной задачи вёрстки Webсайта
Скачать 2.25 Mb.
|
Постановка задачиИнсталляция, настройка и конфигурирование CMS на примере конкретной прикладной задачи вёрстки Web-сайта. Теоретическая частьCMS (от английского Content Management System) - система управления содержимым (контентом) - компьютерная программа или информационная система, которая используется для организации и обеспечения процесса по совместному созданию, управлению и редактированию содержимого сайта. Основной задачей такой системы является сбор и объединение в единое целое, на основе ролей и задач, различных источников информации. Эти источники могут быть доступны как внутри самой организации, так и вне её пределов. К тому же данная система обеспечивает возможность взаимодействия различных сотрудников, проектов и рабочих групп, с теми базами знаний и данных, которые были ранее созданы, в таком виде и таким способом, чтобы сделать процесс поиска и повторного использования максимально комфортным и привычным. В такой системе управления контентом определяется всё многообразие существующих данных: стандартные документы, музыка и звуки, видео, каталоги всевозможной информации и многое-многое другое. И именно для управления, хранения, обработки, просмотра и публикации таких данных различными группами пользователей и служат CMS. Отсюда, кстати, возникает и новый род профессиональной деятельности - контент менеджер, или проще говоря - редактор сайта. Основные функции CMS: Предоставление инструментов для создания содержимого, организация совместной работы над содержимым, Управление содержимым: хранение, контроль версий, соблюдение режима доступа, управление потоком документов и т. п., Публикация содержимого, Представление информации в виде, удобном для навигации, поиска. В системе управления содержимым могут находиться самые различные данные: документы, фильмы, фотографии, номера телефонов, научные данные и так далее. Такая система часто используется для хранения, управления, пересмотра и публикации документации. Контроль версий является одним из основных её преимуществ, когда содержимое изменяется группой лиц. Если смотреть с точки зрения обычного заказчика, то разработка сайта на основе какой-либо CMS должна приносить следующие преимущества: В работе используется наиболее эффективный инструмент для решения конкретной задачи (в зависимости от вида сайта и требований к его функционалу подбирают оптимальную CMS); Использование CMS позволяет владельцу сайта самостоятельно создавать и удалять разделы сайта, редактировать различную информацию без привлечения стороннего специалиста — это одно из преимуществ над статическими сайтами; Работа сайта постоянно тестируется множеством пользователей, а найденные ошибки и уязвимости достаточно оперативно устраняются, при этом сайт работает на самых передовых и проверенных технических решениях; Временные затраты на разработку сайта существенно снижаются, так как разработчику не надо фиксировать своё внимание на чисто технических задачах: «как сделать ленту с новостями» или «как научить CMS искать товары в каталоге», а можно сосредоточиться на информационной и визуальной составляющих будущего сайта; В общем случае системы управления содержимым делятся на: Систему управления содержимым масштаба предприятия (англ. Enterprise Content Management System) Система управления веб-содержимым (англ. Web Content Management System) В силу того, что ECMS имеют глубокую внутреннюю классификацию по предметным областям (HRM, DMS, CRM, ERP и т. д.), термин CMS заместил собой WCMS, превратившись в синоним системы управления сайтами. Подобные CMS позволяют управлять текстовым и графическим наполнением веб-сайта, предоставляя пользователю интерфейс для работы с содержимым сайта, удобные инструменты хранения и публикации информации, автоматизируя процессы размещения информации в базах данных и её выдачи в HTML. Виды CMS: Студийные CMS Системы управления содержимым, написанные внутри веб-студии и используемые внутри нее же для разработки собственных или клиентских сайтов. Могут не иметь собственного названия. Чаще всего содержат только тот функционал, который нужен в конкретном проекте, не нагружая сервера хостинга лишними надстройками, не используемыми в данном проекте. Тиражные CMS CMS, разработанные специализированными компаниями или веб-студиями для последующей массовой продажи конечным пользователям или другим веб-студиям, которые по каким-либо причинам не имеют собственной студийной CMS. Оплачиваются чаще всего каждая отдельная лицензия для каждого создаваемого сайта. Бывают исключения, например, одна лицензия на CMS от «1С-Битрикс» позволяет создать сразу 2 сайта, правда только с одной базой данных. Тиражные CMS похожи на швейцарский складной нож и содержат обычно обширный функционал, который, как показывает практика, даже на 50% обычно не используется владельцами подобных сайтов. Обычно содержат исчерпывающую документацию для разработчиков. Пример тиражных CMS: «1С-Битрикс», «UMI.CMS», «NetCat», «AMIRO.CMS». Open Source CMS (бесплатные) Системы управления, которые разрабатываются сообществами программистов, поддерживаются ими же и имеют открытый исходный код. Любой программист может взять бесплатную CMS и доработать ее по собственному усмотрению. Поскольку разработку ведет множество программистов с документацией, очень часто возникают проблемы, что повышает порог вхождения программиста в работу с данными CMS. Минусом подобных CMS является их массовость и, как следствие, общеизвестность всех «дыр» в безопасности, что часто приводит к заражению сайтов на Open Source CMS вирусами, что может грозить длительным падением позиций сайта в результатах выдачи поисковиков. Пример бесплатных CMS: «WordPress», «Drupal», «Joomla», «MODX», «Opencart», «Instant CMS», «TYPO 3». Существует множество готовых систем управления содержимым сайта, в том числе и бесплатных. Их можно разделить на три типа по способу работы: Генерациястраницпозапросу.Системы такого типа работают на основе связки «Модуль редактирования → База данных → Модуль представления». Модуль представления генерирует страницу с содержанием при запросе на него, на основе информации из базы данных. Информация в базе данных изменяется с помощью модуля редактирования. Страницы заново создаются сервером при каждом запросе, что, в свою очередь, создаёт дополнительную нагрузку на системные ресурсы. Нагрузка может быть многократно снижена при использовании средств кэширования, которые имеются в современных веб-серверах. Генерация страниц при редактировании. Системы этого типа служат для редактирования страниц, которые при внесении изменений в содержание сайта создают набор статических страниц. При таком способе в жертву приносится интерактивность между посетителем и содержимым сайта. Смешанный тип. Как понятно из названия, сочетает в себе преимущества первых двух. Может быть реализован путём кэширования — модуль представления генерирует страницу один раз, в дальнейшем она в несколько раз быстрее подгружается из кэша. Кэш может обновляться как автоматически, по истечении некоторого срока времени или при внесении изменений в определённые разделы сайта, так и вручную по команде администратора. Другой подход — сохранение определённых информационных блоков на этапе редактирования сайта и сборка страницы из этих блоков при запросе соответствующей страницы пользователем. Система управления — программа, предоставляющая инструменты для добавления, редактирования, удаления информации на сайте. Большинство современных CMS имеют модульную архитектуру, что позволяет администратору самому выбирать и настраивать те компоненты, которые ему необходимы. Типичные модули: динамическое меню, блог, новости, опросы, поиск по сайту, статистика посещений, гостевая книга и т. д. Сайты, организованные посредством системы управления контентом, основаны на следующих технологиях: веб-сервер, хранилище данных (зачастую СУБД, например, такие как MySQL или PostgreSQL, однако существуют и noSQL CMS), веб-приложение для обеспечения работы самой системы, визуальный (WYSIWYG) редактор страниц, файловый менеджер с веб-интерфейсом для управления файлами сайта, система управления правами пользователей и редакторов сайта. Существуют разнообразные системы управления сайтом, среди которых встречаются платные и бесплатные, построенные по разным технологиям. Каждый сайт имеет панель управления, которая является только частью всей программы, достаточной для управления сайтом. Наиболее распространены следующие технологические платформы, используемые в качестве основы веб-приложения, реализующего работу CMS: PHP, Perl, .NET. Существует термин контент-менеджер, обозначающий род профессиональной деятельности — редактор сайта или сотрудника, работающего с CMS. Большая часть современных систем управления содержимым реализуется в виде визуального (WYSIWYG) редактора — программы, которая создаёт HTML-код из специальной упрощённой разметки, позволяющей пользователю проще форматировать текст. Content Management Framework (CMF) — это каркас (фреймворк программной системы) для проектирования систем управления контентом. На их основе создаются системы управления содержимым (CMS), а также веб-приложения. Если основная задача универсальных CMS — простота создания сайта без вмешательства программиста, то есть — конструктор сайтов, то CMF — это конструктор CMS (в том числе узкоспециализированных) для программиста. Благодаря такому подходу сайт, созданный с помощью CMF, по сравнению с сайтом на базе CMS, может иметь более простую и безопасную в работе административную панель (в которой отсутствуют функции настройки сайта под любые функции) и быть менее требовательным к ресурсам системы (каждый модуль реализует именно те функции, которые необходимы в работе сайта). При наличии грамотно спроектированной CMF и готовых модулей, программисту остаётся только сборка этих модулей в единое пространство и оформление вывода в соответствии с пожеланиями клиента, то есть разработка сайта на основе CMF вполне сравнима по трудоёмкости с разработкой сайта на универсальной CMS. Сложности могут возникнуть, если программист-пользователь фреймворка столкнётся с программными ошибками в его реализации. Не будучи экспертом в архитектуре фреймворка, он может испытывать затруднение с её локализацией, не может быть уверен, сделал ли он ошибку сам, или столкнулся с ошибкой в CMF. Глубокие знания архитектуры фреймворка могут понадобиться и при его тонкой настройке, если программист желает получить максимальную производительность. Архитектура. Фреймворки веб-приложений обычно обеспечивают механизмы доступа к базе данных, шаблонизации и управление сессиями. Большинство современных CMF являются реализацией архитектуры Model-View-Controller. Веб-фреймворк обеспечивает бесшовную интеграцию всех трёх слоёв MVC архитектуры. Фреймворки скрывают от программиста детали подключения к базе данных и формирования веб страниц с помощью шаблонов-представлений, позволяя программисту сконцентрироваться на реализации бизнес-логики. Процесс создания приложения с использованием MVC-фреймворка заключается в написании классов контроллеров, моделей и представлений, каждый из которых является наследником базовых классов для компонентов каждого слоя. Многие веб-фреймворки обеспечивают полуавтоматическое создание прототипа веб - приложения, выполняющего основные (CRUD) операции с данными путём скаффолдинга. Важные характеристики фреймворка: Размер. При выборе CMF стоит обращать внимание на такие факторы, как размер фреймворка. Если фреймворк слишком велик и не имеет легко разделяемой модульной архитектуры, это может неоправданно утяжелить приложение. Компактность фреймворка может вступить в противоречие с широтой возможностей, которые он предоставляет. Производительность — другая важная на практике характеристика веб- фреймворка. Она может косвенно зависеть от размера, особенно для интерпретируемых языков вроде PHP. Следует оценивать производительность фреймворка в таких единицах, как количество обрабатываемых в секунду запросов. Граница между CMF и CMS: Многие современные системы управления содержимым построены вокруг MVC- паттерна. Такой фреймворк может быть специально написан для системы, примерами могут являться: Joomla! (начиная с версии 1.5), Bitrix (начиная с версии 6), MODxRevolution (начиная с версии 2.0), SilverStripe, Contao, Frog CMS/Wolf CMS ведётся постепенный перевод на такую архитектуру. Другие системы используют фреймворки, популярные сами по себе. Так, написанная на Python CMS Plone построена на основе Zope (и его расширения — CMF), коммерческая CMS ExpressionEngine использует свободный фреймворк CodeIgniter того же автора. CMS eZ publish основана на фреймворке eZ Components, изначально того же разработчика (сейчас передан Apache Foundation и переименован в Zeta Components). В последнее время появилась тенденция использовать в качестве базиса для построения системы управления содержанием Zend Framework: примерами могут служить вошедшие в финал Packt Open Source Awards — 2010 в категории «самые многообещающие CMS» Pimcore, и Tomato CMS, а также Concrete5, отмеченная в 2011 Open Source CMS Market Share Report, как самая быстрорастущая CMS. Выпущенная в конце 2014 года восьмая версия Drupal также построена вокруг Zend Framework. Ряд CMS, предоставляющих API для расширения своей функциональности, претендуют на звание CMF, хотя провести чёткую границу между CMS и CMF порой сложно. Основным отличием является то что на CMS можно построить сайт не написав ни одной строчки кода. Такая готовая к использованию система управления контентом, как Drupal, одновременно считается и каркасом для построения таких систем, что определяется как возможностью расширения функционала за счёт пользовательских модулей, так и богатством механизмов и абстракций для управления контентом, предоставляемым этой системой. Основные функции CMS (системы управления контентом): Разработка контента. CMS осуществляет поддержку совместной работы авторов, редакторов, программистов и менеджеров по обновлению содержимого сайта и предоставлению конечным пользователям своевременной информации. Все компоненты сайта, включая шаблоны и наполнение, хранятся в определенных местах хранилища данных. Управление сайтом. На этом уровне происходит разработка самого сайта, предварительный просмотр и публикация подготовленного контента. Здесь разрабатывается внешний вид, подготавливаются шаблоны, распределяются роли пользователей и классификация необходимой информации. Обеспечение доступа пользователей (посетителей, администраторов, редакторов) к информации, содержащейся в базе данных сайта, через Интернет. Система предоставляет средства для динамического формирования Web-страниц в зависимости от вида конкретных пользователей. Каждый пользователь получает только ту информацию, которая соответствует его роли. Предоставляемые возможности CMS: Использование шаблонов отображения, автоматически применяемых к новому или существующему контенту. Простота редактирования контента благодаря визуальным редакторам. От пользователя не требуется знание языков программирования и разметки; Расширяемость за счет установки дополнительных модулей и плагинов; Визуализация содержимого, благодаря которой пользователь может увидеть создаваемый контент до отправки его на сайт (предварительный просмотр). Автоматическое обновление и следование веб стандартам; Управление документооборотом; Единая категоризация всех видов содержимого (таксономия). Управление пользователями с различным уровнем доступа Основные базовые понятия и термины, использующиеся в CMS для работы и функционирования: Оформление. В данном разделе происходит выбор темы визуальной структуры сайта. Основные настройки здесь – включение/отключение определенных элементов на страницах сайта: Логотип Название сайта Слоган Меню Шрифты, цвет текста и т.д. Структура. Имеется общая структура внешнего вида сайтов. Здесь можно настроить расположение содержимого блоков в боковых колонках и других областях сайта. Имеется несколько стандартных расположений блоков: Шапка сайта (заголовок страницы) Меню сайта (навигация) Левая/правая колонка (дополнительная информация для пользователя) Содержимое (основной содержание страницы) Подвал (подписи, контакты) Следует так же отметить, что блоки структуры так же могут делиться на блоки. Так, например, Содержимое может быть поделено на 3 части: заголовок (обычно заголовки новостей), содержимое (сама новость) и Подвал (авторы, даты и проч.). Содержимое. Здесь можно управлять заполнением сайта необходимым контентом (Информационное содержание сайта (тексты, графическая, звуковая информация и др.)). Под управлением понимается создание записей, их редактирование и удаление. При этом содержимое может быть в виде: Статьи – документ, используемый для новостей, анонсов, сообщений. Зачастую являются основным содержимым блогов и выносятся на главную страницу. Страница – документ, который используется для страниц с редко меняющейся информацией (например, это разделы «Контакты» или «О нас»). Люди. В этом разделе производится управление пользователями сайта. Здесь задаются права доступа пользователей к тем или иным страницам на сайте или полномочиям. Например, некоторые пользователи могут оставлять комментарии, а некоторые – нет. Т.е. создается набор ролей для всех пользователей, которые определяют возможность управления содержимым сайта. |