Amnesty использует Drupal
Роб Пьюрди (Rob Purdie) только что огласил, что Amnesty International перешел на Drupal. Убедитесь сами http://amnesty.org ...
Похоже, что возможности Drupal по локализации (l10n) и интернационализации (i18n) были использованы для перевода сайта на 3 языка. Арабский перевод также присутствует. (Пишут на арабском преимущественно справа на лево, что, честно говоря, забавно видеть, но трудно реализовать в CMS.)
Примерно неделю назад Вим Мострей (Wim Mostrey) из CivicActions уже делал предварительную закрытую презентацию нового сайта Amnesty Interational на собрании Barcamp в Брюсселе. Один примечательный факт, который я бы хотел изучить больше - это интеграция с Alfresco, Open Source системой ведения документации, которая написана на Java.
Drupal 5: производительность
После выхода Drupal 5, вас наверняка интересует какая версия Drupal быстрее -- последний релиз Drupal 4 или новый Drupal 5?
Пробная установка
Я установил Drupal 4.7 с 2 тыс. пользователей, 5 тыс. нод, 5 тыс. синонимов URL, 10 тыс. комментариев и 250 терминов словарей в 15 словарях.
Далее, я настроил главную страницу показывать 10 нод, включил некоторые блоки в колонке справа и слева, настроил несколько основных ссылок и добавил поиск в шапке страницы. Я также включил страницу контактов, с помощью модуля contact Drupal. Картинка ниже показывает как моя главня страница была настроена в результате.
Furthermore, I made an exact copy of the Drupal 4.7 site and upgraded it to the latest Drupal 5 release. The result is two identical websites; one using Drupal 4.7 and one using Drupal 5.
Benchmarks were conducted on a 3 year old Pentium IV 3Ghz with 2 GB of RAM running Gentoo Linux. I used a single tier web architecture with the following software: Apache 2.0.58, PHP 5.1.6 with APC, and MySQL 5.0.26. No special configuration or tweaking was done other than what was strictly necessary to get things up and running. My setup was CPU-bound, not I/O-bound or memory-bound.
Apache's ab2 with 20 concurrent clients was used to compute how many requests per second the above setup was capable of serving.
Кеширование страниц Drupal
В Drupal есть механизм кеширования страниц, который сохраняет динамически генерируемые веб-страницы в базе данных. Благодаря кешированию веб-страниц, Drupal не нужно создавать страницу каждый раз, когда её запрашивают. Кешируются только страницы запрошенные анонимными посетителями (посетителями, которые не представлялись системе). Как только посетитель представился, кеширование для него отключается
потому что страницы персонализированы множеством путей. На некоторых сайтах, как этот блог, все кроме меня являются анонимными посетителями, в то время как на других сайтах может быть смешение анонимных и зарегистрированных посетителей.
When presenting the benchmark results, I'll make a distinction between cached pages and non-cached paged. This will allow you to interpret the results with the dynamics of your own Drupal websites in mind.
Furthermore, a Drupal 5 installation has two caching modes: normal database caching and aggressive database caching. The normal database cache is suitable for all websites and does not cause any side effects. The aggressive database cache causes Drupal to skip the loading (init-hook) and unloading (exit-hook) of enabled modules when serving a cached page. This results in an additional performance boost but can cause unwanted side effects if you skip loading modules that shouldn't be skipped.
Through contributed modules, Drupal also supports file caching which should outperform aggressive database caching. I have not looked at file caching or any other caching strategies that are made available through contributed modules.
Результаты
Число страниц, которые Drupal может обработать за секунду. Чем больше, тем лучше.
На графике, приведенном выше, показано, что генерация страниц в Drupal 5 на 3% медленнее, чем в Drupal 4.7. В тоже самое время, при обработке кешированных страниц с использованием нормального кеширования в базе данных, Drupal 5 на 73% быстрее, чем Drupal 4.7, и на 268% быстрее, если используется агрессивное кеширование в базе данных.
Что это значит, при взгляде на общую производительность сайта на Drupal 5? То, что эффективность кеширования страниц Drupal зависит от ряда параметров, таких как срок годности кеша, число пользователей, которые представились, шаблонов доступа и пр.
Чтобы вычислить различные конфигурации Drupal, мы изменили Drupal 4.7 и Drupal 5, поэтому мы можем видеть коэффициент потери производительности ряда страниц.
The relative performance improvement of Drupal 5's normal database caching compared to Drupal 4.7's database caching. A miss rate of 0% means that all page requests result in a cache hit and that all pages can be served from the database cache. A miss rate of 100% means that all page requests result in a cache miss, and that we had to dynamically generate all pages.
The figure above shows the relative performance improvement of Drupal 5 compared to Drupal 4.7. We observe that Drupal sites with relatively few cache misses (typically static Drupal websites accessed by anonymous users) will be significantly faster with Drupal 5. However, Drupal sites where more than 1 out of 2 page requests results in a cache miss (typically dynamic Drupal websites with a lot of authenticated users) will be slightly slower compared to an identical Drupal 4.7 website.
To me these graphs suggest that for most Drupal websites, upgrading to Drupal 5 will yield at least a small performance improvement -- especially if you properly configure your page cache's expiration time. Furthermore, they suggest that for Drupal 6, we need to look at improving the page generation time of non-cached pages. Let's make that an action item.
Нейл Драмм (Neil Drumm)
Два месяца тому назад я пригласил Нэйл Драмм стать core committer следующей версии Drupal.
На протяжении одного релиз-цикла, Нэйл будет помогать Стивену Вайттенс (Steven Wittens) и мне
очертить следующую версию Drupal, определяя и координируя интересные достижения разработки. Я не был очень уверен в выборе Нейла, но я считаю,что будет хорошая возможность увидеть нас в совместной работе. Не удивительно, что это осталось незамеченным.
Я выбрал Нэйла по двум причинам. Первая и главная, Нэйл не любит усложнять. Люди склонны предлагать неимоверно сложные решения и у Нэйла есть способность определять попытки привнести хлам в Drupal. Во вторых, Нэйл был соучередителем и разработчиком CivicSpace, первого дистрибутива Drupal. В CivicSpace Нэйла был активно вовлечен в разработку системы установки. Я надеюсь, что его новая должность поможет Нэйлу координировать разработку без лишнего мусора установки (install), обновления и системы зависимостей ядра.
Нужно добавить настраиваемые типы контента в ядро и часть огромная цель - сделать Drupal легче в использовании и разбработке.
Сложность это болезнь
Принцип систем управления контентом Окхэма Рэйзора (Ockham Razor) гласит, что при наличии двух функционально эквивалентных систем управления контентом, будет выбрана простейшая. Это доказывает, что простота предпочтительнее сложности. Так как системы управления контентом становятся все более подобными в основных вопросах функциональности, то легкость использования станет ключевым дифференциатором (больше, чем функциональность).
К тому же, фреймворки подобные Ruby on Rails, чьей целью является разработка приложений с как можно меньшим количеством кода, переопределяют правила построения веб-сайтов. Для разработчиков веб-приложений, легкость разработки станет ключевым дифференциатором.
Возможность изменения (Hackability) это ключ.
Сложность это болезнь.
Делая Drupal (1) легче в использовании, (2) легче для разработки и (3) легче для темизации -- поддерживая в тоже время, функциональностьь и гибкость -- это то, над чем я буду работать.

