Подтвердить что ты не робот

Каковы некоторые недостатки Drupal?

Drupal - это CMS "Сделай все". Существуют модули, которые позволяют добавлять практически любую функциональность, что отлично. Однако, похоже, что многие функции (v5 и v6) кажутся разбросанными вокруг и неинтуитивными для пользователя. Как разработчик, у меня остается ощущение, что вы закрепили сайт вместе с помощью жевательной резинки и струны.

Например, чтобы добавить текст в окно поиска по умолчанию (которое исчезает при нажатии), вам нужно либо добавить код jQuery, либо переопределить тему. Я также нашел систему меню более сложной, чем она должна быть.

Я единственный, у кого такое мнение? Какие вещи (если есть) вы бы изменили в ядре Drupal?

4b9b3361

Ответ 1

Отсутствие истинного объектно-ориентированного дизайна означает, что вам часто приходится полагаться на предусмотрительность других разработчиков, чтобы оставить функции "крючка", чтобы вы могли изменить определенное поведение.

Использование Drupal 5 Я также столкнулся с ситуациями, когда единственным способом завершить относительно простое изменение дизайна является исправление самого Drupal (и после этого обязательно повторите исправления с каждым новым официальным выпуском Drupal). Но, если быть справедливым, вы должны были видеть, насколько это плохо было в Drupal 4.

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

Ответ 2

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

Ответ 3

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

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

Если кто-то еще не создал модуль, который делает то, что вы хотите, эффективное использование системы без взлома кода ядра требует grokking множества различных внутренних API-интерфейсов, множества уникальных структур данных и изучения некоторые изредка фанковые рабочие процессы. Многие ужасно плохие и неспособные поддерживать сайты плавают вокруг людей, которым нужно было делать сложные вещи, и у них не было опыта (или времени), чтобы исследовать "правильный" способ сделать что-то.

(Отказ от ответственности: я только что соавтор нескольких глав для книги о Drupal, и я занимаюсь работой Drupal полный рабочий день, поэтому я настолько далек от "непредвзятого", как вы можете получить. Но мне нравится думать, что я держу перспективу. Я тоже в сердце Джанго.)

Ответ 4

Drupal доставит вам 80% от того, как это будет из коробки, но последние 20% займут месяцы и месяцы.

Ответ 5

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

Там есть дискуссия в сообществе Drupal над дизайном. Drupal был вокруг, прежде чем функции PHP OOP были сильными, но теперь, когда они есть, часто обсуждаются изменения системы для использования объектно-ориентированных структур данных. В зависимости от ваших вкусов это может быть недостатком для вас как разработчика. Я сам об этом подумал.

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

Однако, я должен сказать, что в целом я большой поклонник Drupal. Это хорошая система, которая становится лучше с каждой основной версией. Я не могу ждать 7.

Ответ 6

Drupal хорош для начала работы, но вы тратите больше времени на "отмена", чем на самом деле делаете все. Это особенно важно в связи с выпуском Drupal 6, и, если честно, это проявляется в модулях.

Управление миграциями также является проблемой, как сказал Шон. Я до сих пор не знаю о хорошем методе перемещения изменений с сайта dev на живое.

Я не уверен, что в текущем ядре я бы ничего не изменил, и большая часть недостатков будет работать. Управление изображениями требует работы, интерфейс администратора по умолчанию немного загроможден, что делает более сложные макеты без привлечения просмотров/панелей и т.д., Которые могут использовать некоторые работы.

Ответ 7

Я считаю это ужасно сложным. как разработчик php, ежедневно вырывая мои волосы из-за проблем, которые не имеют никакого отношения к php, но с самим drupal. как/почему/когда это делает X? его большой зверь, которого нужно приручить. документация ограничена несколькими очень хорошими руководствами, целым рядом дерьмовых и даже более бесполезными нитями форумов, которые всегда появляются в Google.

удобство использования на бэкэнде - это дерьмо. пользовательская тема также изменит макет части "admin" пакета, которая может быть очень неприятной и приводит к менее приятным макетам.

если вы работаете с html slicers, его невозможно использовать html, который не был создан специально для drupal. это в значительной степени заставляет вас использовать drupal-html, с большим количеством divs, 5 многословных классов на div и т.д. по природе, html/css ребята не могут ожидать знать drupal на этом уровне.

Мне не нравится, как он опирается на имена файлов (10 слов в длину, с очень тонкими различиями между ними), чтобы создать тему.

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

Ответ 8

Drupal предоставляет мощные инструменты для не-программистов, они могут легко создавать полноценный сайт с меньшим временем. Но проблема в том, что кривая обучения слишком высока для Drupal.

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

Ответ 9

Я считаю, что высокая кривая обучения является единственным недостатком, поскольку большинство компаний пытаются найти хороший талант Drupal. http://drupalize.me/ и http://buildamodule.com/ делают очень хорошую работу чтобы уменьшить эту высокую кривую обучения.

Ответ 10

Я нахожу, что интерфейс администратора по умолчанию не очень интуитивно понятен по сравнению с другими cms 'like modx или joomla/mambo

Ответ 11

Это написано на PHP4. Это изменится с версии 7. Вы можете написать свои собственные модули в php5, конечно. Как опытный разработчик Drupal, и я считаю, что мое резюме пострадало из-за моего ограниченного воздействия на php5.

Это не лучшее для запуска таких сервисов, как SOAP. Вызов всего стека Drupal для предоставления веб-сервиса - это слишком большая производительность. Модули служб все еще находятся в разработке.

Нет поддержки транзакций базы данных. Это становится проблемой при масштабировании до экстремальных нагрузок.

Было бы неплохо запустить тесты из командной строки. Это было возможно с помощью simpletest 1.x, но текущая версия не очень хорошо его поддерживает. Simpletest недостаточно зрелый. Чистая установка Drupal может завершиться неудачей. Некоторые из включенных тестов по умолчанию заставляют вас использовать типы контента и модули, которые вам могут не понадобиться, и вы не можете отключить их без взлома самого простого модуля.