18
Фичи н-н-нада? Или почему стоит использовать модуль Features Фиделин Евгений http://donetsk.drupal.ua

Фичи н-н-нада? Или почему стоит использовать модуль Features. Евгений Фиделин

Embed Size (px)

Citation preview

Page 1: Фичи н-н-нада? Или почему стоит использовать модуль Features. Евгений Фиделин

Фичи н-н-нада?Или почему стоит использовать модуль Features

Фиделин Евгений

http://donetsk.drupal.ua

Page 2: Фичи н-н-нада? Или почему стоит использовать модуль Features. Евгений Фиделин

Фичи н-н-нада?

Или почему стоит использовать модуль Features

http://drupal.org/project/features

Доклад подготовил: Фиделин Евгений, QArea Group

Page 3: Фичи н-н-нада? Или почему стоит использовать модуль Features. Евгений Фиделин

Как дорабатывать «живой» сайт?

Редактируем «по-живому» Большая цена ошибки Только для маленьких изменений Только для небольших сайтов

Редактируем копию Ручной перенос настроек в БД Нужен собственный модуль для переноса

Page 4: Фичи н-н-нада? Или почему стоит использовать модуль Features. Евгений Фиделин

Как разрабатывать крупный проект?

Организуем процесс разработкиDevelopment — Staging — Production

Интегрируем все изменения с системами контроля версий:

Drupal хранит множество настроек в БДНеобходимо обновлять настройки без изменений

контента

Page 5: Фичи н-н-нада? Или почему стоит использовать модуль Features. Евгений Фиделин

Что умеет модуль 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

Page 6: Фичи н-н-нада? Или почему стоит использовать модуль Features. Евгений Фиделин

Создаем свою Feature

Создаем тип материала Country и добавляем CCK поля (admin/content/types/add)

Page 7: Фичи н-н-нада? Или почему стоит использовать модуль Features. Евгений Фиделин

Создаем свою Feature

Создаем Imagecache flag_preview (admin/build/imagecache)

Настроим pathauto (admin/build/path/pathauto)

Page 8: Фичи н-н-нада? Или почему стоит использовать модуль Features. Евгений Фиделин

Создаем свою Feature

Создадим роль Webmaster и настроим права доступа(admin/user/permissions)

Page 9: Фичи н-н-нада? Или почему стоит использовать модуль Features. Евгений Фиделин

Создаем свою Feature

Создаем вид countries (admin/build/views/add)

Page 10: Фичи н-н-нада? Или почему стоит использовать модуль Features. Евгений Фиделин

Создаем свою Feature

Создаем модуль countries (Country listing)(sites/all/modules/country/includes)

Page 11: Фичи н-н-нада? Или почему стоит использовать модуль Features. Евгений Фиделин

Создаем свою Feature

Создаем Features Country (admin/build/features/create)

Page 12: Фичи н-н-нада? Или почему стоит использовать модуль Features. Евгений Фиделин

Создаем свою Feature

Выбираем компоненты:Сontent types – Country

CCK – Country:*

Views – countries

Roles – webmaster

Permissions – node: *

Imagecache presets – flag_preview

Dependencies – Country listing

Скачиваем feature в sites/all/modules/country

Page 13: Фичи н-н-нада? Или почему стоит использовать модуль Features. Евгений Фиделин

Как устроена Feature

Устроена как обычный модуль

Устанавливать нужно только из admin/build/features

.info – содержит список всех компонентов и зависимостей

.module – подключает .features.inc

.features.inc – содержит хуки для создания компонентов

/includes/contries – здесь лежит наш модуль

Page 14: Фичи н-н-нада? Или почему стоит использовать модуль Features. Евгений Фиделин

Управление Features

Включаем нашу feature (admin/build/features)

Feature активна

Компонент feature изменен

Page 15: Фичи н-н-нада? Или почему стоит использовать модуль Features. Евгений Фиделин

Управление Features

Контроль изменений feature:

- вернуть к настройках сохраненным в коде

- создать новую версию содержащую изменения

Page 16: Фичи н-н-нада? Или почему стоит использовать модуль Features. Евгений Фиделин

Преимущества модуля Features

Перенос настроек хранящихся в БД

Контроль и управление изменениями на сайте

Ускорение создания модулей

Создание архива наработок

Интеграция с системами контроля версийНизкое время неактивности сайта при обновлении

Возможность переноса контента

Page 17: Фичи н-н-нада? Или почему стоит использовать модуль Features. Евгений Фиделин

Альтернативные решения

Скрипт migraine для синхронизации БД•Отдельно синхронизирует контент и конфигурацию, умеет находить diff-ом несоответствия в структуре таблиц и сам разбирается с таблицами, в которые данные должны вставляться инкрементно

•http://shearersoftware.com/software/server-administration/migraine

•http://bit.ly/sLuWEg

Использование hook_update в своем модуле

Page 18: Фичи н-н-нада? Или почему стоит использовать модуль Features. Евгений Фиделин

Спасибо за внимание

Фиделин Евгений, QArea Group

[email protected]

Полезные ссылки:Модуль Features: http://drupal.org/project/features

Справка по Features (англ): http://drupal.org/node/580052

Статья о Features (рус): http://drupal.ru/node/43875

Модуль Strongarm: http://drupal.org/project/strongarm