pkp / pkp-lib

The library used by PKP's applications OJS, OMP and OPS, open source software for scholarly publishing.
https://pkp.sfu.ca
GNU General Public License v3.0
304 stars 444 forks source link

Add calendar integrations for review assignment emails in Outlook and Gmail #7044

Open NateWr opened 3 years ago

NateWr commented 3 years ago

Describe the problem you would like to solve Reviewers frequently miss deadlines to respond to review requests or complete review assignments.

Describe the solution you'd like Popular email clients support markup in the email that can integrate with a user's calendar. Google supports event registration markup and Outlook supports what it calls actionable messages.

If possible, we should include the appropriate markup to add reviewing deadlines to a reviewer's calendar. It may also be possible to use Outlook's actionable messages API to provide quick links to access/confirm/reject review requests.

Who is asking for this feature? We have not received any requests for this feature yet.

Additional information It may not be possible to integrate with the calendar in Outlook. The RSVP system that I've seen may only work when the sender is sending an event invitation from within the same 365 network.

forgive38 commented 2 years ago

We could join an Ical file with the review request email for email clients that not support markup. like this :

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Open Journal System//v3.4//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALDESC:Review Request 
X-WR-TIMEZONE:Europe/Paris
BEGIN:VEVENT
SUMMARY:[JournalName] Review Request : Response Due
DTSTART;VALUE=DATE-TIME:20220318T093000Z
DTEND;VALUE=DATE-TIME:20220318T103000Z
DTSTAMP;VALUE=DATE-TIME:20220318T121124Z
UID:submissionId_reviewassignmentId_response@journal.url
DESCRIPTION:You have a review request from [JournalName]\n Title: The influ
 ence of lactation on ...\nAuthors: Corino et al.\nAbstract: We proove that
 ...\nURL: https://ojs_install/workflow/re...\nResponse Due Date: 18-03-202
 2
URL:https://some_url_ojs_install/workflow/review/response/
END:VEVENT
END:VCALENDAR

a drawback is client like outlook or thunderbird doesn't support two events in one file: need to join 2 ics files, one for response due date, one for review due date.

diegoabadan commented 2 months ago

Lepidus has developed a plugin for OJS 3.4: https://github.com/lepidus/reviewReminder

Thanks to the South African Medical Association for funding the development of this plugin.

asmecher commented 2 months ago

@diegoabadan, very interesting! I've been experimenting with something similar as an integration to OJS, using a third party library (jasvrcek/ICS) for ICS generation. The experiment is in using ICAL RSVPs to allow reviewers to accept/decline reviews right in the email client, but I'll include review due dates with that. I'd love it if you could have a look so we can align requirements. Here is my work so far: pkp-lib ojs

diegoabadan commented 2 months ago

Cool Alec! Our team is looking into it and we should get back to you soon.

diegoabadan commented 1 month ago

Nice experiment, Alec!

The jasvrcek/ICS library allows for a more elegant code and being able to accept/decline directly from the e-mail seems very convenient to me.

Your idea is to align with 3.5 in mind, am I right?

As for the handling of messages received by an inbox monitored by OJS, this opens the way for us to deal with handling bounces. Would you like to talk about that too in an appropriate place?

asmecher commented 1 month ago

@diegoabadan, I actually moved recently from the jasvrcek/ICS library over to sabre/vobject instead -- it allows both creation and parsing of ICS files, where jasvrcek/ICS only allowed creation. Parsing is required when handling RSVP responses. Yes, I'd like to get this worked into 3.5, but it's still experimental so not 100% confirmed yet.

I'm following the conversation about VERP over on Discourse -- I'll drop a couple thoughts there.