xandeadx.ru Блог музицирующего веб-девелопера

Drupal → Что нового в Drupal 7

Опубликовано в

До выхода 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 файле, что позволяет использовать ленивую загрузку (загрузку по требованию) классов и интерфейсов.

Темизация:

Работа с файлами:

  • Новые функции для работы с файлами — 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
Похожие записи

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании