Вы здесь

Дополнительные модули для Backdrop CMS

Дополнительные модули для Backdrop CMS

Одной из сильных сторон, хорошей системы управления содержанием, является возможность добавления дополнительных модулей для расширения её возможностей. В среде с открытым кодом, такой как Backdrop CMS, многие разработчики делятся своими разработками для блага всех и некоторые из этих дополнительных модулей становятся очень востребованными для решения задач определённого сайта.

Так как Backdrop берёт начало из Друпала 7, то у нас есть преимущество в том, что мы можем использовать многое из того, что уже было разработано и внедрено в Друпале. Но так как есть различия между этими двумя средами, то нужно внести некоторые изменения — этот процесс известен как портирование. Он зависит от сложности и назначения модуля, подробно описан и может быть выполнен программистом с общим пониманием PHP.

Эта таблица показывает то, где мы находимся в процессе внедрения модулей, которые знакомы пользователям по Друпалу 7:

Дополнительные модули для Backdrop CMS

Прогресс

По прошествии немногим более двух лет с момента выхода Backdrop 1.0 в январе 2015 года, благодаря усилиям некоторых людей, у нас есть (в дополнение к перечисленным выше) широкий выбор доступных для скачивания и установки дополнительных модулей. Конечно, нужно ещё многое сделать; также существует постоянная необходимость в исправлении каких-либо возникающих проблем и внесении новых возможностей, сделанных в родительский модуль Друпала, если это возможно.

Одним из важных и полезных подходов Backdrop, было включение часто используемых модулей в ядро проекта. Обычно, если на 80% сайтов используется какой-либо модуль и 80% пользователей получат от этого выгоду, то модуль нужно включить в ядро. Придерживаясь этого подхода, ещё до запуска Backdrop, в его ядро были включены несколько ключевых модулей — Views и Layout. После запуска были добавлены другие модули — Token, Pathauto, CKEditor, Date, Date Popup, Date Views, Link, Email, Redirect, Entity View Mode. Наша следующая MINOR-версия Backdrop выйдет в мае и в неё будет включен модуль Reference, позволяющий создавать связи между пользователями, документами, терминами и другими объектами.

Есть много других дополнительных модулей, которые доступны на GitHub или на сайте backdropcms.org, где все они перечислены и содержат описание. Их можно найти на страницах https://github.com/backdrop-contrib и https://backdropcms.org/modules.

Очень полезная возможность сайта на Backdrop реализуется модулем Project Installer, который разрабатывался как дополнительный, а теперь является частью ядра. Вместе с модулем Update он позволяет устанавливать на сайт другие модули, и в случае необходимости обновлять их через интерфейс.

Чтобы показать другие доступные возможности, я хочу привести список своих фаворитов. Есть много модулей, которых нет в этом списке, поэтому если хотите быть в курсе всего, то обратитесь к полному списку.

Восемь моих фаворитов

  1. Backup and Migrate: этот модуль облегчает задачу резервного копирования базы данных и миграции с одной установки на другую. Он может делать копию всех базы данных в файл на сервере или сразу предлагает скачать его, а также может восстановить базу данных сайта из предыдущей копии
  2. Views Slideshow: используется для создания слайд-шоу любого содержания (не только изображений), которое затем можно показать в виде. Он основан на jQuery и содержит много настраиваемых параметров, которые устанавливаются для каждого вида. Кроме того, есть ещё Views Slideshow: Galleria, который позволяет создавать фотогалереи
  3. Colorbox: интеграция библиотеки jQuery Colorbox, позволяющей изображениям или содержанию сайта показываться в накладываемом поверх странице слое
  4. Google Fonts: этот модуль позволяет использовать на сайте любой из множества шрифтов доступных в Google Fonts, настроив всё что нужно через интерфейс сайта
  5. Webform: если вам нужно сделать формы или опросы, то этот модуль отлично справится с этими задачами
  6. Invisimail: вам нужно показать реальные почтовые адреса? Этот модуль реализует фильтр содержания для скрытия адреса от спам-бота. Адрес преобразуется в ASCII-код и может быть выведен на страницу через JavaScript-команду write
  7. Views Send: вы делаете сайт для организации у которой есть список рассылки? Этот модуль позволит разослать письма с помощью вида, который выведет список нужных почтовых адресов
  8. Agenda: я отказался от портирования модуля Calendar из Друпала в Backdrop в основном из-за того, что пользователи моего сайта стали пользоваться более лучшим приложением. Встраивая свой Google Calendar на страницу сайта и используя подходящий Google API вместе с этим модулем, можно показывать в блоке список событий из Google Calendar

Разработка

Приятно видеть, что постоянно появляются новые дополнительные модули. Эта область разработки открыта для всех, хотя есть некоторые основы с которыми вы должны согласиться, если планируете делиться своей работой с сообществом. Подробнее о совместной работе можно узнать на странице github.com/backdrop-ops/contrib. Также хорошо поделиться своими планами по портированию определённого модуля Друпала, чтобы избежать ненужного дублирования усилий.

Какие у нас приоритеты разработки? Генерального плана нет! Прогресс зависит от доброй воли и потребностей людей. Иногда прогресс может быть быстрым, иногда возникают проблема и портирование становится трудным без помощи и совета. Местами, где можно найти помощь, являются очередь задач на GitHub или канал Gitter по адресу gitter.im/backdrop/backdrop-issues.

Моей областью деятельности в настоящий момент являются такие модули как Notify, Triggers и Rules, позволяющие выполнять такие действия как автоматическая отправка письма при возникновении определённого события, например, при добавлении на сайт нового содержания.

Поддержка

У каждого дополнительного модуля есть своё хранилище кода и очередь запросов на GitHub в разделе github.com/backdrop-contrib. Если вы обнаружили какую-либо проблему связанную с дополнительным модулем, то лучше сначала посмотреть очередь запросов проекта, чтобы узнать, не было ли о ней уже сообщено. Если сообщение уже есть, то будет полезно добавить дополнительную информацию связанную со своим опытом. Если такого запроса нет, то создайте его предоставив нужную информацию об этой проблеме, включая, возможно, скриншот, чтобы помочь идентифицировать её другим участникам.

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

Если вы не можете выполнить техническую работу по портированию модуля, не стесняйтесь добавить свой запрос на странице github.com/backdrop-ops/contrib, выразив свою заинтересованность в его использовании. И если вам повезёт, то кто-нибудь сделает его портирование, согласившись с тем, что это будет полезной возможностью к той коллекции, которую мы уже имеем.

Будущее

Нет ограничения на количество доступных дополнительных модулей — все могут разрабатывать и делиться ими когда захотят. Наш список на странице backdropcms.org/modules содержит сейчас более 250 записей и их количество растёт каждый месяц. Из-за возрастающего количества модулей, становится сложно искать модуль для определённой цели, поэтому, возможно, нам нужно поработать над системой их классификации.

Лично я считаю, что наличие большого количества качественных дополнительных модулей имеет большое значение для Backdrop. Мы сделали много работы, но есть много неохваченных областей, где мы могли бы улучшить Backdrop.

Если вы сталкивались с такими областями, где модули Backdrop не могут решить какую-либо задачу, поделитесь своими мыслями с командой. Наш форум, который должен скоро начать работу позволит нам удобнее делиться своими мнениями о потребностях и приоритетах, и ещё больше улучшить проект Backdrop.

Благодарность

Эта запись в блоге является выражением моего персонального видения развития Backdrop и не является формальным заявлением о политике проекта. Если я что-то изложил не так, то прокомментируйте это. Если мои любимые модули не совпадают с вашими (а почему они собственно должны совпадать?), то поделитесь своим мнением на этот счёт.

Я наткнулся на Backdrop незадолго до того, как появилась его первая версия. В то время, я был, откровенно говоря, встревожен перспективами перехода с Друпала 7 на Друпал 8. Я очень благодарен Backdrop за способы, которыми он позволяет мне делать сайты и одновременно вносить свой вклад комментируя, создавая запросы, задавая вопросы и портируя модули. Спасибо вам всем за трудную работу и доброе отношение к новичкам.