Вышла TYPO3 v10 LTS

Вышла TYPO3 v10 LTS

Новости TYPO3

Новая Long Term Support (LTS) версия TYPO3 включает набор дополнительных возможностей и улучшений административного интерфейса (Dashboard, новый визард для форм, восстановление пароля для BackEnd пользователей, новые возможности проверки внутренних ссылок на сайте), большой набор улучшений для интеграторов и разработчиков модулей.

Держать обещания

Когда 1,5 года назад команда начала работать над TYPO3 v10, было поставлено две важные цели:

  • Улучшить настройку сайта и обработку шаблонов.
  • Инновации через инициативы - организованные в небольших группах развития.

Была улучшена настройка сайта и обработка шаблонов, чтобы расширить возможности создания сайтов для интеграторов и агентств TYPO3. С бэкэнд-модулем «Управление сайтом» интеграторы будут конфигурировать один или несколько веб-сайтов в центральной точке системы TYPO3. Настройка этих «сайтов» теперь обязательна в версии 10 LTS, и TYPO3 генерирует базовую конфигурацию автоматически. Теперь интеграторы могут создать экземпляр TYPO3 с нуля за считанные секунды.

В разработку ядра TYPO3 были введены стратегические инициативы. Основная команда TYPO3 была поражена, увидев много высококачественных материалов от разработчиков по всему миру. Как отметил Бенни Мак в статье в 2019 году: «Инициативы - это место, где новые концепции оцениваются, обсуждаются и разрабатываются вне фиксированной дорожной карты для ядра TYPO3».

Инициативы являются независимыми и ориентированными на сообщество, и ряд замечательных инициатив превратили его в ядро ​​TYPO3 v10. Одно из наиболее заметных визуальных изменений произошло благодаря инициативе: новая панель мониторинга будет приветствовать пользователей при входе в бэкэнд.

Улучшения для пользователей Backend

Гибкие и расширяемые панели инструментов

Новое системное расширение «приборная панель» предоставляет внутренним пользователям быстрый обзор текущего состояния системы. Приборная панель также может:

  • Показать новости из внешних RSS-каналов.
  • Показать статистику.
  • Отображать информацию в виде списков, графиков, диаграмм.
  • Привлекайте пользователей с помощью кнопок призыва к действию.

Это всего лишь несколько примеров. Внутренние пользователи могут не только настраивать несколько панелей мониторинга (и легко переключаться между ними), но также могут добавлять, удалять и даже перетаскивать виджеты в любую позицию на своей панели мониторинга.

Пример Dashboard показывает три виджета
Пример панели инструментов
Панель инструментов показывает виджеты с системной информацией
Панель с системной информацией

Панели инструментов отличаются большой гибкостью и расширяемостью. Разработчикам стало проще создавать собственные виджеты и публиковать их как расширения TYPO3. В TYPO3 v10 LTS уже есть набор виджетов.

Узнайте больше о Dashboard в документации TYPO3.

Простой в использовании мастер создания форм

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

Мастер создания многошаговой формы теперь усовершенствован для внутренних пользователей. Теперь пользователи перемещаются по шагам с описательными метками, такими как «Начало» или «Завершить», а не с помощью числового индикатора «Шаг x of y», использовавшегося ранее.

Поскольку требуется только один общий файл конфигурации, «FormSetup.yaml», интеграторы получат удобную настройку и оптимизированную структуру конфигурации.

Узнайте больше о Form Framework в документации TYPO3.

Автоматическое обновление для сегментов URL и перенаправлений

Читаемые человеком URL-адреса были введены в качестве основной функции в TYPO3 v9. Комманде TYPO3 удалось еще больше оптимизировать эту функцию в TYPO3 v10 LTS, чтобы еще проще было работать с бэкэнд-пользователями и обновлять сегменты URL. Смена слага автоматически обновляет сегменты подстраниц.

Это отличная и логичная функция, но означает ли это, что старые URL-адреса становятся недействительными? Не волнуйтесь: на TYPO3 v10 LTS вы можете рассчитывать! Система автоматически создает перенаправления на новые URL-адреса, поэтому посетители сайта всегда попадают на правильную страницу.

Но это еще не все: TYPO3 уведомляет внутренних пользователей, когда он автоматически выполняет обновления URL. При необходимости пользователи могут отменить автоматические обновления и перенаправления одним нажатием кнопки.

Сброс пароля / восстановление

Еще одна заметная новая функция в TYPO3 v10 LTS - это функция «восстановления пароля» для внутренних пользователей. Ранее администраторы создавали учетные записи внутренних пользователей и назначали пароли. Затем они должны были предоставить пользователям свои данные доступа. То же самое относится и к случаям, когда пользователи забывают свои пароли. С точки зрения безопасности, это больше не считается современным. Администраторы не должны иметь дело с паролями пользователей вообще.

В TYPO3 v10 LTS администраторы могут инициировать сброс пароля для пользователей в бэкэнде TYPO3. Пользователи бэкэнда теперь также могут запрашивать электронную почту для сброса пароля безопасным способом.

Чтобы обеспечить высокий стандарт, было встроено ряд функций безопасности в эту функцию.

  • Информация о существующих пользователях не раскрывается.
  • Ссылка в письме действительна только в течение ограниченного времени.
  • Существует ограничение на частоту запроса электронного письма для восстановления.

В системах с особыми требованиями к безопасности эта функция также может быть отключена для учетных записей администраторов. Кроме того, функция может быть полностью отключена для всех пользователей. Это может стать актуальным в установках со сторонними интеграциями, такими как LDAP или OAuth.

Улучшения Link Validator

Сконфигурированный как задача планировщика, TYPO3 Link Validator предназначен для обнаружения неработающих ссылок во всей системе. Эта незаменимая функция была расширена и теперь поддерживает недоступные страницы, файлы и даже внешние ссылки. Теперь внешние ссылки также могут быть проверены на лету.

Автоматически обнаруживать конфликтующие перенаправления

Мы упомянули сегменты URL и перенаправления выше. Внутренний модуль «Redirects» был представлен в TYPO3 v9 и позволяет администраторам сайтов добавлять и настраивать перенаправления. Исходный путь может быть произвольным именем или может быть представлен как регулярное выражение. Это обеспечивает отличную функциональность, но что если перенаправление имеет то же имя, что и URL существующей страницы?

Подобные ошибки конфигурации могут происходить, и теперь TYPO3 предлагает простое решение для обнаружения конфликтующих перенаправлений: команда CLI, которая показывает список столкновений (если они есть). Эту команду также можно настроить как задачу планировщика, а результаты отображаются в бэкэнд-модуле «Отчеты».

Эту команду также можно настроить как задачу планировщика, а результаты отображаются в бэкэнд-модуле «Отчеты».

Lazy-loading для изображений в браузере

Из ресурсов, необходимых для обслуживания современной веб-страницы, изображения имеют наибольший эффект с точки зрения размера файла. Чтобы помочь, отложенная загрузка изображений была принята в качестве стандарта для улучшения времени загрузки, снижая нагрузку на серверы и пользователей. TYPO3 является первой крупной системой управления контентом, которая предлагает ленивую загрузку из коробки.

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

Атрибут «loading» для тегов изображений был принят и опубликован в прошлом году в качестве нового стандарта HTML (дополнительные технические сведения см. В спецификации). Цель этого атрибута - указать браузерам, должны ли они загружать изображения, которые находятся за пределами области просмотра. Поскольку производители браузеров начинают добавлять поддержку этой функции, TYPO3 v10 LTS уже позволяет интеграторам и разработчикам настраивать / использовать эту функцию.

Улучшения для разработчиков

TYPO3 не полностью основан на платформе Symfony, но использует некоторые тщательно отобранные библиотеки из этого проекта. Эти компоненты являются современными, стабильными и постоянно обновляются активным сообществом с открытым исходным кодом под свободной лицензией MIT. Вот несколько компонентов Symfony, которые теперь доступны в TYPO3 v10 LTS:

Symfony’s DependencyInjection

TYPO3 поддерживает внедрение зависимостей («DI») на основе стандарта PSR-11 и включает в себя проверенные в Symfony концепции DI. В предыдущих версиях TYPO3 использовалось специальное решение DI из среды Extbase. С переходом на DI Symfony мы можем использовать больше функций и предлагать DI для всей системы по всей базе кода.

Разработчики расширений, скорее всего, будут чаще вступать в контакт с терминами и сервисами. Ознакомьтесь с документацией Symfony о компоненте «DependencyInjection», чтобы узнать больше о концепции и о том, как применить ее к своим расширениям.

Узнайте больше о внедрении зависимостей в документации TYPO3.

Стандартизированный EventDispatcher

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

С PSR-14 новый стандарт был принят и опубликован в прошлом году. PSR-14 - это унифицированный способ расширения PHP-фреймворка, который в настоящее время является стандартом де-факто. Мы реализовали сменный EventDispatcher, который соответствует стандарту PSR-14 и совместим с компонентом Symfony с тем же именем. EventDispatcher в ядре TYPO3 призван заменить хуки и сигналы / слоты в среднесрочной перспективе. Все специфичные для Extbase сигналы были заменены на «события» в TYPO3 v10 LTS, и в будущих версиях на PSR-14 будет перенесено больше ловушек.

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

Mailer API Symfony

Еще два замечательных компонента Symfony, которые проникли в ядро TYPO3, - это пакеты Mime и Mailer.

TYPO3 использовал библиотеку SwiftMailer начиная с версии 4.5. Однако активное развитие этой библиотеки зашло в тупик, и мы решили перейти на современный API. Пакет «Mime» используется для составления электронных писем, а пакет «Mailer» - для их обработки и отправки. Оба компонента происходят из проекта Symfony.

Расширения TYPO3, которые в настоящее время используют официальный API TYPO3 для создания электронных писем, обновлять не нужно. Переход с SwiftMailer на API Symfony Mailer полностью прозрачен и происходит в фоновом режиме.

Узнайте больше о Mail API в документации TYPO3.