openlibhums / openlibhums/janeway

Cited By: Implement an endpoint for Crossref's Notification callback service

Open
#3,635 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

dev-ready Metadata new feature
Dominant language
Python
Stars
238
Forks
97
Avg merge
9d 1h
Merged PRs (30d)
8

Description

Is your feature request related to a problem? Please describe.
Janeway can currently fetch cited-by data on demand using a command line utility (metrics.fetch_forward_links)

Crossref have since made available a notification callback service which would allow them to "push" notifications on cited-by (and also for XML deposits) rather than having to follow a "pull" approach.
https://www.crossref.org/documentation/register-maintain-records/verify-your-registration/notification-callback-service/

Describe the solution you'd like
Implement an endpoint that we can share with Crossref for their notification callback service.
When a journal is configured to use the Crossref integration, a deposit is made indicating the URI for the payloads to be sent to.

Additional context
We still need to preserve the pull approach in order to process past cited-by data when a journal is being setup or problems have occurred processing the push feed from Crossref. This utility needs some new work as well to ensure it can cope with large payloads, by chunking the requested dataset, as it often times out when asking for the cited-by data for a large installation.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the metrics.fetch_forward_links command and the Crossref notification callback service documentation, then trace the existing Crossref integration and deposit configuration. Done means a shareable callback endpoint is implemented while the pull workflow remains available and can process large cited-by datasets in chunks.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.