- PVSM.RU - https://www.pvsm.ru -
Привет.
Критические статьи о Drupal входят в моду, я не хочу писать брызжа слюной о том, что плох друпал или хорош, хотя опыта для первого и второго хватает, я напишу как друпал повлиял на мою жизнь.
Под катом ~5 лет моей жизни бок о бок с друпалом.
И действительно? Почему? Почему не ModX, упоминания которого стабильно появляются в темах о Drupal, почему не Joomla?
Ответ прост — так сложились обстоятельства.
Было начало жаркого лето 2007. Я заканчивал второй курс родного физико-технического факультета КубГУ, был студентом-романтиком и меня очень грела мысль о том, что я элита программирования, так сказать, по крайней мере по сравнению с факультетами конкурентами, ведь мы же долбим C/C++, а не какой-нибудь Паскаль как на соседнем ФПМ. И я никогда в жизни не буду сидеть на PHP. Это же унизительно! Но я ошибался.
С этими мыслями я сидел в каморке 186 аудитории, фотографий того времени мало, но выглядело это примерно так:


Сессия уже была почти сдана, остались может пару экзаменов и я сидел и общался со своим будущим научным руководителем. На повестке дня был вопрос летнего трудоустройства и вообще, пора бы уже определиться с тем, что меня интересует. Я сказал научному, что вебом интересуюсь потихоньку, он мне ответил «Учи Drupal». Я спросил, что это такое? Ответом мне было — разберёшься.
Сказано — сделано.
Пришёл домой, скачал Denwer, поставил Drupal, потыкал, посмотрел. Не запало в душу.
Жажда знаний и всего нового заставила скачать Joomla, ModX, WP и даже Plone я тогда скачал, но не знал, что с ним делать.
Заранее хочу предупредить, хронология установки CMS может быть нарушена, но зато я опишу первые мысли, так как больше к этим системам не притрагивался.
С друпалом было всё просто.
Поставил.
Потыкал.
Пошёл дальше.
Joomla меня удивила с самого начала, прежде всего, почему «Joomla!», а не «Joomla»?
Я её установил, потыкал, запомнилось, что очень много картинок в админке и вообще как-то блондиночно, отчасти я наличие восклицательного знака с этим и связал. Тогда я мало чего знал, гуглить не умел, и был зелёный.
В общем, потыкал я эту «Joomla!», понял, что мне не хватает функционала. Нашёл какой-то модуль, а может и компонент, а может и плагин, а то и вовсе мамбот. Давно это было, не могу сказать точно. Сразу ужаснулся терминологии, слишком всё было сложно.
Промучался пару дней, не знаю по какой причине — но я этот модуль так и не поставил. Решил, что Joomla не для меня и удалил.
Вордпресс установился, всё прошло без сучка без задоринки, я его потыкал и из всего, мне запомнились, только какие-то шаблоны в XML и таинственная надпись «Meta» в сайдбаре.
Больше в WP я ничего не понял.
ModX я установил и мне понравился больше всех, особенно зелёная тема админки, не помню была ли она по дефолту или была установлена мной, но я писался кипятком от обилия аякса, дерева страниц и т.п. Как сейчас помню слова с какого-то сайта, с cmslist.ru, наверно: «WEB 2.0 админ-панель». Я тогда не знал, что такое WEB 2.0, но понимал, что это круто.
Ещё мне понравилась простота создания шаблонов, помню можно было скормить движку HTML и просто тебе надо вставить конструкции типа:
~menu~
и оно выведет!
Я даже было взялся за один заказ, через друзей заказали сайт визитку на ModX, через друзей оплатили 2000р, ЕМНИП, дали доступ к , это был valuehost, и слились. Заказчика в глаза я не видел, друзья тоже молчали. В общем — спасибо вам, но если вы вдруг меня узнаете — могу вернуть вам «предоплату».
А с ModX меня остановила терминология, ну не понимал я, что такое чанки, хаки, TV-параметры и т.п.
Ещё были Interra, очень нравилась, кстати, я к тому времени уже начал использовать бесплатные хостинги, и у меня была с ней проблема, рекламный банер вставлялся куда надо и куда не надо.
Был Xoops, e107, phpBB. Все они проходили мимо.
Но потом моя исследовательская деятельность была свёрнута, мне хотелось подзаработать денег за лето и всё такое. Я тогда жил отдельно, и хотелось хоть какой-то финансовой независимости.
Работу я искал любую, лишь бы было слово «компьютер». Тогда я узнал много, и что такое кадровые агенства, и что такое просто странные работодатели. Искал много и по всякому, мало кого интересовал студент-очник, да ещё и на 2 месяца всего, на дворе был конец июня.
Я разослал резюме в десяток студий своего города, я тогда жил в Краснодаре, мало кто отвечал. Хотя я знал и как LAMP поднять, и HTML-разметку, верстать немного умел.
В кармане осталось уже мало денег, и я уехал на море, вы не поверите — в Дагестан.

Вернувшись из Дагестана, я проверил почту и меня приглашали на собеседование в одну фирму рядом с домом, но к моменту моего возвращения — вакансия была неактуальна.
Так я слонялся ещё пару дней.
Неожиданно позвонила староста. У нас были с ней напряжённые отношения и я был удивлён звонку.
-Витя, привет.
-Привет.
-Ты же делаешь сайты?
-Ну делаю
-Другу Марины нужно сайт-визитку, быстро и недорого. Возьмёшься?
-Возьмусь.
-Хорошо, он тебе позвонит
…
Думаю зашибись, у меня нет портфолио, я никогда не работал с заказчиком, что делать не знаю, но слушаюсь судьбу.
Через несколько минут — звонит некий молодой человек, который назвался Давидом. Говорит тоже самое — нужен сайт, быстро, недорого, очень. Предлагает встретиться. Я согласился, он захотел встретиться в этот же день. Решили встретиться недалеко от места где я находился.
Я пришёл на место, стал на пешеходном переходе, к нему подъехала чёрная Honda Civic с номерами 888, я сел в неё и куда-то поехал.
Честно, мне было уже так всё всё равно, что меня не интересовало, что это за человек и куда я еду.
Мы приехали в Краснодарскую госорганизацию.
Прошли к её начальнику, мне сказали следующее:
Здравствуйте, Виктор.
Нам очень нужен сайт, сроки горят. Нам с министерства спустили требование, что мы должны иметь сайт до такого-то числа, но проблема в том, что денег у нас нет. Мы очень на вас надеемся.
Можно сказать, что меня даже не спросили хочу ли я делать, но я понимал, что делать надо, так как это первый сайт в портфолио. И как-то даже не хотелось подводить людей, они надеялись на меня.
Мне дали срок в 3 недели, подписали со мной договор подряда на 6000р, выделили кабинет, вот она государственная основательность и Давида.
На следующий день начался процесс сайтотворения.
Сайт им нужен был «динамический» как тогда было принято говорить, и я понимал, что нужен движок.
Перебрал в голове всё что пробовал ранее, и решил, что сайт будет на друпале.
Поставил Drupal, тогда это был Drupal 5, и за 3-4 дня накидал страницы, разобрался с таксономией, сделал галерею даже, это была Acidfree Albums [2] и начались муки с «дизайном».
Дизайна у нас просто не было, а каждый мимопроходящий объяснял как должен выглядить сайт.
В итоге получилась голубенькая такая гамма, слева герб данной организации, а справа герб РФ. Я познал вёрстку ещё лучше и прочее. Давид был очень педантичный, всё должно было быть выверено до пикселя, кроссбраузерно и без косяков. К слову, сайт и сейчас нормально отображается в современных браузерах.
Сайт был сделан, с запозданием мне его оплатили, и потом ещё полгода точно звонили и спрашивали, куда надо нажать, чтобы ххх.
К слову, с Давидом, мы очень сдружились, и сейчас лучшие друзья.
Оставалось пару недель лета, их я просто прогулял.
Начался учебный год, я сломя голову несусь к научному руководителю, доложить, что сделал первый сайт на Drupal. Он похвалил и всё.
Я полгода занимался всяким аникейством, лазил под столами в одном фирме делающей архитектурные проекты, ставил им автокад (лицензионный, ога) и был далёк от друпала.
Середина 3-го курса, ровно середина, каникулы были, звонит научный руководитель, говорит, чтобы я приехал в универ.
Приезжаю. Диалог:
-Будешь на меня работать?
-А что делать?
-Будешь или нет?
-Буду. А делать-то что?
-Друпалить!
-Владимир Николаевич, у меня же опыта мало!
-Ничего
Потом подъехал одногруппник, его Николаевич тоже позвал для этого же, и третий, на курс старше меня — отказался.
Условия были предложены шикарные.
Мне обещалась зарплата в 20 000р, возможность продолжать обучение, т.е. работать со свободным графиком.
Сейчас я бы сказал, что это был стартап. Далее в тексте он будет упоминаться как «ОЗМИ», название несколько искажено.
Основная идея ОЗМИ была в качественной и количественной рекламе, по крайней мере мне казалось так первое время.
Были инновационные идеи, в стиле, рекламы в платёжных терминалах, смс-рассылки, ещё некоторые штуки, которые я и не упомню.
Начались трудо выебудни. Николаич сразу дал понять, что работать придётся много, особенно первое время.
Мы взяли Drupal 6 и начали.
1 марта мы приступили к работе, в конце марта выкатили бету.
1 марта я не умел писать модули, поверхностно знал API, и кое-как делал тему оформления.
Методы Николаича были жёсткие. И жёсткость заключалась в преждевременной оптимизации, у нас со Стёпой знаний для неё ещё не хватало.
Мне нужно было написать какой-то модуль, по моему, вывод новостей или что-то в этом роде. В пятницу Николаич даёт мне задание, даёт книгу «Pro Development», но по Drupal 5 и сказал «В понедельник нужен модуль, пиши. Под шестёрку».
И я написал модуль за выходные, после этого мне не особо были понятны рыдания на drupal.ru, о том, что в книге по Drupal 6 было чего-то некорректно, что ничего не получается, etc.
Ситуация с этой книгой была следующая.
Была книга Pro Development Drupal 5. Потом выпустили Pro Development Drupal 7, и при переводе допустили ошибку, в книге по Drupal 6 оказались исходники под Drupal 5, большинство примеров не работало, так как API было изменено, но основные принципы остались теже.
Мы выкатили бету, на сайте началась работа других людей.
Контенгент на сайте был разный и людей было много. Около 1000 человек постоянной аудитории, они были мотивированы за работу на сайте, это был обезьяний труд — вбивать объявления.
Особенно запомнился некто gordeiko, который на форуме задал вопрос: «Капейки. Куда ввадить капейки, нада нинада?????»
Мы (я, Степан, Николаич) эти капейки вспоминаем до сих пор. Мы просто не знали что ему ответить.
Вопрос этот был вызвал тем, что мы что-то сделали с полем цены, не помню что.
Потом появилась эта знаменательная фигура. Далее по тексту — АВ, как мы его называли.
Мы не знали кто он, но гендир сказал, что он будет следить, управлять и направлять нас в разработке сайта.
И началось…
АВ был прожжённый МЛМ-щик, ничего не понимающий ни в МЛМ, ни в веб-разработке, но креативил он знатно.
Притом креативил всегда и везде.
На сайт была импортирована очень широкая география, весь КЛАДР, без улиц, вышло порядка 180 000 населённых пунктов нашей широкой страны.
Для удобства выбора были сделаны зависимые select-ы, Hierarchical Select [3] в терминах Drupal, но мы написали его самостоятельно, не вытягивала система таксономии такое количество терминов.
АВ каждый раз называл эти селекты по разному, из того что помню, это лесенки и кирпичики, и каждый раз он пытался вспомнить как оно называется, говорил новый термин и добавлял коронную фразу.
Выглядело это так: «Эти глючат, как вы их, программисты, называете? А! Лесенки!»
Сайт рос и развивался, у нас появился справочник организаций ака «жёлтые страницы». Но тех кто хочет размещаться платно — почти не было.
Тогда АВ придумал новую функцию, которая взорвёт рынок — барабанная система.
Что это такое и почему она должна была взорвать рынок?
Барабанная система напрочь убивает релевантность поискового запроса.
При каждом поисковом запросе организации будут сортироваться не по релевантности, а тупо по очереди.
При первом поисковом запросе твой автосалон последний, при следующем он первый, потом второй, третий, etc.
«Рекламодатели будут пищать! У каждого будет возможность оказаться на первом месте! Это будет бомба! Такого ни у кого нет!».
В общем мы не стали делать эту бомбу, зато после этого совещания команду покинул Владимир Николаевич, не выдержал креатива.
Остались мы вдвоём со Степаном.
Техническое задание у нас было, реально. Но только первый месяц, потом у нас появился АВ и всё начало делаться в стиле «Нам срочно надо! Очень! Делайте! Я тут главный!».
Нам его как-то надо было отвлекать, кое-как с гендиром договорились, что он его любые хотелки будут утверждаться гендиром и только потом переходить к нам. На время поток креатива прекратился.
Потом мне пришло ТЗ… Без ТЗ было лучше.
Это был вордовский файлик из десятка пунктов. Всё было кратко и лаконично, запомнился мне только пункт:
n. Привести в единый вид автор. и неавтор. стороны сайта.
Что это такое — выясняли долго, АВ был любителем экономить буквы, т.е делать странные и непонятные сокращения, а вкупе с креативом — это было нечто.
Автор. и неавтор. это оказались «Авторизованные и неавторизованные стороны сайта», т.е. надо было привести в единый вид — вид сайта для анонима и авторизованного юзера. В чём там разница мы не поняли, АВ тоже не смог объяснить, зато дико разорался «Разве непонятно?»
Потом команду покинул Степан. Я остался один.
Я бы и дальше выкладывал креатив АВ и он есть, но лежит где-то в архивах на другом жёстком диске, там должна быть графика и «графические ТЗ».
Потом был найден как усмирить АВ, мы нашли девочку-дизайнера, они сидели с ним вдвоём, чего-то рисовали, и он был почти рад. Его радость была неполной, он потом обязательно в Paint всё перерисовывал как надо.
Постепенно становилось всё хуже.
Начались проблемы с деньгами, их тупо задерживали под разными предлогами. Основной канвой был, конечно, кризис.
Потом были взяты ещё 2 программиста, а я осенью покинул компанию, практически сразу после того, как директор начал обещать программерам доли, мне стало понятно, что ловить здесь нечего и чего-то затевается.
Я ушёл в конце сентября, ЕМНИП, директор мне долго никак не мог перечислить долг по ЗП, ссылась то на плохую работу банка, то на то, что я чего-то не доделал, то просто физически мне угрожал. Но к ноябрю вроде как отправил мне мои ~40т.р за 2 месяца работы.
На этом работа с ОЗМИ прекратилась.
Я ушёл из ОЗМИ, почти сразу меня пригласили в одно известное местное Интернет-СМИ, там у меня долго не получилось проработать, они хотели фуллтайм, были против учёбы, в общем где-то 2 недели я там проработал и ушёл фрилансить.
Почти сразу мне постучался клиент, главный редактор одного интересного журнала, назовём его Тере. Звали его Андрей. Чем он меня поразил — он был главредом и он друпалил.
Мы с ним договорись о часовом рейте, задачах и начали работать.
Прежде всего стояла задача переноса журнала на Drupal, было озвучено — никакого самописа, только «визуальные модули».
Сайт в то время крутился на WP + WP MUI + Buddy Press, могу ошибаться в названиях и каждый вечер, в пик юзеров на сайте, он клал
Мы быстро вдвоём накидали сайт на Drupal 6, я написал скрипт переноса, перенесли контент и юзеров и сайт начал работать гораздо лучше, LA не поднимался даже до трети того, что было на WP. Для меня это было откровением, Drupal быстрее чем WP, к слову, кеширование у нас отсутствовало.
Потом уже я понял причины, там была очень странная структура БД, WP давал мало запросов, но зато каких!
Проработал я с этими Тере около полугода, и скажу — Спасибо, Андрей!, вы мне очень помогли.
Кто связан с друпалом — сразу понял, про кого я говорю.
Как было дело.
Я к тому времени довольно продвинулся в Drupal и стал заметным в сообществе. Меня «приняли» в скайп-чат самых известных русско-язычных друпалеров, был я там самым молодым.
И там я познакомился с Егором, он почти сразу написал в личку, спросил как у меня с линуксом и предложил парт-тайм, по сути, обычным саппортом
Егор был владельцем IT-дозор, сам русскоязычный, но перебравшийся в Канаду. Не люблю слово эмиграция, да и можно ли применить это слово к свободным людям?
IT-дозор это была работа моей мечты, да, я много работал с клиентами, но я много учился, я работал с друпалом.
И через 2 месяца Егор предложил мне стать на ступеньку выше — я стал админом. Прошёл краткий курс молодого бойца, и довольно часто оставался за главного.
Так мы с ним и проработали 364 дня, 15 августа я ушёл, просто устал, но если будет надо — я вернусь.
Егор мне показал другой бизнес, не наш русский наебизнес, а совсем другой, где клиент это главное, и клиента нельзя бросать наедине со своими проблемами, даже если он платит 100р в месяц.
В общем уйдя из IT-дозора, меня позвал работать друг в свою свежеоткрытую студию. Скажу честно и сразу — мне не понравилось, просто как-то не так всё.
Потом были всякие фриланс-заказы, на них я останавливаться не буду.
Работая в IT-дозоре я познакомился с многими людьми, и многие люди даже переживали мой уход из этой компании. Сообщество маленькое, всё у всех на виду.
И был один человек, назовём его SU. Он очень переживал «Ты в Краснодаре, без работы, ВЕРНИСЬ В ДОЗОР! Ну куда ты пойдёшь?».
И предложил мне Москву.
Москву как вариант для переезда я никогда не рассматривал, не хотелось мне переезжать, как-то и в Краснодаре было всё хорошо. Что я и говорил SU.
Ну и в общем, по его наводке — меня пригласила одна московская компания. Назовём её Простобокс.
Я отсобеседовался по gtalk, мне сказали, что я нравлюсь им, и со мной хотят пообщаться лично.
Я покупаю билет на Avianova, вылетаю в Москву.
В Москве я был первый раз в жизни, из знакомых — только знакомые по drupal.ru.
И вот я прилетаю в 7 или 8 утра, а меня уже встречают, даже 2 человека.
Меня сразу прокатили по Москве, показали Москва-сити, Красную площадь, храм Христа Спасителя, ещё какие-то места, которые я незапомнил.
После были посиделки в ресторане с другими друпалерами.
Потом мне пришло письмо на мыло, человек хотел моей консультации, я ему написал, что могу с ним встретиться.
Потом я лёг спать.
Так вышло, что я сначала пообщался с человеком, проконсультировал его, а потом пошёл на собеседование.
Консультация была интересной.
Мне утром звонит человек, спрашивает где мы можем встретиться, а я не знаю ни Москвы, ни даже где я нахожусь, меня к себе взял один друпалер.
Но мне надо ехать на собеседование на ст.м Шаболовская, предложил встретиться где-то там, человек согласился, оказалось, что он живёт недалеко.
Я проконсультировал человека, довольно интересный проект и пошёл на собеседование.
Обычные вопросы уровня — JOIN'ы умеешь? Ничего сверхестественного, ответил, рассказал, пообщались, у меня спросили «Когда ты можешь приступить к работе?». Попросил 2 недели на собрать вещи и улетел в Краснодар.
Через 2 недели я прилетел в Москву, уже работать, так сказать.
Остановился снова у того друпалера, у которого жил. Дети были на даче, а жена ну почти была непротив чужого человека в квартире.
Так я и прожил у него 2 недели.
Потом понял, что нужно чего-нить подыскать. Начал шерстить авито, сландо, и прочее. Даже на хабре спрашивал habrahabr.ru/qa/9936/ [4], не ожидал получить такого отклика, честно говоря.
Случайно нашёл подселение в комнату, на Краснопресненской за 7000р. Съездили с Андреем, посмотрели, вроде всё ок.
Перевёз вещи, заплатил 14т.р и вечером приехал.
На работе обычная рутина, новый проект на Drupal 7, ничего такого, в принципе.
Когда мы приходили смотреть квартиру с Андреем, там было тихо, спокойно, и был только один человек, хозяин квартиры, как мы думали.
Вечером же я узрел гораздо больше людей.
Естественно со всеми познакомился, самое большее впечатление произвёл один стартапер из Республики Беларусь.
Это было нечто. Паша был крайне интересным стартапером, очень большим романтиком и очень слабопонимающим предметную область.
У него было 2 проекта, один "Реальная база объявлений недвижимости", второй был проект обо всё и ни о чём.
Надежды он возлагал на оба проекта, в частности, Реальная база недвижимости через пару месяцев должна была поровняться с cian.ru по посещаемости, а сайт обо всём и ни о чём — должен был ему приносить 2 миллиона за счёт квадратиков.
Квадратиками назывались рекламные места.
Паша сразу спросил, кем я работаю и как я могу ему помочь, я сказал, что работаю в другой сфере и не знаю чем ему помочь. Его такой ответ удовлетворил, в принципе.
Но каждый вечер Паша делился со мной планами на будущие успехи.
Паша был вообще весёлый человек, один раз застал интересный разговор. Я слышал только ответы Паши, разговаривал он видимо со своей девушкой:
-На море поехать? Зачем тебе это море! Поехали в Беларусь!
Я валялся с этого.
Но Паша был спокойным соседом, оказалось, что квартира это по меньшей мере проходной двор, а из постоянных соседей — двое наркоманы. Было весело, были и драки, слава богу они прошли мимо меня, были поиски стаффа в пять утра и постоянно у кого-то воняли ноги, а наркоманы были самые чувствительные по запаху.
Так я и прожил с ними 3 недели, потом мне выдали зарплату.
У меня было n тысяч-рублей, мне нужно было срочно переезжать от наркоманов, всё равно куда.
И тут мне приходит письмо в личку на drupal.ru.
Писала одна девочка, из города Кемерово, я ей оказывается, когда-то давно помог с сайтом, она узнала, что я ищу квартиру и пообещала помочь найти.
И нашла, очень быстро, отличная квартира, дёшево, но далеко не центр и абсолютно нулёвая — минимальный набор советской мебели.
Мы быстро встретились с хозяйкой, я посмотрел квартиру и почти сразу в неё переехал.
Через неделю я узнал, что после того, как я съехал от наркоманов — их накрыла милиция.
Так уж вышло, что по разным причинам, работать в Простобоксе мне не сильно нравилось. На то было много причин, начиная от ненавистного мне SVN и заканчивая тем, что я там не развивался как специалист.
В общем я сменил место работы и ушёл в работу над проектом, того человека, которого я консультировал в самом начале моей Москвы.
Здесь я не буду рассказывать про проект, NDA, как-никак. Но расскажу про Drupal и работу с ним.
Проект делается на Drupal 6, минимальной командой. В сумме — нас три человека, но занятость не могу сказать, что полностью полная.
На проект уже ушло ~800 человеко-часов, судя по Redmine.
Ещё порядка 150-200 уйдёт до запуска.
Я не знаю как назвать мою роль в проекте, но я погружён во все процессы + занимаюсь разработкой.
Сделаю небольшое резюме за эти неполные пять лет, что я с друпалом:
Drupal, действительно, не самая лёгкая CMS
Любишь кататься, хочешь гибкости и открывать окна мышкой? Плати за это количеством SQL-запросов.
Ещё так вышло, что на продакшен-сервере у нас достаточно медленные диски, всё хорошо, но вот процедуры типа сброса кеша занимали довольно много по времени. Поставили memcache — теперь на SQL уходит только треть времени генерации страницы. Среднее время генерации — не превышает 1000мс.
Любители фреймворков воскрикнут «Да как так можно! Говно ваш друпал!», собственно ничуть не говно, всё пучком, об этом далее.
Drupal тяжело отлаживать
Из-за хуков тяжело понять что откуда возникает.
Как пример, был такой баг.
На каждой странице отдавался 404 HTTP-статус, но с контентом было всё ок.
В итоге дело оказалось в hook_menu_alter() одно из самописных модулей, модуль изменял пункт, которого в силу каких-то обстоятельств не существовало. Система меню друпала дурела и получалось вот такое.
Другая история была с модулем Invite и модулем og_features, они пытались одновременно переопределять форму регистрации, в итоге имеем баг, с тем, что модуль инвайтов инвайтиться не хочет.
В Drupal существуют баги
Да, это так, но баги, что в ядре полная фигня, по сравнению с тем, что бывает в контрибе.
Если вы не накладываете патчи на модули, то вы, вероятно, не погружались в процесс разработки.
Многие любят делить модули на красненькие и зелёнькие, и считают, что в зелёньких по-умолчанию всё хорошо, но это далеко не всегда так.
Зелёненькие модули — это релизы
Красненькие — dev-версии.
Сообщество Drupal — бяки и злюки и не любят новичков
Ага, а я самый главный ненавистник и это не шутка.
В Drupal-сообществе не любят идиотизм в любых его проявлениях, никто никому не обязан и не хочет отвечать на вопрос, который задаётся каждые 3-4 дня «Как мне зайти на сайт, если я скрыл форму входа?»
Не торопитесь делать сайты, читайте больше, а всё что вы хотите спросить — до вас уже спрашивалось.
Готовые решения
Количество готовых решений — зашкаливает, но исповедуется принцип, что модуль для решения задачи не должно быть зоопарка модулей, т.е. если CCK он один и рабочий, а не как у Joomla 6 штук и каждый по разному работает.
Да, бывает всякое, бывает, что и аналогов нет, и модуль не самым лучшим образом работает. Но не ленитесь заглядывать в Issue.
Взять модуль Organic Groups, казалось бы, довольно взрослый модуль, всё должен уметь, увы, разработчик забыл добавить кнопку выхода из группы в интеграцию с Views, решается патчем.
Хотя уже может включено в релиз.
Инструменты
Это вообще тема для отдельной статьи, напишу что используем мы.
Drush — инструментарий администрирования Drupal через командную строку, mush have
Drush make — тоже незаменимая вещь для экономии времени. Применительно к нам, используется для следующего.
У нас есть десяток самописных модулей, хранятся они в git, каждый в отдельном репозитории. И напрямую в код проекта коммиты модулей не уходят! На это есть свои причины.
В определённое время мы выпускаем новый релиз, чтобы не ходить по репозиториям и не вводить там
git clone git@server:module_name1
git clone git@server:module_name2
…
git clone git@server:module_name100
Мы используем drush make, в итоге, сборка свежих версий модулей, сводится к запуску команды
drush make custom.make
drush make сам выкачивает модули из репов и раскладывает по каталогам.
Второе применение drush make — наложение патчей. У нас есть список патчей, за которым приходится следить и после апдейта контриб-модулей накладывать. Drush make этот автоматизирует процесс, экономия времени при релизах — колоссальная.
Features — так как Drupal гибкая система для тыкальщиков мышкой, то настройки хранятся в БД, деплой настроек в таком случае — нечто невообразимое, как синхронизировать настройки Dev и Production, ничего не забыть не поломать? Да ещё и хорошо бы, чтобы это всё в git попало. Тут приходит на помощь модуль Features, он на основе настроек в БД генерирует модули своего формата, называемые в обиходе фичами.
Например, вы создали на Dev раздел новостей, естественно, натыкали его мышкой. Вам на Production надо перенести как минимум, 3 сущности, это вьюху, тип контента, словари таксономии. Вручную это займёт примерно час.
С модулем Features это займёт 10 минут в худшем случае. Вам нужно выделить галочками, что вы хотите переносить, сгенерировать модуль, закоммитить его, включить на продакшене и всё, профит.
Документация
Документации — полно, что в блогах, что на drupal.org, она хорошо структурирована и есть ответы на большинство вопросов. Лучше документация только у Rails, на мой взгляд.
Мероприятия
Здесь полно всего.
Начиная от крупных вроде DrupalConf в Москве, Киеве, заграницей, заканчивая мелкими, местечковыми вроде Drupal-Cafe или Друпал-шашлыки.
Если вы в Москве, в Краснодаре, Киеве, Донецке, Днепропетровске — присоединяйтесь к проводимым мероприятиям! В Москве скоро будет пейнтбол [5], например, приглашаются все желающие. Биться будем, кстати, с Joomla-адептами, закончим холивар.
Увы, но я не верю в светлое будущее.
Ситуация мне видится следующей:
Drupal 5 — начало взлёта
Drupal 6 — вырастили армию хомячков
Drupal 7 — вроде и повысили юзабилити для неискушённого юзера/создателя сайта, но поддержка уже сложнее и дороже. Вот хороший пример. Я часто делаю апгрейды с одной мажорной версии на другую, во время Drupal 6 — многие обновлялись с Drupal 5 самостоятельно, без знаний. Апгрейд на Drupal уже требует знания SQL, так как если появлятся ошибки в БД, процесс апгрейда остановится, пока не исправишь, шестёрка эти ошибки просто проглатывала.
Drupal 8 — решил «объединяться» с Симфони. Я попробовал Симфони, мне не понравилось + показалось, что сообщества нет как такового, слишком тухло, по сравнению с Drupal, да и как-то сложилось мнение, что для нормальной работы симфони нужно много костылей, у одних ActiveRecord не работает, у других ещё что-то.
Я сейчас веду трудовую деятельность на Drupal и параллельно изучаю RoR.
Я не буду говорить, что RoR рулит, друпал — срулит. Это разные инструменты, но я рад обоим системам.
Автор: RxB
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/drupal/13224
Ссылки в тексте:
[1] хостингу: https://www.reg.ru/?rlink=reflink-717
[2] Acidfree Albums: http://drupal.org/project/acidfree
[3] Hierarchical Select: http://drupal.org/project/hierarchical_select/
[4] habrahabr.ru/qa/9936/: http://habrahabr.ru/qa/9936/
[5] пейнтбол: http://www.drupal.ru/node/85701
Нажмите здесь для печати.