До выхода Drupal 7 ещё два/три месяца, но уже сейчас можно посмотреть что нового он нам принесёт:
База данных:
- Полностью переписан уровень абстракции базы данных, теперь используется PDO из состава PHP5.
- Новые требования к БД — MySQL >= 5.0.15 или PostgreSQL >= 8.3.
- Добавлены функции для построения запросов INSERT, UPDATE, DELETE, MERGE и SELECT.
- Поддержка master/slave репликаций, транзакций, множественный INSERT и другие функции.
- Добавлена поддержка SQLite.
- Дефолтный тип MySQL таблиц изменён на InnoDB (если доступен). Это обеспечивает повышенную масштабируемость и целостность данных.
Безопасность:
- Защищённый cron.php - для запуска крона теперь необходим секретный ключ.
- Увеличена стойкость парольных хэшей.
- Введено ограничение на число попыток входа на сайта, для предотвращения подбора паролей методом грубой силы. Улучшена система защиты от флуд-атак.
- Модуль "Update status" заменён модулем "Update manager", который может безопасно устанавливать и обновлять модули через веб-интерфейс.
Юзабилити:
- Для таких элементом страницы как блоки, материалы и комментарии, добавлены контекстные ссылки, с помощью которых можно выполнять наиболее распространённые задачи в пару кликов.
- Улучшенный инсталлятор, который проверяет минимальные требования.
- Добавлена возможность подключать WYSIWYG редакторы.
- Drag&Drop в списке форматов ввода.
- Drag&Drop в списке языков.
- Drag&Drop в списке вопросов модуля Poll.
- Пользовательские разрешения теперь снабжены описанием и человекопонятным названием.
- Удалена возможность управлять форматом вывода комментариев пользователями. Настроить порядок вывод можно с помощью модуля Views.
- Из таксономии удалено понятие "Связанные термины", поскольку этот функционал можно достичь с помощью Field API.
- Добавлены новые возможности в дефолтный профиль установки. Так же добавлен новый профиль установки для разработчиков — минимальный.
- Добавлен новый способ запуска крона, который срабатывает в определённый момент при посещении сайта.
- Добавлена новая роль "Администратор", которой можно назначить права как любой другой роли.
- Функции для работы с изображениями теперь доступны без копирования файла image.ToolkitName.inc.
- Добавлена вкладка "Редактировать" на странице термина таксономии (taxonomy/term/[tid]).
- Редизайн виджета стойкости пароля.
- Редизайн страницы добавления типа материала.
- При добавлении синонима URL, добавлена проверка на существование.
- "Форматы ввода" переименованы в "Форматы текста".
- Форма установки разрешений для форматов текста перемещена в раздел управления разрешениями.
- Пользователям добавлена возможность удалять свои аккаунты.
- Добавлен новый способ группировки настроек — "вертикальные вкладки".
- Fieldset-ы в форме создания/редактирования материала заменены на вертикальные вкладки.
Производительность:
- Улучшена производительность при просмотре некэшированных страниц, путём объединения нескольких sql запросов в один.
- Улучшена производительность для авторизованных пользователей, путём уменьшения запросов для получения url синонимов.
- Улучшена поддержка HTTP-прокси, разрешающая кэшировать страницы посещённые анонимными пользователями.
Документация:
- Документация по хукам включена в ядро Drupal.
Тестирование:
- Добавлен фреймворк для написания автоматических тестов. Добавлены тесты ядра и модулей.
Улучшенная поддержка часовых поясов:
- Drupal теперь использует временные зоны в PHP.
- Пользователи могут выбирать свой часовой пояс.
Система фильтров:
- Обновлён API фильтров.
- Добавлена возможность указать дефолтный формат текста для каждой роли.
- Обновлённый HTML-корректор теперь использует возможности PHP5.
Система пользователей:
- Добавлены функции для создания, обновления и удаления ролей и разрешений.
- Обновлён функционал раздела "Правила доступа". Блокировать пользователей можно только по IP адресу. Такие функции, как блокировка по e-mail или имени пользователя, могут быть доступны при установке соответствующего модуля.
- Удалена возможность пользователям выбирать тему сайта. Вернуть функцию можно с помощью соответствующего модуля.
OpenID:
- Добавлена поддержка Gmail и Google Apps for Domain. Пользователи могут войти используя логин вида user@domain.com, где domain.com ассоциируется с Google.
- Возможность расширять модуль входа OpenID.
Добавлен реестр кода:
- Модули могут описывать подключаемые библиотеки в .info файле, что позволяет использовать ленивую загрузку (загрузку по требованию) классов и интерфейсов.
Темизация:
- Удалены темы Bluemarine, Chameleon и Pushbutton. Эти темы теперь доступны по адресам http://drupal.org/project/bluemarine, http://drupal.org/project/chameleon и http://drupal.org/project/pushbutton.
- Добавлена лёгкая тема Stark.
- Добавленая дефолтная тема для админки — Seven.
- К preprocess функциям добавлены аналогичные process. Подробнее.
- Для функций темизации теперь можно использовать preprocess и process ф-ии.
Работа с файлами:
- Новые функции для работы с файлами — file_load(), file_save() и file_validate().
- Функции file_move(), file_copy() и file_delete() после операции над файлом, вызывают хуки.
- Если для работы с файлами не нужны накладные расходы — запись информации о файле в базу и вызов хуков (например при закачке логотипа сайта), то можно использовать функции с префиксом file_unmanaged_*().
- Функции для работы с файлами переписаны с использованием PHP stream wrappers, что позволяет расширять механизм доступа к файлам (например включить поддержку Amazon S3 или Flickr).
- Переменная mime_extension_mapping была удалена. Вместо неё доступен хук hook_file_mimetype_mapping_alter().
- Добавлен хук hook_file_url_alter(), с помощью которого можно добавить поддержку CDN.
- Добавлено поле для загрузки файлов, которое раньше было доступно с помощью модуля FileField.
Работа с изображениями:
- Улучшены функции обработки изображений.
- Добавлены функции и интерфейс для создания эскизов изображений.
- Добавлены эффекты, такие как поворот или обесцвечивание.
- Добавлено поле для загрузки изображений, которое раньше было доступно с помощью модуля ImageField.
Поддержка RDF:
- Добавлена поддержка RDF.
SEO:
- Добавлен атрибут rel="canonical" для предотвращения дублирования контента при индексации поисковиками.
- Модули могут изменять мета теги перед рендерингом страницы.
Field API:
- Материалы, пользователи, комментарии и термины таксономии, могут быть расширены пользовательскими полями.
- Содержание материала и его тизер теперь являются полями Field API.
- Кроме того можно создавать свои типы полей.
- Field API обеспечивает большую часть функций модуля CCK.
- Термины таксономии теперь являются полем Field API.
Инсталлятор:
- Обновлён инсталлятор. Теперь Drupal можно установить из командной строки.
Организация страницы:
- $footer_message теперь является блоком.
- $content теперь является блоком.
- Переменные блоков теперь доступны в видео массивов. Для их вывода нужно использовать функцию render().
Система локализации:
- Поддержка контекста сообщений (msgctxt).
- Поддержка локализации полей из Field API.
Изменения в JavaScript:
- jQuery обновлён до версии 1.4.2.
- Плагин jQuery Forms обновлён до версии 2.36.
- Добавлена библиотека jQuery UI 1.8.
Версии модулей:
- При разработке модуля, можно указать версию модуля от которой он зависит.
Удалённые модули:
- Blog API
- Ping
- Throttle
Система контроля доступа:
- Любой модуль может добавить свои правила для доступа к материалам.
- Пользователям можно отменять ограничения.
- Контроль доступа распространяется как на опубликованные материалы, так и не опубликованные.
- Многие другие улучшения.
Перевод официального ченьджлога.
Так же советую прочитать описания модулей, функции которых были добавлены в ядро Drupal 7.
Написанное актуально для
Drupal 7
Похожие записи
- Единый язык административного интерфейса на многоязычном сайте
- Текстовый фильтр, оборачивающий контент ссылок в span
- Показать второй шаг многошаговой формы в модальном окне
- Создание многошаговой формы (multistep form) (8)
- Навесить на элемент managed_file свой ajax callback (Как обновить всю форму при загрузки файла в managed_file)
Добавить комментарий