символьні осмислені URL (інакше В«людино-зрозуміліВ» - ЧПУ)
В· переклади інтерфейсу сайту на різні мови, а також підтримка ведення різномовного контенту
В· можливість створення сайтів з пересічним вмістом (наприклад загальною базою користувачів або загальними налаштуваннями)
В· роздільні конфігурації сайту для різних віртуальних хостів (мультісайтінг), у тому числі власні набори модулів і тем оформлення для кожного підсайту. Це надає можливість на одній установці системи (на одному акаунті хостингу, на одній базі даних) отримати кілька сайтів, причому у різних сайтів може бути як загальний, так і незалежний набір таблиць, завдяки чому можна, наприклад, створити кілька сайтів з єдиною базою користувачів , але незалежними базами контенту.
В· повідомлення про виходять оновленнях модулів
В· інтеграція з движками шаблонів (templateengines), що дозволяють відокремити логіку програми від даних та їх подання.
Система підтримує локалізацію інтерфейсу на більш ніж 100 мовами (проте не всі переклади є повними). Є підтримка російської мови. В Drupal використовується власний механізм для локалізації з зберіганням переказів в базі даних, нарівні з рештою вмістом сайту. Імпорт і експорт перекладів сайту здійснюється у вигляді po-файлів (формат використовуваний бібліотекою gettext). Побудований за модульним принципом: компактний набір службових функцій (ядро), що відповідають за роботу з СУБД, авторизацію, кешування і пр. доповнюється модулями, які надають основну функціональність. Вони забезпечують обробку системних подій (авторизація користувача, запис даних у БД, перегляд документа, пошук і т. д.), взаємодія між модулями виконується за допомогою хуков (hooks) - певним чином іменованих функцій. Описавши хук в модулі, можна перехопити будь-яку подію (наприклад, збереження запису) і запрограмувати свою логіку його обробки. Завдяки такій системі програміст може розширити можливості будь-якого існуючого модуля, не втручаючись в його вихідний текст, а також створити свої власні типи подій. p align="justify"> У ядрі Drupal реалізований набір функцій (API) для роботи зі всіма не необхідними компонентами: СУБД, формами, кешем, користувачами і їх правами. Для взаємодії з СУБД використовується абстрактний інтерфейс DB API, ядро ​​Drupal оперує ANSI-сумісним SQL для роботи з БД, а структури (таблиці) для БД визначаються програмістом в масивах спеціального виду. При цьому перетворення визначень таблиць і запитів під особливості конкретної СУБД (офіційно система Drupal сумісна з MySQL і PostgreSQL) виконується спеціальною бібліотекою, і розробнику не доводиться піклуватися про особливості роботи СУБД. Визначивши власну бібліоте...