lexicongovernance / pluraltools-backend

Backend implementation of the plural voting tool.
https://demo.lexicongovernance.org/
GNU General Public License v3.0
3 stars 1 forks source link

Allow participants to form research groups #288

Closed thewanderingeditor closed 6 months ago

thewanderingeditor commented 7 months ago

Motivation

Participants are not signing up in isolation: they are likely to already have someone in mind to work on their proposals with. If two such participants are attending the event, they should have a way to signal this (both for their own sake and so they don't have an unfair advantage over others)

Functionality

Users should be able to signal whether they are working with another participant as a research group. If they are, they should be able to signal if they are the lead author of the proposal.

Secondary authors no longer need to submit a proposal. They should, however, submit the name of their lead author.

Lead authors should submit the proposal and also indicate who their secondary authors are.

As administrators, we should confirm

Suggested specification

New registration question:

Dropdown question with options "Alone", "Group as lead author" "Group as secondary author"

Logic for "Alone"

Current flow with current proposal questions

Logic for "Group as lead author"

Current flow with current proposal questions, followed by new question with free text entry: "Please enter the full names of any co-authors"

[We could also do this like the credentials logic - i.e., "Add new co-author" with each one being a new field]

Logic for "Group as secondary author"

Proposal questions removed. Instead replaced with free text entry question "Please enter the full name of your group's lead author"

MartinBenediktBusch commented 7 months ago
diegoalzate commented 7 months ago

v0 solution

  1. are them if they are lead investigator a. If no: ask user for the username of the lead investigator and allow them to write anything in the required fields b. If yes: does not need to input anything else

  2. post registration we would need to go through all the registrations and create groups for lead investigators and assign the team to the relevant group

v1 solution

  1. add a screen in between user registration and event registration which would be research group registration.

  2. give the user the option to join or create a research group image

  3. if they join a group they will go automatically to holding page and if they create their own group then it will go the the normal registration

conclusions

v1 solution requires a groupCategory and is a very strict solution. it does not allow for a lot of changes as quickly as registration fields do but it might make more sense for user flow.

v0 is very easy and can be implemented today. however we risk complexity in the future when creating these custom groups.

also how many users will want to create a research group? i like this feature but what if we just end up with 50 individual groups?

thewanderingeditor commented 7 months ago

Simplest version of v0 approach, as discussed in call:

Two new fields:

  1. "Are you a member of a research group? (All members must intend to participate in the experiment)"

Dropdown with three options: "Yes, lead researcher" "Yes, collaborator" "No, solo researcher"

  1. "If you are a lead researcher, please list the full names of your collaborators. Collaborators, please give the name of your lead researcher."

Free text field


If we're feeling fancy, we can adjust the logic of what question is displayed at 2 based on the answer to 1, but the input field would remain the same.

In that case, the question would be "Please list the full names of your collaborators" for everyone who selects "Yes, collaborator" and "Please provide the name of your lead researcher" for those who select "Yes, collaborator"

Both versions would still write to the same column in the database


In either case, research groups would be correlated and assigned manually by us

MartinBenediktBusch commented 7 months ago

Changes are implemented in staging. We still need to implement these changes in Production.