Ощущения от Drupal 7

Предыстория

На днях пришла в голову светлая мысль сделать музыкальный портал. Пришла эта мысль в связи с тем, что сам я занимаюсь музыкой и хочется нести культуру в массы, попутно зарабатывая на этом.
Я продумал основную концепцию портала и уже было взялся делать его на старой доброй хорошо знакомой 6-ой версии Drupal. Почему не Drupal 7, возможно спросит меня новичек? Немного истории.
Я стал знакомится с новой версией любимого движка почти сразу после официального релиза. У меня было огромное желание идти в ногу со временем, развиваться. На тот момент поступил заказ на разработку двух сайтов и я решил делать их на Друпал7. Мои мыслы была такие: "До этого 7-ая ветка была в статусе rc (release candidate) и трогать ее было рано. А раз теперь вышел официальный релиз - значит все баги исправлены и можно смело переходить на новую версию". Как бы не так...
Забегая вперед скажу, что оба из заказанных тогда сайтов пришлось пересобрать на Drupal 6, и на данный момент они работают именно на 6-ой версии.
Короче говоря, сам новый движок оказалось ковырять довольно интересно, но огромная проблема заключалась в отсутствии стабильных модулей, а как известно именно в модулях вся сила Drupal. Скажем на тот момент отсутствовала стабильная версия модуля метатегов. И угадать было невозможно какие модули работают, какие нет. Согласитесь, ситуация, когда при установке модуля не просто выскакивает ошибка, а полностью падает сайт, не очень радует. И хорошо ещё если ты сделал бекап в нужный момент...
В общем помучившись несколько недель и кое-как собрав заказанные сайты со множеством заплаток и потенциально небезопасных модулей, взглянул я на все это дело отвлеченно и понял - рано ещё использовать Друпал 7 для коммерческих проектов.
 

Введение

Надеюсь не слишком утомил предысторией. Вернемся к музыкальному порталу. Несмотря на печальный опыт, описанный выше, пораскинув мозгами я все-таки решил снова попробовать Drupal 7 в действии. Мотивы следующие:
1. Нужно развиваться и идти в ногу со временем.
2. С момента первой релизной версии прошло около года. На текущий день версия ядра 7.12, т.е. вышло 12 обновлений. Это говорит о том, что многие баги найдены и исправлены. Причем надеюсь дело касается не только ядра но и модулей.
3. Заказчиком проекта являюсь я сам, а значит нет жестких лимитов по времени. Поэтому можно ставить эксперименты.
 
Итак решение принято. Не исключено кстати, что через неделю я не решу отказаться от этой затеи. Но для этого и ставится эксперимент. Не попробуешь - не будешь знать. И в данном случае не будете знать вы, мои читатели.
 

Установка

Установка 7-ой версии дружелюбнее чем 6. Не нужно копировать default.settings.php и переименовывать в settings.php. Теперь система делает это сама. Кроме того папки modules и themes уже созданы. Мелочи, а приятно. Лично я выбрал тип "minimal" при установке, т.е. будут включены только необходимые модули. Так уж я привык включать и настраивать модули только самые необходимые, по минимуму.
При установке на английском все прошло тип-топ. 
При попытке импортировать перевод ядра возникли первые траблы. Не успевает мой локальный сервер обработать запросы для импорта перевода. Вываливается ошибка "Fatal error: Maximum execution time of 240", то бишь за 240 секунд запрос не успевает обработаться. При том что у меня не самый слабый ноут (AMD Phenom II P820 Triple-Core 1.8 GHz, 3 Gbt RAM)
Нсколько раз попробовал сделать импорт на разных этапах, разные файлы импорта. Не получается. Попробовал в настройках php прописать большее время ожидания, но почему-то оно расширилось только до 300 секунд, которых тоже не хватило. В общем плюнул я на это дело и решил идти дальше.
 

Страница списка модулей

Данная страница безусловно радует. Здесь в таблице с модулями, напротив включенных как правило присутствуют 2 ссылки: настройка прав доступа и настройки модуля. Таким образом все нужные настройки под рукой и не нужно их искать в админке. Если у модуля настройки есть, то мы увидим ссылку на них напротив названия.
 

Administration Menu

Модуль из разряда Must Have. Замечу, что в семерке (не путать с виндой (-8 ), в ядре имеется похожий модуль и называется он Toolbars. Но со времен первого знакомства остались ощущения бесполезности и неполноценности Toolbars. Хочется старого доброго Admin Menu.
Заливаем модуль, переходим на страницу /admin/modules/list и видим, что теперь Admin Menu это не один, а целых 4 модуля. Зачем их столько пока не знаю. Включил только базовый.
Снова трабл. Экспериментируя до этого c импортом перевода, часть сайта все-таки руссифицировалась. После включения модуля админское меню появилось, конечно, но с кодировкой проблемы. Кракозябры вместо русских букв. Решается путем задания нужной кодировки в файле .htaccess
 
AddDefaultCharset utf-8
AddCharset utf-8 *
<IfModule mod_charset.c>
    CharsetSourceEnc utf-8
    CharsetDefault utf-8
</IfModule>
 
У меня этот метод сработал после очитски кеша. Если у вас не работет - есть ещё какой-то способ связанный с правкой модуля.
 

Создание тестовой страницы

Жму на ссылку "Add content". С удивлением вижу, что ни одного типа нод не создано. Но это скорее плюс, чем минус, т.к. наличе story меня лично всегда бесило в D6 и приходилось каждый раз его удалять.
А тут вроде как система сама тебя мотивирует создавать только то, что тебе нужно, с теми машинными именами, которые тебе хочется. Сомнительный аргумент конечно, но тем не менее отсутствие дефолтных типов нод не буду считать за минус.
Итак я создал новый тип "Page".
К слову, при создании ноды, равно как и при создании типа ноды, все настройки собраны в аккуратные табы, которые делают интерфейс дружелюбнее. В D6 это реализовыволось модулем Tabs. Здесь этот модуль включен в ядро. Приятно.
 
Кликаю снова по ссылке "Add content". Радует то, что вместо адреса node/add сразу попадаю на node/add/page, т.е. система не стала предлагать мне выбирать какой тип страниц я хочу создать, а сама поняла что у меня есть только один тип "Page" и перенаправила сразу на страницу создания ноды. Опять же мелочь, но приятно. Чувствуется что люди думали о юзабилити.
 
Заполняю title, body. Настройка тизера опять же сделана довольно удачно. Теперь нет дурацкой галочки "Показывать анонс в полной версии". Т.е. галочка то вроде полезная, но практике довольно сложная для понимания. В D7 настройка тизера организована немного по другому. 
При клике по "Edit summary" появляется дополнительное поле, в котором можно добавить свой тизер. 
Если не указывать тизер - он возьмется автоматически из первых абзацев. Но если указать тизер, то результат будет как если бы вы указали тизер в D6 со снятой галочкой "Показывать анонс в полной версии". Т.е. при просмотре непосредственно статьи вы тизер не увидите, но увидите его там, где он должен отображаться, скажем в ленте на главной.
Таким образом, не хочешь заморачиваться про тизер - не заморачивайся. Никакие галочки небе не мозолят глаза.
Если хочешь собственный тизер, отличный от того, что должно показываться в полной версии - берешь и пишешь его.
Если хочешь, чтобы тизером было начало статьи - берешь и копируешь начало статьи в тизер.
 

Global Redirect

После созданной статьи проверяю как обстоит дело с SEO и одной из главных проблем - дубли. Вместо node/1 пробую перейти по адресу node/1/
С сожалением вижу что при переходе по url с закрывающим слешем открывается та же страница что и без него, а значит это самый что ни на есть дубль и от него нужно избавляться. В D6 проблема решалась установкой Global Redirect. Скачиваю этот модуль для D7, причем версия 7.1.4, не dev и не rc. Включаю модуль и ..опа. Сайт упал. Вижу в строке адреса url по типу ru/ru/ru/ru/ru/ru/ru/ru/admin/modules Браузер пишет, что обнаружена циклическая переадрессация. И в итоге я не могу зайти ни на одну страницу, включая страницу модулей чтобы отключить злополучный Global Redirect.
Примечаниие: Модуль ставился на полуруссифицированную версию. Не исключено что вы не увидите подобной проблемы если работаете только с английской версией Drupal. Но при наличии русского языка в качестве дефолтного могу зявлять, что рассмотренный модуль не работает.
 
Отсюда вывод: будте очень осторожны с подключением новых модулей. Перед каждым новым модулем делаем бекап базы. Не доверяем даже релизным модулям, даже тем, которые безупречно себя зарекомендовали для D6. Тем более осторожно относимся к модулям в стадиях beta, rc, dev... Но без последних все же пока не обойтись, т.к. релизных модулей еще слишком мало и волей не волей придется использовать бетты и дев-версии чтобы добиться желаемого функционала. В общем нужно просто пробовать, но пробовать приняв все меры предосторожности.
 
В итоге проблема с редиректом решилась установкой более ранней версии Global Redirect, а именно версии 7.1.3
С ней вроде бы всё оказалось нормально. И проблемы с закрывающим слешем решились, и с дублями при использовании ЧПУ (т.е. когда одна и та же страница доступна по адресам например /node/1 и /pervaya-stranitza)
 

Настройка ЧПУ

Скачал версии PathAuto 7.x-1.0 и Token 7.x-1.0-rc1
Здесь изменений особо не увидел. Все работает стабильно.
В отличие от D6 для того чтобы настроить транслитерацию в автоматических адресах понадобится модуль Transliteration (7.x-3.0).
Модуль Transliteration  в любом случае нужен, т.к. конвертирует названия загружаемых файлов (скажем загружали файл привет.jpg, а модуль преобразует название в privet.jpg. То же и для url). Поэтому данную особоенность за минус не считаем.
После активации обозначенного модуля нужно вернуться в настройки pathauto. Там появится нужная галочка.
 

Метатеги

Взамен Nodewords для Drupal 7 модуль метатегов называется Meta tags. Для его работы понадобится Chaos tools (7.x-1.0-rc2).
Meta tags (7.x-1.0-alpha4) безусловно порадовал. Содержит только те метатеги, которые реально нужны, а именно description, title и keywords. В 6-ой же версии чтобы добиться подобного приходилось включить 2 модуля и ещё понастраивать их.
 

Настройка CCK.

То, что модуль CCK интегрирован в ядро опять же радует. Основные типы полей уже присутствуют. Нужно их просто включить при необходимости. При этом в их числе входит Image который теперь объединен с Imagecache. В общем то здорово, т.к. опять же это модули из разряда Must Have.
 

Wysiwyg редактор

Wysiwyg 7.x-2.1
CKEditor 3.6.2
Все стандартно. Единственно отсутствует формат ввода Full Html и его нужно добавить, иначе система будет блокировать html-теги.
Наткнулся кстати на страницу http://drupal.org/node/1197256
Открыл для себя кучу полезных модулей. В частности нашел для себя модуль linkit вместо CkEdirot link.
 

По мелочам

Радует, что есть теперь отдельная страница для отображения регионов сайта, а сама страница настройки блоков не ползет по верстке.
 
Большой плюс что теперь можно настраивать какие меню доступны для каких типов нод. Скажем, одним типам материалов можно дать возможность размещаться в главном меню, другим - в главном и второстепенном, а третьим - вообще запретить добавлять ссылки в меню.
 
Неудобство. При создании нового типа ноды, если пишешь название по русски, то не видно кнопки редактировать машинное имя, и потом ощибка.
 
Views 3. В целом очень клево и дружелюбнее. Нужно просто привыкнуть.
 
Изменилась логика подключения таксономии. Теперь словарь подключается не в настройках типа материала, а путем добавления поля (field) при помощи CCK. В целом это логичнее.
 

ВЫВОД

Итого. Второй раз серьезно берусь за Drupal 7. Помню, что уже после первого знакомства очень не хотелось возвращаться к Drupal 6, т.к. в новой версии всё-таки много мелочей, которые делают работу с движком приятнее.
Но на мой взгляд использовать Drupal 7 для коммерческих проектов все-же рано. Хотя проблеммных моментов стало гораздо гораздо меньше, а количество нужных рабочих модулей с каждым днем появляется все больше.

 

Гость : 13-04-2012

Global Redirect - недавно тоже столкнулся с такой проблемой. (Сайт полностью русифицирован)

CAPTCHA - не работает. Даже не показывает странички с настройками

Гость : 23-05-2012

Хуета.

admin : 25-05-2012

Интересно, "Хуета" - это ощущение от Drupal 7 или от моей статьи?)

Гость : 28-06-2012

Эллочка Людоедка умерла, но дело её живет!

Гость : 28-06-2012

А как ощущения от друпал 7 (и любого друпал) по сравнению с другими движками?
Я начинал джумлу ковырять, показалась как-то нелогично скроена, забил. Может и правда показалось?
Друпал показался более гибким и логичным при создании структуры сайта, добавления тем, модулей и их настройки. Хотя может мануалы для друпала лучше попадались.
Как Ваше мнение?

Отправить комментарий

Содержимое этого поля является приватным и не будет отображаться публично.
CAPTCHA
Введите код который вы видите на картинке чтобы подтвердить, что вы - человек!