Open ajrbyers opened 5 years ago
@ajrbyers this is a proposal to fulfil the above requirements. We (at sissa medialab) we are already working on something along the lines of what is outlined below and we can take care of the implementation
The goal of this change is to enrich the basic Issue model in order to implement more flexibility in the submission process in order to create issues with "special" policies / automation which might be useful for some journals, but are at the same time broad and flexible enough to cover a lot of different use cases.
Model changes are necessary to store additional information to implement special issues / collection advanced behaviour.
Issue
to add:
short_name
: Name for internal usage, in manager listings etcdescription = models.TextField
: special issue may have requirements for a presentation / introduction to be used in listings or elsewhereopen_date = models.DateTimeField
: Use to determine when submission to this special issue is allowed or notclose_date = models.DateTimeField
invitees = models.ManyToManyField(Account)
one may want to restrict submission to the special issue to a subset of authors. This many to many can be used to restrict the lists of available special issues in the submission process (if empty all users will be allowed to submit to the issue); restriction only applies to currently logged-in (submitting) author; co-authors will not be subject to such restriction; This is useful for example for conference proceedingsallowed_sections = models.ManyToManyField(Section)
: special issues may have a subset of sections attached, this will restrict selectable sections on submissioneditors = models.ManyToManyField(Account)
used to automate assigned of submitted articlesdocuments
(m2m to core.File
) to accommodate files needed for administrative or internal usesexpected articles
: to check if the submitted articles is aligned with expectations and postpone deadlineinternal notes
Issue.invitees
sectionsubmit_info
view to proceed with the submission processArticle.primary_issue
submit_info
ArticleInfo.section
field values depend on the user selection of the issue: instead of providing all the journal sections we may have to filter depending on the sections provided in Issue.allowed_sections
. If Issue.allowed_sections
is empty, all journal sections will be available for selection.submit_review
we can assign editors based on Issue.editors
: for ease of configuration, we can implement this by attaching a function to ON_ARTICLE_SUBMITTED
event. Behaviour is subject to a global submission configuration ("Enable auto editor assignment") and a per-issue configuration: auto assignment is enabled only if Issue.editors
is populated, otherwise auto assignment will be skipped even if submission configuration is enabledEnable auto editor assignment
: enables auto assigning editors based on Issue.editors
valueEnable issue selection step
: allow users to select the issue to submit to; possible values:
submit_info
Enforce rules for edit metadata manager
: one may want to allow editors / section editors to bypass Issue
rules / configurations: they can assign articles to special issue on any section (disregarding section preferences) at any moment (disregarding open/close dates)Edit Issue
modal in the managerEdit metadata
form accordingly
Enforce rules for edit metadata manager
code will:
Edit metadata
: staff editing the article will be subject to the same restrictions as submitting users (eg: they will not be able to change correspondence authors if outside Issue.invitees
or they will not be able to select a section outside the ones configured in Issue.sections
)Hi @yakky and @gamboz, thanks for this. I can see how this feature would allow editors to more carefully curate issues. It seems like it would work well from the author perspective as well, as long as they receive some kind of notification that they have been invited, so they know what email address to use to log in and see the special issue during submission.
In terms of reservations, I am a bit unsure about restricting the Edit Metadata page to users who are in invitees. Our permission system is already a bit stretched, with its current structure, both in terms of maintainability / reasoning and in terms of usability. One of the persistent usability problems we have is that users sometimes do not know whether they have permission to do something, and why that is the case. If they have been told by someone with permission that they should be able to take a certain action on a given page, and then they do not see that option (because they have different permissions), they can get confused and stuck.
So, my vote would be not to restrict the view in this way until we can have a more robust permission system that is composable (maybe via #https://github.com/BirkbeckCTP/janeway/issues/944 or even Django groups) and that is more visible to users (visibility of system status, recognition rather than recall). But if you have other ideas about this or important use cases, happy to consider those.
Hi @yakky and @gamboz, thanks for this. I can see how this feature would allow editors to more carefully curate issues. It seems like it would work well from the author perspective as well, as long as they receive some kind of notification that they have been invited, so they know what email address to use to log in and see the special issue during submission.
In terms of reservations, I am a bit unsure about restricting the Edit Metadata page to users who are in invitees. Our permission system is already a bit stretched, with its current structure, both in terms of maintainability / reasoning and in terms of usability. One of the persistent usability problems we have is that users sometimes do not know whether they have permission to do something, and why that is the case. If they have been told by someone with permission that they should be able to take a certain action on a given page, and then they do not see that option (because they have different permissions), they can get confused and stuck.
So, my vote would be not to restrict the view in this way until we can have a more robust permission system that is composable (maybe via ##944 or even Django groups) and that is more visible to users (visibility of system status, recognition rather than recall). But if you have other ideas about this or important use cases, happy to consider those.
We have had a similar issue (though flipped the other way, with additional sections being shown to editors when they were marked as closed for public submission). Could this be mitigated on the Edit Metadata
page through the use of explanitory text?
Thanks @joemull @ajrbyers for your feedback
Restrictions on the editor / staff side is something that we have not analysed in details
Would it be okay for you if we provide a PR with model and submission changes to allow to run some live testing and decide the best path forward for editor side "edit metadata" section.
Changes are mostly independent so I think it's a safe path for action
Editors may want authors to submit articles for a collection so we should: