ORCID стремится поддерживать одновременно 2 основные версии API. Когда выпускается новая основная версия API, ORCID гарантирует поддержку не менее трех лет с даты выпуска. Кроме того, мы уведомляем за 12 месяцев до удаления самой старой основной версии и периодически отправляем электронные письма с напоминанием тем участникам, которые все еще используют ее в течение периода уведомления. Новые основные версии требуются всякий раз, когда мы вносим критические изменения в нашу схему метаданных, и это обозначается увеличением номера основной версии. ORCID выпускает новую основную версию API каждые 2-4 года.
В исключительных случаях ORCID может рассмотреть возможность продления 12-месячного пенсионного периода при выпуске новой основной версии API, но для этого требуется ORCID инвестировать дополнительные ресурсы в техническое обслуживание с последующим влиянием на другие виды деятельности, такие как новые разработки и поддержка. ORCID оставляет за собой право взимать дополнительную плату за дальнейшее использование устаревшей версии API после даты прекращения использования, чтобы помочь компенсировать дополнительные расходы.
ORCID имеет политику постепенного прекращения поддержки API, которая позволяет нам развивать наши предложения API и реагировать на потребности сообщества между основными выпусками. Это значит, что ORCID может вносить неразрывные изменения в контролируемые словари и поля метаданных текущей версии API.
- Пользователи последней версии API могут игнорировать эти изменения, но должны знать, что они могут быть внесены.
- Пользователи предыдущей версии API не будут получать данные, которые нельзя смоделировать в их версии.
Примером на момент написания является введение таксономии ролей участника CREDIT в API версии 3.0. После запуска интеграции v2.x будут постепенно терять видимость ролей участников, поскольку все больше и больше исследователей и интеграций принимают CREDIT. Пользователи V2.x не сломаются, но со временем они будут получать менее богатые метаданные.
При разработке новой основной версии API это нормально для ORCID для создания версий кандидата на выпуск. Они нацелены на интеграторов, которые могут своевременно выполнить обновление после выпуска полной версии API. Ожидаемое время жизни кандидата на выпуск - не более 12 месяцев с момента выпуска основной версии, для которой он был разработан.
Мы советуем интеграторам следовать Принцип устойчивости (он же закон Постела) при использовании ORCID API.
проверка данных
ORCID медленно развивал свой API с самого начала.
API v1.x (Launch ~ 2012 вместе с реестром) попытался вернуть все метаданные об исследователях и их деятельности в одном ответе API. От интеграторов требовалось изменить эти метаданные и полностью отправить их обратно, чтобы добавить новые элементы или обновить существующие. Это была разумная первая попытка, но она не масштабировалась, и внесение дополнений и обновлений было болезненной задачей. (Прекращено с марта 2018 г.)
API 2.x (выпущен в феврале 2017 г.) разбивает наш API на разделы; работы, членство, финансирование, биография и т. д. Это был большой шаг вперед, позволивший нам и нашим клиентам намного легче управлять большими записями. Однако большая часть наших проверочных и контролируемых словарей были жестко закодированы в схеме, что затрудняло реагирование на изменения.
API 3.x (выпущен в мае 2019 г.) добавил в запись новые разделы, такие как ресурсы для исследований, упростил структуру схемы и предоставил ORCID с дополнительной гибкостью. Он переместил большую часть проверки из схемы на наши серверы, что позволило нам исправить проблемы и добавить новые типы идентификаторов без выпуска других версий API.
Выпуск нового основного API - это огромная задача: разработчикам требуются годы усилий для его создания, а нашим участникам требуются годы для обновления своих интеграций. По этой причине мы стараемся ограничить вносимые нами изменения. Однако есть некоторые изменения, которые мы хотели бы внести, чтобы лучше служить сообществу.
Наша работа состоит в том, чтобы работать, когда у нас есть критическая масса для выпуска новой версии API, или в разработке способов обновления существующих API без нарушения существующих интеграций.