lookit / lookit/lookit-api

Add more info about study changes to study logs

Open
#1,835 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.