User:Hhhippo/Flow/Activity monitor

This is an expanded version of an idea posted [//en.wikipedia.org/w/index.php?title=Wikipedia_talk:Flow&diff=627279155&oldid=627237888 here].

An important feature of the current wikitext talk pages is the ability to follow the activity on a page through diffs, history pages, and viewing old revisions. Flow will need functions that allow to perform the same tasks, by the same means or others. The following is one idea how this could be done. The discussion focuses on single topic views, but the same principles can be applied to board views.


 * Snapshot
 * Given a certain time stamp, if should be possible to view a topic as it looked at that time.


 * Activity monitor
 * Given a period defined by a start and an end time stamp, an overview of all activity during that period should be given, that is, comments that have been newly posted, edited or removed should be marked, and further details should be within easy reach.

The snapshot function is trivial once the activity monitor exists, as it can then be achieved by simply omitting the new and edited markings, as well as the posts marked as removed.

Details
The by far most common activity on a discussion page is the addition of new comments, while any changes to comments (editing, moving, hiding, etc.) are rather rare. This doesn't mean that the latter cases are less important and need less support, but it means that we can afford more expensive database lookups for them.

When viewing the activity that happened on a topic during a given period...
 * comments that existed before the start time and were not changed since then are just shown as-is like on a normal Flow page. If they were changed, but only after the end time, they will still be shown normally, but here an additional lookup is needed to show the revision valid at the end time.
 * comments that were newly posted within the given period are marked by a green side bar, similar to this.
 * comments that were edited within the period are marked by a yellow side bar. This includes comments that looked identical at the start and end times, but were different for some time in between. This also includes comments that were both created and changed during the period. What exactly the change was is not shown immediately, but all details can be accessed through the comment's history.
 * comments that were removed within the period (hidden, deleted, or supressed), are marked with a red sidebar. Again, this overrides markings mentioned earlier, if they apply.
 * comments that were created after the end time will not be shown at all.
 * in cases where the reader no longer has permission to view the comment's text or author (or edit summary, in case Flow will get those) for the revision active at the end time, this information will be redacted and the marking color changed to purple.

Bells and whistles

 * (Un)collapsing of sub-threads: collapse as much as possible while keeping all posts marked as new, changed, or removed uncollapsed. (see compact nesting)
 * Buttons to scroll to the next/previous changed item (see dynamic TOC). Alternatively, buttons that jump between all posts, no matter if they're marked, no matter infinite scolling, in the order they appear in the topic/board history.