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

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

Всем привет!

В этом выпуске вас ждут более 30 новостей, материалов, интересных модулей — всё самое интересное и свежее из мира Drupal.

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

По-русски

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

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

Drupal-новости и статьи со всего мира в нашей основной рубрике:

  • «Все технологии будущего имеют одно общее свойство: разработчики первых прототипов сознательно строят системы с возможностью инноваций от будущих пользователей». Возможно и спорное, и слишком строгое утверждение, но может так и объясняется успех Drupal 7? Очень интересный материал ждет вас в статье Adaptive Architecture: Leave Room to Evolve [10].
  • В Drupal'e есть несколько популярных «базовых» тем. Автор статьи объясняет, почему он выбрал Bootstrap: Which Base Theme We Use (and Why) [11].
  • Пока не знаете, что такое хуки? Эта заметка [12] с примером простого модуля специально для начинающих.
  • В Drupal'e, как и в любом полноценном фреймворке, всегда остается место для нетривиальных вещей, подводных камней, граблей, велосипедов и т.п. В этом плане очень интересным являются подборки Gotcha — на этот раз от разработчика Wunderkraut — Bernt’s Drupal Gotchas [13].
  • Клиент просит у вас CRM [14]? Вам самим нужна система управления взаимоотношениями с клиентами? Сделайте её на Drupal'e, но не изобретайте велосипед, ведь уже доступно свыше 7 различных решений, которым посвящен отдельный обзор [15].
  • Если вы разрабатываете мультиязычный сайт и хотите, чтобы переводились отдельные поля, включая заголовки, а не весь материал целиком, то обязательно ознакомьтесь со статьей Setup Entity Translation the right way [16].
  • Парсите сторонние сайты? Сталкиваетесь с проблемой подбора регулярных выражений и тому подобного? Попробуйте использовать сервис Import.IO [17]. Тем более, что он нормально интегрируется [18] с модулем Feeds [19].
  • Про гибкий и мощный модуль Views можно говорить бесконечно. В этот раз предлагаем вашему вниманию подробную инструкцию как настроить хитрый фильтр по типу файла [20] без единой строчки кода.
    Если из админки задачу решить не получается, на помощь приходит Views API. В статье от Appnovation пример кастомизации встроенного поля [21] с помощью кода.
  • «Drupal в активном поиске» — так хотелось озаглавить этот дайджест! :)
    1. Отличное введение в фасетный поиск [22](с видео).
    2. Серия статей «Apache Solr and Drupal». Уже вышли первая [23] и вторая [24] части.
    3. Ещё один мануал по установке Apache Solr [25], вариант для разработки.
    4. Интеграция Search API с подходом RESTful [26].
  • Изучаете модный AngularJS или только планируете это сделать? Не знаете, как прикрутить его к Drupal'у? Ознакомьтесь с статьей AngularJS in Drupal Apps [27], где создается блок со списком нод и поиском по ним, работающий абсолютно асинхронно.
  • Вопросы безопасности на сайтах всегда будут актуальными, тем более, что количество утилит, собирающих уязвимые сайты в полу-автоматическом режиме, постоянно растёт. Статья Drupal Security Tips for Developers [28] помогает двигаться в правильном направлении.
  • В статье How to improve security on Drupal sites [29] приводится ряд способов скрыть факт использования Drupal, чтобы не привлекать внимание автоматических утилит для сканирования на уязвимости.
  • Если вы не слышли о концепции Offline-first, то рекомендуем ознакомиться с презентацией Let's Take Drupal Offline! [30] Идея, как минимум, любопытная, хоть и мало применимая на данный момент, из коробки.
  • Иногда смотришь на стандартные формы редактирования контента в Drupal и понимаешь: «что-то не то». У Юрия Герасимова есть несколько идей [31], как можно значительно улучшить UX Drupal.
  • А знаете ли вы про user_multiple_role_edit()? Короткая заметка о том, как программно задать пользователю роли [32], к вашим услугам.
  • Продолжаем кодерскую тему двумя любопытными библиотеками-хелперами для тех, кто пишет много кода: Wrappers Delight [33] и Distill [34].
  • Где Drupal, там и Drush. Автор статьи Advanced Drupal User Management With Drush [35] показал пару примеров работы с пользователями прямо из консоли. Для полного комплекта не хватает только команды user-login [36].
  • Практически всегда, работая с разными окружениями, например: локальным, стейджинг-сервером, продакшеном, — приходится сталкиваться с тем, что каждое из них использует или свои собственные реквизиты для подключения к базе данных, а также самые разнообразные настройки, что в итоге ведет к надобности иметь один гигантский settings.php-файл или множество различных, например settings-prod.php. Всё бы хорошо, но проблема ещё в том, что локальное окружение у каждого разработчика может быть своё — а это значит, что даже имея локальный файл настроек, допустим settings-local.php, — у каждого будет своя его версия, что приведет к лишним изменениям в git status. У этой проблемы есть решение, и оно рассматривается в статье Include a local Drupal settings file for environment configuration and overrides [35].
  • Если вы задавались вопросом, как в панелях (Panels) сделать свой собственный «виджет», то рекомендуем прочитать статью How to Create Ctools Content Types in Drupal 7 [37] про создание типов содержимого CTools.
  • Вообще, Panels та ещё штучка. Юрий Герасимов рассказывает в своём блоге [38], как можно управлять последовательностью рендеринга панелей из админки и из кода. Век живи, век учись!
  • Интересуетесь, как работать с мультимедиа в Drupal? У нас для вас интересная серия статей про модуль Scald: уже вышли часть 1 [39] (обзор решений) и часть 2 [40] (введение в Scald).
  • Подробный мануал, как подружить модуль Media и YouTube [41], написали луллаботы.
  • Также мы очень рекомендуем ознакомиться с материалом Resource Guide: Managing Media in Drupal [42]. В нём представлена компиляция самых известных модулей и практик по этой тематике.

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

Drupal вне кода:

  • Итоги Drupal-года, очень кратко, но очень ёмко: Six Things We Learned About Drupal in 2014 [43]
  • Для ускорения работ над Drupal 8 недавно создали фонд Drupal Accelerate Fund [44] в размере 125000$. Теперь любой человек или организация может обратиться за грантом, в случае если они будут готовы организовать спринт по поддержке ядра системы. Также Dries и Drupal Association обращаются [45] за помощью к организациям, которые готовы спонсировать в дальнейшем этот фонд. Поставлена амбициозная цель набрать дополнительно 65000$.
  • Команда Drupal.org активно работает над тем, чтобы сделать главный Drupal-сайт удобным для всех его пользователей. Для этого Drupal-ассоциация провела серию интервью с разработчиками разного уровня от новичка до мастера. Российское сообщество представляла Катя Маршалкина aka kalabro [46]: Meeting Personas: The Drupal Expert [47].
  • Существует и другое деление Drupal-разработчиков: Site Builder, Themer и Module Develper. В чем разница, читайте в статье What is a Drupal developer? [48]
  • Хотите покодить для Drupal 8, но нет ни наставника, ни подходящего проекта? Подключайтесь к инициативам по переводу сайтов локальных сообществ на Drupal 8: drupal.ru [49] и drupal.ua [50] соответственно.

Drupal 8

Новости с фронтов разработки следующей версии Drupal:

  • Вышла beta4 [51].
  • Шпаргалка по конфигурационным yaml-файлам [52], в которых теперь хранятся все настройки сайта.
  • Портируем модуль с семёрки на восьмёрку [53] с помощью модуля Drupal Module Upgrader.
  • Как известно, Drupal 8 включает в себя некоторое количество PHP компонентов, наверняка знакомых веб-разработчикам из других фреймворков, например Symfony. Kris Vanderwater представляет обзор основных из них:

    Серия будет продолжена.

  • С разработкой Drupal 8 не всё так просто [56], возможно из-за того, что всё-таки основной фокус системы сместился на движение к enterprise-миру, что естественно повлекло за собой усложнение системы и подняло планку для контрибьюшена. Интересно, в этом плане, смотрится форк от Drupal 7 — Backdrop CMS [57]. Впрочем, большинство опрошенных [58] настроены оптимистично на 2015 год.

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

И напоследок несколько модулей, на которые стоит обратить внимание:

  • Taxonomy Term Status [59] позволяет устанавливать статус «опубликовано»/«неопубликовано» для терминов таксономии, совсем как у нод.
  • Default file settings [60] для удобного управления дефолтными настройками файловых полей.
  • Classy Panel Styles [61] для расширенного управления стилями панелей (видео [62] и слайды [63]).
  • Views EVI (Exposed Value Injector) [64] — это новый модуль, который позволяет прокидывать аргументы в фильтры.
  • Reroute Email [65] нужен для перенаправления всей почты на dev-серверах (статья [66]).
  • Расширение Drush Registry Rebuild [67] поможет переместить модуль (даже не выключая его) в другую папку и не увидеть при этом фатальных ошибок PHP.
  • Если вы являетесь активным пользователем модуля Panels [68], то наверняка сталкивались с модулем Fieldable Panels Panes [69], который позволяет прямо при редактировании панели создавать энтити с произвольным набором полей, причем они являются в прямом смысле многоразовыми. Недавно появился модуль Fieldable Panel Panes Bundles [70], которые позволяет создавать бандлы, по аналогии с типами содержимого.
  • В видео-обзоре на CodeKarate [71] подробно разобран модуль Smart Paging [72], который используется для постраничного разбиения содержимого ноды по количеству символом, слов или по специальному плейсхолдеру.

Над выпуском работали Олег Кот [73] и Катя Маршалкина [74]. Пишите нам с любыми вопросами и предложениями!

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

Всего наилучшего! До встречи в новом году!

Автор: k0teg

Источник [75]


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

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

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

[1] Boostrap: http://getbootstrap.com/

[2] Drupal и Bootstrap фреймворк: настройка, использование Sass.: http://www.angarsky.ru/drupal/drupal-bootstrap-framework-nastroyka-sass.html

[3] Связка из модулей Panels, Views и Bootstrap Framework.: http://www.angarsky.ru/drupal/panels-views-bootstrap-framework.html

[4] Несколько советов по ускорению Drupal: http://habrahabr.ru/post/245763/

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

[6] xandeadx.ru: http://xandeadx.ru/

[7] CasperJS для тестирования друпал-проектов: http://netspark.ru/useful/papers/front-end-testirovanie-s-pomoshchyu-capserjs

[8] Опубликованы фото и видео: http://2014.drupalcampmsk.ru/conference/news/2014-12-18

[9] Проекты российских разработчиков: http://drupalspb.org/initiatives/proekty-rossiyskih-razrabotchikov

[10] Adaptive Architecture: Leave Room to Evolve: https://swsblog.stanford.edu/blog/adaptive-architecture-leave-room-evolve

[11] Which Base Theme We Use (and Why): http://www.digett.com/blog/12/16/2014/which-base-theme-we-use-and-why

[12] Эта заметка: https://3cwebservices.com/drupal/introduction-drupal-hooks

[13] Bernt’s Drupal Gotchas: http://www.wunderkraut.com/blog/bernts-drupal-gotchas/2014-01-21

[14] CRM: https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%BE%D1%82%D0%BD%D0%BE%D1%88%D0%B5%D0%BD%D0%B8%D1%8F%D0%BC%D0%B8_%D1%81_%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8

[15] отдельный обзор: http://www.sitepoint.com/7-crm-options-compatible-drupal/

[16] Setup Entity Translation the right way: http://nielsdefeyter.nl/archive/201412/setup-entity-translation-right-way

[17] Import.IO: https://import.io/

[18] интегрируется: http://fourword.fourkitchens.com/article/scraping-websites-drupal-using-feeds-and-importio

[19] Feeds: https://www.drupal.org/project/feeds

[20] хитрый фильтр по типу файла: https://www.ostraining.com/blog/drupal/filter-drupal-file-type/

[21] пример кастомизации встроенного поля: http://www.appnovation.com/blog/how-properly-use-php-drupal-views-fields

[22] введение в фасетный поиск : https://3cwebservices.com/drupal/creating-faceted-search-view-drupal

[23] первая: http://cheppers.com/blog/apache-solr-and-drupal-part-i-set-up-apache-solr-to-enhance-drupal-search

[24] вторая: http://cheppers.com/blog/apache-solr-and-drupal-part-ii-how-to-set-up-drupal-and-solr-to-search-in-attachments

[25] Ещё один мануал по установке Apache Solr: http://www.pixelite.co.nz/article/installing-solr-development/

[26] Интеграция Search API с подходом RESTful: https://medium.com/@e0ipso/restful-drupal-with-search-api-f370050a26bb

[27] AngularJS in Drupal Apps: http://www.sitepoint.com/angularjs-drupal-apps/

[28] Drupal Security Tips for Developers: https://codedrop.com.au/blog/drupal-security-tips-developers

[29] How to improve security on Drupal sites: https://www.drupal.org/node/2368709

[30] Let's Take Drupal Offline!: http://www.slideshare.net/dickolsson/lets-take-drupal-offline-41650712

[31] есть несколько идей: http://wearepropeople.com/blog/drupal-ux-improvements-when-node-forms-are-a-nuisance

[32] как программно задать пользователю роли: http://befused.com/drupal/programmatically-assign-roles-users

[33] Wrappers Delight: http://zengenuity.com/blog/a/201412/decoupling-your-backend-code-drupal-and-improving-your-life-wrappers-delight

[34] Distill: https://github.com/patrickocoffeyo/distill

[35] Advanced Drupal User Management With Drush: http://www.oliverdavies.co.uk/blog/include-local-drupal-settings-file-environment-configuration-and-overrides

[36] user-login: http://www.drushcommands.com/drush-6x/user/user-login

[37] How to Create Ctools Content Types in Drupal 7: http://morpht.com/posts/how-create-ctools-content-types-drupal-7

[38] рассказывает в своём блоге: http://ygerasimov.com/control-panes-render-sequence

[39] часть 1 : http://www.annertech.com/blog/media-management-drupal-websites

[40] часть 2: http://www.annertech.com/blog/drupal-media-management-scald-tutorial

[41] Подробный мануал, как подружить модуль Media и YouTube: https://drupalize.me/blog/201412/embed-youtube-videos-media-and-media-internet-sources

[42] Resource Guide: Managing Media in Drupal: https://www.drupal.org/resource-guides/managing-media

[43] Six Things We Learned About Drupal in 2014: https://assoc.drupal.org/blog/jsaylor/six-things-we-learned-about-drupal-2014

[44] Drupal Accelerate Fund: https://assoc.drupal.org/d8accelerate

[45] обращаются: http://buytaert.net/announcing-the-drupal-8-accelerate-fund

[46] kalabro: http://habrahabr.ru/users/kalabro/

[47] Meeting Personas: The Drupal Expert: https://assoc.drupal.org/blog/leighc/meeting-personas-drupal-expert

[48] What is a Drupal developer?: http://befused.com/drupal/developer

[49] drupal.ru: https://github.com/DrupalRu/drupal.ru/issues/2

[50] drupal.ua: http://drupal.ua/groups/rozrobka-drupalua/drupalua-perekhodyt-na-drupal-8

[51] beta4: https://www.drupal.org/node/2394813

[52] Шпаргалка по конфигурационным yaml-файлам: http://hojtsy.hu/blog/2014-dec-12/drupal-8-configuration-schema-cheat-sheet

[53] Портируем модуль с семёрки на восьмёрку: https://drupalize.me/blog/201412/adventures-porting-d7-form-module-drupal-8

[54] Composer: https://www.acquia.com/blog/5-php-components-every-drupal-8-developer-should-know-part-1-composer

[55] Guzzle: https://www.acquia.com/blog/5-php-components-every-drupal-8-developer-should-know-part-2-guzzle

[56] не всё так просто: http://buytaert.net/scaling-open-source-communities

[57] Backdrop CMS: http://us7.campaign-archive1.com/?u=8a016d204af55747c1fef5769&id=4f76bb26b9

[58] большинство опрошенных: https://drupal8release.zensations.at/

[59] Taxonomy Term Status: https://www.drupal.org/project/termstatus

[60] Default file settings: https://www.drupal.org/project/dfs

[61] Classy Panel Styles: https://www.drupal.org/project/classy_panel_styles

[62] видео: http://www.youtube.com/watch?v=5BcD6fVJbYI

[63] слайды: http://slides.com/kendalltotten/classy-panel-styles#/

[64] Views EVI (Exposed Value Injector): https://www.drupal.org/project/views_evi

[65] Reroute Email: https://www.drupal.org/project/reroute_email

[66] статья: http://www.oliverdavies.co.uk/blog/configuring-reroute-email-module

[67] Registry Rebuild: https://www.drupal.org/project/registry_rebuild

[68] Panels: http://drupal.org/project/panels

[69] Fieldable Panels Panes: https://www.drupal.org/project/fieldable_panels_panes

[70] Fieldable Panel Panes Bundles: https://www.drupal.org/project/fpp_bundles

[71] видео-обзоре на CodeKarate: http://codekarate.com/daily-dose-of-drupal/smart-paging-how-display-node-multiple-pages

[72] Smart Paging: https://www.drupal.org/project/smart_paging

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

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

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