Are there API or other options for subscription management available in OJS 3.3?

Hello,

The Journal Hosting team at my institution have a query from one of our legacy subscription journals about looking at ways to ease the workflow for updating subscriptions, rather than the current manual process. We run a multi-instance journal platform and are using OJ 3.3.14.

They’re primarily wondering if it’s possible to use an API or import/export options between an external website and the subscription area within their journal to integrate and automate tasks, such as updating subscriptions, adding new subscriptions, or removing old subscriptions. They currently have subscription payments occurring externally, so they’re looking to see if there are ways to connect these external functions to then update the subscriptions within OJS.

Based on my research looking into the REST API and OJS 3 subscription section documentation, I can’t see any functionality that would allow for this option. But I wanted to reach out to the forum in case this is possible and there is documentation to guide our journal through the implementation.

Thank you,
Sarah

Hi @Sarah_Adams1,

Have a look at the Subscription SSO plugin; it’s available in the Plugin Gallery for OJS.

Regards,
Alec Smecher
Public Knowledge Project Team

1 Like

Hi Alec,

Thanks for your response. We looked into the plugin suggested, but it doesn’t look like what the journal team is exploring.

After discussing this with our journal hosting service support team, we haven’t found another option within OJS that would support more interaction for subscription updating between an external site and OJS. Instead we’ll suggest they review their current practices and workflows to see if there are any improvements they may be able to streamline for updating their subscriptions as payments come in and subscriber status changes.

Thank you,
Sarah

Hi @Sarah_Adams1,

If you don’t mind sharing it, what system do you have your membership/subscription data in?

The Subscription SSO plugin simply delegates subscription checks to another service/system, which sounds like what you’re looking for; if the plugin doesn’t work for what you need out of the box, it might be pretty straight-forward to adapt.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi Alec,

For our OJS 3.3.0-14 version we use a Linux server. Externally, I’m not sure what our journal’s current system for subscriptions is, but I believe it’s primarily manually managed. The journal institutional subscriptions are linked with EBSCO for some of the subscription management, particularly IP addresses.

The journal is currently exploring moving to a service like Shopify, so the subscription interaction they’re looking at would be between OJS and a site capable of payment functionality. The journal is ideally looking at easing the workload of the subscription manager for keeping all the subscription information up-to-date based on subscription purchases occurring within the potential site for new and continued membership, as well as, removal of past subscription if payments are not made from within their journal instance.

I believe that’s the ideal scenario they’re looking at. They’re still in the early stages of exploring this and just seeing if this is possible. Would the SubscriptionSSO plugin work for those tasks or is that more complex that the current setup of the plugin?

If you have any recommendations or would like any more information, please let me know.

Thank you,
Sarah

Hi @Sarah_Adams1,

If you’re using IP-based subscriptions and want to manage subscriber information in Shopify, I think you might have trouble there – as far as I’m aware (and I’m no expert), Shopify won’t manage IP lists, so that information will still have to live somewhere. If you want to simplify things, your target should be to have only one system maintain lists of subscribers, but that system will then have to be capable of managing all the data you need.

Regards,
Alec Smecher
Public Knowledge Project Team

Alec, Where is the full documentation on the functionality of the subscription module? Specifically the interaction between individual and institutional subscriptions and how the system authenticates for customers who want to update the details but are NOT on the IP range specified in their subscription (eg they are working from home) Also we are looking to develop additional subscription functionality into OJS. Where would the functional spec reside please? Thank you.

Hi @radjr,

The only documentation on subscriptions that we have is in the “Learning OJS” manual:

https://docs.pkp.sfu.ca/learning-ojs/en/subscriptions

There is no particular interaction between individual and institutional institutions; OJS checks each kind separately, and either will grant access. Only institutional subscriptions support IP ranges; if someone should have access via an institutional subscription by IP range, but is e.g. working from home, they will either need…

  • a VPN or proxy like EZProxy (to get them into the institution’s IP range according to OJS)
  • an individual subscription, or
  • an outside mechanism to authenticate against (e.g. using the SubscriptionSSO plugin)

Regards,
Alec Smecher
Public Knowledge Project Team

This topic was automatically closed after 12 days. New replies are no longer allowed.