Почему в Drupal не стоит менять код ядра

Как говорил старина Кутузов: "держи голову в холоде, ноги в тепле, а код в актуальном состоянии".

Код это цифровой замок вашего сайта, если несвоевременно обновлять код, существенно увеличивается вероятность того, что рано или поздно ваш сайт постигнет такая же участь, как и этих товарищей: «Панамские бумаги» могли утечь из-за использования старых версий Drupal и WordPress

"Никогда не взламывайте ядро!"

Последуйте этому мудрому девизу, это одна из самых важных лучших практик Drupal.

"Ядро" означает все файлы, которые лежат в исходной установке Drupal. Все файлы, кроме тех, которые находятся в директории "sites", возможно изменения коснутся еще файлов .htaccess и robots.txt, а также могут добавляться профили установки в директории "profiles".

Основные причины против модификации кода файлов ядра

  • Вам будет сложно,трудно или практически невозможно применить апдейты сайта, такие как безопасность и исправление ошибок;
  • Вы сделаете сложной поддержку тем, кто будет обслуживать этот сайт;
  • Вы делаете уязвимым ваш сайт для эксплоитов.

Ядро Drupal разработано в расчете на модульное расширение, так что практически нет веских причин для его хака. Если есть острая необходимость реализовать функционал и нет возможности сделать это за рамками кода ядра, рассмотрите вопрос о представлении вашего хака в виде патча. Создайте issue и расскажите сообществу о функции, которая необходима, и после проверки, возможно этот функционал станет частью ядра.

Исключения

Существуют ли исключения из этого правила?

Ответ - Нет.

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

Share this post

Leave a comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • To post pieces of code, surround them with <code>...</code> tags. For PHP code, you can use <?php ... ?>, which will also colour it based on syntax.
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.