OJS3 editing user roles in multi-journal installations

Hi,

In OJS2 a journal manager was able to give roles to users from other journals. However, in OJS 3.0.2. the situation seems to be different.

If a user has a role in journal A the editor of journal B can not edit the profile of that user.

Is this intended? What I would expect to see is that the editor in Journal B could enroll other users as editors even if they are enrolled in other journals.

1 Like

Hi @ajnyga,

The intended behavior is that a manager can work with users who span several journals, but only if they manage all other journals that user works with. This should be unchanged from OJS2. Is that consistent with what you’re seeing?

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher,

I think there is a central difference here between OJS2 and OJS3.

Suppose we have a situation where the editor/journal manager in Journal B wants to enroll a new section editor and the user in mind is an author in Journal A.

In OJS2 the journal manager could go to journal manager menu, click section editors and then “Enroll an existing user”. This would show a list of all users from all journals and the journal manager could enroll these users to their journal. They did not need to be a journal manager in any other journals.

In OJS3 I can not do that. When I go to the Users & Roles => Users => Search and select “Include users with no roles in this journal.” and search the user from other journal, there is no way I can enroll her as a section editor, because clicking “Edit user” gives an error.

What this means is that the site administrator now has to take care of a lot of the user enrollments in multi journals installations. I have been contacted with these issues at least ten times during the last 2-3 weeks. Most of the contacting editors have been using OJS2 as well and recall that this did not use to be an issue.

You are right that the policies in editing an user profile has not changed. But OJS3 would need a similar way of enrolling users as OJS2 had.

1 Like

Hi @ajnyga,

Hmm, we’ve had to be somewhat careful with user accounts in light of the EU privacy controls (which I think are generally logical). As I understand it (@bozana might know better) in a multi-journal installation the user will have a “contract” with the journal they register for, but not necessarily with the other journals on that site. If we allow a journal manager from another journal to go in and register a user that doesn’t have a contract, that may be a violation of the user’s privacy.

It depends on what kind of entity the installation is. If it’s e.g. a publisher, then the user might have a “contract” with the company. If it’s a service provider that hosts journals for many publishers, though, that’s probably not the case.

What kinds of users are you being asked to enroll? Are these e.g. authors who want to submit in other journals (per the other thread)?

Regards,
Alec Smecher
Public Knowledge Project Team

Hi,

These are cases where an editor is enrolling (or removing) editorial staff: editors, section editors, layout editors, copyeditors. etc. Now in OJS3 if an editor tries to enroll for example a section editor and the user already is registered as an author to another journal, only the site manager is able to do the enrolling. There have been a lot of these cases.

I understand if you need to follow EU privacy controls, but maybe I am missing something here, because to my knowledge in OJS2 journal managers can enroll users from other journals to their journal basically to any role? Also in OJS3 you can enroll users as reviewers from other journals. I can not see how that is different from enrolling someone as a section editor or copyeditor?

I think that in the cases where you enroll editorial staff the person getting enrolled is always aware of what is happening and I also think that it is actually safer to let the journal editors to do the enrolling while they actually know who they are enrolling. I have had a lot people contacting me and asking me to add them as editor to a journal and in many cases I do not actually know these people because we have over 30 journals in our installation.

Lastly, I understand that editing someones profile would be in violation of users privacy, but in this case we are only talking about granting access.

1 Like

Hi @ajnyga and @asmecher

Ah, now I think I understand

So, we have this situation:
Only the user having JM role in the journal the user is registered for can enroll that user in another journal (also being JM there) .
When the option “Include users with no roles in this journal.” is selected all the users (user first name, last name, username and e-mail address is displayed) are displayed, from all journals in that installation.

I believe we have two problems to deal with:

  1. the user data, although minimal and usually public, should maybe not be displayed for ‘others’
  2. a user shouldn’t be enrolled in a context by someone else, i.e. theoretically the user should agree to it/do it by her/himself

On the other side, the system should be usable i.e. easy to use and fulfill the tasks.

Thus, I am not 100% sure, but maybe we could solve this by:

  • not displaying all the users but only those matching the search input field text (meaning that the JM exactly knows the user she/he is looking for),
  • allowing JM to just enroll those users (and not all the other functions like edit, remove, disable), assuming that because she/he knows exactly those users, she/he already confirmed that they will be enrolled with them
    All the other options would be more complicated, e.g. requiring the user to confirm her/his new enrollment.

I would like to involve @mtub – he is security fan and would maybe know an ‘easy’ solution
 :slight_smile:

Best,
Bozana

1 Like

Hi,

Thanks! Just to be sure: has there been trouble in the way OJS2 is working in these cases? Because, as I said above, this is not an issue in OJS2.

Hi @ajnyga

Well, there would be trouble only if someone would sue, I think, and luckily this was not the case :slight_smile: But, however, some editors/people in Germany did and do complain about this function in OJS 2 – some universities, for example, are and have to be very strict about applying those data privacy rules for services they provide.

Best,
Bozana

1 Like

Ok, thanks. Hopefully there is some middle way.

Maybe by knowing the users email address, an editor could offer a role for a user and the user would have to accept the role before it would be actually assigned. I know that this would mean some new code and probably changes to the db tables as well, but this would probably be a solid way of handling it.

Edit: ah, and I see now that you already mentioned this option.

What do you think @bozana, is this something that could be changed in future releases. If so, I could add a gihub issue.

Hi @ajnyga

Yes, I hope, so please do make a github issue
 :slight_smile:

Thanks a lot!
Bozana

1 Like

Hi Everyone
Did this get resolved? We have users already in the database for other journals that we would like to add as a JM to a new journal that has been added. Am I reading correctly that they need to be a JM of the journal they are a part of?

As it stands, we get an error:
“Errors occurred processing this form
The selected email address is already in use by another user.”

when trying to add that user to the new journal.

Thanks
Michael

1 Like

As a site manager you can add the user to new journals. Just go to the journal where you want to add the user and select Users & Roles. Do a search and check the option to include also users in other journals. Then edit the found user and add the needed roles.

The problem is that you can only do this as a site manager - not as an journal manager. This is what the topic above is about. My suggestion is that also journal managers should be able to do this.

Also note that in case of minor roles like author or reader, the user can add the role herself by editing the user profile.

2 Likes

Thanks, that helped to point the way. It was right there in front of us, the search. I wonder if this might somehow be labeled to prompt the site manager to search for existing users first, that and the error point this out as well, or the error could say, that user exists already, do you wish to assign them to this journal, kind of thing.
Is there a place to leave UX feedback and suggestions?
Thanks again, helped a lot.
Michael

Hallo @bozana @asmecher and the rest,

Am not very sure if my issue falls under this topic but, i’ll take my chance and ask.

I am a site admin for three different publishers each running OJS with multi-journal installation. Each hosts about 30-45 journals with about 100-150 users(internal users).

Two publishers are running 0js248 while one asked for upgrade to ojs302. It was so easy to work around users and user roles in OJS2 for it allows selecting multiple users in the system and assigning them roles in current journal. OJS3 does not have that option irrespective of what user role(Site admin, journal admin) i’m performing the task with. Was this an omission or deliberate?. Can we have also have it in such a way that i can drop a role from multiple users in a journal?

Rgds
The_second

Hi @otuya1

The functionality is there in OJS 3 but it is probably not so easy to do that as in OJS 2.4. To give an existing user a role in a journal, you would need to be admin, to go to the journal users management, search using the selected option “Include users with no roles in this journal.” and then to edit the appropriate user and assign it the wished role. Thus you are not able to select several users and assign them a role.
As Alec said above, it is not an “omission” – we have to be more careful about it and apparently haven’t immediately considered the best possible/comprehensive solution.
You could follow these two issues that will work on the user management improvement:

https://github.com/pkp/pkp-lib/issues/2860

Best,
Bozana

1 Like

Hi,
Now I’m a little bit confused. Does it still mean that only the site administrator can enroll users already registered at the site in a new journal. As ajnyga described:
"Suppose we have a situation where the editor/journal manager in Journal B wants to enroll a new section editor and the user in mind is an author in Journal A
In OJS3 I can not do that. "
I’m a site administrator for over 130 journals - https://tidsskrift.dk/ - so I can imagine that much of my time will be spent enrolling users for all our editorial teams.
Above bozana suggests an excellent proposal -
"Thus, I am not 100% sure, but maybe we could solve this by:

  • not displaying all the users but only those matching the search input field text (meaning that the JM exactly knows the user she/he is looking for),
  • allowing JM to just enroll those users (and not all the other functions like edit, remove, disable), assuming that because she/he knows exactly those users, she/he already confirmed that they will be enrolled with them
    All the other options would be more complicated, e.g. requiring the user to confirm her/his new enrollment."

Couldn’t you implement that?
Best
Niels Erik

Yes, exactly: if a user is registered in another journal, the journal manager can not enroll. Reviewers are an exception here, because you can search and enroll them from other journals when choosing the reviewers.

We have around 60 journals now and we do a fair amount of enrolling with the site manager account. Maybe we could get a “community priority” tag to this issue in github? @asmecher / @bozana? I think there are now at least four different users asking about this (maybe more if you search the forum for similar topics)

Just to put my name down here as well. I made another topic, but it seems that this issue has already been discussed in-depth here. We are really struggling with this problem on our mutliple-journal installation: Edit and "login as" users not working - #2 by ajnyga

Here is the post in full:

We are currently on OJS 3.1 and our journal managers cannot edit user accounts (adding roles) and cannot “login as” these users? The are getting the following message:

You do not have sufficient permissions to administer this user. In order to administer a user, you must either be site administrator, or administer all contexts that this user is enrolled in.

Can anyone shed some light on this please?
Regards

Hallo @NadineWubbeling, I was facing this issue last year, and unfortunately there is no shortcut. To edit or assign user role in OJS 3 you MUST be logged in as site admin. Secondly, you cannot select users and enroll them to other journal as it was the case with OJS 2 irrespective of what role you are logged in with. To assign roles, you must navigate to the journal you wish to assign users to, search users making sure that you check the “include users without roles” check box, then edit this users roles. This is ONE BY ONE. cant be done in bulk
 I had to do this for over 150 users :sweat_smile: