Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
NovoselovDRUPAL_FINAL_DRAFT.docx
Скачиваний:
8
Добавлен:
01.04.2015
Размер:
396.56 Кб
Скачать

Министерство образования и науки Российской Федерации

Северо-Восточный федеральный университет имени М. К. Аммосова

Институт математики и информатики

Кафедра информационных технологий

Новоселов Павел Валерьевич

Расширение систем управления содержимым на примере Drupal

Выпускная квалификационная работа бакалавра

по направлению 010400 «Информационные технологии»

Научный руководитель: доцент кафедры ИТ, к. ф.-м. н. Павлов А.В.

Якутск 2011

Содержание

Введение 3

Глава 1. Системы управления контентом 5

Преимущества и недостатки CMS 8

Бесплатные и платные CMS 10

Обзор популярных CMS с открытым исходным кодом 12

Глава 2. СMS Drupal 27

История 27

Архитектура Drupal 28

Принципы разработки модулей Drupal. 33

Глава 3. Модули расширения для CMS Drupal 38

Задачи 38

Модуль цитат 38

Модуль галереи 46

Заключение 54

Список использованной литературы 56

Введение

В современном мире разработка динамического сайта практически невозможна без использования специальных инструментов. Добавление нового материала требует создания новой страницы со структурой уже имеющихся страниц. В наше время количество создаваемых страниц насчитываются тысячами и миллионами. Изменение какой-либо части сайта требует изменения всей структуры сайта. Для этого существуют системы управления содержанием, или CMS. Это систематизированный инструмент для визуального управления работой всего сайта.CMSне требует знаний языка разметки и основ программирования. Её архитектура основана на работе независимых частей сайта, называемых модулями или расширениями. Такая структура позволяет динамически модифицировать сайт без редактирования структуры сайта в целом, а независимость расширений гарантирует стабильную работу сайта при добавлении или удалении какой-либо программной части сайта. Такие системы позволяют сэкономить время при разработке стабильного сайта. Используя минимальный набор модулей, разрабатывается рабочий сайт, дальнейшее его развитие будет осуществляться непосредственно расширениями и не потребуют изменения структуры сайта. Но ни однаCMSне может быть удобной и простой для всех, не может быть универсальной. Поэтому наиболее удобной и стабильной является таCMS, которую проще расширять. Именно удобное расширение позволяет создавать индивидуальный сайт с необходимой функциональностью. Это определяетактуальностьданной работы.

Цельюработы является изучение возможностей популярныхCMSи возможности их расширений.

Для решения данной цели поставлены следующие задачи:

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

  • изучить выбранную системы, её архитектуру и концепции.

  • тщательно изучить принцип её расширения и разработка модулей решающих актуальные проблемы выбранной CMS.

Структура работы.Работа состоит из введения, теоретической главыCMS, в которой описывается архитектураCMSи сравниваются наиболее популярные бесплатные системы управления содержимым, главы выбранной системыDrupal, главы практической части, заключения и списка литературы.

Глава 1. Системы управления контентом

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

Как правило, для создания сколько-нибудь интересного сайта простой раздачи файлов в том виде, в котором они однажды были сохранены, недостаточно. Нужен способ предоставлять пользователю способ взаимодействовать с сайтом. Из этого следует, что сайт должен иметь возможность получать информацию от пользователей и динамически обновлять содержимое своих страниц в зависимости от полученной информации. Обычно для хранения собственно информационного содержимого используется база данных. Для передачи данных от пользователя в базу и порождения страниц из хранящихся в ней данных используется набор программ на каком‑либо интерпретируемом языке программирования либо набор приложений, написанных на некотором компилируемом языке. От создателя сайта в данном случае требуется знание этих языков, знание базы данных, в которой хранится информация, а также знание языков разметки для порождения страниц.

Система управления содержанием (система управления контентом, англ. Content management system, CMS) — это программный комплекс, позволяющий автоматизировать процесс управления как сайтом в целом, так и различными сущностями в рамках сайта: единицами собственно содержания, макетами страниц, шаблонами вывода данных, структурой страниц, их информационным наполнением, пользователями и правами доступа. Она может предоставлять и дополнительные услуги, такие как списки рассылки почты, ведение статистики, поиск, средства взаимодействия с пользователями и т. д.

Появление таких программных комплексов значительно расширило возможности создания веб-сайтов. CMS разделяет сайт на две составляющие: дизайн (внешний вид сайта в целом, отдельных страниц, конкретных блоков информации) и содержимое (контент). Дизайн сайта содержится в шаблонах и изменяется значительно реже, чем контент.

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

Во-первых, для базовой работы в рамках этих систем не требуется знания языков разметки и программирования, таких как, HTML,CSS,PHPи др. Во-вторых, изменение дизайна осуществляется визуальной настройкой или установкой шаблонов и это не затрагивает данные. В-третьих, имеется возможность построения динамически генерируемого содержания, так называемого построения страниц «на лету». То есть на сервере не находятся фактически страницы с информацией в виде файлов, сервер создает их динамически в момент запроса пользователя, заполняя шаблоны страниц данными из БД.

В современном мире разработка динамического сайта невозможна без использования CMS. Исключением можно сайты с очень высокой посещаемостью, где отсутствуют или имеются лишь рудиментарные права доступа. Примером может служить сайт-поисковик, за доли секунды обрабатывающий запросы и выдающий результаты страниц миллиардами. Но доля таких сайтов в глобальной сети крайне мала. Как показывает недавнее исследование [5], значительно сокращается численность сайтов, работающих наCMSсобственной разработки, т.е. систем, которые написаны непосредственно веб-студией и, зачастую, известны лишь в стенах компании. Такие системы стали актуальны в результате новизны идеиCMS, появившейся в России 15 лет назад. Многие из которых сразу не получили широкого распространения, в связи с их недоработанностью и скептичностью российских веб-разработчиков. Но как показывает исследование, новое поколение разработчиков веб-сайтов, экономя силы и время, выбирает уже готовыеCMS.

Система CMS, в силу своей универсальности и динамичности, состоит из ядра и набора модулей, расширяющих его функциональность. Ядро это набор функции предоставляемых системой, на основе этих функции разрабатываются модули. Разработанный минимум модулей осуществляет работу сайта. Каждый модуль служит для решения строго определенной задачи, и, как правило, он обособлен от других модулей, но может с ними взаимодействовать. Модуль – это независимый набор команд, динамически подключаемый к работе системы, предназначенный для расширения ей возможностей. Идея модулей состоит в целостности, независимых частей, то есть, имея готовый работающий сайт, добавление или удаление, любого из модулей, не затрагивает работу других. Исключением могут служить обязательные для работы модули, предоставляемые при установке системы. Как правило, вCMSмодули состоят из нескольких файлов, которые содержат функцииAPI(англ.Application programming interface), предоставляемой самой системой. То есть, используя набор готовых классов, процедур, функций, констант и структур, модуль расширяет функциональность системы. Как правило, модули разрабатываются профессиональными программистами и имеют гибкую систему настройки и удобный интерфейс, что позволяет использовать на своем расширения пользователям, не владеющими знаниями программирования. Как правило, для каждой типичной задачи, возникающей при разработке сайта, имеется свой модуль. Стандартными модулями, расширяющими функционал сайта, обычно являются: система комментариев и материалов, форум, фото галерея и другие.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]