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
299 stars 444 forks source link

Allow journal managers to invite users to adopt a role #3022

Open ajnyga opened 6 years ago

ajnyga commented 6 years ago

Tagging @bozana here

The issue is discussed here: https://forum.pkp.sfu.ca/t/ojs3-editing-user-roles-in-multi-journal-installations/28711

The problem: if a user is registered to more than one journal, the journal manager can not edit the roles the user has in her journal. In OJS2 this was possible and in OJS3 journal managers can still add the reviewer role when doing a review assignment.

Suggestion:

Problem with legislation: @bozana raised the problem with data privacy and user "contracts". Maybe we could just send a notification when journal managers adds a new role for a user. Basically the same thing we do now with the reviewers in OJS3.

librariam commented 2 years ago
asmecher commented 2 years ago

Note from the CRedIT Helsinki sprint group: When an invitation process is supported for co-authorship, consider the QuickSubmit plugin being used for back-issue entry. Historical submissions will include authors without emails and an invitation process will not be workable; in this case editors should be able to authorship data directly.

Another complicated example: a submission includes a photograph of a sculpture. It may be necessary to credit the sculptor and the photographer.

luizbgomide commented 2 years ago

+1 from a multi-journal admin

Devika008 commented 1 year ago

Hello,

I made a user flow that reflects the all the research, discussions and feedback received on this issue over the last few years along with some minor testing with a small user group at the Copenhagen Sprint. A big shout out to @withanage, @ajnyga, @bozana, @asmecher, @jardakotesovec and John for helping me fine tune the work further and make the process more GDPR compliant.

Summary of the requirement

  1. In the “Users & Roles” section of the settings, we add a new “Invite user to take a role” action that can be used to invite any user to the journal OJS software based on an email address. The email sent will add the following:

    • Invitation request along with details of the role, starting date etc.
    • ORCiD verification details
    • GDPR compliance
  2. Reviewer can be added to OJS in two ways

    • Through the review section of the submission: Here the Journal Manager (JM henceforth) / Editor can click on “Add a reviewer” action and will see the following: Reviewers already associated with the Journal and added to OJS and send a review request to them, “Add a new user”- here the JM/Editor can invite a user via email to not only review the submission but also be an OJS user in reviewer capacity- and “Enroll an existing user” - here the JM/Editor can add the reviewer role to a user who already has other OJS roles along with sending an invitation to review the submission.
    • Through the “Users & Roles” section: Here the JM/Editor can either add a new user to OJS as a reviewer or add a reviewer role to an existing OJS user. The user will then be shown in the existing reviewer section of “Add a reviewer” on a submission.
  3. Multiple hosted Journal OJS Installation: For Multiple Hosted Journals, Editors/ JMs cannot access information of users of one Journal to another. In spite of the journals being hosted on the same OJS instance, the user will have to go through the verification again to protect the information to be GDPR compliant. This is the same method followed by likes of Slack wherein even if the channel is hosted by the same company, the invitation process needs to be followed and accepted by the user. However, I as a user will not have to create a new account, I can use my existing OJS logins and verify and accept the role.

  4. Other important considerations

    • Even if the user information is publicly available, the JM / editor cannot input the information without consent. This will be translated in the journey in a way where the editors can input the information but they wont be stored in the system. They are shown to the user as suggestions when they accept the invite and the user approves or changes it. Post which the information is stored in the system
    • Co-author reauthorization is required even if the user is an existing OJS user
  5. ORCiD Pre-requisite

    • Starting with 3.5.0, ORCiD Verification would not happen through a plugin. We're rewriting ORCiD support to be integrated into OJS rather than maintaining a plugin. The option to make ORCiD mandatory should be present as part of the 3.5.0 implementation; it shouldn't be necessary to write up a plugin to add the "make ORCiDs mandatory" checkbox.
    • If the JM/System Administrator/Editor has marked ORCiD verification as mandatory, then the email invitation sent will highlight that the verification is mandatory. If it’s not enabled then the ORCiD mandatory message on the email will not be shown
    • Mandatory or not, when the user is redirected to the ORCiD website to verify they have an option to skip the step. Since we cannot customize the ORCiD verification screen to show skip or not, the email will be the vehicle for communication.

Below are the user flows for inviting users to a role in OJS

A. Landing Page ( Settings > Users & Roles > Users)

image

B. The JM/editor needs to add a new role to a known user and searches for the user via their username or email ID by clicking on “invite user to take a role

  1. image
  1. image

How the roles table functions

  1. image

  2. image

  3. image

  4. image

C. The JM/editor needs to add a new role to a known user and finds the user in the list or searches for the user via their username or email ID.

  1. image

  2. image

  3. image

  4. image

  5. image

  6. image

  1. image

  2. image

D. The editor needs to add a new user and the user doesn’t have any existing OJS Account

  1. image

  2. image

  1. image

  2. image

  3. image

  4. image

  5. image

  6. image

  7. image

  8. image

E. For Multiple Hosted Journals, Editors/ JMs cannot access information of users of one Journal to another. In spite of the journals being hosted on the same OJS instance, the user will have to go through the verification again to protect their information and fort he process to be GDPR compliant. This is the same method followed by likes of Slack wherein even if the channel is hosted by the same company, the invitation process needs to be followed and accepted by the user. However, I as a user will not have to create a new account, I can use my existing OJS logins and verify and accept the role

  1. image

  2. image

  3. image

  4. image

  5. image

As you can see the process is similar upto this point because to the editor its inviting a new user to their journal.

  1. image

  2. image

An existing OJS user, has two options here, either to link their existing OJS account or to create a new one using a new email id. Do note that even if the user uses an existing account, no information about the user activity can be shared with other journals in the same installation

  1. image

  2. image

Devika008 commented 1 year ago

Continuing from the previous comment, here are the workflows for editors inviting reviewers.

As mentioned above the reviewer can be added to OJS in two ways - Through the review section of the submission: Here the Journal Manager (JM henceforth) / Editor can click on “Add a reviewer” action and will see the following: Reviewers already associated with the Journal and added to OJS and send a review request to them, “Add a new user”- here the JM/Editor can invite a user via email to not only review the submission but also be an OJS user in reviewer capacity- and “Enroll an existing user” - here the JM/Editor can add the reviewer role to a user who already has other OJS roles along with sending an invitation to review the submission. - Through the “Users & Roles” section: Here the JM/Editor can either add a new user to OJS as a reviewer or add a reviewer role to an existing OJS user. The user will then be shown in the existing reviewer section of “Add a reviewer” on a submission.

Here, I am showing the workflow of editor inviting the reviewer from the reviewer panel in the workflow

image

image

A. The reviewer does not have an existing user account. And the JM/Editor want to invite the reviewer through the reviewer panel in the submission

  1. image

  2. image

  3. image

  4. image

  5. image

  6. image

  7. image

  8. image

  9. image

  10. image

B. Enrol Existing User as a reviewer who is ORCiD Verified

  1. image

  2. image

  3. image

  4. image

  5. image

  6. image

C. Invite existing reviewer (not ORCiD Verified)

  1. image

  2. image

  3. image

  4. image

  5. image

  6. image

Devika008 commented 8 months ago

Hello,

As this issue had too many components and journey's mashed into one, for decreasing the cognitive load on everyone, we all decided to break down the issue into four parts each highlighting an important element. If I have missed anything, please feel free to add them in the issues:

  1. Allow Journal Managers to invite users to adopt a role - Editors, Authors, Readers, etc

  2. Allow Journal Managers to Invite users to adopt a role - Reviewers

  3. Allow Journal Managers to invite users to adopt a role - GDPR

  4. Allow Journal Managers to invite users to adopt a role - ORCiD