Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

REST API should return more information about submission editorial activity #8885

Closed
NateWr opened this issue Apr 6, 2023 · 11 comments
Closed
Assignees
Labels
Enhancement:3:Major A new feature or improvement that will take a month or more to complete.
Milestone

Comments

@NateWr
Copy link
Contributor

NateWr commented Apr 6, 2023

Describe the problem you would like to solve
The new submissions lists (#7495) need to show a lot more information about a submission's editorial state. This includes information related to editorial decisions, review round status, and review assignments.

Describe the solution you'd like
The submissions list already makes a lot of database calls for each submission returned. Adding more could significantly slow down the submission dashboard. I don't know the best way to solve this problem, but some ideas:

  1. Make better use of jobs to compile and cache data about editorial activity. For example, when a review assignment is added, edited or deleted, data could be compiled about all review assignments and saved to the submission_settings table.
  2. Extend the submission DAO to support grabbing editorial activity in a single DB call. This would involve some complex table joins, but may be performant now that foreign keys and indexes are used everywhere.

Who is asking for this feature?
This is needed to implement the new submissions table view (#8880) for #7495. Much of this information was the highest priority following user tests.

**Editorial Activity **
The most complicated information to be returned is in the Editorial Activity column (see mockups in #8880). The following table outlines the conditions under which certain data needs to be available.

Activity Conditions to display it
Assign Editors No deciding editors are assigned to the submission.
Assign Reviewers In a review stage and 0 review assignments exist in the current round. Declined and cancelled review assignments are not counted.
Review assignment circles In a review stage and 1 or more review assignments exist in the current round. Declined and cancelled review assignments are not counted or shown.
Revisions Requested There is a revisions requested decision in the current review round and no revisions have been uploaded to that round.
Revisions Submitted: Review Revisions There is a revisions requested decision in the current review round and 1 or more revision files have been uploaded to that round.
All Recommendations In The current user is a deciding editor and there are 1 or more recommending editors assigned to the current stage and all recommending editors have submitted a recommendation.
Scheduled to be published The submission status is STATUS_SCHEDULED. In OJS, it should show the issue it is scheduled in.

It may be better to calculate these conditions on the server and return specific data with the API responses. Or it may be better to include the general data (for example, review assignments, round, last decision), and let the UI determine what to show.

Review Assignment Circles
In order to display the review assignment circles, we'll need the following information about each active review assignment (not declined or cancelled):

  • ID
  • Date assigned
  • Response due date
  • Review due date
  • Status (submitted, confirmed, thanked)
@NateWr NateWr added the Enhancement:3:Major A new feature or improvement that will take a month or more to complete. label Apr 6, 2023
@NateWr NateWr added this to the 3.5 milestone Apr 6, 2023
@NateWr
Copy link
Contributor Author

NateWr commented Apr 6, 2023

On the Days in Stage column from @Devika008:

Some users requested to show the days in status instead of days in stage but it was difficult to retain and hence decided to retain days in stage as people did appreciate the metric.

@Devika008 what do you think about using days in round for the review stage? When an editor starts a new round of review, the days in stage goes back to 0. That way, delays due to the author not sending in revisions aren't counted. It's kind of like: days since the editor last took a major decision.

@Vitaliy-1
Copy link
Collaborator

PRs
pkp-lib: #9589
OJS: pkp/ojs#4131

Vitaliy-1 added a commit to Vitaliy-1/pkp-lib that referenced this issue Jan 12, 2024
Vitaliy-1 added a commit to Vitaliy-1/ojs that referenced this issue Jan 12, 2024
@Vitaliy-1
Copy link
Collaborator

@defstat, I think you have been working on a similar issue, do you have time to review this? To avoid potential performance problems I've used the approach described here: #9394 (reply in thread)

@Vitaliy-1
Copy link
Collaborator

Reminder to include additional data: reviewer name and submission title

Vitaliy-1 added a commit to Vitaliy-1/pkp-lib that referenced this issue Apr 27, 2024
Vitaliy-1 added a commit to Vitaliy-1/pkp-lib that referenced this issue Apr 27, 2024
Vitaliy-1 added a commit to Vitaliy-1/ojs that referenced this issue Apr 27, 2024
Vitaliy-1 added a commit to Vitaliy-1/pkp-lib that referenced this issue Apr 29, 2024
Vitaliy-1 added a commit to Vitaliy-1/ojs that referenced this issue Apr 29, 2024
@Vitaliy-1
Copy link
Collaborator

@defstat, do you have time to review the PR?

@jardakotesovec
Copy link
Contributor

@Vitaliy-1 Would these changes also add reviewer name to the /api/v1/submissions/{submissionId} end point? Review assignments are already there, only reviewer name is missing.

@Vitaliy-1
Copy link
Collaborator

@jardakotesovec, I've added the review/stage assignments data to the submission's schema and you reminded me that it's now available not only through BackendSubmissionController but also through endpoints with permissions for authors... I need to fix that.

@Vitaliy-1
Copy link
Collaborator

Opened a separate issue: #9956

@Vitaliy-1
Copy link
Collaborator

@jardakotesovec, regarding reviewer name, can you describe in more details where reviewer names would be used? I don't see them originally on the mockups for submission lists. Also, for whom this data should be available?

@jardakotesovec
Copy link
Contributor

@Vitaliy-1 that would be for editors, when they click on 'review assignment' circle to display details of that review assignment.

Screenshot 2024-05-10 at 16 23 16

@jardakotesovec
Copy link
Contributor

@Vitaliy-1 Can you please also include reviewMethod in reviewAssignments for _submission and /submission/{submissionId} endpoints?

Vitaliy-1 added a commit to Vitaliy-1/pkp-lib that referenced this issue May 15, 2024
Vitaliy-1 added a commit to Vitaliy-1/pkp-lib that referenced this issue May 15, 2024
Vitaliy-1 added a commit to Vitaliy-1/pkp-lib that referenced this issue May 15, 2024
Vitaliy-1 added a commit to Vitaliy-1/ojs that referenced this issue May 15, 2024
Vitaliy-1 added a commit that referenced this issue May 16, 2024
[WIP] #8885 Retrieve review assignments associated with submissions list
Vitaliy-1 added a commit to pkp/ojs that referenced this issue May 16, 2024
@github-project-automation github-project-automation bot moved this from Backlog to Done in Editorial Workflow May 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement:3:Major A new feature or improvement that will take a month or more to complete.
Projects
Status: Done
Development

No branches or pull requests

4 participants