Interoperability in Action
CC Attribution 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Mejias, Gabriela
Withanage, Dulip
The goal of this workshop is to introduce the OJS-ORCID plugin. Learn how to use, configure, and publish with ORCID's Member and Public APls along with where to find documentation and support. Includes a showcase and demonstration of organizations who are already using the ORCID integration in OJS publishing workflows. Presenters will also discuss the community-based approach of requirements engineering used during the development of this plugin and the distributed development of such by several international partners.
 Hi, everyone. I hope you can hear me fine. And welcome, welcome to the session. Take your seats. And the idea is that by the end, we should all be able to do a tower like this. So hope you are ready. And with a lot of energy. So I'm Gabriela Mejiaz. I'm the engagement lead for ORCID. I work with organizations increasing the adoption and awareness of ORCID in Europe. And Duleep, my colleague from the Heidelberg University Library, who is a software developer and has contributed to the plugin. So before I continue, I would like to know how many of you know what ORCID is? OK, so most of you. Great. So I don't need to give you much of an introduction then. But the goal of ORCID is to solve the name ambiguity issue. That's actually one of the goals. And I'll continue later on. So ORCID is not for profit organization. And it's very important to know what ORCID is. It's not for profit organization. And it's very important for me to tell you this. We have an open governance. And we are registered as a nonprofit organization in the US. That means our bylaws prohibited the organization to be sold. I just want to make sure that you know that. And we provide open tools. So the ORCID ID that you or most of you know identify researchers, we also offer APIs. And that's what makes the plugin, the OJS ORCID plugin, possible and a registry that you can use, organizations can use to synchronize research data. And today we've talked a lot and heard a lot about open science and also about inclusion. And for us, these are also core values. And we express this a little bit on this diagram. And for us, openness means also interoperability. So as you can see here, the idea is that the researchers or ORCID ID can use the ID, can use, connect the ID through our system, like once a million an article, when applying for a grant, or connecting the ID into their repository, into their CRE system, other institution. And to be able to achieve this, we work with all organizations in the research landscape. And actually the plugin that we're going to present today is a joint effort from PKP, the Heidelberg University Library, which is part of our German consortium. And we collaborate as well. And yes, this fits on the publisher sector. So I wanted to also tell you something about our community. We have more than 7 million IDs registered. And as I said before, we are a nonprofit organization. We finance ourselves through membership fees, institutional membership fees. Currently we have more than 1,100 members in more than 40 countries. And these members are building these integrations with ORCID, meaning implementing ORCID IDs in their workflows and integrating our APIs into their systems to make this interoperability possible, so the data flows from one system to another across organizations, across countries, to save the researcher's time, and to make data reusable as well. And I mentioned our APIs before, so I'm going to go into more detail now. We are an open organization, and therefore we have a public API that's open for everyone to use. It's free to use. With the public API, organizations can obtain an ID and read data that is marked as public on ORCID records. Does everybody know what API means? Yes, okay, okay. So it means application programming interface, so it's basically a tool that allows you to exchange data between your systems and the ORCID registry. And the public API is free to use. Everybody can use it for free, and it allows you to obtain an ID and read data on ORCID records that's public. Our member organizations have the benefit of using the member API. This allows the same functionalities as the public API plus the functionality to add data to ORCID records or update the data that you add and also read trusted parties' information. So on the ORCID record, there are three levels of privacy controlled by each user or each researcher. Public means the data is available to everyone through the registry and through the API. Trusted parties is the second level. That means that the researcher needs to authorize this organization to read this information. And the last level is private. That means only the researcher or the user can access this information. Most of the data on the ORCID registry is public, but most of the email addresses are marked as private. And again, we're an open organization. What we do every year is for the Open Access Week, we release our public data file, which is an XML file that contains all data that's public on the ORCID records, and this is published under a CCO license. So the member API allows you to read public and trusted parties' data, add or update information. And we have another API for consortium members or premium members that also allows to synchronize information by sending a notification every time something changes on an ORCID record. You can register a callback URL. You will receive a pin on that URL, and then you'll know something changing that record, and you can update or synchronize that data on your systems. And some information, some statistics for you to know the volume of data flowing in our registry. Currently, we have more than 45 million of words. We call it words and not publications because we consider many times of contributions, not only publications, but also preprints, software, data sets, patents, conference posters, and many more. And you can see that there are more than 17 million unique DOIs, and most of this data is being added to our registry by member organizations. And actually, the plugin that we will see today allows more of this data to be able to get to the ORCID records. And as I'm going to show you now, this is an example of this interoperability using the APIs between systems. This is an example of an ORCID record, and this is an example of a publication being added to an ORCID record by the plugin. And this is an example from a researcher that has authored an article on a journal published by the Heidelberg University Library. And as you can see here, the source of the information is not the author herself or himself, but instead the journal. So for us, this is also a way of adding trust and transparency to the research process. And as you can see there as well, there's a DOI on the article that's been pushed by the plugin, and we integrate many different type of persistent identifiers since this also contributes to more interoperability and visibility of the research data. And yes, we've put together some resources, some links about the plugin, some video tutorials, and the plugin guide that was developed together with PKP in a virtual spring that's Katelyn mentioned today. And now I'm going to hand over to Dulib, who will explain you more about the technical details of the plugin. Thank you. Okay. Is only this mic is enough or I would like to later go to the computer then I mean I would need that also. Hi. This is working like this. What is? Okay. As Gabriela mentioned, I work for the university library of Heidelberg and I will go through now how we did this OJS plugin. First I will, if everybody is clear about OJS, I think now, I would not go to that detail and I will show you the plugin and as we are always developing in a community, I also want to show you who has contributed from beginning to this plugin and then after that we will go to the questions. So this is OJS and it is standard and the development history, specification and I will also have, I'm having some demos from videos how the integration is done. This is an image of settings from the OJS plugin. OJS plugin, OJS plugin, OJS plugin is a generic plugin. Generic means it is a plugin which directly interacts a lot with OJS system and currently we support OJS API version 2.1. The plugin can be configured to use both the member API and the public API. Also as Gabriela mentioned, we are having this sandbox API and you can also configure that and we also allow that you can log all the communication with the API or only the errors that you can configure through the plugin. So some historical facts. The first development of this OJS plugin was done by the University Lab of Pittsburgh and then later it was taken into public knowledge project and it was a PKKP official plugin and the Heidelberg University Lab provided what we did was practically adding the support for the member API and a lot of community members helped and as we had here in this conference also we had some software sprints, a lot of people contributed their ideas. Actually developing this kind of a plugin is not the challenge, it's not the technology. It is the people contributing and you getting the ideas and we have communicated everything how the plugin communication went on the GitHub issue then you can, if you are interested later, you can see and we also invite you to contribute or give your ideas or if you have also errors you can write there. So this is a formal specification what we are supporting. You can choose any kind of the four possibilities what you are having. So now I have some videos I have to go there and hopefully... So it is working. This is how you would set up the plugin in OJS. First you go to the settings and you have your website settings then you go to the plugins and you can find this plugin in the plugin gallery. You can just choose the OK plugin and here I have already installed therefore it says I can update but generally it would ask you to install and you just click there. And that's it for the installation then we can go to the installed plugins and you will see it under the section Generic Plugins. Here under the settings now you can configure if you are using the Sandbox API or the production API but what we would recommend and also OK would recommend is first you test with the Sandbox API and when everything is finished you can apply for the public API credentials and I have also mentioned if you are using the Sandbox API OK allows only to use Melinator accounts. Melinator is a service where you can have free mail addresses if you are also considered with your privacy and do not want to give your email address to third parties you can use Melinator for other things also. Then you configure it here. So choose the API settings and give your credentials and you can decide if you want to send emails and you set the login level and then that's it. The configuration is simple. So the next thing, next video where I am going to show is this plugin allows authorizing OK accounts for users who are inside or authors who are users of the OJS system. That is the first example that I am going to show. So sorry. To do that when you have logged into your profile you have to go to your public profile settings then if you have enabled the OJS plugin then you will see this button to connect to your OK idea and you will also see first that there is a small introduction that you can read before going into the connecting with the OJS. So after that I will also go again back to the OJS. Connecting to the OJS profile. Here you have to login with your OJS account because this is a configuring with the Sandbox API I am using the Melinator accounts. Then what is happening in the background is the OJS system connects to the API and authorizes and gets a token and it saves in the OJS. This green button is always a kind of sign that it is verified by Okid. So now I am doing a submission using this authenticated user. That is my test profile. I have to wait. It is the external author submission not the one the other video I will show you from the authorize to say I have mixed the videos. So what I am doing is I am inviting an external author to the system using the Okid plugin. We can configure that. Do I want to send authorization request to the external author? At this moment it sends an email to the author. So the user can now authorize that OJS system here. What is happening in the behind is that the external author gives access to the OJS system that it can retrieve this token from Okid. Then you are redirected to OJS. Now when you see the profile of this external author you will see that his or her OJS ID is there. Then we are done with the editing of the article and now we are going to publish. Exactly at this moment when you are publishing it, it sends the metadata from OJS system to the Okid. So when I go back to the Okid page and when I refresh this page you will see that the article metadata is in the Okid page. So here you see the article title and the article links and the metadata that this is the Okid ID membership from the Unisd Albergh and also it is shown as the source. So now I am going to show you the other video where you think that is the internal author. So because I am already authenticated I can just publish. So when I am refreshing it now I will also have it is the same process. So now we have added the author and we are going to go to the OJS reader interface. In the reader interface now you are seeing that this green button that this is the Okid verified Okid ID. Earlier some historical background in OJS 2 versions. So you could add Okid IDs without verification. We see with a lot of consultation with Okid organization and also with discussion with infrastructure providers. So we decided that we do not want Okid IDs that are not authenticated and we are also thinking for all the systems what we are going to actually I want to answer some of the questions which can come. So that we allow we are also thinking of how we would ask the authors who are not authorized to send emails and get their permission that we get our systems self-always verified Okid IDs. So I think that was it. Let me see. Yes. As we always do the next steps what we are going to do we are discussing in this GitHub issue. You can have a look there and yeah this is again some of the resources directly connected here. Yeah. Thank you very much for listening and you have questions now.
 Hi, everyone.  I hope you can hear me fine.  And welcome, welcome to the session.  Take your seats.  And the idea is that by the end, we should all  be able to do a tower like this.  So hope you are ready.  And with a lot of energy.  So I'm Gabriela Mejiaz.  I'm the engagement lead for ORCID.  I work with organizations increasing the adoption  and awareness of ORCID in Europe.  And Duleep, my colleague from the Heidelberg University  Library, who is a software developer and has contributed  to the plugin.  So before I continue, I would like to know how many of you  know what ORCID is?  OK, so most of you.  Great.  So I don't need to give you much of an introduction then.  But the goal of ORCID is to solve the name ambiguity issue.  That's actually one of the goals.  And I'll continue later on.  So ORCID is not for profit organization.  And it's very important to know what ORCID is.  It's not for profit organization.  And it's very important for me to tell you this.  We have an open governance.  And we are registered as a nonprofit organization in the US.  That means our bylaws prohibited the organization to be sold.  I just want to make sure that you know that.  And we provide open tools.  So the ORCID ID that you or most of you know  identify researchers, we also offer APIs.  And that's what makes the plugin, the OJS ORCID plugin,  possible and a registry that you can use, organizations can use  to synchronize research data.  And today we've talked a lot and heard a lot about open science  and also about inclusion.  And for us, these are also core values.  And we express this a little bit on this diagram.  And for us, openness means also interoperability.  So as you can see here, the idea is that the researchers  or ORCID ID can use the ID, can use, connect the ID  through our system, like once a million an article,  when applying for a grant, or connecting the ID  into their repository, into their CRE system,  other institution.  And to be able to achieve this, we work with all organizations  in the research landscape.  And actually the plugin that we're going to present today  is a joint effort from PKP, the Heidelberg University Library,  which is part of our German consortium.  And we collaborate as well.  And yes, this fits on the publisher sector.  So I wanted to also tell you something about our community.  We have more than 7 million IDs registered.  And as I said before, we are a nonprofit organization.  We finance ourselves through membership fees,  institutional membership fees.  Currently we have more than 1,100 members in more than 40 countries.  And these members are building these integrations with ORCID,  meaning implementing ORCID IDs in their workflows  and integrating our APIs into their systems  to make this interoperability possible,  so the data flows from one system to another  across organizations, across countries,  to save the researcher's time,  and to make data reusable as well.  And I mentioned our APIs before,  so I'm going to go into more detail now.  We are an open organization,  and therefore we have a public API  that's open for everyone to use.  It's free to use.  With the public API, organizations can obtain an ID  and read data that is marked as public on ORCID records.  Does everybody know what API means?  Yes, okay, okay.  So it means application programming interface,  so it's basically a tool that allows you to exchange data  between your systems and the ORCID registry.  And the public API is free to use.  Everybody can use it for free,  and it allows you to obtain an ID  and read data on ORCID records that's public.  Our member organizations have the benefit of using the member API.  This allows the same functionalities as the public API  plus the functionality to add data to ORCID records  or update the data that you add  and also read trusted parties' information.  So on the ORCID record, there are three levels of privacy  controlled by each user or each researcher.  Public means the data is available to everyone  through the registry and through the API.  Trusted parties is the second level.  That means that the researcher needs to authorize  this organization to read this information.  And the last level is private.  That means only the researcher or the user can access this information.  Most of the data on the ORCID registry is public,  but most of the email addresses are marked as private.  And again, we're an open organization.  What we do every year is for the Open Access Week,  we release our public data file, which is an XML file  that contains all data that's public on the ORCID records,  and this is published under a CCO license.  So the member API allows you to read public  and trusted parties' data, add or update information.  And we have another API for consortium members  or premium members that also allows to synchronize information  by sending a notification every time something changes  on an ORCID record.  You can register a callback URL.  You will receive a pin on that URL,  and then you'll know something changing that record,  and you can update or synchronize that data on your systems.  And some information, some statistics for you to know  the volume of data flowing in our registry.  Currently, we have more than 45 million of words.  We call it words and not publications  because we consider many times of contributions,  not only publications, but also preprints, software,  data sets, patents, conference posters, and many more.  And you can see that there are more than 17 million unique DOIs,  and most of this data is being added to our registry  by member organizations.  And actually, the plugin that we will see today  allows more of this data to be able to get to the ORCID records.  And as I'm going to show you now,  this is an example of this interoperability  using the APIs between systems.  This is an example of an ORCID record,  and this is an example of a publication  being added to an ORCID record by the plugin.  And this is an example from a researcher  that has authored an article on a journal published  by the Heidelberg University Library.  And as you can see here, the source of the information  is not the author herself or himself, but instead the journal.  So for us, this is also a way of adding trust and transparency  to the research process.  And as you can see there as well, there's a DOI on the article  that's been pushed by the plugin,  and we integrate many different type of persistent identifiers  since this also contributes to more interoperability  and visibility of the research data.  And yes, we've put together some resources,  some links about the plugin, some video tutorials,  and the plugin guide that was developed together  with PKP in a virtual spring that's Katelyn mentioned today.  And now I'm going to hand over to Dulib,  who will explain you more about the technical details of the plugin.  Thank you.  Okay.  Is only this mic is enough or I would like to later go to the computer  then I mean I would need that also.  Hi. This is working like this.  What is? Okay. As Gabriela mentioned,  I work for the university library of Heidelberg  and I will go through now how we did this OJS plugin.  First I will, if everybody is clear about OJS, I think now,  I would not go to that detail and I will show you the plugin  and as we are always developing in a community,  I also want to show you who has contributed from beginning  to this plugin and then after that we will go to the questions.  So this is OJS and it is standard and the development history,  specification and I will also have,  I'm having some demos from videos how the integration is done.  This is an image of settings from the OJS plugin.  OJS plugin, OJS plugin, OJS plugin is a generic plugin.  Generic means it is a plugin which directly interacts a lot with OJS system  and currently we support OJS API version 2.1.  The plugin can be configured to use both the member API and the public API.  Also as Gabriela mentioned, we are having this sandbox API  and you can also configure that and we also allow that you can log  all the communication with the API or only the errors  that you can configure through the plugin.  So some historical facts.  The first development of this OJS plugin was done by the University  Lab of Pittsburgh and then later it was taken into public knowledge project  and it was a PKKP official plugin and the Heidelberg University  Lab provided what we did was practically adding the support for the member API  and a lot of community members helped and as we had here in this conference also  we had some software sprints, a lot of people contributed their ideas.  Actually developing this kind of a plugin is not the challenge,  it's not the technology.  It is the people contributing and you getting the ideas  and we have communicated everything how the plugin communication went  on the GitHub issue then you can, if you are interested later, you can see  and we also invite you to contribute or give your ideas  or if you have also errors you can write there.  So this is a formal specification what we are supporting.  You can choose any kind of the four possibilities what you are having.  So now I have some videos I have to go there and hopefully...  So it is working.  This is how you would set up the plugin in OJS.  First you go to the settings and you have your website settings  then you go to the plugins and you can find this plugin in the plugin gallery.  You can just choose the OK plugin and here I have already installed  therefore it says I can update but generally it would ask you to install  and you just click there.  And that's it for the installation then we can go to the installed plugins  and you will see it under the section Generic Plugins.  Here under the settings now you can configure if you are using the Sandbox  API or the production API but what we would recommend and also OK  would recommend is first you test with the Sandbox API  and when everything is finished you can apply for the public API credentials  and I have also mentioned if you are using the Sandbox API  OK allows only to use Melinator accounts.  Melinator is a service where you can have free mail addresses  if you are also considered with your privacy and do not want to give your email address to  third parties you can use Melinator for other things also.  Then you configure it here.  So choose the API settings and give your credentials  and you can decide if you want to send emails and you set the login level  and then that's it.  The configuration is simple.  So the next thing, next video where I am going to show is  this plugin allows authorizing OK accounts for users who are inside  or authors who are users of the OJS system.  That is the first example that I am going to show.  So sorry.  To do that when you have logged into your profile you have to go to your public profile settings  then if you have enabled the OJS plugin then you will see this button  to connect to your OK idea and you will also see first that there is a small introduction  that you can read before going into the connecting with the OJS.  So after that I will also go again back to the OJS.  Connecting to the OJS profile.  Here you have to login with your OJS account because this is a configuring with the Sandbox API  I am using the Melinator accounts.  Then what is happening in the background is the OJS system connects to the API  and authorizes and gets a token and it saves in the OJS.  This green button is always a kind of sign that it is verified by Okid.  So now I am doing a submission using this authenticated user.  That is my test profile.  I have to wait. It is the external author submission not the one the other video I will show you  from the authorize to say I have mixed the videos.  So what I am doing is I am inviting an external author to the system using the Okid plugin.  We can configure that. Do I want to send authorization request to the external author?  At this moment it sends an email to the author.  So the user can now authorize that OJS system here. What is happening in the behind is that the external author gives access to the OJS system that it can retrieve this token from Okid.  Then you are redirected to OJS.  Now when you see the profile of this external author you will see that his or her OJS ID is there.  Then we are done with the editing of the article and now we are going to publish.  Exactly at this moment when you are publishing it, it sends the metadata from OJS system to the Okid.  So when I go back to the Okid page and when I refresh this page you will see that the article metadata is in the Okid page.  So here you see the article title and the article links and the metadata that this is the Okid ID membership from the Unisd Albergh and also it is shown as the source.  So now I am going to show you the other video where you think that is the internal author.  So because I am already authenticated I can just publish.  So when I am refreshing it now I will also have it is the same process.  So now we have added the author and we are going to go to the OJS reader interface.  In the reader interface now you are seeing that this green button that this is the Okid verified Okid ID.  Earlier some historical background in OJS 2 versions.  So you could add Okid IDs without verification. We see with a lot of consultation with Okid organization and also with discussion with infrastructure providers.  So we decided that we do not want Okid IDs that are not authenticated and we are also thinking for all the systems what we are going to actually I want to answer some of the questions which can come.  So that we allow we are also thinking of how we would ask the authors who are not authorized to send emails and get their permission that we get our systems self-always verified Okid IDs.  So I think that was it. Let me see.  Yes. As we always do the next steps what we are going to do we are discussing in this GitHub issue.  You can have a look there and yeah this is again some of the resources directly connected here.  Yeah. Thank you very much for listening and you have questions now.
TECH_2__Interoperability_in_Action_OM1948lqZq0_0_251.png TECH_2__Interoperability_in_Action_OM1948lqZq0_252_431.png TECH_2__Interoperability_in_Action_OM1948lqZq0_432_695.png TECH_2__Interoperability_in_Action_OM1948lqZq0_696_17279.png TECH_2__Interoperability_in_Action_OM1948lqZq0_17280_17747.png TECH_2__Interoperability_in_Action_OM1948lqZq0_17748_21683.png TECH_2__Interoperability_in_Action_OM1948lqZq0_21684_21731.png TECH_2__Interoperability_in_Action_OM1948lqZq0_21732_22127.png TECH_2__Interoperability_in_Action_OM1948lqZq0_22128_22655.png TECH_2__Interoperability_in_Action_OM1948lqZq0_22656_24611.png TECH_2__Interoperability_in_Action_OM1948lqZq0_24612_24779.png TECH_2__Interoperability_in_Action_OM1948lqZq0_24780_25211.png TECH_2__Interoperability_in_Action_OM1948lqZq0_25212_25607.png TECH_2__Interoperability_in_Action_OM1948lqZq0_25608_26231.png TECH_2__Interoperability_in_Action_OM1948lqZq0_26232_26999.png TECH_2__Interoperability_in_Action_OM1948lqZq0_27000_27215.png TECH_2__Interoperability_in_Action_OM1948lqZq0_27216_27611.png TECH_2__Interoperability_in_Action_OM1948lqZq0_27612_27839.png TECH_2__Interoperability_in_Action_OM1948lqZq0_27840_28031.png TECH_2__Interoperability_in_Action_OM1948lqZq0_28032_28307.png TECH_2__Interoperability_in_Action_OM1948lqZq0_28308_30635.png TECH_2__Interoperability_in_Action_OM1948lqZq0_30636_30695.png TECH_2__Interoperability_in_Action_OM1948lqZq0_30696_31427.png TECH_2__Interoperability_in_Action_OM1948lqZq0_31428_31487.png TECH_2__Interoperability_in_Action_OM1948lqZq0_31488_31535.png TECH_2__Interoperability_in_Action_OM1948lqZq0_31536_32423.png TECH_2__Interoperability_in_Action_OM1948lqZq0_32424_33467.png TECH_2__Interoperability_in_Action_OM1948lqZq0_33468_33611.png TECH_2__Interoperability_in_Action_OM1948lqZq0_33612_33671.png TECH_2__Interoperability_in_Action_OM1948lqZq0_33672_36899.png TECH_2__Interoperability_in_Action_OM1948lqZq0_36900_36995.png TECH_2__Interoperability_in_Action_OM1948lqZq0_36996_37343.png TECH_2__Interoperability_in_Action_OM1948lqZq0_37344_38298.png