Skip to topic | Skip to bottom
Home
Lily
Lily.DiscussionReaperr1.5 - 14 Jul 2004 - 10:57 - ChristianRatlifftopic end

Start of topic | Skip to actions

A Design for Automated Discussion Destruction

lily does not have an infinite volume of storage or the interface capacity for an infinite number of discussions. Yet the desire of users to create and persist discussions expresses both the value of the discussion itself and the often deeply personal motivations or interests which lead to its creation. Because of this personal investment and an ongoing dissent about what constitutes a truely idle discussion, emotions have run entirely too hot about the policy as it regards discussion reaping.

Those cases where there is a genuine loss sadden me, but worse still is the disproportionate anger with which people respond. The former is a technology problem which I plan to solve right now. The latter can be minimized by moving the task from human to software hands. But it also behooves us to remember we are all here for some reason, and we owe it to the community to treat each other reasonably.

The technology resolution is the implementation of an automated discussion cleanup technique called "The Reaper." The reaper is designed around a single fundamental rule: the people decide what is important. If a discussion is hugely popular with the users it deserves to persist for a much longer period of innactivity than a one-shot discussion with only a few participants. Each discussion is granted a base level of idle time. More idle time is then granted based on the status of the discussion and the number of participants.

The process itself runs on an hourly basis and destroys discussions based on the following rules:

PUBLIC DISCUSSIONS

Any discussion marked as "invulnerable" is exempt from being reaped because it is viewed as a public asset regardless of ownership. For those of you who have such eminently useful discussions the community extends its sincere thanks.

The maximum idle time for a public discussion is seven days plus two days per member.

PRIVATE DISCUSSIONS

Any private discussion with fewer than three members is exempt from being reaped. This aims to preserve the 'private room' system which people have established by tradition on lily.

Those with three or more users have a maximum idle time of seven days plus three days per user.

When a discussion is destroyed, all of the moderators, with valid email in their /FINGER info, will receive a copy of all the content associated with the discussion. This includes the name, title, membership list, permission lists, info, memos and review buffer. The bottom of the message will contain the commands necessary to recreate the discussion.

This is the best place to have ongoing conversations about both the rules and the implementation of the reaper. I will pay as much attention here as possible, and as always this element of lily needs to express the sensus fidelium not just my own personal desires.

Each of the fixed times about is driven by a property on the reaper:

  • $reaper.nBaseIdle 7 days -- Basic number of days a discussion may be idle.
  • $reaper.nIdlePerUser 2 days -- The number of additional days per user in a public discusison.
  • $reaper.nPrivatePerUser 3 days -- The number of addtional days per user in a private discussion.
  • $reaper.nMaxPrivate 2 users -- The maximum number of users for a private discussion to be considered a "room."

This design for the reaper was vetted to an initial group of four people for review and was rejected. I record it here for the purposes of history only. I now return to retirement.

-- ChristianRatliff - 16 Dec 2003

I definitely do want to see us to some kind of automated discussion-reaper thing, but I've been so focused on other matters (such as NewReviewTimestamps) that I just didn't have any brain cells left over to think about this proposal. There have been other reaper proposals, and I'd like to sit and think about it for awhile before doing a lot work implementing any specific proposal. On RPI's lily core, I have a memo which includes a reaper proposal I wrote up back in 2001. I'm not quite as fond of that proposal as I was when I wrote the memo, but it does give a different set of ideas to work from. I'm also pretty sure that somewhere I have another write-up with yet another set of ideas. Hopefully I'll have more time and brain cells to think about this after Christmas...

One thing I like about the above proposal was that it uses the popularity of a discussion as one criteria to decide what resources a discussion should get. That was an idea that either clover or connect had, and I do like that idea. At the same time, it seems a little weird to say the idle-expiry of a discussion will be proportional to how popular it is, unless it's a private discussion with less than three people -- in which case it has no expiry time...

I do think we need to have something that

  • gets the job done,
  • gets it done automatically (or close to automatically),
  • avoids the minor oversights that can cause major hostility (such as mistakenly destroying an invunerable discussion...),
  • and that most users will consider fair.
And, of course, something a bit more practical than just giving up and saying that we won't even try to expire discussions anymore.

-- GaranceDrosehn - 16 Dec 2003

The advantage that my proposal has is that I am willing to do the work immediately, or as soon as the proposal is approved. Of course, provided immediately is not tonight. I am watching the Two Towers and then going to see Return of the King at midnight. My evening is booked...

-- ChristianRatliff - 17 Dec 2003

Heh. I hope this won't sound wrong, but the main reason I have not really entered the discussion is that you are willing and able to do something immediately! I want to get 2.8.0 "out the door" before Christmas, or at least before New Year's, and I think that a discussion-reaper is too big of a deal to implement at the last minute. Particularly since I really want to think about it, and any time spent thinking about a discussion reaper is time that I won't be working on other things.

I suspect I will regret actually saying what my goal is, because there is probably no chance of me getting a release out by christmas, and not much of one for hitting New Year's. Still, it is a goal. I'm mainly trying to clean up a lot of "little loose ends" before the release, but not tackle too many of the bigger issues. The biggest issue that I felt we had to address before release was the NewReviewTimestamps one, and now that I slogged my way through that change, I want to avoid any other bigger issues.

-- GaranceDrosehn - 18 Dec 2003

I would just like to note that we are now many moons from December 2003, 2.8.0 has yet to be released and my offer still stands. I will build the reaper described above, just give me the thumbs up and promise me lily@RPI will use it in place of manual destruction...

-- ChristianRatliff - 14 Jul 2004
to top


You are here: Lily > DeveloperGuide > BrainStorming > DiscussionReaper

to top

Copyright © 1999-2009 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding this site? Contact Christopher Masto <chris@masto.com>.