I am acquainting myself with the OJS3 the editorial workflow on a test server running OJS3.4.0-4. I created submissions as 1) Author, 2) Journal editor and 3) Journal manager. #1 shows up in Unassigned as expected; #2 shows up in Active queue with Journal editor assigned as expected; #3 does not appear in Unassigned queue, but shows up in Active queue and specifies that no is editor assigned, and when I view #3, it says there are “No Items” under Participants. Is this a bug or expected behaviour?
Unassigned tab:
Active tab:
Steps I took leading up to the issue
For example:
- Created a user with all relevant Roles
- Logged in as that user
- Clicked on New Submission and went through the “Make a Submission” process, submitting this and the next two to the same Section. Clicked on Submit As “Author” for first submission (submission_id=19628 in screenshots)
- Repeated step #3 but clicked on Submit As “Journal editor” (submission_id=19629)
- Repeated step #3 but clicked on Submit As “Journal manager” (submission_id=19630)
- Logged out as user and looked at submission lists from regular manager account
What application are you using?
OJS 3.3.0-4
Additional information
To understand the logic of how the queues are created, I turned on the debug flag to obtain the query that identifies unassigned submissions. It is (with the ? of the prepared statement filled in):
select count(*) as aggregate from submissions
as s
left join publications
as po
on s
.current_publication_id
= po
.publication_id
where s
.context_id
in (1) and s
.status
in (1) and s
.date_submitted
is not null and (select count(stage_assignments.stage_assignment_id) from stage_assignments
left join user_groups
on stage_assignments
.user_group_id
= user_groups
.user_group_id
where stage_assignments
.submission_id
= s.submission_id and user_groups
.role_id
in (16, 17)) = 0
The relevant part of the query is the subquery which if tweaked to make easier to read and allow interpretation of the results, is:
SELECT submission_id,COUNT(stage_assignment_id) FROM stage_assignments s
LEFT JOIN user_groups u ON s.user_group_id=u.user_group_id
WHERE submission_id>=19628 AND role_id IN (16, 17)
GROUP BY submission_id;
The query returns 0 for id=19628 (Author) and 1 for both id=19629 (Editor) and id=19630 (JM). It’s the “1” value for that third submission which causes OJS to say that it has an editor assignment. The stage_assignment values for these submissions are:
And the user_group table contains:
What it seems to come down to is this: the role_id for user_group_stage_id=2 is presently 16 (Editor) and is recorded in the stage_assignments table when a submission is submitted as JM. Is this intended or should it be something different to distinguish a JM from an Editor?