OJS 3.3.8 – Should Journal Manager still have access to workflow stages? (Possible leftover from previous versions?)

Hi PKP Team,

I’ve found something confusing regarding the Journal Manager role in OJS 3.3.8

When creating a new journal (fresh installation), the Journal Manager has no workflow stages checked by default, which makes sense — since in recent versions the system separates site/journal management from editorial workflow.

However, when I open the “User Group” form and click Save, the system automatically re‑assigns all workflow stages back to the Journal Manager even though they were previously unchecked.


What I found in the code

This behaviour seems to come from these two files:

1. lib/pkp/controllers/grid/settings/roles/form/UserGroupForm.inc.php (around line 212)

if (in_array($userGroup->getRoleId(), $roleDao->getAlwaysActiveStages())) {
    $assignedStages = array_keys(WorkflowStageDAO::getWorkflowStageTranslationKeys());
}

2. lib/pkp/classes/security/RoleDAO.inc.php (around line 215)

function getAlwaysActiveStages() {
    $alwaysActiveStages = array(ROLE_ID_MANAGER);
    return $alwaysActiveStages;
}

The function getAlwaysActiveStages() always includes ROLE_ID_MANAGER, so whenever a Journal Manager is saved, the system assigns all workflow stages to that role automatically.


My questions

  1. Is this intentional in OJS 3.3 (i.e., the Journal Manager is supposed to always have access to all editorial stages)?

  2. Or is it a leftover from older OJS versions (3.1–3.2) that should be removed in newer releases?

  3. If not intended, is it safe to remove ROLE_ID_MANAGER from getAlwaysActiveStages() so Journal Manager will remain unchecked as designed?


Thanks in advance for confirming whether this logic is by design or a small bug that remains from earlier versions!

OhnO395