crew102 / wosr

R clients to the Web of Science and Incites APIs
https://crew102.github.io/wosr/
Other
30 stars 8 forks source link

Updating wosr to use updated APIs #28

Open tarensanders opened 1 year ago

tarensanders commented 1 year ago

Hi Chris,

I've been going through the process of updating wosr to use the updated InCites API (this is part of #21). I've made most of the changes to make it work, including updating process_incites to be compatible with the new output. These changes are all here.

In doing this though, I noticed that the WoS functions are all out of date. That is, the documented APIs are fairly different from what wosr is using including having different endpoints. I can't actually find the documentation for the endpoints that wosr is currently using, but they must still be running to support legacy applications.

I started trying to change the WoS functions to use the new endpoints, but this turns out to be fairly difficult mostly because of the way authentication works. When I changed the InCites function I could maintain backwards compatibility, but that's a lot harder with the WoS functions.

There seem to be two paths:

  1. Rewrite the WoS functions as new functions so that the legacy API can still be used (e.g., pull_wos becomes something like pull_wos2).
  2. Write these functions (and the new InCites functions) to a new package (e.g., wosr2) and don't support the outdated endpoint.

I'd lean towards the second one, because it seems easier to maintain in the long run. How would you feel about me creating a second package based on the new API and including you as an author?

tarensanders commented 1 year ago

One more quick thing: just wanted to flag that all the documentation (including the CRAN page) points to "vt-arc/wosr". A week or so ago, someone created a GitHub account for vt-arc and created the repo wosr. It seems to have been taken down now, but it seems like it might have been an attempt at repojacking, so regardless of path it might be worth updating the documentation.

crew102 commented 1 year ago

Hey Taren,

Thanks for your interest in the package. I was actually recently contacted by the folks at Clarivate, basically asking me if I'd update the package to reflect the new REST API (wosr is currently based on the SOAP API version, which I've been told is to be sunset on November 1). I'm waiting to hear back from Clarivate about getting some kind of agreement in place so that whoever is maintaining the wosr package in the future has an API key they can use for development purposes. I haven't been able to do anything on the package since I left my job, as I was using my employer's account for dev purposes.

Since the SOAP version is being pulled down completely in the future, I'm thinking we just update wosr to reflect the new REST version, assuming that the major pieces features of the APIs are similar. In other words, have the current version of wosr be the last version that is based on the SOAP API, and the next released version be the one that's based on the REST API. I'd be happy to add you as an author to the package if you want to help with the port.

crew102 commented 1 year ago

One more quick thing: just wanted to flag that all the documentation (including the CRAN page) points to "vt-arc/wosr". A week or so ago, someone created a GitHub account for vt-arc and created the repo wosr. It seems to have been taken down now, but it seems like it might have been an attempt at repojacking, so regardless of path it might be worth updating the documentation.

Yeah, agreed that the next version should update to point to the new repo. Thanks for the heads up

tarensanders commented 1 year ago

That's even better, Chris. Happy to help with porting to the new version.

crew102 commented 1 year ago

Cool, just CC'd you on email between me and Clarivate re: wosr developer(s) having access/authentication ability to the API separate from however they're accessing it now. I'll follow up in a bit if I don't hear anything back from them.