- PVSM.RU - https://www.pvsm.ru -

Дайджест интересных материалов из мира Drupal #5

В этот замечательный понедельник предлагаем вам подборку свежих статей о Drupal.

Дайджест интересных материалов из мира Drupal #5 - 1

По-русски

По традиции начнём с материалов на русском языке:

  1. Павел Китаев написал туториал по Form API [1] в четырёх частях.
  2. В комментариях [2] к прошлому дайджесту всплыла тема best/worst-практик при работе с Drupal. В результате имеем как минимум два новых материала на эту тему: Мои Best Practices [3] от @xandeadx и «Самые распространенные ошибки в Drupal разработке [4]» от holyorb2 [5].
  3. Посмотреть примеры использования drupal_http_request() [6] можно в блоге drup.by.
  4. JOIN таблицы в своем views field handler-е [7] — небольшой Views-сниппет.
  5. Александр Пожарский рассказал, как создать свой CKEditor-плагин в Drupal 8 [8] на примере кнопки вставки исходного кода [9].
  6. Как добавить в BODY класс [10] и другие волнующие вас вопросы можно обсудить на dru.io.
  7. Прошли DrupalCafe в Москве (фото и видео [11]) и в Новосибирске [12] (материалы пока недоступны). Анонсированы кафе в Омске [13] и Харькове [14]. Присоединяйтесь к сообществу!

Drupal-lite

Наша постоянная рубрика для начинающих:

  1. Новоиспечённый малайзийский друпалер пишет аккуратные и подробные статьи об азах друпала. Его Introduction to Views [15] отлично подойдет для знакомства с Views.
  2. Изучив азы, можно приступать к написанию Views-плагинов. Статья How to create an area plugin for views [16] в помощь.
  3. Для экспорта данных в CSV опять же подойдёт Views [17].
  4. Хорошая статья [18] о модуле для настройки навигационной цепочки Path Breadcrumbs вышла в блоге WebWash. Кстати, все обучающие видео на WebWash бесплатны ещё с ноября.
  5. Бесплатный видео-курс по работе с PhpStorm [19]. Доверьте всю скучную работу IDE, а сами занимайтесь творчеством в чистом виде.
  6. Сервис simplytest.me появился относительно недавно, но уже сложно представить себе, как можно было без него жить. Как протестировать любой модуль не скачивая к себе на сайт, читайте в статье от создателя [20] simplytest.me.
  7. Если честно, авторы дайджеста не очень понимают, как такое может произойти, но, как говорится, от оверлэя и тулбара не зарекайся: статья о том, как восстановить доступ к административному меню [21], если оно пропало.

Всё для Drupal-разработчика

  1. Видео с DrupalCon Latin America [22].
  2. Хорошая подробная статья про производительность [23]: Memcache, Nginx, Cache Expiration, Spleshka, вот это всё.
  3. Пара заметок для тех, кто подумывает об использовании Docker: A quick intro to Docker for a Drupal project [24], Drupal and Docker: creating a new Docker image based on an existing image [25].
  4. Американский Drupal-шоп Chromatic делится опытом внедрения Ansible и Jenkins [26] для автоматизации деплоймента.
  5. Те же ребята из Chromatic примеряют на себя подход Atomic Design. Atomic Drupal Development: Building Pieces Before Pages [27] — общеобразовательная статья, объединяющая в себе все кусочки Drupal API.
  6. PreviousNext переосмысляют темизацию с помощью SASS, KSS и SDD. За подробностями лучше сразу по ссылке [28].
  7. Для суровых кодеров у нас есть отличная статья по прокачке вашей консоли до 80 уровня: Efficient Drupal Development with Tmux and Tmuxinator [29].
  8. Создание своего поля [30] на примере поля Видео (Field API).
  9. Как покрывать модули тестами в Drupal 7 [31], рассказывают в блоге drupalize.me.
  10. Больше месяца прошло с выхода Backdrop CMS, но портированных модулей пока не так много. Серия статей How to Maintain Contrib Modules for Drupal and Backdrop at the Same Time [32] (а также часть 2 [33]) призвана максимально упростить процесс поддержки модулей для двух разных ядер. Тем более, что пишет её core-committer David Rothstein.
  11. Возвращаясь к теме best practices, несколько советов о том, как вводить новые практики в команде [34].
  12. Weather.com работает на JSON-панелях [35]. И разработчики довольны, и контент-менеджерам хорошо.
  13. Commerce Guys делятся опытом настройки SSO [36] (единый вход) на своих сервисах.
  14. Самые драматичные статьи выходят обычно про AJAX, потому что основаны они на часах боли, дебага и недоумения. В этот раз у нас заметка про AJAX и одинаковые #id [37].
  15. Часто решение проблемы в contrib-модуле уже существует в виде патча. Если вы чувствуете себя некомфортно при слове «патчить», то статья How to Patch Drupal Modules [38] для вас.

Drupal 8

  1. Анжела «webchick» Байрон подготовила полный срез состояния ядра [39] с классификацией задач по функциональности/сложности/критичности. Выбрать задачу по интересом и влиться в процесс разработки ядра стало гораздо проще.
  2. Теперь с восьмёркой разобрался даже Дрис Бёйтарт и написал первую за долгое время техническую статью о новой системе кеширования: Making Drupal 8 fly [40] :)
  3. И снова про Dependency Injection [41], самую волнительную часть архитектуры Symfony.
  4. @lakshminp пишет книгу о Drupal 8. Кое-что выходит в блоге: The Drupal 8 plugin system (часть 1 [42], часть 2 [43]).

Интересные модули

  1. Options Element [44] — удобный интерфейс создания списковых полей (видео [45]).
  2. Super Login [46] — UX-улучшение страницы входа (статья [47])
  3. Interval Field [48] — в поле можно вводить интервалы «2 часа», «3 дня» и т.д. (видео [49]).
  4. Touch Icons [50] — настройка иконок сайта на iPhone и iPad (видео [51]).
  5. Static Generator [52] — генерация статической версии сайта, которая не требует PHP и базы.
  6. CTools Token Access [53] — делаем временные ссылки с помощью Page Manager.

Над выпуском работали Олег Кот [54] и Катя Маршалкина [55].

Автор: kalabro

Источник [56]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/cms/83746

Ссылки в тексте:

[1] туториал по Form API: http://drupalfly.ru/tegi/form-api

[2] В комментариях: http://habrahabr.ru/post/250223/#comment_8275625

[3] Мои Best Practices: http://xandeadx.ru/blog/drupal/820

[4] Самые распространенные ошибки в Drupal разработке: http://drupal.ua/groups/drupal-kukhnya/samye-rasprastranennye-oshybky-v-drupal-razrabotke

[5] holyorb2: http://habrahabr.ru/users/holyorb2/

[6] примеры использования drupal_http_request(): http://drup.by/snippets/primery-vypolneniya-http-zaprosov-s-pomoshchyu-drupalhttprequest

[7] JOIN таблицы в своем views field handler-е: http://www.drupaler.by/lessons/join-tablicy-v-svoem-views-field-handler-e

[8] как создать свой CKEditor-плагин в Drupal 8: http://alexcoder.info/content/dobavlenie-plagina-ckeditor-v-drupal-8

[9] кнопки вставки исходного кода: http://alexcoder.info/content/drupal-8-podsvetka-sintaksisa

[10] Как добавить в BODY класс: http://dru.io/question/589

[11] фото и видео: http://drupalcafe.ru/ru/report/2015-02-22

[12] Новосибирске: http://www.drupal.ru/node/115602

[13] Омске: https://drupal-omsk.timepad.ru/event/175261/

[14] Харькове: http://www.meetup.com/Kharkiv-Drupal-Cafe/events/220583397/

[15] Introduction to Views: http://www.chenhuijing.com/blog/drupal-101-intro-to-views/

[16] How to create an area plugin for views: http://www.appnovation.com/blog/how-create-area-plugin-views

[17] экспорта данных в CSV опять же подойдёт Views: http://www.appnovation.com/blog/export-data-views-csv-file

[18] Хорошая статья: http://webwash.net/tutorials/control-breadcrumbs-using-path-breadcrumbs-drupal-7

[19] видео-курс по работе с PhpStorm: https://drupalize.me/videos/introduction-ide-concept?p=2017

[20] в статье от создателя: http://drupalwatchdog.com/volume-4/issue-1/30-minutes-and-its-free

[21] как восстановить доступ к административному меню: https://www.ostraining.com/blog/drupal/lost-administration-menu/

[22] Видео с DrupalCon Latin America: http://www.youtube.com/playlist?list=PLpeDXSh4nHjQUcahLMrBws9OAaNrJf07z

[23] статья про производительность: http://www.drupaldare.com/nginx-memcache-drupal-page-cache-1

[24] A quick intro to Docker for a Drupal project: http://dcycleproject.org/blog/91/quick-intro-docker-drupal-project

[25] Drupal and Docker: creating a new Docker image based on an existing image: http://dcycleproject.org/blog/89/drupal-and-docker-creating-new-docker-image-based-existing-image

[26] делится опытом внедрения Ansible и Jenkins: http://chromaticsites.com/blog/automated-servers-and-deployments-ansible-jenkins

[27] Atomic Drupal Development: Building Pieces Before Pages: http://chromaticsites.com/blog/atomic-drupal-development-building-pieces-pages

[28] по ссылке: https://www.previousnext.com.au/blog/decouple-design-styleguide-driven-drupal-development

[29] Efficient Drupal Development with Tmux and Tmuxinator: http://www.mediacurrent.com/blog/efficient-drupal-development-tmux-and-tmuxinator

[30] Создание своего поля: http://blog.openlucius.com/en/blog/coding-custom-compound-drupal-fields

[31] Как покрывать модули тестами в Drupal 7: https://drupalize.me/blog/201502/write-hello-world-test-drupal-7-simpletest

[32] How to Maintain Contrib Modules for Drupal and Backdrop at the Same Time: http://tag1consulting.com/blog/how-maintain-contrib-modules-drupal-and-backdrop-same-time

[33] часть 2: http://tag1consulting.com/blog/how-maintain-contrib-modules-drupal-and-backdrop-same-time-part-2

[34] как вводить новые практики в команде: http://iztoksmolic.com/4-essential-tips-implementing-best-practices/

[35] Weather.com работает на JSON-панелях: http://www.mediacurrent.com/blog/migrating-weathercom-drupal-presentation-framework

[36] делятся опытом настройки SSO: https://drupalcommerce.org/blog/32567/using-openid-connect-single-sign-drupal

[37] заметка про AJAX и одинаковые #id: http://www.thecarneyeffect.co.uk/form-submit-ajax-button-not-woking-after-inserting-form-using-ajax

[38] How to Patch Drupal Modules: https://www.zivtech.com/blog/how-patch-drupal-modules

[39] полный срез состояния ядра: http://www.webchick.net/critical-rundown-bogota

[40] Making Drupal 8 fly: http://buytaert.net/making-drupal-8-fly

[41] И снова про Dependency Injection: http://blog.openlucius.com/en/blog/dependency-injection-drupal-8-introduction

[42] часть 1: http://www.lakshminp.com/the-drupal-8-plugin-system-part-1/

[43] часть 2: http://www.lakshminp.com/the-drupal-8-plugin-system-part-2/

[44] Options Element: https://www.drupal.org/project/options_element

[45] видео: http://codekarate.com/daily-dose-of-drupal/drupal-7-options-element-quicker-way-add-radio-and-checkbox-options

[46] Super Login: https://www.drupal.org/project/super_login

[47] статья: https://3cwebservices.com/drupal/introduction-super-login-module-drupal-7

[48] Interval Field: https://www.drupal.org/project/interval

[49] видео: http://codekarate.com/daily-dose-of-drupal/drupal-7-interval-field-module

[50] Touch Icons: https://www.drupal.org/project/touch_icons

[51] видео: http://codekarate.com/daily-dose-of-drupal/drupal-7-touch-icons-how-add-apple-specific-icons

[52] Static Generator: https://www.drupal.org/project/static

[53] CTools Token Access: https://www.drupal.org/project/ctools_token_access

[54] Олег Кот: mailto:Aleh_Kot@epam.com

[55] Катя Маршалкина: mailto:marshalkina@licel.ru

[56] Источник: http://habrahabr.ru/post/251255/