Skip to content

Customizable Reviewer Recommendations #1660

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

Open
1 task
stranack opened this issue Aug 4, 2016 · 47 comments
Open
1 task

Customizable Reviewer Recommendations #1660

stranack opened this issue Aug 4, 2016 · 47 comments
Assignees
Labels
Community:2:Priority Any issue that has been identified through research or feedback as a major community priority. Enhancement:2:Moderate A new feature or improvement that can be implemented in less than 4 weeks. Hosting Bug reports and feature requests from Publishing Services's hosted clients.
Milestone

Comments

@stranack
Copy link

stranack commented Aug 4, 2016

Describe the problem you would like to solve
Reviewers are presented with a list of recommendations they can choose from, such as accept, decline, request revisions, etc. This list is not appropriate for all journals. Some would like to change the list to reflect their review practices.

Describe the solution you'd like
Somewhere in the settings where review recommendations can be added, edited or removed.

Who is asking for this feature?
Requests on the forum, PKP's publishing services, and institutional partners.

Additional Information

  • It should not be possible to delete reviewer recommendations that are used in exisiting reviews, but it should be possible to decommission them so they cannot be used by future reviewers.

Specs Update - Friday, September 27th, 2024

Workflows Affected by This Change

  • Settings > Workflow > Review - Here a new tab will be added here for customisable review recommendations

Detailed Specs

We can add a section in Settings > Workflow > Review > Review Recommendations. This would include a default list of review recommendations that JMs and JEs can easily modify, add to, or activate/deactivate. I left out the option to delete recommendations, as the activate/deactivate feature offers a good workaround while still keeping a record of past recommendations.

Video Recording: https://youtu.be/cYb3U1FRH_0
The Designs can be found here: https://www.figma.com/design/Wf7sDlUg2372jaKKTJ0Mgz/OJS-3.4-3.5?node-id=8862-8486&t=sf2uoFGq6lBMtfCU-4
Prototype: https://www.figma.com/proto/Wf7sDlUg2372jaKKTJ0Mgz/OJS-3.4-3.5?page-id=7200%3A7069&node-id=8862-8487&node-type=frame&viewport=1704%2C-15906%2C0.23&t=mAQY2jdYCKArumzF-1&scaling=min-zoom&content-scaling=fixed&starting-point-node-id=8862%3A8487

UI Development Guidance

Components to be used would be (all can be found in storybook):

  • Listing: Table + DropdownActions + Badge (that need new grey variant, if you need help to extend it let me know) + Button
  • Form: FieldText + FieldSelect // and don't get confused by the fact it looks different than on designs. This is how our forms will look in future.
  • Form should be created on PHP side as we don't have tooling to do it client side.

In general just use the latest stuff - composition API, tailwindCSS.

PRs (draft)
pkp-lib --> #10583
ui-library --> pkp/ui-library#444
reviewReport --> pkp/reviewReport#56
ojs --> pkp/ojs#4505
omp --> pkp/omp#1851
ops --> pkp/ops#883

@stranack stranack added this to the OJS 3.0.1 milestone Aug 4, 2016
@asmecher asmecher modified the milestones: OJS 3.1, OJS 3.0.1 Sep 9, 2016
@asmecher asmecher removed this from the OJS 3.1 milestone May 9, 2017
@NateWr NateWr added the Community:2:Priority Any issue that has been identified through research or feedback as a major community priority. label Nov 4, 2019
@NateWr
Copy link
Contributor

NateWr commented Nov 4, 2019

This has been requested https://forum.pkp.sfu.ca/t/question-about-review-response-options/56499/2 and according to @ajnyga it is a common request, so I'll put the community priority label on it.

Unfortunately it's not so simple as just letting people add or rename them. The new editorial statistics calculate things like acceptance and rejection rates, and average time from submission to acceptance or rejection. For these statistics, we need to know precisely what a decision means.

For review recommendations we don't yet need this precision. But I can see such a desire for this in the future: for example, wanting to know the average accept/reject recommendations for an accepted submission, the average number of revisions requested, etc.

@ajnyga
Copy link
Contributor

ajnyga commented Nov 4, 2019

Thanks for the explanation, I was unaware of the editorial stats (but they sound great)

A quick idea here is of course to have "types" of decisions coupled with freely editable label.

Meaning that you can for example create a decision with the type "Request revisions" and the label "Please try again".

The types then would be of course hard coded, but you could have several of the same type in the list of available decisions.

Edit: just checked and did find at least three requests on this from the forum. In our case, out of the 80 journals we have, at least four have asked about this. They all wanted to have "Minor revisions" / "Major revisions" labels instead of the OJS default ones.

@alexxxmendonca
Copy link
Contributor

A quick idea here is of course to have "types" of decisions coupled with freely editable label.

This is how ScholarOne operates indeed.

@amandastevens amandastevens added the Hosting Bug reports and feature requests from Publishing Services's hosted clients. label Nov 4, 2019
@asmecher
Copy link
Member

asmecher commented Nov 4, 2019

Just to highlight something Nate said:

It would be relatively easy to allow customization of the reviewer recommendations. Nothing programmatic depends on them. Adding, removing, modifying, etc. would all be possible without major implications.

Editor decisions are not so simple. When you record an editor decision, it has major impacts on how the workflow proceeds. Re-labeling the decisions would be possible without major impacts, but adding and removing options would need some serious consideration.

@ajnyga
Copy link
Contributor

ajnyga commented Nov 4, 2019

Usually the request concerns just the reviewer recommendations.

Are there more cases than these when the workflow is affected:

  1. Request revisions / resubmit for review
  • I have a feeling that both affect the workflow the same way. Meaning that if I do "Resubmit for review", the workflow does not force me to start a new review round and vice versa if I do a "Request revisions".
  1. Decline
  2. Accept / send to copyediting

@NateWr
Copy link
Contributor

NateWr commented Nov 4, 2019

Are there more cases than these when the workflow is affected

In terms of stats, the acceptance/rejection from the submission stage is calculated as desk accept / desk reject. So that would need to be preserved as a distinct type.

As far as I know, the only stats we calculate related to review involve the number of rounds. So the exact difference between "resubmit" and "request revisions" is not calculated.

@ajnyga
Copy link
Contributor

ajnyga commented Nov 4, 2019

I would get to decide, I would replace the "resubmit/revisions required" lingo with "major/minor" revisions at least in the code. Meaning that there would be two "revisions needed" types that could be counted in the stats if needed. The labels by default could still look like "resubmit for review / revisions required" if we want to preserve that.

Having the types "major/minor revisions" needed in the code better reflects the way things are working. Meaning that "resubmit for review" decision does not necessarely lead to a new review round -> the editor can still just approve the changes and go forward.


But, do we need to have the same list of options both for the review recommendations and the editorial decisions if the two are not communicating in the code? AFAIK the recommendation is just a visible label for the editor. Why not allow the journals to edit whatever values they want to have there and deal with the actual editorial decisions separately?

@NateWr
Copy link
Contributor

NateWr commented Nov 4, 2019

deal with the actual editorial decisions separately?

They are separate already.

@ajnyga
Copy link
Contributor

ajnyga commented Nov 4, 2019

Sure I realize that. I just meant that why not start with the issue just by allowing journals to edit the review recommendation options. If we got more far reaching requests later, then we can consider a more complicated solution. With just the recommendations it should not be a big change to the code. But it could be that allowing journals to edit those labels will automatically create a request to be able to edit the editorial decisions labels as well.

@unkej
Copy link

unkej commented Mar 4, 2020

Hi @ all,
I just want to add a "like" to this. If journal editors (or admins without getting too deep into the code) are able to edit the reviewer recommendations, it would be very nice.

@amandastevens
Copy link
Contributor

amandastevens commented Jul 7, 2020

Another +1 for editable reviewer recommendations from a Publishing Services client.

@NateWr
Copy link
Contributor

NateWr commented Jul 7, 2020

@amandastevens is that a +1 for editable reviewer recommendations or editorial decisions or both?

@amandastevens
Copy link
Contributor

Oops, didn't realize these were 2 separate things. It was reviewer recommendations - I edited my above comment.

@NateWr NateWr changed the title Flexible Editorial Decisions + Reviewer Recommendations Customizable Reviewer Recommendations Jul 8, 2020
@NateWr
Copy link
Contributor

NateWr commented Jul 8, 2020

It seems like the more widespread community priority is reviewer recommendations. I have repurposed this issue to focus on reviewer recommendations and split the request for customizable editorial decisions out into its own issue: #6074.

Before we move forward, I'd like to see a few more details provided to better understand the use-cases. What are some examples of different review recommendations that your journals would like to use?

I'd like to retain some information that can be used for editorial statistics. We will need a way to be able to say things like "how many reviews request revisions" or "how many reviewers accept a piece in round 1 vs round 2". To do this, we'll need to settle on some basic recommendation categories from which one or more recommendations stem.

@unkej
Copy link

unkej commented Jul 8, 2020

One of our journals asked for these changes, if this is what your are looking for:
Accept Submission -> Accept (I think this needs no change)
Revisions Required -> Acceptable after minor revisions
Resubmit for Review -> Not acceptable without major revisions
Resubmit Elsewhere -> Reject
Decline Submission -> Reject

@NateWr
Copy link
Contributor

NateWr commented Jul 8, 2020

That's great, thanks @unkej!

@amandastevens
Copy link
Contributor

Sometimes editors want new options and sometimes they want to customize the wording on the existing options. The recent request was for this:

  • Accept
  • Require minor revisions
  • Require major revisions and resubmitting
  • Reject
  • See notes

@NateWr
Copy link
Contributor

NateWr commented Jul 9, 2020

Do all the desired options we know of fit into three categories: accept, revise or reject? I'm thinking "see notes" would count as a revise recommendation. Or perhaps we need an "other" category as a catch-all for recommendations that don't fit.

This would allow us to provide editorial statistics about these three categories, while letting journals build whatever recommendation options they want on top. This way we could provide accurate long-term stats about number of reviews that result in accept, revise or reject. But not necessarily provide accurate long-term stats about the number of reviews that go for minor revisions vs major revisions. They'd get lumped together in the stats.

(That's because if the options are editable, they can change over time and therefore can't be used as accurate statistical indicators.)

touhidurabir added a commit to touhidurabir/ops that referenced this issue Apr 23, 2025
touhidurabir added a commit to touhidurabir/ops that referenced this issue Apr 23, 2025
pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##
touhidurabir added a commit to touhidurabir/omp that referenced this issue Apr 23, 2025
touhidurabir added a commit to touhidurabir/omp that referenced this issue Apr 23, 2025
pkp/pkp-lib#1660 Migration breakdown in separate processes

pkp/pkp-lib#1660 added missing method in app level application class

pkp/pkp-lib#1660 updated the migration down process
touhidurabir added a commit to touhidurabir/omp that referenced this issue Apr 23, 2025
pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##
touhidurabir added a commit to touhidurabir/omp that referenced this issue Apr 23, 2025
touhidurabir added a commit to touhidurabir/omp that referenced this issue Apr 23, 2025
pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##
touhidurabir added a commit to touhidurabir/ui-library that referenced this issue Apr 24, 2025
pkp/pkp-lib#1660 remove static recommendations and added dymanic recommendations pulling

pkp/pkp-lib#1660 updated activate/deactivate process

pkp/pkp-lib#1660 behaviour update of checkbox to activate/deactivate

pkp/pkp-lib#1660 table view implementation

pkp/pkp-lib#1660 set used recommendation uneditable

pkp/pkp-lib#1660 updated dropdown action component

pkp/pkp-lib#1660 removed unused imports

pkp/pkp-lib#1660 make recommendations optional for reviewer manager component to support OMP/OPS

pkp/pkp-lib#1660 added js side html sanitizer to handle XXS issue

pkp/pkp-lib#1660 removed value attributes form recommendation
touhidurabir added a commit to touhidurabir/ui-library that referenced this issue Apr 24, 2025
pkp/pkp-lib#1660 fixing storybook

pkp/pkp-lib#1660 issue when recommendation not available

pkp/pkp-lib#1660 tag remove for put text presentation

pkp/pkp-lib#1660 Better escaping added
touhidurabir added a commit to touhidurabir/ui-library that referenced this issue Apr 24, 2025
touhidurabir pushed a commit to touhidurabir/ui-library that referenced this issue Apr 24, 2025
touhidurabir added a commit to touhidurabir/ui-library that referenced this issue Apr 24, 2025
touhidurabir added a commit to touhidurabir/ui-library that referenced this issue Apr 24, 2025
touhidurabir added a commit to touhidurabir/ojs that referenced this issue Apr 24, 2025
touhidurabir added a commit to touhidurabir/ojs that referenced this issue Apr 24, 2025
touhidurabir added a commit to touhidurabir/ojs that referenced this issue Apr 24, 2025
touhidurabir added a commit to touhidurabir/ojs that referenced this issue Apr 24, 2025
pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##
touhidurabir added a commit to touhidurabir/ops that referenced this issue Apr 24, 2025
pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##
touhidurabir added a commit to touhidurabir/omp that referenced this issue Apr 24, 2025
pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##
touhidurabir added a commit to touhidurabir/ojs that referenced this issue Apr 24, 2025
pkp/pkp-lib#1660 migration to import existing recommendations

pkp/pkp-lib#1660 added temp upgrade migration

pkp/pkp-lib#1660 default recommendation at new context add

pkp/pkp-lib#1660 set used recommendation uneditable

pkp/pkp-lib#1660 migration update

pkp/pkp-lib#1660 centarlize the recommendation settings page access

pkp/pkp-lib#1660 undo the centarlization the recommendation settings page access

pkp/pkp-lib#1660 moving app specific codes

pkp/pkp-lib#1660 moving app specific codes on context create and delete

pkp/pkp-lib#1660 register recommendation repo only at app level

pkp/pkp-lib#1660 add check at context service level to determine if can have customizable review recommendation

pkp/pkp-lib#1660 removed context id from route
touhidurabir added a commit to touhidurabir/ojs that referenced this issue Apr 24, 2025
touhidurabir added a commit to touhidurabir/ojs that referenced this issue Apr 24, 2025
pkp/pkp-lib#1660 fixed migration order for install

pkp/pkp-lib#1660 fixed migration order for install

pkp/pkp-lib#1660 migration process update

pkp/pkp-lib#1660 upgrade migration for postgresql

pkp/pkp-lib#1660 Migration file rearranged

pkp/pkp-lib#1660 Migration update and better escaping

pkp/pkp-lib#1660 escaping and migration update

pkp/pkp-lib#1660 updated type hint

pkp/pkp-lib#1660 revert the escaping implemeantion for array of recommendations

pkp/pkp-lib#1660 added missing upgrade migration

pkp/pkp-lib#1660 trying to fix postgre test
touhidurabir added a commit to touhidurabir/ojs that referenced this issue Apr 24, 2025
touhidurabir added a commit to touhidurabir/ojs that referenced this issue Apr 24, 2025
touhidurabir added a commit to touhidurabir/ojs that referenced this issue Apr 24, 2025
pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##
touhidurabir added a commit to touhidurabir/ops that referenced this issue Apr 24, 2025
pkp/pkp-lib#1660 Migration breakdown in separate processes

pkp/pkp-lib#1660 updated the migration down process

pkp/pkp-lib#1660 migration update
touhidurabir added a commit to touhidurabir/ops that referenced this issue Apr 24, 2025
pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##
touhidurabir added a commit to touhidurabir/omp that referenced this issue Apr 24, 2025
pkp/pkp-lib#1660 Migration breakdown in separate processes

pkp/pkp-lib#1660 added missing method in app level application class

pkp/pkp-lib#1660 updated the migration down process
touhidurabir added a commit to touhidurabir/omp that referenced this issue Apr 24, 2025
pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##

pkp/pkp-lib#1660 Submodule Update ##touhidurabir/i1660_main##
@touhidurabir
Copy link
Member

Hi @asmecher all tests are passing and good to merge . Only OJS upgrade (mysql and pgsql) tests are failing at very end but because of wrong commit points to oaiJats .

But I can not merge as don't have write permission to https://github.com/pkp/reviewReport and all PRs should merge at a time. can you please merge the PRs at #1660 (comment) .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Community:2:Priority Any issue that has been identified through research or feedback as a major community priority. Enhancement:2:Moderate A new feature or improvement that can be implemented in less than 4 weeks. Hosting Bug reports and feature requests from Publishing Services's hosted clients.
Projects
Status: Specification In Progress
Status: In Progress
Status: Under Development
Status: In Review
Development

No branches or pull requests