ShvetsGroup

 

Советы и рецепты

  • Аватар пользователя neochief
0 комментариев

Drush, алиасы и удаленные сайты

Этот пост возможно не будет великим откровением для супер-гуру, но!

А вы знали, что drush комманды можно выполнять для удаленных сайтов? Вот, например, как можно получить дамп продакшен сайта из локальной машины:


drush @sitename.live sql-dump > localdump.sql

Стоп-стоп-стоп, что за @sitename.live?

Отвечаю: эта штука называется drush-алиас. Его можно задать, в три шага:

Создание drush-алиаса в 3 шага

  1. Создать файл sitename.aliases.drushrc.php внутри директории .drush в вашей домашней директории (т.е. конечный путь должен выглядеть так ~/.drush/sitename.aliases.drushrc.php).
  2. Внутри этого файла прописать следующее:


    <?php
    // Ключ массива будет подставляется после точки в алиасе
    $aliases['live'] = array(
    // Урл вашего сайта
    'uri' => 'my-site-name.com',
    // Путь к корню друпал-инсталяции на диске
    'root' => '/var/www/domains/my-site-name.com',
    // IP-адрес или домен удаленного сервера
    'remote-host' => 'my-site-name.com',
    // SSH пользователь
    'remote-user' => 'ssh-username',
    // SSH опции, обычно путь к ключу, который вы используете для подключения по SSH
    'ssh-options' => '-i /Users/alex/.ssh/skeleton-key.pem',
    );
    ?>

  3. После сохранения файла, можете проверить все ли сработало выполнив:
    drush @sitename.live status

Ссылки

  • Аватар пользователя neochief
0 комментариев

Рецепты код-ревью

iStock_000004374786XSmall.jpg

Данная статья написана в поддержку презентации Код-ревью в Drupal.

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

Вот этапы, которые лично я использую в ревью (можно предлагать в комментах дополнения):

5 комментариев

Оптимизация JavaScript и CSS-файлов в Drupal

Ускорение сайта

Сжатие файлов уменьшает трафик от сервера к посетителю сайта, а значит посетитель сможет быстрее загрузить страницу и сервер не будет передавать "лишний" трафик.

Мы с вами рассмотрим:

  • Какие бывают виды сжатия?
  • Что предлагает ядро Drupal для решения этой проблемы?
  • Какие дополнительные модули могут помочь?
  • Как выбрать оптимальный метод сжатия?

Читать дальше »

1 комментарий

Использование MongoDB

mongo-db-huge-logo_0.png

В последнее время NoSQL стало модным словом в веб-разработке. Некоторые проекты используют подобные БД для узких частей архитектуры, некоторые мигрируют на них полностью. Такие БД как правило отличаются от реляционных простой архитектурой и высокой масштабируемостью. На данный момент нас интересует MongoDB как одна из наиболее популярных NoSQL баз данных. Постараемся выделить сильные и слабые стороны, рассмотреть некоторые особенности разработки, область применения в друпале, а также постараемся понять на практическом примере что означает термин Map/Reduce.

MongoDB это что-то среднее между key-value хранилищами (которые обычно быстры и масштабируемы) и традиционными реляционными базами данных (MySQL, PostgreSQL и т.п.), которые предоставляют расширенные запросы и богатый функционал.

Читать дальше »

0 комментариев

Создание сложного поля CCK с диаграммой (ч2)

В первой части статьи про составное CCK-поле это поле было создано. Настало время добавить к этому полю отрисовку графиков в реальном времени. Этому и будет посвящена вторая часть статьи.

Напомню, что в конце первой части статьи мы получили вот такое поле:

CCK-поле в виде таблицы

Читать и учиться дальше »

7 комментариев

Регистрируем пользователя Drupal по шагам

Steps

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

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

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

В такой форме пользователь вводит данные не все сразу, а шаг за шагом: таким образом мы не только на каждом шаге показываем разумное количество полей, но и избегаем лишних вопросов, в зависимости от уже имеющихся ответов на предыдущем шаге. Кроме того, пользователь может видеть прогресс заполнения в виде индикатора шагов, что тоже важно для пользователя ("Когда же это закончится ?", "Сколько мне осталось еще заполнять ?").

Варианты решения »

0 комментариев

Введение в Unit-тестирование Drupal

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

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

Что же нам предлагает для тестирования Drupal »

  • Аватар пользователя neochief
7 комментариев

Быстрый старт в программинг под Друпал

Этот пост раскроет вопрос что должен знать и уметь PHP-программист, чтобы называть себя Drupal-разработчиком. Кроме того, здесь я приведу практически все, что необходимо, чтобы получить эти знания сравнительно быстро.

Итак, вы два года работали с Zend Framework, а о Друпале слышали совсем немного. По мере того, как Друпал набирал популярность, вам или вашему боссу удалось подписать полугодичный контракт на разработку интранет-портала с нуля с одной большой компанией.

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

В любом случае, вы полны энтузиазма, так как нашли вот этот график нужды в Drupal-разработчиках:

Но затем вы нашли еще и такой вот график кривой обучения Drupal:

Как с этим бороться »

  • Аватар пользователя neochief
10 комментариев

Создание cоставного поля в CCK 2.x

При создании сайта на базе системы управления контентом Drupal вы заметите, что часто необходимо задавать типы контента, к которым, помимо дефолтных Title и Body, добавлены еще и другие поля.

В Друпале, начиная с 7-ой версии, функционал полей запланирован в базовом дистрибутиве, однако в версиях 6 и ранее он реализован в пользовательском модуле CCK и других связанных модулях, которые предусматривают дополнительные типы полей для создания контента.

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

Но что, если нужно привязать, например, подпись и термин таксономии к каждому изображению? Другими словами, что если надо добавить поля к вашему типу контента группой?

Ответы на эти вопросы ищите далее »

10 комментариев

WordPress глазами друпаллера, часть 1

От автора: Я первый раз работаю с WordPress. Моя основная занятость связана с Друпалом — это разработка тем, модулей, создание сайтов и прочее. Поэтому на WordPress я буду смотреть глазами «друпалера», приводя его различия с Друпалом, а также описывая подводные камни, которые наверняка встретятся новичку ВордПресса.

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

Допустим, вам пришла задача, сделать сайт визитку и блог. Для этого вряд ли выгодным станет разворачивания друпала.

Простой альтернативой в данном случае было бы использовать WordPress. В наше время огромное количество блогов работают именно на WordPress. Главная тому причина, предельно простая установка (если верить сайту поддержки — установка и настройка занимает 5 минут).

Конечно, с созданием темы и настройкой «под себя» времени будет потрачено побольше, но выигрыш по сравнению с Друпалом будет наверняка.

Итак, наша цель — установить и настроить блог, создать тему, русифицировать интерфейс.

Читать дальше »

Страницы

Subscribe to Советы и рецепты