Open ACharbonneau opened 3 years ago
We can do parts of this easily but the UX might be imperfect for a strict mode. It would be easier if we could assume trust between these parties (not unreasonable, in my view) rather than trying to do super strict enforcement:
Both Phil and his submitter would be technically capable of selecting "approved" or "nominated" but would in practice follow the convention you outlined to signal between them. This could be adapted by other groups who want to do a buddy system for approval too, e.g. first reviewer nominates and second reviewer approves to confirm.
The other approach which would have some UX flaws right now would be to add the new term and a more complex policy to allow submitters to set this nominated state (and maybe rejected state?) but not approved state. However, the current Chaise UI would offer all the choices, leading to that annoying try-and-see UX where it gives a forbidden error only after the submitter tries to submit with the approved state...
Further offline discussion leaves us thinking this new "planned" state can be available for all submitters but we should include the strict enforcement to require approver role to set other states. The drawback is that the UI will not indicate this restriction until we get a general fix for this policy-awareness in DERIVA. The submitter won't know it is fruitless until they click "submit" and get rejected. We'd have to just mitigate with documentation and training...
I think for right now this should be a backlog issue, and we can revisit it later. I can talk to the DCCs about whether they would be able to do the easier approach and mitigate any internal disagreements themselves, but I would want to make sure that sort of lite policy will be practical before we put any work into it either way
It turns out we have two different Approver personas:
Right now, we only support Avi like approvers. I'd like to make some minor changes to support Phil like approvers as well.
Currently, Phils group has ~30 submissions and no easy way for their Submitter to tell their Approver which one is the 'good' one.
How I imagine this might work is:
We would not constrain the Approver to only be able to approve "proposed" datapackages, so Avi like personas could continue to do their own validation workflow. But for Phil like personas, the Submitter would be able to direct the Approver to a small number of choices.
https://github.com/nih-cfde/published-documentation/discussions/196