Перейти к основному содержимому

Экосистемы расширений

Нужная функция часто лежит не в самой платформе, а в отдельном модуле. У модуля свой автор, свои выпуски и своя совместимость с версией ядра. Сравнивать платформы по списку «что умеет коробка» значит не увидеть ни возможностей, ни цены сопровождения.

Практический вывод такой. Для каждой обязательной функции записывают, где она живёт: в поставке платформы, в названном расширении или её нет. Расширение, без которого функция не работает, проверяют до короткого списка — по репозиторию, тестам и веткам, а не по рекламному описанию. Если единственный путь к обязательной функции — модуль, который на вашей версии ядра не проверяют, платформа в короткий список не входит. Цена принятого расширения — проверка при каждом обновлении ядра.

Полная таблица расширений 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 — тоже модуль DrupalCivicActions ведёт 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.gr2.11.366знакомые пакеты сообщества (dcat, scheming, harvest, fluent, showcase, pages, archiver) и свои сборщики ведомств, в том числе Аттики и Банка Греции
data.humdata.org2.11.43418 имён начинаются с 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 кнопки просмотра файла видны на странице файла; манифест с адресом приложения и способом доступа смотрит администратор.

Сводка «ядро, расширение или нет» по платформам — в карточках и в приложении.

Источники​