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

How to store user data: discuss #12

Open
pigworker opened this issue Mar 13, 2020 · 0 comments
Open

How to store user data: discuss #12

pigworker opened this issue Mar 13, 2020 · 0 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@pigworker
Copy link
Contributor

Sometime soon, we'll need to make suitable arrangements for storing various forms of persistent data. Most of it is form data, per user per page. Some of it is configuration data, per page. Of course, there are also administrative data (information about cohorts, group assignments, etc).

I'll be the first to confess that the way I handled this in Marx was fairly ghastly. The per user per page data just lived in log files recording the time of each visit and which key-value pairs got created/mutated by that visit. The only things logged were form fields: generated content could be served to the browser but not logged. Log files were written by creating a temporary file, then cp-ing over the old log file. There was no serious attempt to deal with data races. For students, with everybody editing their own data, races aren't a big deal. Data races are more of an issue for config data being edited by staff, or people sharing the marking jointly editing the macros for common comments.

Also, it's important to be able to query these data sources with friendlier tools than grep.

@pigworker pigworker added enhancement New feature or request help wanted Extra attention is needed labels Mar 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant