Index: [Article Count Order] [Thread]

Date:  Sat, 19 Aug 2000 11:26:07 +0900
From:  firo@....jp
Subject:  [XP-jp:00752] Re: VXP ストーリー1タスク案
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <399DF3F7.A217E793@....jp>
References:  <00Aug17.130418jst.115202@....jp>		<20000817.160015.98606834.u90156@....jp>		<00Aug17.190731jst.115203@....jp> <20000818.113246.50052273.u90156@....jp>
Posted:  Sat, 19 Aug 2000 11:42:01 +0900
X-Mail-Count: 00752

矢崎です。

いろいろご教示ありがとうございます。

Yuji Yamano さんwrote:

>
> 大昔、ML 用のドライバーを自作していた時は、こんな感じにやっていました。
> まず、以下のエントリーを /etc/aliases に追加します。(MTA は sendmail)
>
> foo: "|/home/yyamano/ml/foo/driver"
> foo-recipient: :include:/etc/mail-list/foo
> foo-request: owner-foo
> owner-foo: u90156@....jp
>
> foo はリスト本体のアドレスで、ここあてのメールを受信すると
> /home/yyamano/ml/foo/driver が起動され、メール本文(含むヘッダー)
> は標準入力にながしこまれます。driver の中で、メールヘッダーの
> 書きかえや、アーカイブをおこない、最終的に送信する内容を sendmail
> にふたたびわたします。
>

> foo-recipient は配送のためのトリックです。/etc/mail-list/foo という
> ファイルには実際に配送するアドレスが列挙されています。driver は、
> 最終的に配送するメール本文とこのアドレスを、sendmail にわたします。

私はメールのしくみ(sendmail含む)は詳しく知りませんし、
当然のこと、自分でメール関係のプログラムを組んだこと
はないのですが、だいたい上記のイメージで、今は考えて
います。

>
> > 1.Mailerがメール本文と送信先アドレスを取得する。
> >   ##ここいらへんは、よく知らないのですが、メール本文はMailer
> >     の標準入力から取得し、送信先アドレスは引数で受け取ること
> >     になるのでしょうか?
>
> ここで Mailer といっているものは、上の /home/yyamano/ml/foo/driver
> と同じものでしょうか? もし、そうだとすると可能なはずです。
>

同じものです。

>
> ただし、Mailer に直接アドレスをわたすよりは、ML 固有の情報(ML 名とか、
> アドレス等)を記述したファイルを作っておき、そのファイル名をわたすよう
> にしたほうが汎用性があると思います。

これは、Mailerの標準入力から受け取ったテキスト
から、ヘッダにあるアドレス(例でいえばfoo)を取り
出してfooと対応する宛先(foo-recipient:)へ変換す
るということという理解でいいでしょうか?そして、そ
の変換の情報がファイルに書いてあると、、


>
> うーん、Mail インスタンスは、メール本文と配送先をためておくものですよね?
> なんとなく、配送系の作業は別のクラスにさせたほうがよいように思います。

私も、入力系と出力系をわけたほうがいいかなあ、と
漠然と思っていたのですが、そういう意味で、配送系
のクラスを作ることに異議はないです。

>
> 1. Mailerがメール本文とメール設定ファイルを取得する。
>
> 2. メール設定ファイルをパースし、配送先のアドレス等をメモリ上に保存する。
>
> 3. Mailerは、Mailインスタンスをnewし、本文および配送先アドレスを
>    Mailインスタンスにセットする。
>
> 4. Mailer は、Mail インスタンスを配送エージェントクラスにわたし、配送を
>    依頼する。
>
> 5. 配送エージェントクラスは sendmail を起動する。
>
> こんな感じでどうでしょうか?
>
> クラスとしては、
>
> Mailer
> ML 固有の設定
> Mail
> 配送エージェント
>
> ぐらいですね。

だいたいのイメージは(このMLメンバの中で)共有できた
と思いますがどうでしょう。とりあえず現在はIteration
Planning Meetingでもあるし(と私は認識)、さらなる詳細な
デザインは、後続のペアにまかせることとして(その段階で
CRCの変更は有り得る)、このタスクが2、3日で達成でき
るかどうか判断し、達成できそうだとわかればタスクの見積
りを行い、ペアに進みましょう。もし、2、3日以上かかりそう
であれば、タスクを分割しませう。。。。というのはどうでしょう?

それと、少なくともあと1つくらいはストーリをこのイテレー
ションの開発対象にしたいですね。

ユーザ殿、他に開発したいストーリはありませんでしょうか?

--
矢崎 博英 <firo@....jp>