Экосистемы расширений
Нужная функция часто лежит не в самой платформе, а в отдельном модуле. У модуля свой автор, свои выпуски и своя совместимость с версией ядра. Сравнивать платформы по списку «что умеет коробка» значит не увидеть ни возможностей, ни цены сопровождения.
Практический вывод такой. Для каждой обязательной функции записывают, где она живёт: в поставке платформы, в названном расширении или её нет. Расширение, без которого функция не работает, проверяют до короткого списка — по репозиторию, тестам и веткам, а не по рекламному описанию. Если единственный путь к обязательной функции — модуль, который на вашей версии ядра не проверяют, платформа в короткий список не входит. Цена принятого расширения — проверка при каждом обновлении ядра.
Полная таблица расширений CKAN — в главе «CKAN: ядро и расширения». Здесь — как устроены экосистемы вообще и как читать одну из них до установки.
Что считать расширением
Под одним словом «плагин» оказываются пять разных вещей. От вида зависит, кого спрашивать при обновлении.
Настройка поставки. Файл или переключатель, который идёт вместе с платформой. Дополнительные поля InvenioRDM задаются в конфигурации установки. Схема набора DKAN — файл JSON Schema в самом DKAN. Автор тот же, что у платформы, и обновление одно.
Модуль из той же поставки, который включают. У CKAN хранилище таблиц, просмотр текста и статистика — плагины: их имена пишут в настройку ckan.plugins. Выпускают их вместе с ядром, отдельного репозитория у них нет. У GeoNetwork схемы ISO 19139, ISO 19115-3, Dublin Core и каталог объектов ISO 19110 входят в выпуск. Это ядро. Чужого сопровождающего у них нет.
Отдельное расширение. Свой репозиторий, свой выпуск, своя таблица версий ядра. Так устроены пакеты ckanext-* и плагины схем GeoNetwork под страну. Сопровождать их можете вы, даже если автор — сообщество платформы.
Внешняя программа. Каталог её код не содержит, а открывает по адресу. У Dataverse просмотрщик файла — отдельное приложение: в установку кладут манифест JSON с адресом, а само приложение может работать на чужом сайте. Обновление ядра его не затирает. Зато меняется договорённость, как приложение получает файл.
Облачный сервис. Свой модуль на сервер ArcGIS Hub, Huwise или Socrata поставить нельзя. Остаются виджет на странице и API. Обновления делает поставщик. Доработать сервис под свой профиль метаданных нельзя: если нужного профиля нет, это другая платформа или своя программа рядом.
Документация InvenioRDM прямо выстраивает доработки от дешёвой к дорогой. Сначала настройка. Потом файлы в ожидаемых местах: свой шаблон, своя картинка. Потом готовый модуль. Потом свой пакет в папке установки. Потом правка ядра с отдачей правки обратно в проект. В конце — своя копия чужого репозитория, форк: вы ведёте её сами. Логотип меняют настройкой. Форк ради логотипа означает, что каждое обновление оригинала вы переносите руками.
Чем экосистемы отличаются
| Платформа | Как добавляют возможность | Кто обычно ведёт | Что проверять при обновлении |
|---|---|---|---|
| CKAN | пакет Python; имя плагина включают в ckan.plugins | сообщество CKAN или отдельная организация | ваша версия ядра есть в автоматических тестах пакета |
| DKAN | модуль Drupal; сам DKAN — тоже модуль Drupal | CivicActions ведёт DKAN, остальное — модули Drupal | две линейки: Drupal и DKAN. Выпуск DKAN 4.1.5 от 7 октября 2026 года заявлен для Drupal 10 начиная с 10.2 и для Drupal 11 |
| Dataverse | внешняя программа по манифесту или JAR-файл экспортёра формата | консорциум GDCC и отдельные проекты | манифест и способ доступа к файлу. С версии 6.1 просмотрщикам рекомендуют короткую подписанную ссылку |
| GeoNetwork | плагин схемы: каталог схем XML и преобразований, иногда отдельный JAR | национальные сообщества и компании | ветка плагина названа вашей линейкой GeoNetwork |
| InvenioRDM | настройка, файлы в ожидаемых местах, затем свой пакет site | вы сами, внутри установки | свои шаблоны сверить с шаблонами новой версии |
| DSpace | свой код в модуле additions поверх классов ядра | вы сами | чужого каталога плагинов нет; свою правку заново накладывают на новую версию |
| GeoServer | официальное расширение или модуль сообщества | OSGeo; модуль сообщества поставляют «как есть» | модуль сообщества собирают из метки той же версии. Сборка из ночного снимка с официальным выпуском часто не стыкуется |
| ArcGIS Hub, Huwise, Socrata | свой модуль поставить нельзя | поставщик | полная выгрузка описаний и файлов на случай ухода |
У DKAN два календаря обновлений. Дыра в Drupal и дыра в DKAN закрываются разными выпусками. Страница модуля на Drupal.org обновлена 8 октября 2026 года: модуль сообщают около 164 сайтов. Это отчёт самих установок Drupal, а не подсчёт реестра каталогов. Выпуск 4.1.5 заявлен для Drupal 10 начиная с 10.2 и для Drupal 11.
У GeoServer модуль STAC лежит в поставке как ожидающий модуль сообщества: в выпуске он есть, официальной поддержки нет. Подробнее о роли GeoServer — в главе о геопорталах.
У Dataverse с версии 5.14 чужой формат выгрузки подключают JAR-файлом внутри установки. Это уже модуль, который проверяют при обновлении ядра, в отличие от просмотрщика на чужом сайте.
Как оценить расширение до установки
Идут по странице репозитория. Рекламное описание и фраза «у соседей работало» в зачёт не идут.
Свежий выпуск сам по себе совместимости не доказывает. ckanext-doi выпуска 4.0.4 вышел 22 сентября 2025 года, а тестовые образы в репозитории не менялись с 20 сентября 2023 года: в инструкции по-прежнему названы CKAN 2.9 и 2.10. Отсутствие выпуска тоже не приговор. В таблице главы про CKAN у ckanext-pages выпусков нет с 2023 года, ставят из основной ветки, и тесты идут на CKAN 2.10, 2.11 и 2.12. Сильный признак — автоматические тесты именно на вашей версии ядра. Имя ветки 4.4.x у плагина GeoNetwork — тот же признак, если такая ветка в репозитории есть.
| Вопрос | Где смотреть | Что считается ответом |
|---|---|---|
| Кто выпускает | организация в адресе репозитория, файл сопровождающих | команда платформы или организация, которая отвечает на ошибки. Один человек без ответа два года и без тестов — повод искать другой модуль |
| С какой версией ядра работает | таблица совместимости, файл автоматических тестов, имя ветки | ваша версия названа там. Выпуск новее ядра, в котором тесты старше вашей версии, ответом не считается |
| Живое ли оно | дата последнего исправления и ответы на ошибки про новую версию ядра | тесты гоняются на текущей линейке, даже если отдельного выпуска давно не было |
| Как ставить | документация в том же репозитории | команда установки указывает на этот репозиторий и на ветку, которая в нём есть |
| Какая лицензия | файл лицензии | лицензия есть и разрешает вашу установку |
| Кто ещё это поставил | каталог экосистемы, ответ API живого портала | модуль стоит на порталах вашей версии ядра |
Каталог экосистемы CKAN в октябре 2026 года знает около 1,4 тысячи расширений и 1,3 тысячи порталов с версиями ядра. Это лучшее доступное приближение, а не полная перепись: число порталов выросло, когда туда загрузили записи реестра. Надёжнее спросить сам портал, как в разделе ниже.
Два расширения одной платформы
ckanext-dcat ведёт сообщество CKAN. В документации, сверенной 11 октября 2026 года, названы версии ядра 2.10 и 2.11. Файл тестов на основной ветке 13 октября 2026 года гоняет 2.10, 2.11 и 2.12. Последний выпуск — 2.4.4 от 11 августа 2026 года. Для портала, который должны забирать поисковики и национальный каталог, это обычная часть взрослой сборки.
ckanext-doi ведёт Музей естественной истории в Лондоне. Значок в репозитории называет CKAN 2.9.9 и 2.10.1, раздел тестов — линейки 2.9 и 2.10. Последний выпуск, 4.0.4, вышел 22 сентября 2025 года. Каталог тестовых образов с тех пор не менялся: последний коммит там датирован 20 сентября 2023 года, это как раз добавление тестов на 2.10. На CKAN 2.11 и 2.12 расширение не проверялось. Если DOI обязателен, смотрят платформу, где он в ядре: Dataverse или InvenioRDM. Разбор требования — в главе об идентификаторах.
Остальные пакеты CKAN сведены в таблице главы про CKAN: колонка документации и колонка тестов расходятся ещё у нескольких строк.
Форк
Форк — копия репозитория, которую ведёт другая команда. Копии расходятся. Ставить нужно ту, чьи тесты идут на вашей версии ядра, и записать в карточке решения её адрес.
Так разошлись две копии проверки таблиц. Исходный ckanext-validation в документации заявлен только для CKAN 2.9. Живая копия — форк правительства Квинсленда: тесты на 2.10, 2.11 и 2.12. Сопровождает её правительство Квинсленда. Если поправить модуль у себя и не отдать правку обратно, появляется третья копия, и её сопровождающий — вы.
Две копии одного плагина схемы
Тот же приём на GeoNetwork. Британский профиль GEMINI 2.3 лежит в двух репозиториях.
У Astun Technology есть ветка 4.4.x. 6 октября 2026 года в неё попало обновление инструкции. Инструкция называет GeoNetwork 4.4 рекомендуемой версией, а файл плагина — сборкой под 4.4.12. Это та копия, которую ставят на текущую линейку GeoNetwork.
В общем собрании metadata101 ветки 4.4.x нет. Последний коммит основной ветки — 14 февраля 2023 года. Ветка 4.2.x остановилась 27 июня 2024 года на коммите, который сам помечен как незаконченная работа.
Ловушка в инструкции Astun: команда автоматической установки указывает не на репозиторий Astun, а на metadata101 и на ветку 4.4.x, которой там нет. Заголовок и команда под ним расходятся. Берут репозиторий и ветку, которые открыли и в которых есть коммиты под вашу версию. Команду из текста перепроверяют.
Рядом пример, где копия одна. Канадский профиль HNAP в metadata101 выпускается номером версии GeoNetwork: выпуск 4.4.12 вышел 8 июля 2026 года. Инструкция говорит ставить его на GeoNetwork 4.4 и прямо пишет, что на более ранних версиях он не проверялся.
Плохой плагин схемы ломает весь каталог, об этом предупреждает руководство администратора GeoNetwork. Его проверяют на тестовой установке до рабочего каталога.
Внешняя программа
Просмотрщики Dataverse устроены иначе. Их разрабатывал Qualitative Data Repository, сейчас собрание ведёт GDCC: версия 1.5, 19 просмотрщиков, больше 40 типов файлов. В установку Dataverse их код не кладут. Администратор регистрирует манифест, а страница файла открывает приложение по адресу. Приложение можно оставить на сайте github.io.
Риск здесь другой. Обновление Dataverse не упирается в забытый пакет внутри сервера. Зато приложение получает доступ к файлу. Документация с версии 6.1 рекомендует короткую подписанную ссылку: она действует ограниченное время и разрешает только перечисленные вызовы API. Долгоживущий ключ API документация не рекомендует после Dataverse 6.0: ключ действует как пароль пользователя и позволяет всё, что позволено этому пользователю.
Перед включением просмотрщика записывают, какой из двух способов доступа выбран.
Чем расширение опасно потом
- Его перестали выпускать, а новая версия ядра без него не ставится. Портал остаётся без исправлений безопасности. У CKAN полностью поддерживается последняя минорная версия, предыдущая получает только исправления ошибок и безопасности. Когда выйдет следующая минорная, нынешняя 2.11 потеряет и их. Одно такое расширение удерживает весь портал.
- Два расширения правят одну и ту же форму или один шаблон. По отдельности оба ставятся, вместе ломают страницу набора. Документация CKAN просит начинать имена шаблонов, настроек и функций API с имени расширения, чтобы они не столкнулись.
- Правку оставили у себя. Дальше каждое обновление оригинала переносят руками. Это уже ваша программа, со своим выпуском и своими тестами.
- Два календаря, как у DKAN и Drupal. Закрыли один и пропустили другой.
- Плагин схемы скопирован внутрь приложения. При обновлении GeoNetwork берут ветку плагина той же линейки, иначе записи этого профиля перестают открываться.
- Внешней программе выдали долгоживущий ключ. Ключ переживёт и сотрудника, и обновление каталога.
- Модуль сообщества GeoServer взят из ночной сборки и положен на официальный выпуск. Документация пишет, что так он часто не запускается: собирать нужно из метки той же версии.
Про срок сопровождения — в главе о скорости развёртывания.
Сколько расширений уже много
Считают не «сколько плагинов модно», а сколько отдельных пакетов придётся проверять и сколько из них ведёте вы сами. Пять проверенных пакетов сообщества — обычная национальная сборка, она разобрана в главе про CKAN. Один непроверенный пакет на обязательной функции дороже десятка проверенных.
Живой портал почти всегда длиннее короткого списка из карточки. 13 октября 2026 года адрес status_show ответил так:
| Портал | Версия CKAN | Имён в списке | Что в списке видно |
|---|---|---|---|
| data.gov.gr | 2.11.3 | 66 | знакомые пакеты сообщества (dcat, scheming, harvest, fluent, showcase, pages, archiver) и свои сборщики ведомств, в том числе Аттики и Банка Греции |
| data.humdata.org | 2.11.4 | 34 | 18 имён начинаются с hdx_: это код самого портала, а не каталог сообщества |
Один пакет регистрирует несколько имён. У греческого портала scheming_datasets и scheming_organizations — один ckanext-scheming. Число в ответе API — верхняя оценка, а не число репозиториев. Имена из поставки CKAN (datastore, datatables_view, activity, text_view, stats) из этой оценки вычитают: их обновляет команда ядра.
Имена с префиксом портала вычитают в другую сторону. Их не бросит посторонний автор, потому что автора снаружи нет. Их сопровождающий — команда портала. Для HDX таких имён 18 из 34. Это нормальное состояние большого портала и одновременно статья бюджета: при переходе на следующую версию ядра эти модули проверяет тот, кто их написал.
Тот же адрес у data.gov.au 13 октября 2026 года ответил кодом 403. Список снаружи закрыт, его берёт администратор установки.
Как это записать в выборе
В таблице платформ у каждой обязательной функции три клетки: в ядре, через какое расширение и кем оно сопровождается, либо своя доработка. В карточке решения пишут адрес репозитория, ветку, версию ядра, на которой шли тесты, и что делать, если сопровождение прекратится: остаться на старом ядре, взять названный форк или сменить платформу. Шаблон карточки — в главе «Как обосновать решение».
Решение пересматривают, когда выходит новая минорная версия ядра, когда тесты расширения перестают включать вашу версию, когда на ошибки про новую версию перестают отвечать или когда второе расширение начинает править те же шаблоны.
Платформа, у которой обязательная функция достижима только брошенным расширением, в короткий список не входит. Как из функций получается этот список — в главе о выборе функций.
Как посмотреть, что стоит на живом портале
У CKAN список включённых плагинов и версия ядра открыты по адресу /api/3/action/status_show. Имена в поле extensions — плагины, не пакеты: один пакет может дать несколько имён.
curl -s "https://data.gov.gr/api/3/action/status_show" \
| jq '{version: .result.ckan_version, n: (.result.extensions | length), extensions: .result.extensions}'
Дальше каждое имя, которого нет в поставке CKAN, ищут в каталоге экосистемы или в репозитории портала и прогоняют по таблице из раздела «Как оценить расширение до установки».
У GeoNetwork полный список схем виден администратору: «Метаданные и шаблоны», затем «Стандарты». Снаружи видна схема конкретной записи, а не набор установленных плагинов. У Dataverse кнопки просмотра файла видны на странице файла; манифест с адресом приложения и способом доступа смотрит администратор.
Сводка «ядро, расширение или нет» по платформам — в карточках и в приложении.
Источники
- Как писать расширения CKAN 2.12, практика имён и интерфейсов — расширение как пакет Python, плагины включаются в
ckan.plugins - Политика поддержки версий CKAN
- ckanext-dcat, файл тестов test.yml — версии 2.10, 2.11 и 2.12, проверено 13 октября 2026 года; выпуск 2.4.4 от 11 августа 2026 года
- ckanext-doi — выпуск 4.0.4 от 22 сентября 2025 года; значок совместимости 2.9.9 и 2.10.1; последний коммит каталога
docker/от 20 сентября 2023 года - ckanext-validation и форк qld-gov-au — расхождение копий, сверка в главе о CKAN 12 октября 2026 года
- Каталог экосистемы CKAN — около 1,4 тысячи расширений и 1,3 тысячи порталов, октябрь 2026 года
- Ответы
/api/3/action/status_showпорталов data.gov.gr (CKAN 2.11.3, 66 имён) и data.humdata.org (CKAN 2.11.4, 34 имени), 13 октября 2026 года. Тот же адрес data.gov.au в этот день ответил кодом 403 - Порядок доработок InvenioRDM, свой код в папке site
- Внешние инструменты Dataverse 6.12, просмотрщики GDCC — подписанные ссылки с версии 6.1, ключ API не рекомендуют после 6.0
- Экспортёры метаданных Dataverse — чужой формат как JAR с версии 5.14
- Модуль DKAN на Drupal.org — выпуск 4.1.5 от 7 октября 2026 года, Drupal 10.2 и новее или Drupal 11; страница обновлена 8 октября 2026 года
- Плагины схем GeoNetwork, предупреждение о поломке каталога
- GEMINI 2.3, ветка 4.4.x Astun Technology — коммит инструкции от 6 октября 2026 года; копия в metadata101 — ветки
4.4.xнет, основной ветке последний коммит 14 февраля 2023 года, ветке4.2.x— 27 июня 2024 года - HNAP для GeoNetwork — выпуск 4.4.12 от 8 июля 2026 года
- Модули сообщества GeoServer, OpenSearch для ДЗЗ и STAC — в поставке, официально не поддерживаются
- Модуль additions в DSpace 10