Add more info about study changes to study logs
- Dominant language
- Python
- Stars
- 12
- Forks
- 21
- Avg merge
- 5d 19h
- Merged PRs (30d)
- 5
Description
## TL;DR
We should add more information about study edits to the study log.
## Description
While working on study response limit, we decided that it would be a good idea to log changes to the study's response limit. The easiest place to do this is with our existing Study Log system, which right now is just used to track study state changes, along with comments and declarations.
## Implementation
The Study Log model was intended to track 'actions', so fitting other study changes into this structure may require model/database changes. There is a field called 'extras', which is an object that stores comments and declarations. For now, we can add easily add new keys/values to the 'extras' object. But if in the future we want to add logging for many different types of study attributes, then it might make sense to either expand this model/table to include more fields/columns, or create a new model/table for logging study modifications, rather than state changes.
In the future, we may also want to track the mapping between study "states" (snapshots/versions) and individual responses, which would involve recording a log of all study changes, assigning IDs to those versions, and capturing the current version value with each response.
Contributor guide
Research direction
Start by locating the Study Log model and the existing study response-limit change path, then review how the extras object currently stores comments and declarations. Determine whether adding response-limit changes to extras is sufficient or whether model/database changes are required. Done means study response-limit edits appear in the study log with an agreed structure and are covered by the relevant tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, database
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100