ORCID tem como objetivo oferecer suporte a 2 versões principais da API por vez. Quando uma nova versão principal da API é lançada, ORCID garante suporte por pelo menos três anos a partir da data de lançamento. Além disso, avisamos com 12 meses de antecedência antes de aposentar a versão principal mais antiga e enviamos lembretes por e-mail periódicos para os membros que ainda a usam durante o período de notificação. Novas versões principais são necessárias sempre que fazemos alterações significativas em nosso esquema de metadados e são indicadas por um incremento no número da versão principal. ORCID lança uma nova versão principal da API a cada 2-4 anos.
Em circunstâncias excepcionais, ORCID pode considerar estender o período de aposentadoria de 12 meses quando uma nova versão principal da API for lançada, mas isso requer ORCID para investir recursos adicionais em trabalhos de manutenção, com o consequente impacto em outras atividades como novos desenvolvimentos e suporte. ORCID reserva-se o direito de cobrar taxas extras pelo uso contínuo de uma versão desativada da API após a data de desativação para ajudar a compensar os custos adicionais incorridos.
ORCID tem uma política de descontinuação de API incremental que nos permite desenvolver nossas ofertas de API e responder às necessidades da comunidade entre os principais lançamentos. Isso significa que ORCID pode fazer alterações constantes nos vocabulários controlados da versão atual da API e nos campos de metadados.
- Os usuários da versão mais recente da API podem ignorar essas mudanças, mas devem estar cientes de que elas podem ser feitas
- Os usuários da versão anterior da API não receberão dados que não possam ser modelados em sua versão
Um exemplo no momento da escrita é a introdução da taxonomia da função de contribuidor CREDIT na API v3.0. Uma vez ativas, as integrações v2.x perderão lentamente a visibilidade das funções de contribuidor à medida que mais e mais pesquisadores e integrações adotarem o CRÉDITO. Os usuários V2.x não vão quebrar, mas vão receber metadados menos ricos com o passar do tempo.
Ao desenvolver uma nova versão principal da API, é normal que ORCID para produzir versões de 'candidato a lançamento'. Eles são direcionados a integradores que podem atualizar em tempo hábil assim que a versão completa da API for lançada. A vida útil esperada de um candidato a lançamento é de no máximo 12 meses a partir do lançamento da versão principal para a qual foi desenvolvido.
Aconselhamos os integradores a seguir o Princípio de Robustez (também conhecida como lei de Postel) ao fazer uso do ORCID API.
BACKGROUND
ORCID evoluiu lentamente sua API desde seu início humilde.
A API v1.x (Lançamento ~ 2012 junto com o registro) tentou retornar todos os metadados sobre os pesquisadores e suas atividades em uma única resposta da API. Os integradores foram solicitados a modificar esses metadados e enviá-los de volta em sua totalidade para adicionar novos itens ou atualizar os existentes. Esta foi uma primeira tentativa razoável, mas não escalou e fazer acréscimos e atualizações era uma tarefa dolorosa. (Aposentado em março de 2018)
API 2.x (lançado em fevereiro de 2017) divide nossa API em seções; trabalhos, afiliações, financiamento, biografia, etc. Foi um grande passo em frente e permitiu que nós e nossos clientes administrássemos grandes registros com muito mais facilidade. No entanto, muitos dos nossos vocabulários de validação e controlados foram codificados no esquema, tornando difícil responder à mudança
API 3.x (lançada em maio de 2019) adicionou novas seções ao registro, como recursos de pesquisa, simplificou a estrutura do esquema e forneceu ORCID com flexibilidade adicional. Ele moveu grande parte da validação do esquema para nossos servidores, o que nos permitiu corrigir problemas e adicionar novos tipos de identificadores sem liberar outras versões da API.
O lançamento de uma nova API principal é uma grande tarefa - anos de esforço do desenvolvedor são necessários para criá-la, e anos mais são necessários para que nossos membros atualizem suas integrações. Por este motivo, tentamos limitar as alterações que fazemos. No entanto, há algumas mudanças que gostaríamos de fazer para melhor servir a comunidade.
Nosso trabalho é descobrir quando temos massa crítica para lançar uma nova versão da API ou descobrir maneiras de atualizar nossas APIs existentes sem quebrar as integrações existentes.