OJS and dataverse

Hello all,

Can someone point me to any journal examples demonstrating live OJS <-> Dataverse integration?

Thanks,
George Duimovich

Hi George,

A week ago, the answer would’ve been yes – however, our testing install is pegged to the main Harvard Dataverse instance, which they’ve just updated to the new Dataverse 4.0 release, and we’re hitting some bottlenecks in our testing. We’re working with them to resolve this right now; I’ll let you know when we’re there.

Hi there, i activated the dataverse plugin on my OJS instance and it doesn’t seem to want to connect to the dataverse URL; “Errors occurred processing this form: Dataverse Network URL is not valid.”

i checked, tried lots of permutations, https on and off…
my dataverse url is ODjAR Dataverse i also tried https://dataverse.harvard.edu/dataverse, https://dataverse.harvard.edu/dataverse/, https://dataverse.harvard.edu/, https://dataverse.harvard.edu/dvn ( the url stated in https://docs.google.com/document/d/1QgxtxMaWdSZ8gI3wHDkE5EfP4W3M2Za-4DhmX_x3pY0)

The username and password are correct and i can login at Log In - Harvard Dataverse

Does anybody know what is wrong?

thanks,

Jappe

Hi Jappe,

There’s a fair amount of URL sanitization code in the OJS Dataverse plugin, so I can say with some confidence that most of the URLs you tried, including the regular https://dataverse.harvard.edu, ought to work. I know they were having some downtime recently, so perhaps start by simply trying again – it’s possible that the “URL is not valid” error would be thrown by simply not being able to connect.

Also, make sure that you’ve created an API key and a sub-Dataverse already on the Harvard side. Let me know if you’re still having issues.

Hi, thanks for quick the reply!
I tried again, but the same error… I generated an API token, do i need to use that anywhere?
The Dataverse plugin connect form only shows URL, username and password.
Also our server is behind a proxy, do we need to configure some special ports opened?

cheers,

Jappe

Hey Jappe,

You shouldn’t need to worry about opening any additional ports – the Dataverse API communicates over port 80 like everything else – but you should definitely try using the Dataverse API token in place of your username (no password) in the plugin settings. Most versions of Dataverse support both authentication methods, but it’s possible they’ve switched the Harvard Dataverse to API-only authentication. This should be explicitly supported in the OJS plugin interface (i.e., the username field should say “username or API key”). If it isn’t, you may have an older version of the Dataverse plugin (pre-2.4.6), or one of our translations may not be fully up-to-date.

Best,
-alex

Hey Alex,

Thanks, but still a no go :frowning:
Our OJS server is version 2.4.5, I’ll ask the folks at the library if they can update to the latest version.
I hope that solves the problem.

cheers,

Jappe

I know this is an old topc - but in case someone (like me) has the same problem here is how I succeeded in connecting:

Dataverse URL: https://dataverse.harvard.edu
Username: [Your API-Key for the Dataverse]
Password: [Leave empty. Not required for API token.]

You get the API-Key in your Dataverse account: Account Information > Edit Account > API Token

I’m sorry for answering to this old thread. But we want to start using the Dataverse Plugin for OJS. However, it does not work. We’re using OJS 2.4.8.0 and we created our dataverse on dataverse.harvard.edu (https://dataverse.harvard.edu/dataverse/JABFQ). I tried to connect OJS with that dataverse by using username and password: it did not work. Then I tried it by using the API token and no password: the same, it does not work. In an earlier post, @axfelix said: “Also, make sure that you’ve created an API key and a sub-Dataverse already on the Harvard side”. I don’t understand, why I should create a sub dataverse. I have a journal and that journal should contain datasets. What is the purpose of such sub dataverse?
P.S. I created a sub dataverse. However, connecting OJS with dataverse still produces the error massage: “Can’t connect to Dataverse.”
PP.S. Our IT service assumes the PROXY to be problem. What do you think?

Hi Sleipnir,

It’s possible that your proxy could be causing issues – the Dataverse API uses SWORD and connects over HTTP – though I don’t have any documented uses of this plugin over a proxy.

The justification for creating a sub-Dataverse is because OJS needs to connect as an admin user to use the API functionality, and you may not have admin permissions on the main Dataverse, particularly if you’re using Harvard’s.

Thank you @axfelix!
So, creating a dataverse within the harvard dataverse, such as [quote=“Sleipnir, post:10, topic:338”]
https://dataverse.harvard.edu/dataverse/JABFQ[/quote] should be sufficient, right?

Do you know somebody providing Proxy support for the dataverse plugin ?

Kind regards
Sleipnir

Hi,

thanks for your hint regarding SWORD. But it uses HTTP-Transport which should be work. Even over HTTPS.

My thoughts:

  • dataverse plugin uses cURL - I believe, it ignores the OJS Proxy-Setting - but I dont able to find the portion of code which handles cURL here.
  • If someone here is involved into dataverse plugin development: The error messages should be more detailed :stuck_out_tongue:

If I find out how the plugin uses cURL (and when), it should be easy to implement proxy support. Maybe a github ticket would be better at this point.

Regards,

1 Like

Ok, figured it out:

  • DataVerse does not check anything regarding proxies. Well, the SWORD-Client does not check anything as well, but I believe the sword client is 3rd-party…? So I thought, the DataVerse Plugin should do it.

=> Proxy support for DataVerse by Commifreak · Pull Request #990 · pkp/ojs · GitHub

Checked and it works for me with this patch. Deeper tests outstanding by @Sleipnir :slight_smile:

1 Like

Thanks! We’ll see about getting this merged.

@Sleipnir any chance you can try connecting with Commifreak’s code change? I don’t have a proxy environment to test with on hand and I’m on vacation currently, but the code looks good so I’d be content to merge if we have another successful test case.

Thank you @axfelix!
Yes, the code change works perfectly! Commfreak did a very good job :relaxed:

Hi

Sleipnir works together with me in the same company. I’m the responsible administrator for our OJS instance. As far as I can say, it is working now as expected :slight_smile:

Gruß,
R. Kluth

Hi

Sleipnir works together with me in the same company. I’m the responsible administrator for our OJS instance. As far as I can say, it is working now as expected :slight_smile:

Gruß,
R. Kluth

if the dataverse isn’t in port 80 e.g (http://rin.lipi.go.id:8080/) , i have the same problem
thanks