Постановка задачи - пример курсовой ФКН ВГУ воронеж 2012

Постановка задачи
Целью выполнения данной работы было исследование возможностей классификации и систематизации контента предоставляемые ядром Drupal и иными сторонними модулями, а также создание нового модуль позволяющий упростить построение иерархии взаимосвязанных страниц.
После изучения уже имеющегося функционала , было решено создать новый модуль, позволяющий:
1) Автоматически генерировать страницы, в случае если на это имеются указания в тексте сохраняемой (обновляемой) страницы
2) Обеспечить возможности представления заголовков созданных с помощью данного модуля страниц в виде списка – в случае если , название перечислены одно за другим – каждое на новой строке .Представление в виде списка, должно быть обеспечено без дополнительных указаний на необходимость этого со стороны пользователя .
3) Выстраивать иерархию страниц, автоматически – в зависимости на основании текста какой страницы генерируется новая страница.
4) Автоматически добавлять ссылку на родительскую страницу из тела сгенерированной страницы.
5) На родительской странице представлять части текста, соответствующие заголовкам созданных страниц в виде гиперссылок из контекста.
6) Ниже основного текста страницы выводить ссылки на все дочерние страницы данной страницы для обеспечения удобной навигации по сайту.
7) Обеспечить возможность добавления в список в том числе ссылок на уже существующие страницы.
В качестве дополнительных возможностей , имеющих отношение к администрированию и настройке модуля , решено было добавить:
1) Возможность замены используемых модулем по умолчанию тэгов разметки страницы, на иные - более удобные с точки зрения администратора сайта
2) Возможность переопределения названий полей , добавляемых и используемых модулем на страницах сайта
Также в ходе выполнения работы было необходимо придерживаться стандартов и соглашений написания кода для Drupal, а именно:
1) Работать с полями, в случае если требуется расширить структуры страницы за счёт элементов и имеющих отношение к телу страницы – то есть той её части, которая несёт информацию непосредственно.
2) Реализовывать преобразование теста страницы через систему фильтров - то есть для разрабатываемого модуля следует создать собственный фильтр , который будет получать доступ к тексту страницы, до её передачи в веб-обозреватель.
3) Все обращения к базе данных выполнять через систему запросов к БД , реализованную в ядре друпал ,и не зависящую от используемой СУБД.
4) Изменения вносимые в архитектуры системы должны производится при установке/включении модуля.
5) Откат необходимых параметров системы в случае выключения/деинсталляции модуля.
6) Использование уже имеющегося функционала уже существующих модулей во вновь создаваемом , если это рационально.

Средства реализации
В качестве языка программирования , для создания модуля используется язык php версии 5 , так как именно на этом языке и написан друпал - в том числе и версия ядра – 7.2 , для которой следует разработать модуль.
При разработке в качестве тестовой СУБД использовалась MySQL версии 5.0.8. В тоже самое время код реализации модуля не зависит от конкретного типа СУБД, и может взаимодействовать со всеми типами СУБД, взаимодействие которых с ядром друпал возможно. Следует дополнить , что в друпал имеется возможность реализации драйвера для ещё не поддерживаемой ядром СУБД.
Для отладки кода использовались исключительно средства друпал 7 в виде записей в журнал о процессе выполнения кода модуля, а также вывод сообщений при перезагрузки страницы в соответствии со стандартами друпал 7 .