ннада

advertisement
Фичи н-н-нада?
Или почему стоит использовать
модуль Features
http://drupal.org/project/features
Доклад подготовил: Фиделин Евгений, QArea Group
Как дорабатывать «живой» сайт?
Редактируем «по-живому»

Большая цена ошибки

Только для маленьких изменений

Только для небольших сайтов
Редактируем копию

Ручной перенос настроек в БД

Нужен собственный модуль для переноса
Как разрабатывать крупный проект?
Организуем процесс разработки
Development — Staging — Production
Интегрируем все изменения с системами
контроля версий:


Drupal хранит множество настроек в БД
Необходимо обновлять настройки без изменений
контента
Что умеет модуль Features?
Создание модуля для переноса:
• Content Type, CCK fields & fieldgroups, Views, Menus,
Panels, User roles & permissions, Imagecache, Module
dependencies
• Variables (с помощью Strongarm)
• Blocks, Taxonomy vocabularies, Nodequeue (с помощью
Features Extra)
• Nodes, Users, Taxonomy (с помощью UUID)
Установка, контроль и откат изменений
Интеграция с Drush
Создаем свою Feature
Создаем тип материала Country и добавляем CCK поля
(admin/content/types/add)
Создаем свою Feature
Создаем Imagecache flag_preview (admin/build/imagecache)
Настроим pathauto (admin/build/path/pathauto)
Создаем свою Feature
Создадим роль Webmaster и настроим права доступа
(admin/user/permissions)
Создаем свою Feature
Создаем вид countries (admin/build/views/add)
Создаем свою Feature
Создаем модуль countries (Country listing)
(sites/all/modules/country/includes)
Создаем свою Feature
Создаем Features Country (admin/build/features/create)
Создаем свою Feature
Выбираем компоненты:
Сontent types – Country
CCK – Country:*
Views – countries
Roles – webmaster
Permissions – node: *
Imagecache presets –
flag_preview
Dependencies – Country
listing
Скачиваем feature в
sites/all/modules/country
Как устроена Feature
Устроена как обычный
модуль
Устанавливать нужно
только из
admin/build/features
.info – содержит список всех
компонентов и зависимостей
.module – подключает
.features.inc
.features.inc – содержит хуки
для создания компонентов
/includes/contries – здесь лежит
наш модуль
Управление Features
Включаем нашу feature (admin/build/features)
Feature активна
Компонент feature изменен
Управление Features
Контроль
изменений
feature:
- вернуть к
настройках
сохраненным в
коде
- создать новую
версию
содержащую
изменения
Преимущества модуля Features
Перенос настроек хранящихся в БД
Контроль и управление изменениями на сайте
Ускорение создания модулей
Создание архива наработок
Интеграция с системами контроля версий
Низкое время неактивности сайта при
обновлении
Возможность переноса контента
Альтернативные решения
Скрипт migraine для синхронизации БД
•Отдельно синхронизирует контент и конфигурацию, умеет
находить diff-ом несоответствия в структуре таблиц и сам
разбирается с таблицами, в которые данные должны
вставляться инкрементно
•http://shearersoftware.com/software/serveradministration/migraine
•http://bit.ly/sLuWEg
Использование hook_update в своем модуле
Спасибо за внимание
Фиделин Евгений, QArea Group
eugene.fidelin@gmail.com
Полезные ссылки:
Модуль Features: http://drupal.org/project/features
Справка по Features (англ): http://drupal.org/node/580052
Статья о Features (рус): http://drupal.ru/node/43875
Модуль Strongarm: http://drupal.org/project/strongarm
Download