Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Conference Timeline #91

Open
MaxwellBo opened this issue Sep 27, 2020 · 3 comments
Open

Add Conference Timeline #91

MaxwellBo opened this issue Sep 27, 2020 · 3 comments

Comments

@MaxwellBo
Copy link
Owner

MaxwellBo commented Sep 27, 2020

CloudMUN has support for Conference Timeline mode that gives a log of every significant action
image.

We currently have some some aggregate analysis in the stats tab on a per delegate basis, but it would be nice to add something similar underneath. Additional support for export to PDF or CSV can come later on.

In my opinion, the best way to implement this is to just write every single performed action to a Firestore table (but not to Firebase). Firebase remains the mutable, business-logic focussed DB, and Firestore can contain the append-only, immutable audit log.

@kumar-ish kumar-ish self-assigned this Oct 3, 2020
@MaxwellBo
Copy link
Owner Author

https://github.com/prabhuignoto/react-chrono Might be useful

@kumar-ish
Copy link
Collaborator

Which actions do you think should be appended to the table? e.g. should adding/deleting a dropdown in a strawpoll etc. be added or not? it seems CloudMUN. is relatively conservative in what it stores, but we could be lenient and store just about everything, but let people filter it to get their desired history

@MaxwellBo
Copy link
Owner Author

MaxwellBo commented Oct 26, 2020

@kumar-ish hmm so I think the important things you want to be recording is things that affect the course of debate. I think those would be:

1. Motion for <THING> proposed by <DELEGATE> passed at <TIMESTAMP>

^ doing this one would be our MVP. But people can do things without using the motions tab so:

2. A caucus about '<TITLE>' was created at <TIMESTAMP>
3. The '<TITLE>' caucus was closed at timestamp 
4. A resolution about '<TITLE>' proposed by <PROPOSER> and seconded by <SECONDER> was created at <TIMESTAMP>
5. The '<TITLE>' resolution failed at <TIMESTAMP> [as it was vetoed|as it did not meet the required threshold]
6. The '<TITLE>' resolution passed at timestamp [as it was vetoed|as it did not meet the required threshold]
7. An unmoderated caucus lasting <TIME> started
8. A strawpoll '<TITLE>' held found that '<RESULT>' was the winner

Some of these could be a little tricky! Example: a resolution is created without the proposer and seconder being set. Do you simply reference the resolution from the timestamp and just display what the current proposer and seconder are? Do you record the entry in the timeline after both are set? Do you force resolutions to be created through a modal and record the result of the modal so that the resolution never has an undefined proposer or seconder?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants