ORCID aynı anda 2 ana API sürümünü desteklemeyi amaçlar. Yeni bir ana API sürümü yayınlandığında, ORCID çıkış tarihinden itibaren en az üç yıl boyunca desteği garanti eder. Ayrıca, en eski ana sürümü kullanımdan kaldırmadan önce 12 ay önceden bildirimde bulunuyoruz ve bildirim süresi boyunca onu kullanmaya devam eden üyelere periyodik hatırlatma e-postaları gönderiyoruz. Meta veri şemamızda önemli değişiklikler yaptığımızda yeni ana sürümler gereklidir ve ana sürüm numarasındaki bir artışla belirtilir. ORCID her 2-4 yılda bir yeni bir ana API sürümü yayınlar.
İstisnai durumlarda, ORCID yeni bir ana API sürümü yayınlandığında 12 aylık kullanımdan kaldırma süresini uzatmayı düşünebilir, ancak bunun için ORCID yeni geliştirme ve destek gibi diğer faaliyetler üzerinde önemli bir etki yaratacak şekilde bakım çalışmasına ek kaynaklar yatırmak. ORCID ortaya çıkan ek maliyetleri dengelemeye yardımcı olmak için kullanımdan kaldırılan bir API sürümünün kullanımdan kaldırma tarihinden sonra kullanılmaya devam edilmesi için ek ücret alma hakkını saklı tutar.
ORCID API tekliflerimizi geliştirmemize ve büyük sürümler arasında topluluk ihtiyaçlarına yanıt vermemize olanak tanıyan artımlı bir API kullanımdan kaldırma politikasına sahiptir. Bu şu demek ORCID mevcut API sürümünün kontrollü sözlüklerinde ve meta veri alanlarında kalıcı değişiklikler yapabilir.
- En son API sürümünün kullanıcıları bu değişiklikleri göz ardı etmekte özgürdür, ancak bunların yapılabileceğinin farkında olmalıdırlar.
- Önceki API sürümünün kullanıcıları, kendi sürümlerinde modellenemeyen verileri almaz
Yazma sırasındaki bir örnek, CREDIT katkıda bulunan rol sınıflandırmasının v3.0 API'sine eklenmesidir. Daha fazla araştırmacı ve entegrasyon CREDIT'i benimsedikçe, v2.x entegrasyonları kullanıma sunulduktan sonra, katkıda bulunan rollerinin görünürlüğünü yavaş yavaş kaybedecektir. V2.x kullanıcıları bozulmaz, ancak zaman geçtikçe daha az zengin meta veri alırlar.
Yeni bir ana API sürümü geliştirirken, aşağıdakiler için normaldir: ORCID 'sürüm adayı' sürümleri üretmek için. Bunlar, API'nin tam sürümü yayınlandıktan sonra zamanında yükseltme yapabilen entegratörlere yöneliktir. Bir sürüm adayının beklenen ömrü, geliştirildiği ana sürümün yayınlanmasından itibaren en fazla 12 aydır.
Entegratörlerin aşağıdakileri takip etmelerini tavsiye ederiz: Sağlamlık İlkesi (aka Postel yasası) kullanırken ORCID API.
Olayın Arka Planı
ORCID API'sini mütevazi başlangıcından itibaren yavaş yavaş geliştirdi.
API v1.x (Kayıt defteriyle birlikte lansman ~2012), araştırmacılar ve faaliyetleri hakkındaki tüm meta verileri tek bir API yanıtında döndürmeye çalıştı. Entegratörlerin, yeni öğeler eklemek veya mevcut olanları güncellemek için bu meta verileri değiştirmeleri ve bütünüyle geri göndermeleri gerekiyordu. Bu makul bir ilk girişimdi, ancak ölçeklenmedi ve eklemeler ve güncellemeler yapmak sancılı bir işti. (Mart 2018'de emekli oldu)
API 2.x (Şubat 2017'de yayınlandı), API'mizi bölümlere ayırdı; işler, üyelikler, finansman, biyografi vb. İleriye doğru büyük bir adımdı ve hem kendimizin hem de müşterilerimizin büyük kayıtları çok daha kolay yönetmesini sağladı. Ancak doğrulama ve kontrollü sözcük dağarcığımızın çoğu şemada sabit kodlanmıştır, bu da değişime yanıt vermeyi zorlaştırır.
API 3.x (Mayıs 2019'da yayınlandı), kayda araştırma kaynakları gibi yeni bölümler ekledi, şema yapısını basitleştirdi ve sağlanan ORCID ek esneklik ile. Doğrulamanın çoğunu şemadan sunucularımıza taşıdı, bu da API'nin başka sürümlerini yayınlamadan sorunları düzeltmemize ve yeni tanımlayıcı türleri eklememize olanak sağladı.
Yeni bir ana API yayınlamak büyük bir sorumluluktur - onu oluşturmak için yıllarca geliştirici çabası gerekir ve üyelerimizin entegrasyonlarını yükseltmek için daha yıllarca çalışması gerekir. Bu nedenle yaptığımız değişiklikleri sınırlandırmaya çalışıyoruz. Ancak, topluluğa en iyi şekilde hizmet verebilmek için yapmak istediğimiz bazı değişiklikler var.
İşimiz, API'nin yeni bir sürümünü yayınlamak için kritik bir kitleye sahip olduğumuzda çalışmak veya mevcut entegrasyonları bozmadan mevcut API'lerimizi güncellemenin yollarını bulmaktır.