[Data rearchitecture] Implement recent revisions for timeslices #6124
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What this PR does
This PR implements a new
RevisionStatTimeslice
class to replace the existingRevisionStat
timeslice. Since raw revisions are no longer available, we calculate recent revisions based on the latest timeslices.CourseWikiTimeslices
for the course. As we cannot assume a fixed timeslice duration, we compute a daily ratio of revisions (revisions per day) and multiply it by theREVISION_TIMEFRAME
to determine the total count.CourseUserWikiTimeslices
for the course and user. This approach differs from the original implementation as it only considers revisions relevant to the course. In contrast, the previous method included all user edits, even those from namespaces like user talk, which are not directly pertinent to the course.Screenshots
Before:
Recent revisions was 0
After:
Recent revisions for course
Recent revision for editors
Open questions and concerns
As noted, the recent revision counts generated by the timeslice-based approach are not identical to the previous implementation. In particular, the user-level recent revision counts differ, leading to some discrepancies in the web application. For example:
To address this, we may want to consider updating the tooltip to provide additional clarity regarding the changes in how revisions are calculated.