Dspace Açık Erişim ORCID Entegrasyonu

DSpace ORCID Entegrasyon

Dspace Açık Erişim ORCID Entegrasyonu

Giriş

ORCID entegrasyonu, DSpace'deki Authority control için mevcut çözümlere ORCID uyumluluğu ekler Yazarların dize adları hala DSpace meta verilerinde depolanıyor. Yetki anahtarı alanı, ORCID ID ve alternatif yazar adları da dahil olmak üzere yazarı daha genişletilmiş meta verilere bağlayan benzersiz şekilde oluşturulmuş bir dahili kimliği depolamak için kullanılır.

Bu genişletilmiş meta veriler, DSpace yetkilisi önbelleği olan özel bir SOLR dizininde depolanır ve yönetilir.

Servis talebi ve üst düzey faydaları kullanın

Bu projenin arkasındaki vizyon aşağıdaki iki yönden oluşmaktadır:

DSpace topluluğu üyeleri için ORCID'yi benimseme eşiğini düşürme

ORCID'in API'si, dünya genelindeki geliştiricilerin ORCID ve üçüncü taraf uygulamaları arasında entegrasyon noktaları oluşturmalarını sağlamıştır. Bugüne kadar, bu, DSpace topluluğunun üyelerinden, bu API'lerden yararlanmak için DSpace kaynak kodunda ön uç ve arka uç değişiklikleri uygulamaları gerektiği anlamına geliyordu. DSpace'in anahtar teslim Kurumsal Depo işlevselliği sağlaması hedeflendiğinden, platformun kutudan daha fazla işlevsellik sağlaması bekleniyor. Sadece DSpace topluluğundaki seçkin bir üye seçiminde, bu tür bir işlevi yerine getirmek için hazır olan yazılım geliştirme kaynakları bulunur. Doğrudan çekirdek DSpace kod tabanına bir çözüme katkıda bulunmak suretiyle, DSpace depolarında ORCID işlevselliğini benimsemek için bu eşik etkili bir şekilde düşürülür.

Son kullanıcı işlevlerine çekici olan genel kullanım durumlarını ele alın

Bu teklif, hem depo yöneticileri hem de sistemin teknik olmayan son kullanıcıları için kullanıcı dostu özellikler sağlamayı amaçlamaktadır. ORCID işlevselliğinin DSpace'e eklenmesi, sistemi yöneticilerin ve son kullanıcıların kullanmasını zorlaştırmanın maliyeti olmamalıdır. Kapsam Bu vizyonu dikkate alarak, proje ortakları mevcut DSpace depolarının depo yöneticileri için ilk aşamaları ele almak istedi: ORCID'lerin sisteme giren yeni çalışmalarla doğru şekilde ilişkilendirilmesini sağlamak ve halihazırda mevcut olan içeriği toplu bir şekilde güncellemek için toplu iş güncellemesi için işlevsellik sağlamak sistemde, kesin yazar kimliği bilgisi ile.

ORCID otorite kontrolünü etkinleştirme

JSPUI Desteği

DSpace'de, işlevsellik sadece DSpace XML Kullanıcı Arabirimi için kullanıcı arabirimi işlevini içerir. 

XMLUI Tema Desteği

DSpace'de, işlevsellik sadece XMLUI Mirage ve Mirage 2 temaları için destek ekler. Kubrick, Reference ve Classic dahil daha eski XMLUI temaları şu anda desteklenmiyor.

Bu özelliği etkinleştirmek istiyorsanız, dspace.cfgdosyada bazı değişiklikler yapmanız gerekir İlk adım, yetki kontrolü için otoriteyi geçerli bir seçenek olarak aktif hale getirmektir, bu plugin.named.org.dspace.content.authority.ChoiceAuthorityözellik ek bir eklenti ekleyerek / ayarlayarak yapılır   Bunun bir örneği aşağıda bulunabilir.

plugin.named.org.dspace.content.authority.ChoiceAuthority = \
    org.dspace.content.authority.SolrAuthority = SolrAuthorAuthority

Bu özellik, aşağıdaki yapılandırma parametrelerine dayanmaktadır dspace.cfgVarsayılan ayarları etkinleştirmek için, aşağıdaki satırlar için yorum özetlerini ("#") kaldırmak yeterlidir. Bu sayfanın altındaki bölüme, bu parametrelerin tam olarak ne anlama geldiğini ve yapılandırmayı nasıl ayarlayabileceğinizi görün.

solr.authority.server=${solr.server}/authority
choices.plugin.dc.contributor.author = SolrAuthorAuthority
choices.presentation.dc.contributor.author = authorLookup
authority.controlled.dc.contributor.author = true
authority.author.indexer.field.1=dc.contributor.author

Yapılandırmanın son kısmı, yetkili tüketiciyi etkinlik tüketicileri listesinin önüne eklemektir. Aşağıda gösterildiği gibi listenin önüne "otorite" ekleyin.

event.dispatcher.default.consumers = authority, versioning, discovery, eperson

Mevcut yazarları içe aktarma ve dizini güncel tutma

Yetki dizinini ilk etkinleştirdiğinizde boş olacak, yetki dizinini doldurmak için aşağıdaki betiği çalıştırın:

[dspace]/bin/dspace index-authority

Bu, otorite kontrolü altındaki her meta veriyi yineleyecek ve otorite dizininde kayıtlarını oluşturacaktır. Yetki anahtarı olmayan meta verilerin her biri otomatik olarak oluşturulan bir yetki anahtarıyla güncellenir. Bunlar mevcut diğer kayıtlarla hiçbir şekilde eşleştirilmeyecek. Dizinde henüz bulunmayan bir yetki anahtarına sahip meta veriler bu yetki anahtarlarıyla dizine eklenir. Dizinde zaten mevcut olan bir yetki anahtarına sahip meta veriler aynı şekilde yeniden endekslenir. Bu kayıtlar değişmeden kalır.

Dizin-yetkili komut dosyası için farklı olası kullanım durumları

Meta veride, meta verilerde yetki belgesi OLMADI

“Luyten, Bram” meta verilerde hiçbir yetki anahtarı bulunmuyor.
HEDEF: “Luyten, Bram” ONCE önbelleğinde yer aldı

DSpace madde meta verilerinde “Luyten, Bram” ın tüm oluşumları aynı üretilen kullanıcı adlarıyla ilişkilendirilecektir.

Zaten bir dış kaynaktan gelen bir yetki anahtarına sahip olan meta veriler (DSpace tarafından otomatik olarak oluşturulmaz)

“Snyers, Antoine” “u12345” yetki anahtarında mevcut

Eski otorite anahtarının materyal meta verilerinde korunması ve önbellekte çoğaltılması gerekir.
“U12345”, yetki önbelleğine kopyalanacak ve oradaki yetki anahtarı olarak kullanılacaktır.

Zaten yeni bir dspace olan meta veriler, kullanıcı kimliği yetki anahtarını oluşturdu

Öğe meta verileri zaten “Haak, Danielle” adında bir yazar ve 3dda2571-6be8-4102-a47b-5748531ae286 yetki alanında bir kullanıcı kimliği içeriyor

Bu kullanıcı adı korumalı ve yetki dizininde yeni bir kayıt oluşturulmuyor.

Yetki önbelleğindeki kayıtlar üzerinde işleme

Bu betiğin tekrar çalıştırılması dizini günceller ve dizini temiz tutar. Örneğin, bir yazar tek bir öğede ortaya çıkıyorsa ve o öğe silinirse, dizinden çıkarmak için komut dosyasının yeniden çalıştırılması gerekir. Tekrar çalıştırdığınızda, veritabanındaki mevcut yazarlarla bağlantısı olmayan tüm kayıtları kaldıracaktır.


Yeni DSpace öğelerinin gönderilmesi - Yazar araması

Başvuru formları fazla değişmedi. Fark edebileceğiniz tek şey, yazar adları için giriş alanlarının yanındaki fazladan bir düğmedir. Yinelenebilir tüm alanlar için ortak olan Ekle düğmesinin yanında, Ara ve Ekle düğmesi bulunur.

Look-up User Interface (Look-up Kullanıcı Arayüzünün göründüğü) düğmesine basarak. Bir yazar adı doldurulmuş ancak henüz eklenmemişse, Arama Kullanıcı Arayüzü derhal bu adı arayacaktır. Aksi halde, arama alanı boş kalır ve bilinen yazarların listesi görüntülenir. Arama kutusuna yazarken yazarların listesi güncellenir.

Depoda bir yerde görünen yazarlar, ORCID'den alınmış olan yazarlardan farklıdır.

ORCID'den alınan yazarların isimleri italik olarak yazılmıştır ve depoda bulunan yazarlardan sonra listelenmiştir.

Onlar hakkında daha fazla bilgi edinmek için bu isimlerden birine tıklayın. Yazarın bilgisine yer açan "Seçilmiş kimse yok" mesajı kaybolur. Mevcut bilgiler değişebilir: ORCID'den ithal edilen yazarların diğerlerinin olmadığı yerde orcid var. Bakmadan eklenen yazarlar sadece soyadlarını ve adlarını gösterir.

Arama Kullanıcı Arabiriminden bir yazar eklemek için listedeki yazarı seçersiniz ve ardından "Bu Kişiyi Ekle" düğmesini tıklayın.

Bakmadan yazar eklemek için, Look-up User Interface'i kullanmazsınız. Bunun yerine sadece başvuru formlarındaki "Ekle" düğmesini kullanın.

Yönetici Düzenleme Öğesi

Meta verileri düzenle sayfasında, dc.contributor.author alanlarının değerlerinin altında, fazladan bir satır yazar kimliğini bir kilit simgesi ve bir Arama düğmesiyle birlikte gösterir. Yazar kimliği manuel olarak değiştirilemez. Ancak Arama düğmesi aynı anda yazarın adını ve kimliğini değiştirmenize yardımcı olur.

Arama düğmesini tıklamak Arama Kullanıcı Arayüzünü geri getirir. Bu başvuru formlarında olduğu gibi çalışır.

Toplu CSV Düzenleme'yi kullanarak mevcut öğeleri düzenleme

Toplu CSV Düzenlemenin nasıl kullanılacağına ilişkin talimatlar Toplu Meta Veri Düzenleme dokümantasyon sayfasında bulunur .

ORCID Entegrasyonu, Toplu İş CSV Düzenleme özelliği ile "ORCID: dc.contributor.author" başlıklı ek başlıklarıyla sağlanır. Her zamanki CSV başlıkları yalnızca meta veri alanlarını içerir: örn. "Dc.contributor.author". Geleneksel başlığa ek olarak, "ORCID:" öneki ile başka bir dc.contributor.author başlığı eklenebilir. Bu sütundaki değerlerin ORCID olduğu varsayılmaktadır.

ORCID yazarlarının her biri için bir arama yapılacak ve adları meta verilere eklenecektir. Tüm ORCID üyesi olmayan yazarlar da eklenecektir. Raporlanan değişiklikler uygulandığında yetki anahtarları ve solr kayıtları eklenir.


İlgili meta verilerin depolanması

ORCID yetkilileri sadece bir dijital tanımlayıcıyı bir isme bağlamakla kalmazlar. Alternatif isimlerden ve e-posta adreslerinden eserleri ile ilgili anahtar kelimelere ve çok daha fazlasına giden bir meta veri toplar. Meta veriler, ORCID web servisleri sorgulanarak elde edilir. ORCID web servislerini her seferinde sorgulamayı önlemek için, tüm bu ilgili meta veriler, DSpace'in doğrudan erişebileceği bir "meta veri yetkilisi önbelleğinde" toplanır.

Uygulamada önbellek bir apache çözücü sunucusu tarafından sağlanır. Bir arama yapıldığında ve henüz önbellekte bulunmayan bir yazar seçildiğinde, bir ORCID profilinden bir kayıt oluşturulur ve ilgili meta veri listesiyle önbelleğe eklenir. Dublin Çekirdek meta verilerinin değeri, ORCID profilinde ayarlanan ad ve soyadına dayanır. Bu değerin yetki anahtarı doğrudan solr dökümanının kimliğine bağlanır. DSpace bu kayıtları manuel olarak düzenlemek için bir yol sağlamaz.

Yetki önbelleğindeki bilgiler, aşağıdaki komut satırı işlemini çalıştırarak güncellenebilir:

Kullanılan komut:
[dspace]/bin/dspace dsrun org.dspace.authority.UpdateAuthorities
Argümanlaraçıklama
-benbelirli solr kayıtlarını verilen dahili kimlikleriyle (virgülle ayrılmış) güncelleyin
-hbu yardım mesajını yazdırır

Bu, şu anda kullanımda olan (-i argümanı sağlanmadığı sürece) her solr kaydında yinelenecek, en son veriler için ORCID web servisini sorgulayacak ve önbellekteki bilgileri güncelleyecektir. Yapılandırılırsa, komut dosyası, ayrıca depodaki öğelerin meta verilerini de uygulanabilir.

Configuration özelliği, config/modules/solrauthority.cfgtelefonunuzda ayarlanabilir veya geçersiz kılınabilir local.cfg(bkz. Yapılandırma Referansı ).

solrauthority.auto-update-items = false true

True olarak ayarlandığında ve bu komut dosyası çalıştırıldığında, bir yetki kaydının bilgileri güncellendiğinde tüm depo bu yetki için taranır. Bu yetki anahtarına sahip her meta veri alanı, güncellenen yetki kaydının değeriyle güncellenir.

Yapılandırma

Gelen ORCID otorite kontrolü etkinleştirme bölümü, Bu yapılandırma blok eklemek için söylendi.

NOT: DSpace 6x için bunlar için local.cfg kullanabilirsiniz

Aşağıda açıklanan tüm yapılandırma seçeneklerinde dspace.cfg veya local.cfg kullanabilirsiniz. Her ikisi de işe yarayacak. Maven ile kodunuzu derlediğinizde ve testleri etkin hale getirdiğinizde derlemenizin başarısız olması mümkündür. DSpace birim testleri dspace.cfg'nin parçalarını kullanır ve aşağıda kullanacağınız yapılandırma seçeneklerinin birim test hatalarına neden olduğu bilinmektedir. Bu durumdan kaçınmanın en kolay yolu, local.cfg dosyasını kullanmaktır.


solr.authority.server=${solr.server}/authority
choices.plugin.dc.contributor.author = SolrAuthorAuthority
choices.presentation.dc.contributor.author = authorLookup
authority.controlled.dc.contributor.author = true
authority.author.indexer.field.1=dc.contributor.author

ORCID Entegrasyonu özelliği, DSpace'deki yetki kontrolünün bir uzantısıdır. Bu özelliklerin çoğu , Meta Veri Değerlerinin Yetki Kontrolü belgelendirme sayfasında ayrıntılı olarak açıklanmaktadır Bunlar tekrar gözden geçirilecek ancak önce yeni eklenen özellikleri ele alacağız.

  • Solr çekirdeğine url'dir. Genellikle bu , oai, arama ve istatistik çekirdeğinin yanında olur. solr.authority.server solr.server
  • authority.author.indexer.field.1 ve sonraki artışlar otorite önbelleğinde hangi alanların indeksleneceğini yapılandırır. Bununla birlikte, solr önbelleğine fazladan alan eklemeden önce, lütfen ORCID altında ek alan ekleme ile ilgili bölümü okuyun .

Yenilikler için bu kadar. Genel otorite kontrol özelliklerine geçme:

  • İle mülkiyet yapılandırıldı kontrollü otorite olması gerekir her meta veri alanı. Bu, yalnızca ORCID entegrasyonu için olan alanları değil, her türlü yetki kontrolünü içerir. authority.controlled
  • Otorite kontrolü altında her bir meta veri alanı için yapılandırılmalıdır. Değerin SolrAuthorAuthority olarak ayarlanması, DSpace'e bu meta veri alanı için cfr için solr otorite önbelleğini kullanmasını söyler. İlgili meta verilerin depolanması . choices.plugin
  • Yanı her bir meta veri alanı için yapılandırılmalıdır. Bu özellik için geleneksel değerler SolrAuthorAuthority options plugin ile birlikte kullanılmak üzere yeni bir değer eklendi. Diğer değerler hala kullanılabilirken, authorLookup, başvuru sayfasındaki açılır pencereler biçiminde daha zengin bir kullanıcı arayüzü sunar. choices.presention select|suggest|lookupauthorLookup
  • Göz atma dizinleri yeni otorite kontrollü endekse işaret webui.browse.index.2 = author:metadata:dc.contributor.*,dc.creator:textetmelidir webui.browse.index.2 = olmalıdır : metadataAuthority: dc.contributor.author: otorite
  • Daha fazla mevcut yapılandırma özelliği mevcuttur ancak değerleri bu özellikten bağımsızdır ve varsayılan değerleri genellikle iyidir: . choices.closed authority.required, authority.minconfidence

Önbellek güncelleme betiği için, bir özellik ayarlanabilir config/modules/solrauthority.cfg:

auto-update-items = false true

Özelliğin eksik olduğu zaman için varsayılan değer yanlıştır.

Yapılandırmanın son kısmı, yetkili tüketiciyi etkinlik tüketicileri listesinin önüne eklemektir. Aşağıda gösterildiği gibi listenin önüne "otorite" ekleyin.

event.dispatcher.default.consumers = authority, versioning, discovery, eperson

Tüketici olmadan otorite önbelleğinin otomatik olarak endekslenmesi yoktur ve meta verilerin otorite anahtarlarına bile sahip olmayacak.

Yapılandırmadaki değişiklikler her zaman için bir sunucunun etkin olmadan önce yeniden başlatılmasını gerektirir.

ORCID altına ek alan ekleme

"Dc.contributor.author" dışındaki diğer meta veri alanları, ORCID otorite kontrolünden aynı anda yararlanabilir. "Dc.contributor.editor" meta veri alanı için "dc.contributor.author" öğesinin zaten doğru bir şekilde yapılandırıldığını varsayarak aynı ORCID işlevini nasıl elde edeceğinize bir örnek. Sadece yapılandırma dosyalarını değiştirerek elde edilebilir.

Öncelikle "dc.contributor.author" için eklenmiş olan yapılandırma alanlarını ekleyin

choices.plugin.dc.contributor.editor = SolrAuthorAuthority
choices.presentation.dc.contributor.editor = authorLookup
authority.controlled.dc.contributor.editor = true
 
authority.author.indexer.field.1=dc.contributor.author
authority.author.indexer.field.2=dc.contributor.editor

Bu, arama arayüzünü gönderim sayfasında ve meta verileri düzenle sayfasında bulmanız için yeterlidir. Yetki anahtarları, yazarlarda olduğu gibi orcid'den gelen bilgilerle eklenecek ve dizine eklenecektir.

Ancak henüz tam olarak yapmadınız, Bir tane daha yapılandırma adımı var. Çünkü artık dış verilerde alınmayan meta verilere yeni editörler eklerken, onların ad ve soyadları bir dahaki sefere baktığınızda arama arayüzünde gösterilmeyecek.

Bunu düzeltmek için dosyayı açın config/spring/api/orcid-authority-services.xmlve bu bahar çekirdeğini bulun:

<bean name="AuthorityTypes" class="org.dspace.authority.AuthorityTypes">
    <property name="types">
        <list>
            <bean class="org.dspace.authority.orcid.OrcidAuthorityValue"/>
            <bean class="org.dspace.authority.PersonAuthorityValue"/>
        </list>
    </property>
    <property name="fieldDefaults">
        <map>
            <entry key="dc_contributor_author">
                <bean class="org.dspace.authority.PersonAuthorityValue"/>
            </entry>
        </map>
    </property>
</bean>


"FieldDefaults" özelliğinin içindeki harita, editör alanı için ek bir girdiye ihtiyaç duyuyor:

<entry key="dc_contributor_editor">
    <bean class="org.dspace.authority.PersonAuthorityValue"/>
</entry>

Bu son değişiklikle her şey düzgün çalışacak şekilde ayarlandı. Bu yapılandırma dosyasının geri kalanı, ORCID dışındaki diğer sistemlerle entegrasyon sağlamak isteyen JAVA geliştiricileri içindir Adından ve soyadından başka alanları görüntülemek isteyen geliştiriciler de bu bölüme bakabilir.

Not : Her bir meta veri alanı, ayrı bir yetki kaydı kümesine sahiptir. Yetki anahtarları farklı meta veri alanları arasında paylaşılmaz. Örneğin. Birden fazla dc.contributor.author aynı yetki anahtarına sahip olabilir ve önbellekteki aynı yetki kaydını gösterir. Ancak bir dc.contributor.editor alanı için bir ORCID seçildiğinde önbellekte ayrı bir kayıt yapılır. Her iki kayıt da aynı kaynaktan güncellendi ve aynı bilgileri içerecek. Aradaki fark, yazarlık alanı için otorite olarak tanıtılmış ancak henüz editör olmayan bir kişiye bakarken, henüz depo deposunda bulunmayan bir kayıt olarak gösterilmesidir.

ORCID dışındaki diğer sistemlerle entegrasyon

Yetki önbelleği ve arama işlevi, ORCID dışındaki kaynakları kullanmak veya arama arabiriminde daha fazla bilgi göstermek için genişletilebilir. Bununla birlikte, bazı JAVA gelişimi bunun için gereklidir. Org.dspace.authority paketinin benioku dosyasında özel talimatlar bulunabilir .

SSS

Otorite önbelleğinde şu anda ORCID'den hangi bilgiler indeksleniyor?

Solr önbelleğinde depolanan alanların bir listesi.

Sistem / dspace ile ilgili alanlar: id, field, value, deleted, deleted, creation_date, last_modified_date, otorite_tipi .

Doğrudan ORCID'den gelen veri alanları: first_name, last_name, name_variant, orcid_id, label_researcher_url, label_keyword, label_external_identifier, label_biography, label_country. All_labels alanı , "label_" ile başlayan diğer alanların tüm değerlerini içerir.

Yetki önbelleğindeki ek alanları nasıl indeksleyebilirim?

Şu anda hangi alanların indeksleneceğini kontrol edecek bir konfigürasyon yok. Bunu başarmanın tek yolu kaynak kodunu değiştirmektir.

Bu iş için işyerindeki dosyaların listesi
config/spring/api/orcid-authority-services.xml :: OrcidSource, orcid'in REST API'sinin URL'sini içerir.
org.dspace.authority.orcid.Orcid, REST çağrısı yapar
+ org.dspace.authority.orcid.xml.XMLtoBio, alınan XML'i bir java nesnesine (Bio) dönüştürür.
+ org.dspace.authority.orcid.model.Bio
+ org.dspace.authority.orcid.OrcidAuthorityValue # create (org.dspace.authority.orcid.model.Bio), Bio'den tüm değerleri AuthorityValue alt sınıfına ekler.
+ org.dspace.authority.orcid.OrcidAuthorityValue # getSolrInputDocument, solr içine nelerin dahil olduğunu tanımlar.

Önbelleğe daha fazla bilgi eklemek için değişiklik yapmak için '+' işaretli bir dosya gerekir.

Yetki önbelleğinde depolanan bilgileri nasıl kullanabilirim?

UI araması şu anda bu bilgilerin gönderildiği tek yerdir. Ancak, yalnızca sınırlı sayıda alan gönderilir. Daha fazla alan elde etmek için değiştirilecek kaynak koddaki yer org.dspace.authority.orcid.OrcidAuthorityValue # choiceSelectMap şeklindedir. Bu aynı zamanda org.dspace.authority paketinin benioku belgesinde de belgelenmiştir .

Otorite önbelleğinde ORCID ile ilgili olmayan ek meta veri alanları nasıl eklenir?

ORCID altına ek alanlar eklemek için aynı yapılandırma adımını uygulayın Şu anda ORCID önerileri, özel kod gerektiren belirli alanlar için kapatılamaz.

Başka bir otorite kontrolü zaten mevcut olsaydı verilere ne oldu?

Meta veriler dizine alınmadığı sürece değişiklik yapılmayacaktır. Bununla birlikte, bir öğenin herhangi bir meta verisi her değiştirildiğinde, o öğe için otorite kontrolü altındaki meta veriler yeniden endekslenir. Bu olduğunda, solr önbelleğine bir kayıt eklenecektir. Bu kaydın kimliği, meta verilerin otorite anahtarı olacaktır. Bu, tüm meta veriler için bir kerede, index-yetkili komut dosyasıyla yapılabilir.

Kısacası: Çözünürlüğü mümkün kılmadan önce var olan yetki anahtarları korunur. Dizine alınana kadar sadece aramada görünmeyecekler.

ORCID'leri aramak için kullanılan URL'yi nerede bulabilirim?

Bu bulunursa config/spring/api/orcid-authority-services.xmlyapılandırma dosyasının. Http://pub.orcid.org URL'siyle başlatılmış olanı arayın.<bean name="OrcidSource">