Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
irclog summarizer
Strawman design for a summarizer version of Moritz's irclogger.
Phase 1
-------
Call the web display that you (Moritz) have currently implemented at
http://irclog.perlgeek.de/perl6/today "Full mode" or Full for short.
"Summarizer mode" is as it sounds like you (Moritz) have in a branch --
a similar display to Full but with a "Summaries checkbox" against
each irclog entry.
Can only get to this with a suitable login or somesuch.
Either each click on a Summaries checkbox directly updates the db
or there's a submit button. If directly updating each click, make
no attempt to smartly manage multi user conflict -- the last click
may win but it doesn't matter. If batch submitting, need to limit
updated irclog entries to ones for which there's been a change in
their Summaries checkbox status. Then the same doesn't-matter-who-
wins-treatment is fine in the event of multi user update coflicts.
Summaries mode only displays irclog entries that have their Summaries
checkbox checked in the Summarizer mode.
Perhaps, in Summaries mode, if two consecutively displayed irclog
entries are not consecutive within the Full log, an intervening dummy
irclog entry, displayed as "..." in a colspan=3 td, is inserted (and
preferably given a tiny display depth).
If any irclog entry has its Summaries checkbox checked, the Full and
Summarizer modes display a Summaries link at the top. (It would
probably be nicest if the Summaries mode itself did not.)
If the user is logged in to a Summarizer account, or there's some
other indication of the user being a Summarizer, Full and Summary
modes also display a Summarizer link.
Phase 2
-------
Summaries checkboxes are replaced with a Summaries field. The
equivalent of switching a Summaries checkbox on is changed to become
selecting one or more records from a list of Summaries associated with
this irclog page, or filling in the fields of a new Summary record.
A Summary record titled "Other" is always offered, whether or not any
Summary records yet exist for this irclog page. If the user takes no
action, this Other Summary record is selected. This Other record is
associated with kind 3 (explained next) and serves as a default
Summary. For extra points, if the irclog entry was for nick dalek,
a Summary record "Commits" is offered instead. This Commits record
is associated with kind 1 and serves as a default Summary record
for commits.
A Summary record has something like the following fields:
* summary id (unique id for this install/db?). (invisible to user)
* nick.
* irclog page. (invisible to user)
* title. string.
* kind (1,2, or 3; visible to user as "Summaries of commits and other work",
"Summaries of bugs and other problems", or "Summaries of other discussion").
* rank. integer. default for a new record is 99.
Summaries mode now displays one to three bulleted lists at the top of
the page. If any Summaries exist with their kind set to 1, there's a
list of "Summaries of commits and other work", and the same for kinds
2 and 3. Cf.
http://blogs.perl.org/users/perl_6_reports/2012/09/perl6-summaries-for-2012-09-02.html
Each bullet is the title of a Summary record, with a link to a
corresponding section further down the Summaries page.
Summary records are sorted within a kind according to rank (lower rank
numbers come higher up the page). Within the same rank records are sorted
according to the time of the chronologically first irclog entry associated
with a given Summary.
Phase 3
-------
In Summarizer mode, three new buttons appear:
* There's an "Edit message" button available next to each irclog entry. If
clicked, the user can "edit the message". This doesn't change the original
irclog entry but inserts a substitute record that is used to replace the
message in Summaries mode.
* There are CommentaryAbove (and CommentaryBelow) buttons. If clicked, the
user must select a Summary record and then write or edit this irclog entry's
CommentaryAbove (or CommentaryBelow) record. When the irclog entries
associated with a particular Summary are displayed in the Summaries mode,
CommentaryAbove and CommentaryBelow records are displayed, in colspan=3 tds,
immediately above or below their associated irclog entries.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment