Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаба1.docx
Скачиваний:
31
Добавлен:
14.09.2022
Размер:
3.24 Mб
Скачать

Теоретическая часть

CMS (от английского Content Management System) - система управления содержимым (контентом) - информационная система или компьютерная программа, которая используется для организации и обеспечения процесса по совместному созданию, управлению и редактированию содержимого (контента) сайта.

Основной задачей такой системы является сбор и объединение в единое целое, на основе ролей и задач, различных источников информации. Эти источники могут быть доступны как внутри самой организации, так и вне её пределов. К тому же данная система обеспечивает возможность взаимодействия различных сотрудников, проектов и рабочих групп, с теми базами знаний и данных, которые были ранее созданы, в таком виде и таким способом, чтобы сделать процесс поиска и повторного использования максимально комфортным и привычным.

Предоставляемые возможности:

  • Использование шаблонов отображения, автоматически применяемых к новому или существующему контенту.

  • Простота редактирования контента благодаря визуальным редакторам. От пользователя не требуется знание языков программирования и разметки;

  • Расширяемость за счет установки дополнительных модулей и плагинов;

  • Визуализация содержимого, благодаря которой пользователь может увидеть создаваемый контент до отправки его на сайт (предварительный просмотр).

  • Автоматическое обновление и следование веб стандартам;

  • Управление документооборотом;

  • Единая категоризация всех видов содержимого (таксономия).

Основные функции CMS:

  • предоставление инструментов для создания содержимого, организация совместной работы над содержимым;

  • управление содержимым: хранение, контроль версий, соблюдение режима доступа, управление потоком документов;

  • публикация содержимого;

  • представление информации в виде, удобном для навигации, поиска.

Content Management Framework (CMF) — это каркас (фреймворк управления содержимым) для проектирования систем управления контентом. На их основе создаются системы управления содержимым (CMS), а также веб-приложения.

Если основная задача универсальных систем управления содержимым — простота создания сайта без вмешательства программиста, то есть — конструктор сайтов, то каркас управления содержимым — это конструктор систем управления содержимым (в том числе узкоспециализированных) для программиста. Благодаря такому подходу сайт, созданный с помощью каркаса, по сравнению с сайтом на базе системы управления содержимым, может иметь более простую и безопасную в работе административную панель (в которой отсутствуют функции настройки сайта под любые задачи) и быть менее требовательным к ресурсам системы (каждый модуль реализует именно те функции, которые необходимы в работе сайта). При наличии грамотно спроектированного каркаса и готовых модулей, программисту остается только сборка этих модулей в единое пространство и оформление вывода в соответствии с пожеланиями клиента, то есть разработка сайта на основе каркаса вполне сравнима по трудоемкости с разработкой сайта на основе универсальной системы управления содержимым.

Сложности могут возникнуть, если программист-пользователь фреймворка столкнѐтся с программными ошибками в его реализации. Не будучи экспертом в архитектуре фреймворка, он может испытывать затруднение с еѐ локализацией, не может быть уверен, сделал ли он ошибку сам, или столкнулся с ошибкой в CMF. Глубокие знания архитектуры фреймворка могут понадобиться и при его тонкой настройке, если программист желает получить максимальную производительность.

Провести чёткую границу между CMS и CMF порой сложно. Основным отличием является то что на CMS можно построить сайт не написав ни одной строчки кода.

Основные базовые понятия и термины, использующиеся в CMS для работы и функционирования:

  1. Оформление. В данном разделе происходит выбор темы визуальной структуры сайта. Основные настройки здесь – включение/отключение определенных элементов на страницах сайта: Логотип Название сайта Слоган Меню Шрифты, цвет текста и т. д.

  2. Структура. Имеется общая структура внешнего вида сайтов. Здесь можно настроить расположение содержимого блоков в боковых колонках и других областях сайта. Имеется несколько стандартных расположений блоков:

  • Шапка сайта (заголовок страницы)

  • Меню сайта (навигация)

  • Левая/правая колонка (дополнительная информация для пользователя)

  • Содержимое (основной содержание страницы)

  • Подвал (подписи, контакты)

  1. Содержимое. Здесь можно управлять заполнением сайта необходимым контентом (Информационное содержание сайта (тексты, графическая, звуковая информация и др.)). Под управлением понимается создание записей, их редактирование и удаление. При этом содержимое может быть в виде:

                1. Статьи – документ, используемый для новостей, анонсов, сообщений. Зачастую являются основным содержимым блогов и выносятся на главную страницу.

                2. Страница – документ, который используется для страниц с редко меняющейся информацией (например, это разделы «Контакты» или «О нас»).

  1. Люди. В этом разделе производится управление пользователями сайта. Здесь задаются права доступа пользователей к тем или иным страницам на сайте или полномочиям. Например некоторые пользователи могут оставлять комментарии, а некоторые – нет. Т.е. создается набор ролей для всех пользователей, которые определяют возможность управления содержимым сайта.

Виды CMS:

  • Коробочные коммерческие CMS

Продукты, созданные коммерческими организациями для извлечения прибыли от продажи лицензии и/или технической поддержки. Эти программные продукты, отчуждаемы от разработчика, то есть позволяют самостоятельно разработать с их помощью сайт.

  • Open-source CMS

CMS с открытым кодом — это программное обеспечение, которое отвечает следующим условиям: программа может быть свободно использована с любой целью; доступность исходного текста программы; можно свободно распространять копии программы; программа может быть свободно улучшена, а улучшенная версия опубликована.

  • Индивидуальные (студийные)

CMS, разработку сайтов на которых может осуществлять только их разработчик.

Таблица 1. Популярные CMS.

Наименование CMS

WordPress

1С-Битрикс

Joomla

Drupal

Тип лицензии

GNU GPL 2+

Проприетарное программное обеспечение

GNU GPL 2+

GNU GPL 2+

Номер релиза текущей версии

5.7

20.0

3.9.25

9.1.5

Дата релиза текущей версии

9 марта 2021

12 ноября 2019

2 марта 2021

4 марта 2021

Поддерживаемая БД

MySQL

MariaDB

MSSQL, MySQL,

Oracle

MySQL

SQL Server

PostgreSQL

MySQL

PostgreSQL

MariaDB

Percona Server

SQLite

ОС

Кроссплатформенность.

Кроссплатформенность

Кроссплатформенность

Linux, Microsoft Windows, macOS UNIX

Веб-сервер

Apache

Nginx

Apache

Apache Nginx Microsoft IIS

Apache Nginx

Lighttpd

IIS

Язык программирования

PHP

PHP

PHP

JavaScript

PHP

Преимущества и недостатки популярных CMS:

WordPress

Преимущества:

  1. Официальная база плагинов и тем от сторонних разработчиков, которые помогут изменить стандартное визуальное оформление и расширить функциональные возможности.

  2. SEO модуль, благодаря чему сайты на WP занимают высокие позиции в поисковой выдаче. Однако для оптимизации необходимо воспользоваться некоторыми плагинами.

  3. Широкое сообщество пользователей позволит быстрее находить решения проблем во время эксплуатации. К тому же, именно благодаря этому, каждый день появляется всё больше плагинов и тем.

  4. Открытый исходный код. Это позволит программистам выйти за рамки функционала, которые не может предоставить система или существующие плагины.

Недостатки:

  1. Широкое сообщество пользователей и открытый исходный код повышают интерес к данной платформе со стороны злоумышленников, ведь для открытой системы проще найти уязвимости.

  2. Снижение производительности из-за нерационального использования плагинов и тем.

1С-Битрикс

Преимущества:

  1. Наличие SEO модуля, который поможет продвигать сайт в поисковой выдаче.

  2. Высокий уровень безопасности.

  3. Встроенный функционал для интернет-магазина.

  4. Двусторонняя связь с 1C, обеспечивающая постоянный обмен данными.

Недостатки:

  1. Коммерческая CMS, а значит придётся покупать редакцию.

  2. Большинство дополнительных элементов и модулей платные.

  3. Для создания сайта необходимо иметь навыки программирования.

Joomla

Преимущества:

  1. Полностью бесплатное распространение.

  2. Простой процесс установки.

  3. Обширное комьюнити, которое разрабатывает плагины, модули и дизайны.

  4. Широкий функционал системы.

  5. Удобная админ-панель с большим набором функций.

  6. Поддержка протоколов контроля доступа (OpenID, LDAP, Gmail.com).

Недостатки:

  1. Плохая защита от постороннего вмешательства.

  2. Поверхностная система.

  3. Проблемы с индексацией сайтов.

Drupal

Преимущества:

  1. Наличие так называемых хуков (hooks), которые позволяют избежать практически любых проблем в системе.

  2. Модули CCK и VIEWS позволяют конструировать произвольные типы данных и их отображение.

  3. Эта система известна своим модулем Taxonomy, который позволяет систематизировать контент по уровням, признакам и категориям.

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

  5. Обширное комьюнити.

Недостатки:

  1. Сложность в освоении.

  2. Требовательность к ресурсам.

  3. Работа с модулями. Модули используют возможности друг друга, и если вам необходимо воспользоваться возможностями одного, вероятно, что придется установить дополнительные.

Таблица 2. Популярные web-серверы.

Наименование

Nginx

Lighttpd

Apache

IIS

Поддерживаемая ОС

Unix-подобные, Windows

Unix-подобные

кроссплатформенность

Windows NT

Тип лицензии

2-х пунктная BSD

Модифицированная BSD

Apache License 2.0

Microsoft EULA

Поддерживаемые ЯП

Go, Node. js, Perl, PHP, Python, Ruby, and Java Servlet Containers

Они не поддерживают конкретные языки, но протоколы: CGI, HTTP, FastCGI, SCGI, AJP

PHP, Python, Ruby, Perl, ASP, Tcl

.NET-compliant languages (C#, C, C++), Perl, Java, VB

Особенности

Разрабатывался для испытывающих большую нагрузку серверов.

Включает в себя почтовый прокси-сервер.

Необходимо объяснить как обрабатывать HTTP запросы и заголовки на определенном порту, так как здесь нет виртуальных хостов.

Упор на надёжность и гибкость.

Является частью пакета IIS. Поддерживает .NET