Discovery: Allowing multiple team members manage files and responses for a single assignment

Description

Students who are not part of any team should not be able to see team-supported ORAs.

  • right? No - If a team-based ORA is required in a course, and you are not part of any Teams, there needs to be some messaging like “You must be part of a team to proceed”.

  • TODO: find prior art in edx.org for this type of behavior.

Really broad questions about files and teams:

  • What does it mean to “own” a file (in a team context)? If I uploaded the file, I can delete the file. The team, however, has visibility and the ability to download the file and be graded based on the file I uploaded. If I leave the team or if I drop the class, the file will remain and available to the rest of the team. After leaving a team, I can no longer delete files uploaded while I was a part of the team.

  • What scope of file-ownership are we adopting?

    • Are uploaded files owned/administered by an individual? By the team? Or the combination of the individual and the team? A combination as described above (Later, when we introduce roles and a “team lead” exists, this may change)

    • This impacts the question of deleting uploaded files (but not necessarily leaving the team). Answered above

More specific questions about files and teams:

  • If someone leaves their team, should their files still be available to the team? - YES. Anything uploaded by a team member should continue to be visible to the rest of the team, regardless of the author’s future membership state.

    • What if they not only leave the team, but also delete files they have uploaded?

      • Are you even allowed to delete uploaded files you uploaded when part of a team? - NO, you are not allowed to do this.

  • What happens when a student, Jane, moves from team A to team B?

    • Are the files uploaded by Jane during her time in team A visible to everyone in team B? - NO.

    • Do they continue to be visible to everyone in team A? - YES

  • “Merging” teams - we think this action is functionally equivalent to moving 1 or more students from team A to team B.

  • Late additions to a team: if Bob goes from no team to joining team A, can Bob see all of the uploads/text responses previously authored by his new team members (we think yes)? - YES, he can.

Questions about team ownership of ORA text responses:

  • The bare-bones approach would be ‘first-past-the-post’.

    • The state of the response is whatever the most recently submitting learner says it is.

    • We think this is appropriate for an MVP. Considerations:

      • Dirty reads/writes - can we implement a simple, cached-stored locking mechanism, let only one learner have the lock at a time, and disable text box editing (with some user-facing message) if someone else has the lock?

      • How long should a single learner be able to hold the lock?

        • How long before you are allowed to re-acquire the lock? Do we even need to consider this?

      • Should we automatically save your state when the lock expires (and you haven’t saved recently)?

        • This feels like something for a second iteration, not MVP.

  • One simple proposal (read-only sharing, individual write permission for all):

    • There is a separate text response, visible to every team member, that is specific to each member of the team. Each member can edit only their own response. We don’t worry about “merging” text, except possibly on submission where we concatenate it all together.

    • This is too complicated.

  • Another proposal (team-captain):

    • One team member is the dedicated “text-author”, and can edit text responses. All other team members can read, but not edit, the response.

  • Most complex:

    • Everyone can read and edit a single text response field.

  • Less onerous, but supportive of true file-sharing:

    • Google docs integration for team ORAs.

Submitting:

  • Original proposal - first team member to submit causes the creation of an identical submission record for everyone on the team.

    • We think that, as long as there’s a way for course staff to undo a submission (for whatever reason), this is generally going to be workable.

    • As part of team captain privileges, maybe only the team captain can click the submit button.

      • Possibly for second iteration.

  • Auto-submitting - should a submission record(s) be created for all team members if there is response data/files, but no one hits “submit” by the ORA submission deadline?

    • We like the idea of instead letting course staff configure ORAs to allow late submissions. Doesn’t have to be in MVP, but would be nice to have, and doesn’t depend at all on teams.

  • Should we do a “two-phase” commit before ORA submission? i.e. you hit submit once, data from the server is refreshed and presented to you so you understand exactly what text and files are going to be submitted.

    • Phrased another way, allow learners to preview their submission at any time (outside of the action of pressing the “Submit” button).

    • This is something to consider for a second iteration.

 

Steps to Reproduce

None

Current Behavior

None

Expected Behavior

None

Reason for Variance

None

Release Notes

None

User Impact Summary

None

Assignee

Unassigned

Reporter

Simon Chen

Reach

None

Impact

None

Platform Area

None

Customer

None

Partner Manager

None

URL

None

Contributor Name

None

Groups with Read-Only Access

None

Story Points

None

Actual Points

None

Category of Work

None

Platform Map Area (Levels 1 & 2)

None

Platform Map Area (Levels 3 & 4)

None

Epic Link

Sprint

Priority

Unset
Configure