NAME
    FML::Article::Thread -- primitive thread tracking system

SYNOPSIS
    See FML::Process::Distribute, FML::Command::Admin::thread classes for
    more details.

DESCRIPTION
    This class drives primitive thread tracking system at the top level.

    We need to clarify the status of each article and each thread.

    One thread begins at an article id and contians a group of articles as
    members in it. Each thread has a status such that it is open, analyzed
    or closed now.

    Each article has each meaning. A new article opens and starts a new
    thread. Content of an article closes a thread or threads. Also, he/she
    can close a thread by manual via command mail or CUI/GUI interface.

    A group of status of articles affects the status of threads. So, we need
    to trace status of articles and threads separetely.

    If explicitly not closed, the status of a thread is either of
    "closed(auto)" or "analyzed".

METHOD
  new($curproc)
    constructor.

HANDLE ARTICLE
  add_article($id, $msg)
    check the content of specified article $id to update UDB where $msg is a
    Mail::Message object.

    This routine is expected to be called within FML::Process::Distribute.
    So, $msg must be already defined.

HANDLE STATUS
  check_thread_status($head_id)
    check the status of thread beginning at $head_id. update the status in
    UDB if needed.

  open_thread_status($th_args)
    open thread.

  close_thread_status($th_args)
    close thread.

SUMMARY
  get_outline($id, $thread_args)
    return string holding article short summaries of a thread for this
    article $id.

PRINT STATUS OR SUMMARY
  print_one_line_summary($thread_args)
    pritn one line summary of message body.

  print_summary($thread_args)
    pritn both header and body summary.

  print_list($thread_args)
    list up thread and the related information.

DEFAULT PRINT ENGINES
CODING STYLE
    See "http://www.fml.org/software/FNF/" on fml coding style guide.

AUTHOR
    Ken'ichi Fukamachi

COPYRIGHT
    Copyright (C) 2003,2004,2005,2006 Ken'ichi Fukamachi

    All rights reserved. This program is free software; you can redistribute
    it and/or modify it under the same terms as Perl itself.

HISTORY
    FML::Process::Kernel first appeared in fml8 mailing list driver package.
    See "http://www.fml.org/" for more details.

