Топ-10 популярных вопросов и ответов про Drupal

Аватар пользователя kalabro

Когда-то я безвылазно сидела на сайтах вроде drupal.ru и drupal.stackexchange.com — получала знания, используя эти сервисы как задачник Сканави.
Сегодня я решила возвратиться к до боли знакомому Drupal Answers, посмотреть, что там есть интересного и, возможно, открыть для кого-то очень мощный источник знаний.

Топ-10 популярных ответов (по голосам)

select TOP(10) Id, Score from Posts where PostTypeId = 2 order by Score desc;

Я лично охотнее голосую за полезные для меня ответы, чем за вопросы, поэтому сортировку сделала именно по баллам за ответы. Вы всегда можете составить свой Топ на страничке http://data.stackexchange.com/drupal%20answers/query/new.

Итак, приступим.

  1. Ответ Якоба Торпа (http://dgo.to/@googletorp) на вопрос от международного общества анонимных друпалеров «Как скрыть факт использования Drupal?». Ответ набрал 71 балл, хотя и не был принят как верный.

    Кстати, комментарий от CTO Commerce Guys “You don't want to hide Drupal. Drupal is awesome.” сразу под вопросом в свою очередь стал первым по голосам среди всех комментариев на Drupal Answers :)

    Полностью скрыть факт использования друпала невозможно, в первую очередь из-за особенностей Javascript-фреймворка друпала (переменная window.Drupal).
    Такие vendor-объекты на клиенте есть во многих CMS, не только в друпале.

    Чтобы полностью уяснить этот пункт, почитайте весь топик: http://drupal.stackexchange.com/questions/237/how-can-i-obscure-the-fact...

    А потом ставьте Security Review, читайте официальную документацию (https://drupal.org/security/secure-configuration) и множество статей на тему повышения безопасности Drupal-сайта. Многие крупные организации выбирают Drupal именно из-за его безопасности, поэтому приобрести дополнительные знания в этой сфере будет только плюсом.

  2. Вопрос «Почему Drupal такой медленный?» бьет все рекорды по количеству просмотров, ответов, добавления в избранные и лучей добра.
    Я в этом смысле «в активном поиске». Помогают отличные статьи и модули коллег (например, http://drupalace.ru/search/node/кэш) и вот такие презентации: Drupal Performance and Scalability: What you need to know.

    Ответ от уже упоминавшевогося CTO Commerce Guys (https://drupal.org/user/22211), набравший 67 баллов, раскрывает лишь одну сотую часть вопроса: проблему неправильного удаления модулей в семёрке. По-русски об этом очень подробно написал @Spleshka: Ускоряем бутстрап или борьба с неправильным удалением модулей.
    С тем же успехом можно добавить ответ «Включите кеширование Views и ускорьтесь в 2 раза».
    No Silver Bullet.

    http://drupal.stackexchange.com/questions/724/why-is-drupal-7-so-slow/88...

  3. 59 баллов набрал ответ Брендона Уильемса (http://dgo.to/@rocketeerbkw) о том, как сделать, чтобы аргумент Views принимал из пути не id термина, а его имя.
    Как по мне, так это очень редкая задача. Во-первых, в большинстве случаев можно использовать стандартный путь taxonomy/term/%term_id + Pathauto. Во-вторых, использование без предварительной транслитерации каких-либо имен в путях для русских сайтов приведёт к некрасивым ссылкам (а в редких случаях и вовсе нерабочим).

    На Drupal Answers и drupal.ru тысячи вопросов такого-же типа про Views. Если вы только начали знакомство с этим модулем, лучше всего посмотреть, как с ним работают другие, и прочувствовать Views-way. Я, конечно же, рекомендую монументальную работу Йохана Фалка Taming the Beast: Learn Views with NodeOne.

    http://drupal.stackexchange.com/questions/9332/drupal-7-views-contextual...

  4. На вопрос, влияют ли выключенные модули на производительность друпала, ответил Дэйв Рид (https://drupal.org/user/53892), которому верить уж точно можно :)

    Не влияют, но с некоторыми оговорками:

    1. Загрузка страницы со списком модулей требует чтения всех папок с модулями.
    2. Переменные модуля остаются в таблице variables и могут замедлять работу, если разработчик горе-модуля неправильно использует variable_set(), сохраняя там очень больше объемы данных.
    3. Другие неудалённые данные модуля в экзотических случаях могут замедлять некоторые операции.

    Ну, а удалять модули надо правильно: admin/modules/uninstall или drush pm-uninstall.

    57 баллов: http://drupal.stackexchange.com/questions/22/do-non-enabled-drupal-modul...

  5. Задай вопрос с фото красивой девушки — получи новый модуль в подарок. Иначе я то, что произошло в треде «Как автоматически загружать файл, не нажимая на кнопку Upload», описать не могу.

    Клайв Линселл написал модуль Auto Upload, которым я, например, активно пользуюсь. Клайв не очень активен на Drupal.org, поэтому его модуль хоть и стабильный, но до сих пор в песочнице. Как скачивать такие модули, читайте в статье Как скачать модуль с Drupal.org и не облажаться: Часть III.

    51 балл: http://drupal.stackexchange.com/questions/31121/how-can-i-automatically-...

  6. Matt Vance (https://drupal.org/user/88338) советует виртуальную машину Quickstart Drupal Development Environment тем, кто не знает, как подобраться к вопросу дебага сайтов на Drupal. 49 голосов ЗА от благодарных новичнов нелёгкого дела отладки. Сам вопрос «How do I debug Drupal?» второй по голосам после «Why is Drupal 7 so slow?».

    Отладчик очень полезен и не так уж сложен в настройке. Мной проверено по крайней мере на NetBeans и PhpStorm.
    К сожалению, я никогда не устанавливала Quickstart Drupal Development Environment. Ну, не могу же я, в самом деле, знать всё? :) Буду рада вашим комментариям и отзывам об этой виртуалке.

    http://drupal.stackexchange.com/questions/545/how-do-i-debug-drupal/553#553

  7. На вопрос «Зачем использовать db_select для запросов к БД, если он такой медленный по сравнению с db_query» ответил Sascha Grossenbacher (http://dgo.to/@berdir).

    Вот причины, по которым Бердир рекомендует использовать db_select:

    1. Динамические запросы. Вместо того, чтобы носиться в «ифах» и циклах с конкатенацией строк в один большой запрос, можно удобно работать с объектом SelectQuery.
    2. Расширения (PagerDefault, TableSort и т.д.)
    3. Возможность альтерить запросы другими модулями и добавлять тэги.
    4. Поддержка прав с помощью тэга “node_access”.
    5. Поддержка разных типов СУБД (PostgreSQL, MySQL и т.д.)

    Некоторые ограничиваются одной причиной — “readability”, читаемость кода.

    50 баллов: http://drupal.stackexchange.com/questions/1200/given-that-db-select-is-m...

  8. Ещё один ответ от Бердира в уже упомянутом топике «Почему друпал такой медленный?» (2).
    http://drupal.stackexchange.com/questions/724/why-is-drupal-7-so-slow/72...
  9. Eval is evil! Опять Бердир и опять речь о безопасности.

    Почему опытные друпалисты так настойчиво не рекомендуют использовать PHP Filter?

    1. Невозможность использования SCM (Git и т.п).
    2. Eval() медленный.
    3. Плохое определение места ошибки / тяжелая отладка.
    4. Сложность портирования с версии на версию друпала.
    5. Нет IDE, подсветки синтаксиса, автокомплита.
    6. Вас примерно в 137 раз легче взломать.

    40 баллов: http://drupal.stackexchange.com/questions/2509/what-are-the-downsides-of...

  10. «Какова основная концепция хуков в Drupal?» — считаю, это и есть главный порог входа в друпал. Третий по популярности вопрос и как минимум два отличных ответа.

    Простым языком объясняет суть загадочный user568458 и набирает 34 балла. Ниже Letharion проводит сравнение с популярными паттернами программирования.

    http://drupal.stackexchange.com/questions/26290/what-is-the-basic-concep...

Топ-10 популярных ответов содержат множество полезной информации, подчёркивают как сильные так и слабые места друпала и дают представление об основных проблемах в изучении и использовании этой CMS.

Комментарии