Всем привет!
Самое интересное и полезное из мира Drupal за прошедшие 3 недели.
По-русски
- Роман Грачёв рассказал про организацию динамической логики обработки входящих URL (пример http://example.com/x/y/z/…, где комбинации x/y/z не ложатся на hook_menu).
- От него же несколько ссылок по Drupal 8. Если мало, скрольте вниз, у нас есть ещё десяток свеженьких :)
- StingMU написал на хабр про быструю установку Drupal. Конечно, не обошлось без Drush.
- У @xandeadx набралась целая серия заметок по аяксификации Drupal Commerce.
- Как сделать выпадающий список ссылок «как во Views» читайте в блоге Александра Щедрова.
Drupal-lite
- Если вы новичок по работе в консоли, и слова “vi”, “mv”, “terminal” для вас пока мало что значат, то советуем ознакомиться с серией видеоуроков The command line for beginners.
- Если вы не знаете, каким боком прикрутить пакеты Composer к Drupal, то после чтения публикации Drupal, Symfony And Friends вопросов должно остаться меньше.
- В материале Top Drupal Modules For Views перечисляются некоторые самые популярные модули-примочки к Views.
- Многим не нравится стандартный административный интерфейс Drupal 7. Большой набор советов по улучшению UX административного интерфейса сайта представлен в статье Drupal Camp London 2015: Improving the CMS user experience.
- В статье Drupal 101: Basic site optimisations автор на достаточно простом уровне делится своими рекомендациями по поддержке сайтов на Drupal с точки зрения производительности, использования последних версий модулей и логгирования.
Всё для Drupal-разработчика
- Drupal Groups иногда становятся кладезем чрезвычайно интересной информации к размышлению. В этом плане чрезвычайно интересной стала дискуссия в теме DOM hacks for speeding up page download times, посвященная оптимизации фронтенда.
- Публикация Memory profiling in hooks является замечательным стартом для всех, кто захочет понять почему ваш сайт ест столько памяти или тормозит.
- Представим, что вам надо через код выбрать все ноды, у которых не выбран ни один Taxonomy term в качестве категории. Стандартно, полагаясь лишь на EntityFieldQuery, сделать это нельзя. В статье EntityFieldQuery, LEFT JOINs and IS NULL conditions представлен потрясающий обзор трюков, которые помогут вам в достижении цели.
- Достаточно лаконичное решение для переключения отображения (display) Views, например с сетки на список, предлагается в статье Simple Views display switch.
- Вполне можно согласиться с авторами статьи 20 Usability Tips For E-Commerce Websites про то, что очень большой процент сайтов на Drupal в наше время составляет электронная коммерция, и их число постоянно растёт. В данной статье рассматриваются вопросы повышения usability таких сайтов, что почти автоматически ведет к повышению их конверсии.
- Если вы используете Nginx для отдачи статики или reverse-proxy, или просто задумывались о вопросах оптимизации производительности при отдаче тех же картинок, возможно вам будет любопытна статья G-WAN as a static Drupal file server, в которой представлено сравнение различных подходов.
- В материале Google Pagespeed Module and Drupal представлен небольшой эксурс в модуль Google PageSpeed, которые интегрируется с веб-серверами, и обрабатывает перед выдачей весь HTML, CSS, Javascript и не только.
- Drupal 8 запустили на кластере из Raspberry Pi.
- Если вы используете какой-нибудь профиль или дистрибутив для работ над своими сайтами, то вполне вероятно, что он поставляется с какими-то фичами, которые могут представлять из себя произвольную экспортированную конфигурацию, например, типы содержимого. Иногда возникает потребность “уточнить” базовые фичи, например, удалить или добавить новое поле в какой-то тип содержимого, а вроде перезаписывать контриб-модули и фичи-с-профилей-и-дистрибутивов не самая поощряемая Drupal-практика (Drupal way). Здесь есть несколько подходов. Например, вам может пригодиться модуль Features Override, который позволяет модифицировать (alter) произвольную базовую конфигурацию. (авт.: есть не самый приятный опыт использования данного подхода — через features override, особенно, когда базовая фича может активно обновляться разработчиками, тем не менее, возможно, для вашего проекта модуль пригодится). На данную тему недавно появилась замечательная статья How To Override Features, где автор сравнивает многие подходы.
- Некоторые любопытные варианты использования Varnish представлены в статье Varnish Tips and Tricks.
- Довольно часто тема тщательной проработки ролей и прав доступа не прорабатывается так тщательно, как должно бы. Внести некоторую систему в эту тему пытаются в видео Preventing Drupal Headaches: Permissions and Roles Checklist.
- Если вы планируете использовать в своей практике Backdrop CMS, то ознакомьтесь с серией статей How to Maintain Contrib Modules for Drupal and Backdrop at the Same Time — Part 3, последняя статья из которой посвящена подтягивание фиксов вашего портированного модуля с Drupal.org.
- Совсем недавно закончился первый DrupalCon в Латинской Америке (Богота, Колумбия). Как это часто бывает, вскоре после именитого события появляются различные обзоры, где посетители конференция делятся своими впечатлениями. Советуем вам с ознакомиться с некоторыми из них:
Drupal 8
- Вышла седьмая бета Drupal 8. На момент публикации остается около 49 критичных issue до первого релиз-кандидата.
- В статье Backdrop Does a Disservice to Developers автор продолжает давний холивар на тему, благо ли Backdrop CMS или нет. В качестве основного аргумента поднимается риск того, что у “ленивых на переучивание” разработчиков появляется дополнительный стимул вообще никогда не перейти на 8-ку, с другой стороны отмечается, что на рынке труда навыки работы с Drupal 8 (Symfony) могут быть более востребованными вширь.
- В статье Responding to Events in Drupal 8 рассказывается про то, как нужно правильно реагировать на возникающие событиям в Drupal 8 при помощи Symfony Event Dispatcher.
- В публикации Using REST Export With Views In Drupal 8 показывается, насколько легко в Drupal 8 сейчас экспортировать данные Views в формате JSON.
- Очередная история миграции своего сайта на Drupal 8 от студии Cheppers.
- В статье Install Drush 7 for Drupal 8 without throwing away Drush 6 показывается, как сделать там, чтобы вы смогли работать одновременно с двумя версиями Drush: шестой и седьмой.
- Материал Demo of a Free Drupal 8 Theme created with LibSass & Gulp посвящен создание собственной темы для Drupal 8 при помощи новомодных фронтендных технологий, таких как Gulp, Sass и прочих Browsersync’ов.
- В замечательной статье A Content Staging Solution for Drupal 8 (and more) достаточно подробно раскрывается тема репликации содержимого между различными окружениями Drupal 8.
- Cache API в Drupal 8 имеет ряд особенностей по сравнению с семеркой. Про них рассказывается в материале Exploring the Cache API in Drupal 8.
- В коротком очерке Drupal 8 + Twig: More Secure, More Power рассказывается о преимуществах движка шаблонов Twig от SensioLabs.
Бизнес и сообщество
- Не секрет, что многие организации и студии, занимающиеся разработкой сайтов на Drupal, довольно часто проводят аудиты решений других разработчиков (читайте, конкурентов). Одна из таких студий недавно опубликовала проспект на эту тему. На сайте данной студии есть так же интересный материал How do you rate Maintainability?, посвященный такому важному атрибуту качества ПО, как “пригодность к сервисному обслуживанию”.
- 2. Совсем скоро (9-го марта) начнется голосование на пост директора по коммуникации с сообществом Drupal Association. Свои кандидатуры предложили более двадцати кандидатов.
Интересные модули
- Модуль Asynchronous Prefetch Database Query Cache, используя MySQL native driver для PHP, оптимизирует работу Drupal с базой данных MySQL, в частности осуществляет предварительную обработку кэшей (prefetching), исправляет проблему с дедлоками в таблицах cache, меняет движок на MEMORY для таблицы semaphore и многое другое.
- Очередная попытка реализовать полноценную систему предварительного просмотра состояния сайта (site preview system) ждет нас в модуле Preview Sync. Авторы подошли к решению проблемы крайне оригинально: Preview Sync попросту клонирует текущую базу данных в удаленное окружение, а уже там выполняет все необходимые операции для превью, например переключения статуса Workbench Moderation, — и всё это при помощи Drush.
- Одной из нормальный практик в аудите сайта на Drupal является проверка того, умудрился ли кто-нибудь полезть в контриб-код или ядро системы и внести там свои правки. Модуль Hacked! позволяет автоматизировать этот процесс. (QA: http://dru.io/question/698).
- Если вам нужно поле, которое хранит числа “От” и “До”, то есть диапазон, то воспользуйтесь модулем Range. Также есть видеоурок, посвященный этому модулю.
- Практически все Drupal-разработчики сталкиваются рано или поздно с необходимостью обрезать большое изображение при вставке, для примера, когда нас интересует какой-нибудь прямоугольник 200 на 200 пикселей где-то рядом с центром фотографии 2000 на 2000. Проблема в том, что стандартные средства Drupal (стили изображений) не позволяют указывать предпочитаемую область. Модуль Focal Point помогает с решением данной проблемы. По работе с модулем также есть замечательная статья.
Пишете статьи о Drupal на благо сообщества? Пожалуйста, свяжитесь с нами: Олег Кот, Катя Маршалкина.
Автор: k0teg