Skip to end of metadata
Go to start of metadata

Motivation

Notifications will be generated by RODL whenever there are events related to Research Objects. Examples include:

  • A checklist service evaluation change. This can be a service that is down or a hypothesis added.
  • A resource that is a part of an RO is in an obsolete format and an update is recommended.
  • The workflow is no longer runnable according to the workflow runner...

Notifications will be available in an Atom format (similar to RSS), and clients will be able to poll them to check if there is anything new. If there is, they may show it to the user on a website, send an email, etc. The primary client will be myExperiment, which at some point will be able to poll these notifications and also provide options for users to subscribe to Research Objects/packs. Meanwhile, we may test the notification service using the RO Portal.

API usage

Getting the notification feed

The clients can poll the notifications resource to get notifications. In order to ensure that they get all notifications they want, they can use the following options:

  • ro - the research object URI. If set, only notifications related to this RO will be returned.
  • from - the timestamp of the oldest notification that should be returned. The timestamp should be an ISO 8601 date time format (wikipedia).
  • to - the timestamp of the most recent notification that should be returned. The timestamp should be an ISO 8601 date time format (wikipedia).
  • source - URI of the producer of notifications.
  • limit - the maximum number of results to be returned.

If neither "from", "to" nor "limit" are set, the service should return no more than 10 notifications.

Finding related resources

Each notification is an Atom feed entry, which may have multiple link fields. Depending on the topic of the notification, the links may reference related research objects, checklist evaluation results, etc. Clients should follow them to obtain more data in machine-friendly formats (XML, JSON, RDF, etc). 

Link relations

http://purl.org/ro/service/notifications

Used in the service description to point to the notification resource URI template.

Also used in the Research Object resource in the ?RO API 6 as a Link header to point to the notification resource of that particular RO.

http://www.openarchives.org/ore/terms/describes

Used in the feed entry (i.e. the notification) to link the feed with the Research Object it describes.

http://purl.org/ro/service/evaluate/checklist

Used in the feed entry (i.e. the notification) to link the feed with the checklist evaluation result that is related to it.

HTTP methods

GET can be used to get the notifications. Notifications are read only, and no other method is available.

Resources and formats

Service description

This document is available in RDF/XML or Turtle format and contains the URI template for the notification resource. The client may create the notification URI by building the template with the following parameters:

  • ro - the research object URI. If set, only notifications related to this RO will be returned.
  • from - the timestamp of the oldest notification that should be returned.
  • to - the timestamp of the most recent notification that should be returned.
  • source - URI of the producer of notifications.
  • limit - the maximum number of results to be returned.

If neither "from", "to" nor "limit" are set, the service should return no more than 10 notifications.

Notifications

The notifications are available as an Atom feed.

An example:

References

  • No labels