Статьи

Почему Друпал?

Lately I’ve been asked in several different ways what essentially boils down to one question: “Why Drupal?” The subtext of the question is: “Why not some other system such as [insert your favorite CMS here]?” Allow me to explain…

Background

If you are familiar with the history of my site, you’ll know that once upon a time it ran on Textpattern, a designer friendly content management system that sports a templating system akin to the syntax of XHTML. I was so enamored with TXP, as the cool kids call it, that I even pushed forth an effort to write a book about it. Several coauthors and I labored on what became Textpattern Solutions.

Again, depending on how long you’ve known me, you might also recall that last year I built a proof of concept module for the ExpressionEngine CMS to consume the Fellowship One API. I even took the time to make a brief screencast.

Like many designers, I was impressed with the EE 2.0 admin interface demo’d at the SXSW conference a few years ago. At the time, the core version of EE was free for nonprofits. It seemed like a good system to encourage for church use. We even chose EE to power our Fellowship Tech Developer site.

Ironically, after presenting my EE module talk at the Dynamic Church Conference in 2009, the first responses were basically “What about Drupal?” As it turns out, many of our church customers are big proponents of open source.

At the time, I knew next to nothing about Drupal, but this spurred my curiosity. I knew that it could power large sites, and that the Geeks & God podcast guys loved it, but I didn’t really know much more than that. Coincidentally, 2009 was when interest began to pick up in the Drupal community around using 960.gs as a base for building themes. I was encouraged by Matt Farina to speak at the first ever Design 4 Drupal event in Boston, hosted by MIT. I ended up co-presenting with Todd Neinkerk of the Austin based agency Four Kitchensvideo here.

It was there at the MIT Stata Center that I was immersed in the culture of Drupal for three days, and I began to see what all the fuss was about. The designers and developers I met were highly collaborative, eager to both teach and learn.

It should be noted that I have also attended a TYPO3 conference in Dallas, and found it to have a unique culture all its own. My friend Ron Hall is a huge fan of TYPO3, and helps to organize their North American conference. For whatever reason, TYPO3 is decidedly more popular in Europe, particularly in Germany.


Deep Dive

Я никогда не был человеком, который покупал вещи по прихоти. Во всяком случае, я склонен исследовать продукты до отказа, тратя недели или месяцы на чтение определенной темы. Если память не изменяет, я прочитал четыре книги по Drupal, три по EE и / или CodeIgniter и две по TYPO3. Эти книги …

Drupal

ExpressionEngine

TYPO3

Бонус: у меня также есть книжная полка «Полное руководство по Джанго» .

Ладно, может быть я тот человек, который покупает книги по прихоти!


Зачем менять?

Textpattern

Так или иначе, поверьте мне, когда я говорю, что мне нравится иметь информированное мнение. Главный вопрос: что заставило меня покинуть Textpattern, потратив столько часов на изучение системы и еще больше написав книгу? Я могу со всей честностью сказать, что это была ситуация «это не ты, это я». В какой-то момент я понял, что как бы выбрал верхние пределы того, что я знал, как построить с помощью Textpattern.

ExpressionEngine

Поэтому я начал искать в другом месте. Сначала я проверил EE, изучив все тонкости того, как он обрабатывает макеты и модули. То, как это работает, мало чем отличается от того, как TXP создает шаблоны. Я был заинтригован этой возможностью, в сочетании с такими вещами, как их сторонние разработанные форумы и модули управления членами.

Но когда мы создали сайт FT Developer, я понял, что эти модули (в 1.6.x) работают не так, как остальные части системы. Вместо этого, он включал в себя хакинг в цепочках heredoc . Элегантность теряется, если нужно строить сайты за пределами возможностей TXP . Кроме того, EE отправлял заголовки в браузер до вывода кода модуля.

Это означало, что у нас было много времени, чтобы заставить OAuth работать. Вот почему не было сделано никаких дальнейших разработок нашего модуля EE для проверки концепции. Это и изменение в лицензировании EE 2.0, которое не допускает некоммерческого использования бесплатно.

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

TYPO3

В отличие от TXP или EE, TYPO3 действительно великолепен как платформа для разработки приложений и гибрид CMS . Но это может быть несколько сложно просто установить и настроить правильно. К счастью, есть такие проекты, как проект Web Empowered Church, помогающий облегчить процесс обучения, предоставляя пользователям рекомендации и стартовые шаблоны. Что меня пугало в TYPO3, так это необходимость выучить еще один псевдосинтаксис после изучения соответствующих тегов EE и TXP .

Я наткнулся на эту статью …

Мастер TYPO3: уведомление об авторском праве с текущим годом

Я вспомнил, как думал: это много шагов. В PHP это всего одна строка …

<?php echo date('Y'); ?>

Ирония в том, что меня изначально тянуло к Textpattern из-за его псевдосинтаксиса и из-за того, что PHP казался пугающим. Теперь я чувствую себя пожилым человеком, который не может быть обеспокоен изучением искусственного языка, предпочитая вместо этого писать прямой PHP .

На данный момент в моей карьере время, потраченное на изучение того, что работает только в рамках определенной CMS, можно сравнить с изучением клингона . Да, технически это язык. Да, есть очень ревностные группы людей, которые свободно говорят в нем. Но за пределами этой «вселенной» все эти знания больше не применимы. Это равносильно запоминанию ответов в Trivial Pursuit .

Изучение PHP похоже на изучение испанского языка. Или английский. Или какой-нибудь широко распространенный язык, который принесет вам пользу не только в нишевых кругах. PHP в сети похож на белую краску. Это везде Это может быть не так красиво, как Ruby или настолько же чисто, как Python , но как разработчик стоит иметь хотя бы практические знания PHP .

Даже 37signals, создатели Rails , использовали PHP для своей книги Getting Real .


Как насчет WP?

Я вижу, как эта старая дискуссия вспыхивает время от времени. Некоторые говорят…

«WordPress — это не CMS . Это просто инструмент для ведения блога ».

Остальные опровергают…

«Сообщения блога являются контентом. WP управляет сообщениями в блоге. Ergo, это CMS .

Ну, называйте это как хотите, но WordPress не для меня. Да, я знаю, что это дико популярно. Быстрое сравнение с Google Trends показывает, что количество поисковых запросов для WordPress легко превосходит количество поисковых запросов по темам, связанным с Drupal , с ошеломляющим соотношением 10 к 3. Итак, почему бы не WordPress? Я оставляю деньги на столе, не перечисляя развитие темы WP в своем репертуаре? Да и нет.

WordPress против Drupal

Коммерческий дизайн темы блога — насыщенный рынок по уважительной причине. Это не очень сложно. На самом деле, я бы рискнул сказать, что если бы я занимался этим делом, я бы нашел это совершенно однообразным. Хотя нет никаких ограничений на уровень визуальной детализации, которую можно включить в дизайн блога, функциональность только идет так далеко.

Ведение блога идет так: написать сообщение. Загрузить фото. Возможно видео. Или сделать подкаст. Позвольте людям комментировать любую или все эти записи контента. Промыть, повторить. Как дизайнеры, мы стали достаточно искусными в создании тем, чтобы приспособиться к этим основным пользовательским поведениям. Это то, где WordPress превосходит.

На самом деле, WP настолько приспособлен для блогов, что я сравниваю его с яхтой. Это оптимизировано для этой конкретной задачи. Он позволяет людям с разным уровнем технической подготовки устанавливать сайт и размещать его в Интернете. Или через WordPress.com вы можете вообще пропустить процесс установки и выбрать размещенный блог. Хотя пристальное внимание на ведение блога гарантирует, что знаменитая «5-минутная установка» будет и впредь предметом продаж, это также означает, что WP по своей сути не предназначен для больших сайтов.

Примечание: я имею в виду «большой» с точки зрения информационной архитектуры . Я понимаю, что с правильными плагинами кэширования и хорошей настройкой хостинга WP может поддерживать сайты с тоннами трафика и обилием постов в блогах. Хотя это все хорошо, я заинтересован в создании сайтов и / или веб-приложений, которые имеют как широту, так и глубину.

Продолжая WP как аналогию с яхтой, я бы сказал, что Drupal — авианосец. Корабль такого размера может перевозить истребителей, бомбардировщиков, припасы или даже беженцев в рамках гуманитарной помощи. Слишком часто я вижу людей, которые пытаются привязать вещи к своим яхтам, а затем удивляются, почему они сталкиваются с трудностями. Пользовательские поля не создают идеальный рабочий процесс CMS . Я узнал это с Textpattern.


Сфера

По своей сути Drupal создан для масштабируемости. Вы можете использовать его, как я на этом сайте: скромный блог, раздел о подразделах, портфолио, контактную страницу и т. Д. Он также достаточно универсален для поддержки таких сайтов, как: Министерство торговли , Университет Дьюка , The Economist , Fast Company , Global UN Pulse , и Белый дом .

Обширный список высококлассных сайтов Drupal поддерживается Dries Buytaert, создателем Drupal. Пока я на тему: Дрис очень умный парень. Он имеет степень бакалавра, магистра и доктора наук в области компьютерных наук. Он был соучредителем Acquia , которая занимается предоставлением инфраструктуры уровня предприятия и поддержкой крупных сайтов Drupal. Они для Drupal, что Red Hat для Linux.

Моя аргументация в пользу изучения Drupal, когда TXP полностью удовлетворяла потребности моего бывшего сайта, заключается в том, что я хочу постоянно стремиться к тому, чтобы учиться чему-то большему и наращивать потенциал того, что я могу построить. Я не из тех, кто ищет сложности только ради ударов, как у какого-нибудь ученого из Bloomberg . Мне очень нравится брать что-то, что в противном случае могло бы быть сложным, и разбивать его на перевариваемые кусочки.

Или, как говорится …

Q: Как вы едите слона?
A: Один укус за раз!

Это то, что Drupal позволяет мне делать: создавать иерархические структуры контента, помогая упорядочивать вещи так, чтобы пользователи могли найти их логически представленными. Хотя я знаю, что я не использую его в полной мере на моем простом сайте, я уверен, что вложил время в систему, которая может расти в зависимости от потребностей клиента. Я могу безнаказанно сказать: «Да, Drupal может это сделать».

Я думаю, что способность работать с крупномасштабными веб-сайтами — вот почему вы видите агентства Drupal, которые нанимают от нескольких до нескольких десятков человек, тогда как люди, которые создают пользовательские или коммерческие шаблоны блогов, обычно работают в небольших группах или в качестве независимых фрилансеров. Размер сайта диктует рабочую силу.

Я слежу за этими мощными агентствами Drupal …

Я неизменно впечатлен тем, что Development Seed создает надежные приложения, такие как Managing News , MapBox и Open Atrium на вершине Drupal. Я также регулярно слушаю подкаст Lullabot, организованный основателем Джеффом Роббинсом , которого иногда называют «голосом Drupal» в сообществе. Lullabot было одним из первых агентств, предложивших обучение на Drupal, еще до того, как оно стало популярным. У них также есть обширная библиотека учебных видеофильмов, охватывающих различные темы Drupal.


Ну и что?

В чем я пытаюсь тебя убедить? Не важно. Я просто подумал, что, поскольку меня спрашивают, почему Drupal все чаще и чаще, я, вероятно, должен записать свои мысли. Если я убедил вас попробовать Drupal , отлично. Если нет, это тоже хорошо.

Раньше я чувствовал бремя своих друзей-дизайнеров, когда видел, как они крутят свои колеса, создавая еще одну тему для блога, для еще одного клиента, который хотел, чтобы его / ее блог был самым крутым. Я бы удивился таким друзьям: «Почему они рисуют себя в углу, просто используя инструмент для ведения блога? Разве они не знают, что это не будет хорошо масштабироваться как CMS ? » Став старше и, возможно, мудрее, я научился не беспокоиться о таких вещах. Некоторые люди хотят создавать блоги и могут зарабатывать на жизнь достойной жизнью. Больше власти им.

Лично я жажду больше, чем перекрасить ту же функциональность. Отчасти поэтому я люблю работать в компании, которая разрабатывает веб-приложения. Я хочу решать сложные проблемы с помощью простых решений. Когда я создаю сайты, мне нужна CMS, которая соответствует моей философии. Для меня это означает Drupal .