TYPO3 Extension Repository
TYPO3 Extension Repository (TER) — это централизованный онлайн-реестр и система управления расширениями (экстеншенами) для системы управления контентом (CMS) TYPO3. TER представляет собой каталог, в котором разработчики публикуют, а пользователи находят, загружают и устанавливают дополнительные компоненты, расширяющие функциональность базовой установки TYPO3. Система обеспечивает версионирование, документацию, рейтингование и автоматическую проверку совместимости расширений с различными версиями TYPO3.
История
Предпосылки и создание
Разработка TYPO3 началась в 1997 году датским программистом Каспером Скохёй (Kasper Skårhøj). Первоначально CMS поставлялась с минимальным набором функций, а расширение возможностей требовало ручного редактирования PHP-кода. С ростом популярности TYPO3 возникла потребность в стандартизированном способе распространения дополнений. В 2003 году, с выходом TYPO3 3.6, была представлена первая версия TER — веб-интерфейс для публикации и загрузки расширений. Репозиторий был интегрирован в официальный сайт TYPO3 (typo3.org) и изначально содержал несколько десятков модулей от сообщества.
Развитие и интеграция
В 2006 году, с релизом TYPO3 4.0, в ядро CMS был включён менеджер расширений (Extension Manager), который позволял устанавливать расширения непосредственно из TER через административную панель. Это упростило процесс: пользователю больше не требовалось вручную скачивать архивы и загружать их на сервер. В 2008 году TER был дополнен системой автоматического тестирования (Continuous Integration), которая проверяла совместимость расширений с последними версиями TYPO3. К 2010 году количество опубликованных расширений превысило 5000.
Модернизация
В 2013 году, в рамках подготовки к TYPO3 6.2, TER был переписан на современной платформе (Symfony 2) и получил REST API. Это позволило интегрировать репозиторий с внешними инструментами, такими как Composer — менеджер зависимостей для PHP. В 2015 году, с выходом TYPO3 7.0, была внедрена поддержка Composer-режима, что дало возможность устанавливать расширения не только через TER, но и через Packagist (основной реестр Composer). В 2017 году TER был переведён на новую инфраструктуру с использованием GitLab, что ускорило обработку заявок на публикацию. По состоянию на 2024 год в TER зарегистрировано более 12 000 расширений, а ежемесячное количество загрузок превышает 1 миллион.
Архитектура и принцип работы
Структура репозитория
TER представляет собой веб-приложение, работающее на серверах TYPO3 Association. В его основе лежит база данных (MySQL), в которой хранятся метаданные расширений: название, версия, автор, описание, категория, требования к версии TYPO3, дата публикации, количество загрузок и рейтинг. Сами файлы расширений (архивы .zip или .tar.gz) хранятся в файловой системе сервера. Каждое расширение имеет уникальный идентификатор — ключ (extension key), который регистрируется при публикации.
Процесс публикации
Разработчик создаёт расширение в соответствии с официальными стандартами TYPO3 (структура папок, файл конфигурации ext_emconf.php, описание в ext_emconf.php). Затем он регистрируется на typo3.org, получает ключ расширения (например, news, powermail, realurl) и загружает первую версию через веб-интерфейс или API. Система автоматически проверяет:
- синтаксис PHP-кода;
- наличие обязательных файлов (ext_emconf.php, ext_localconf.php, ext_tables.php);
- совместимость с указанной версией TYPO3 (например, TYPO3 10.4 LTS);
- отсутствие вредоносного кода (базовая проверка).
После успешной проверки расширение публикуется в TER. Каждая последующая версия (мажорная, минорная или патч) загружается отдельно, при этом старые версии остаются доступными для скачивания.
Установка расширений
Администратор TYPO3 может установить расширение тремя способами:
- Через менеджер расширений в админ-панели — ввод ключа расширения, автоматическая загрузка и установка.
- Через Composer — добавление записи
"typo3-ter/<extension-key>": "<version>"в файлcomposer.json, после чего выполняетсяcomposer require. - Вручную — скачивание архива с TER, распаковка в папку
typo3conf/ext/и активация через менеджер расширений.
Классификация расширений
По функциональному назначению
Расширения в TER делятся на категории, определённые сообществом:
- Backend — расширения для административной панели (например, редакторы контента, инструменты для SEO);
- Frontend — модули для отображения на сайте (плагины, шаблоны, виджеты);
- System — системные утилиты (кеширование, работа с базой данных, авторизация);
- Plugin — готовые функциональные блоки (формы обратной связи, галереи, календари);
- Template — шаблоны и скелеты сайтов (например, Bootstrap Package);
- Documentation — расширения для создания документации (например, sphinx).
По типу лицензии
Большинство расширений в TER распространяется под свободными лицензиями:
- GNU General Public License (GPL) — около 85% всех расширений;
- MIT License — около 10%;
- BSD License — около 3%;
- Проприетарные лицензии — менее 2% (обычно для коммерческих расширений, таких как платные плагины для интернет-магазинов).
По популярности и рейтингу
TER поддерживает систему рейтингования (от 1 до 5 звёзд) и подсчёт загрузок. Наиболее популярные расширения (например, news, powermail, realurl, solr) имеют десятки тысяч загрузок и высокий рейтинг. Сообщество также ведёт список «официально поддерживаемых» расширений (Core Extensions), которые поддерживаются командой разработчиков TYPO3.
Применение
Для разработчиков
TER является основным каналом распространения расширений. Разработчики публикуют свои модули, чтобы:
- делиться решениями с сообществом;
- получать обратную связь и отзывы;
- отслеживать количество установок и версии;
- интегрировать свои расширения с официальными инструментами TYPO3 (например, Extension Builder).
Для администраторов и пользователей
Администраторы сайтов на TYPO3 используют TER для:
- быстрого добавления функциональности (например, интернет-магазин, блог, форум);
- обновления расширений до последних версий (с учётом совместимости);
- поиска альтернатив устаревшим или неподдерживаемым модулям;
- оценки качества расширения по рейтингу и отзывам.
Для интеграции с другими системами
TER интегрирован с:
- Composer — через мета-пакеты
typo3-ter/*; - GitLab — для автоматической сборки и тестирования;
- GitHub — через зеркалирование (некоторые расширения дублируются на GitHub);
- TYPO3 Extension Manager — встроенный в CMS инструмент.
Критика и ограничения
Проблемы с качеством
Несмотря на автоматическую проверку, TER не гарантирует высокое качество кода. Многие расширения содержат устаревшие функции, ошибки безопасности или несовместимы с последними версиями TYPO3. Сообщество неоднократно критиковало отсутствие обязательного код-ревью перед публикацией.
Устаревшие расширения
Значительная часть расширений (по оценкам, до 30%) не обновлялась более 5 лет и несовместима с TYPO3 10 LTS и выше. Это создаёт проблемы для администраторов, которые вынуждены искать альтернативы или поддерживать устаревшие версии CMS.
Конкуренция с Composer
С ростом популярности Composer в экосистеме PHP, TER стал восприниматься как устаревший инструмент. Многие разработчики предпочитают публиковать расширения только на Packagist, минуя TER. В ответ TYPO3 Association в 2020 году запустила инициативу по интеграции TER с Composer, чтобы сохранить единый реестр.
Ограниченная модерация
Модерация TER осуществляется добровольцами из сообщества, что приводит к задержкам в обработке заявок (до нескольких дней) и не всегда эффективному выявлению нарушений (например, вредоносного кода или нарушения авторских прав).
Интересные факты
- Самое загружаемое расширение в TER —
news(более 2 миллионов загрузок на 2024 год). - Крупнейшее расширение по объёму кода —
powermail(более 500 000 строк PHP). - В TER есть расширения, созданные ещё для TYPO3 4.5 (выпущена в 2011 году) и до сих пор поддерживаемые.
- Некоторые расширения (например,
realurl) были настолько популярны, что их функциональность была включена в ядро TYPO3 (в TYPO3 10 LTS появился встроенный маршрутизатор).
Источники
- TYPO3 Association. «TYPO3 Extension Repository Documentation». 2023.
- Skårhøj, Kasper. «The History of TYPO3». 2012.
- TYPO3 Community. «TER Statistics and Usage Report». 2024.
- O’Reilly Media. «TYPO3: Enterprise Content Management». 2015.
- Packt Publishing. «TYPO3 Extension Development». 2018.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →