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

    Всем привет!

    Безумно рады представить вам десятый, юбилейный, выпуск Drupal-дайджеста! За последний месяц было обработано порядка 100 различных статей, ссылок и видео, — все это, чтобы сэкономить нам всем время на поиск информации об этой замечательной системе. Очень надеемся, что вам понравится.


    По-русски


    1. Обзор подходов к реализации сложных каталогов на друпале.
    2. Никита Малышев, основатель dru.io, делится опытом написания команды для Drush.
    3. Автор поста «Оптимизация изображений Drupal при создании материалов» рассказывает, как автоматически конвертировать PNG-картинки в JPG с целью экономии места на диске.
    4. Подробный обзор модуля Uptolike share buttons для добавления социальных кнопок от сервиса Uptolike.
    5. Настоящий триллер от фанатика друпала и велосипедов Николая Шаповалова «Поездка в Финлядию на SaunaCamp 2015 из СПб на велосипеде».
    6. Южное Drupal-сообщество анонсировало конференцию A-Camp 17 июля с последующим афтепати Drupal Camping 2015 18-19 июля.
    7. Настройка почты в Drupal.
    8. Импорт видео с YouTube-канала в Drupal используя API v3.
    9. С точки зрения безопасности может быть полезным закрыть административные пути http-аутентификацией.
    10. При выводе данных модулем Views иногда бывает полезным переопределить значение какого-либо поля.
    11. Рано или поздно практически все Drupal-разработчики сталкиваются с проблемой «Error at offset X of Y bytes in variable_initialize()». Решение.
    12. Отладочные сообщения Devel (Krumo) можно сохранить в watchdog’e.

    Drupal Lite


    1. Введение в Drupal 7.
    2. В небольшой статье “Styling Bootstrap 3 Buttons in Drupal 7: Part 1” рассказывается про стилизацию кнопок в духе Bootstrap 3.
    3. Обзор семи редких, но любопытных модулей Drupal 7.
    4. Автор обучающего видео-блога Code Karate рассказывает, какие бы модули он взял с собой на необитаемый остров. Его выбор: Views, Panels, Rules и Entity Reference. Если ещё не знаете их, самое время начать изучение.
    5. Как включить возможность удаления аккаунта пользователем, читайте в статье от OSTraining.
    6. Начинаем работать с Drupal в командной строке.
    7. Разбираемся с релизами Drupal 7: когда критично обновляться, а когда нет.

    Drupal 8 и Backdrop


    1. Сделан серьезный шаг к нормальному upgrade path в восьмерке — появилось требование использовать hook_update_N().
    2. В статье “Configuration Workflow for Drupal 8 Sites” рассказывается (с небольшим уклоном в инструментарий), как стоит работать с конфигурационными файлами Drupal 8 в команде, используя систему контроля версий.
    3. Темизации Drupal 8 посвящено достаточно много статей, но серия “Drupal 8 Theming Fundamentals” (и часть 2) ориентированна на новичков и является одной из самых подробных.
    4. Созданию собственных простейших псевдо-полей в Drupal 8 посвящена заметка Creating pseudo-fields in Drupal 8.
    5. Ставшая де-факто стандартом, практика вознаграждения за нахождение дефектов безопасности приложений, теперь и в Drupal 8. Обещают до 1000 долларов.
    6. Google Summer of Code регулярно приносит множество новых замечательный модулей. На этот раз, многие посвящены внедрению сущностей в текстовые (WYSIWYG) поля.
    7. В небольшом очерке “Migrating Weather.Com To Drupal: Increased Content Portability” автор частично делится информацией о том, как на Weather.com реализовали возможность вставлять произвольное медиа в визуальный редактор, и при этом результат автоматически подстраивается под канал или устройство пользователя.
    8. Drupal — полноценный участник группы по взаимодействию между фреймворками PHP Framework Interop Group. Здесь очень многое делается, чтобы написанные в одном месте компоненты, были легко переносимыми. Кого-то это может очень смотивировать контрибьютать в Drupal 8.
    9. Drupal 8 теперь требует PHP 5.5.
    10. Рассуждения на тему будущего Drupal 8 и Backdrop в разрезе применимости к небольшим сайтам.
    11. Drupal 8 работает в HHVM минимум в два раза быстрее, чем в PHP 5. Тем не менее, он все равно пока медленнее, чем Drupal 7.
    12. Вышел Backdrop 1.1.2. Есть несколько визуальных административных изменений плюс портированы исправления безопасности с Drupal 7.

    Бизнес и сообщество


    1. На Drupal.org’e в последнее время произошло довольно большое количество полезных изменений. Дальше обещают ещё больше.
    2. С проблемами развития Drupal-сообществ сталкиваются практически все страны, даже такие огромные в плане населения, как Китай. В очерке “What have Chinese Drupalers been doing in 2015?” рассказывается про вызовы и планы по развитию сообщества в этой особенной стране.
    3. В материале “Why are Mid-Market Companies Still Looking at Adobe Experience Manager?” автор подозревает аналитические агентства типа Gartner или Forrester в ангажированности, иначе невозможно понять, почему средние компании выбирают CMS-продукты от Adobe, которые стоят от 750 тысяч долларов.
    4. Достаточно широко известное понятие технического долга переносится на уровень организации и необходимости организационных изменений в материале How to deal with organisational debt.
    5. Не самая приятная правда о бухгалтерии Drupal Association из первых уст. Хотя главное, что всё равно есть рост.
    6. Исполнительный директор ассоциации Drupal раскрывает внутреннюю кухню в подкасте.

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


    1. Вышел Drupal 7.38 и 6.36. Закрыто несколько уязвимостей безопасности. Обновляемся!
    2. Теме безопасности Drupal’a посвящен обзор “Drupal security: issues, modules, updates, checklist”.
    3. Недавно появился автоматический сервис Drop Guard по обновлению друпала и модулей до последних версий. При этом в статье “A new way to update Drupal sites automatically” авторы заявляют, что он может интегрироваться практически с любым из известных workflow по работе с Drupal и даже с пропатченным ядром.
    4. Ещё один сервис для поддержки Drupal-сайтов, Dropfort, обсуждается в подкасте Modules Unraveled.
    5. Мы уже писали, что с недавних пор NodeSquirrel бесплатно предоставляет 5Гб места под бекапы Drupal-сайтов. Как настроить бекапирование в облако NodeSquirrel, читайте в мануале на Drupalize.me.
    6. В последнее время стали довольно часто встречаться объектно-ориентированные навороты над Drupal 7 с активным использованием пространств имен, интерфейсов и прочего. Ярким примером является подход, предлагаемый в статье “Making namespaced callbacks work in Drupal 7 (without hacking core and with bound parameters)”. Также рекомендуем старую серию Drupal 8 Now: Writing Drupal 7 code with an eye towards Drupal 8.
    7. Рассуждение на тему деплоя сайтов при помощи Git, минуя системы сборок.
    8. Короткая заметка на закрепление знаний Apache Solr Search: индексируем отрендеренный контент из паналайзера.
    9. Применение патчей через веб-интерфейс.
    10. Multiple Editors per Node in Drupal 7 — Данни пишет модуль для гибкого управления списком редакторов ноды. В комментариях ему, конечно, говорят, что такой модуль уже есть.
    11. В юбилейном выпуске набралось довольно много материалов по такой важной теме, как автоматизированное тестирование продуктов:
    12. Вспомнить про виды изоляции транзакций поможет статья Database Transactions in Drupal. Так же там предлагаются некоторые советы по работе с СУБД MSSQL.
    13. Статья “A Crash Course in Information Architecture and User-Centered Design” представляет собой введение в информационную архитектуру. Попытка же стандартизировать построение такой архитектуры в Drupal представлена в материалах 1 и 2.
    14. Использовать веб-сокеты на PHP не так уж и сложно. В доказательство к этому — статья “Implementing Websockets using php (Ratchet library) or Tornado web server”.
    15. Созданию богатых (в плане возможностей, включая прикрепление файлов и т.п.) комментариев посвящена статья “‘Reply to Anything’ in Open Atrium”.
    16. Полноценное eCommerce решение сложно представить без совместимости с требованиями Payment Card Industry Data Security Standard, особенно если потребуется принимать платежи с кредитных карт. В этом плане, радует, что для Drupal’a поддерживается актуальным whitepaper (по сути FAQ) по достижению данной цели.
    17. Не забывают Drupal-разработчики и про мобильные технологии. Спасибо Blink Reaction за серию статей об открытом фреймворке ionic на основе Cordova и AngularJS: 1, 2, 3, 4, 5, 6.
    18. Небольшое руководство по обновлению мобильных приложений, сделанных на DrupalGap.
    19. Когда-нибудь задумывались о продаже своих модулей? Это достаточно спорный топик в виду GPLv2 лицензии друпала, но мы всё равно рекомендуем вам ознакомится с материалом Case Study: Glazed Drag and Drop Drupal Theme. В нём рассказывается про опыт создания полноценных drag-and-drop тем для Drupal 7, аля как в Visual Composer для Wordpress.
    20. Если же вы предпочитаете старый-добрый Bootstrap, то вот вам подробное руководство по установке его LESS-версии.
    21. Ещё по фронтенду: интересная и подробная статья на тему модели цвета HSL “Understanding and Using HSL in Your CSS”.
    22. Выбору подходящего формата для данных, отдаваемых сервисами, JSON or XML, посвящена одноименная статья.
    23. Спасибо автору за подробное руководство по настройке CKFinder, файлового менеджера от CKEditor. Так как это платный продукт, то он менее популярен, чем IMCE, и материалов по нему не так много.
    24. Материал “Implementing a Web Design the Drupal Way (not just any old way)” пытается расставить точки над понятием Drupal way или тру-способе делать сайты на Drupal.
    25. Для Drush можно выбирать, какой PHP использовать.
    26. Компания Wunderkraut делится своим оригинальным Gitflow.
    27. В зависимости от размеров и опыта команды Gitflow может сильно отличаться. Вот пример простого, но включающего всё необходимое, гайдлайна для небольшой Drupal-команды.
    28. Сделать расширяемый CI-сервер для Drupal не так уж и просто. Помочь вам с этим может статья “Architecting a scalable Drupal build system with AWS ECS”, где авторы делятся своим опытом использования AWS, Travis, Go и Docker.
    29. Небольшая заметка Drupal Behind Reverse Proxy Made Easy! поможет вам правильно определять IP адреса посетителей, если вы используете реверсивные прокси или CDN.
    30. Техника нагрузочного тестирования страниц, доступных только авторизованным пользователям, при помощи одного из соответствующих SaaS-сервисов раскрывается в публикации “Load test Drupal and CiviCRM with LoadImpact”.
    31. В завершении раздела поговорим о DevOps. В статье “How to install Gitlab 7.8 on Centos 5.5 with Apache and MySQL” можно посмотреть, какой последовательностью команд устанавливается Gitlab на CentOS.
    32. Используем команду Tail в Unix-системах для отладки.
    33. Кому-то может быть интересно поиграть с виртуальной машиной Druphpet, затьюненной (в плане выбранного софта и конфигурации) под типичные варианты использования для разработки enterprise-решений на Drupal 7.
    34. Различные методы резервного копирования баз данных MySQL рассматриваются в статье MYSQL — Backup & Recovery.

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


    1. Single Page Site
      Создание одностраничных сайтов на основе меню. Существует также альтернатива на панелях.
    2. Parse Push Notifications
      Интеграция сервиса Parse.com для доставки Push-нотификаций.
    3. Wysiwyg Fields
      Достаточно революционный подход к использованию полей прямо в WYSIWYG’e.
    4. Structured Data Markup (Rich Snippets)
      Если вы хотите, чтобы имя вашего сайта появилось в поиске Google.
    5. Field revision cache
      Кэшируем все ревизии, а не только текущую.

    Больше модулей — в рассылке.

    В завершение статья на A List Apart о друпале без единого упоминания друпала: The Homepage Exception.

    А к какому методу сборки главной пришли вы? Блоки? page--front.tpl.php? Специальный тип материала Front Page, как предлагается в статье? Панели? Параграфы? Атомы? Бины? Ждём ваших комментариев!

    Над выпуском работали Олег Кот и Катя Маршалкина. Делитесь с нами полезными статьями, своими и чужими, в комментариях или почте, и подписывайтесь на нашу рассылку. В ней всегда бывает экслюзив.
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 13

      0
      Мне вот интересно, есть ли в Drupal 7 (ну и в восьмёрке в дальнейшем), модули для качественной русификации сайта? В прошлом выпуске был упомянут материал про мультиязычность, я в комментариях упомянул другую статью, но всё это только начало, если нужны славянские языки. Хотелось бы видеть правильные множественные формы, которых у нас больше чем в английском, падежи и падежные формы, в общем всё то, что позволит писать на сайте нормальным человеческим языком, а не менять красивые тексты чтобы избежать ошибок при подстановке в текст различных значений.

      Может есть статьи где освещена тема качественного перевода сайта на русский?
        0
        Поддержка числительных в друпале есть: sanchiz.net/blog/format-plural
        Какие-то сложные вещи делаются специализированными библиотеками, в которых склонения проработаны до мелочей. Например, MomentJS для дат (внизу на сайте есть переключение языков).
        Свой код тоже не возбраняется написать, если у вас там какие-то высоколитературные обороты, сударь!
          0
          Я с такой комплексной статьей, к сожалению, не сталкивался. Если кто найдет (или напишет), то будет просто замечательно. Собственно ссылку в след. дайджесте можно будет и дать.
          0
          С точки зрения безопасности может быть полезным закрыть административные пути http-аутентификацией.

          С точки зрения производительности, а безопасность не ясно как вырастет.

          С точки зрения безопасности надо закрывать user/logout
            +1
            В основном page--front.tpl.php или специальный тип материала для главной. До панелей как-то руки не доходят. Про модуль atom не слышал вообще. Интересно узнать какой вариант создания главной чаще всего используют авторы дайджеста?
              0
              Спасибо, что поделились своим опытом!
              Отвечу за себя: я не могу успокоиться и пробую всё, что шевелится! Но в продакшене чаще блоки и шаблоны. Ближе к ядру, так сказать. Для сложного панели.
                0
                Для меня это очень зависит от сложности содержимого по структуре; от того, кто будет наполнять сайт, и кто ещё в команде будет его разрабатывать. Если ты сам себе девелопер и верстальщик, и т.п., то может быть проще все на панелях склепать или вообще на блоках, и дальше решать проблемы по мере поступления.
                С увеличением команды, сложности проекта и ростом нефункциональных требований, пожалуй, буду постепенно сдвигать фокус на уровень шаблонов, так как, в данном случае, имеется больший контроль над рендером и происходит разделение ответственности.
                Что касается Beans, Paragraphs, Atoms — это, по мне так, всё для экзотичных (rich) структур содержимого, когда нет строгого макета ноды, то есть решал бы по обстоятельствам, но не в дефолтном режиме типа «всё, теперь делаю все сайты при помощи Beans».
                0
                Конфереции это здорово, а в онлайне где можно найти друпалиста для финансового проекта?
                0
                Аааа да зачем же вы мои заметки про почту сюда разместили? :) Там чисто для себя чтобы не забыть.
                  0
                  Хе-хе, что опубликовано в интернете, не вырубишь топором :)
                  +1
                  я либо page--front.tpl.php, либо panels использую, в зависимости от макета и потребности в кешировании отдельных «регионов» (блоков или содержимого панелей)
                    +1
                    Позволю себе прорекламировать свой модуль MIME Info и патч для модуля Libraries, которые позволяет выкачивать, перемещать и обновлять библиотеки с помощью Drush. :)

                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                    Самое читаемое