メーラー(Mailist)のDatahuter連携について

 

#外部アプリによるDatahunter連携を行うにあたって必要なもの

 

#データセットの作成

対象となるメール群のデータセットがなければ、新規に作成する。その際、対象となるメール群のすべては、登録しなおされる。

参照:CR_CreateStoredDS()

・データセットの属性を表すSDS_ATTR構造体について

メンバ コメント
lpStoredDSName = XXX; データセット名
lpDataPath = XXX; 実体データパス(メールデータのあるフォルダの絶対パス)
sVersion = 1; データのバージョン(1)
sStoredDSType = SDS_TYPE_MAIL; データセットタイプ(メール)
wFlags = SDS_FLAGS_READONLY; フラグ (変更不可Flag ON (*1))
rgbColor = 0; 色(Black)
lpFileType = XXX; 登録対象ファイルタイプ(メーラー独自でのユニークなもの)
dwEntryCount = 0; 登録件数(0)
ftRequestTime FILETIME ft;
ft.dwHighDateTime = 0;
ft.dwLowDateTime = 0;
= ft;
更新要求時刻(NULL)
ftStartTime CoFileTimeNow(&ft);
= ft;
更新着手時刻(現時刻)
ftLastWriteTime CoFileTimeNow(&ft);
= ft;
更新完了時刻(現時刻)

(*1)登録作業は、メーラー側だけで行うので、変更不可フラグはONにしておく。登録作業を行うときのみこのフラグをOFFにし。登録作業が完了したら、ONに戻す。

 

#データセットがあるかの判定

対象となるメールデータ群のデータセットがすでにあるかの判定は、実体データパス登録対象ファイルタイプが一致するデータセットがDatahunterに登録されているデータセット群の中にあるかをチェックすることで行う。

参照:CR_EnumStoredDS();

 

#データセットのバージョンの確認

データセットがすでにあっても、データセットのバージョンがメーラーで規定したバージョンと一致していない場合、すでにあるデータセットを削除して、新規に作成し直す。その際、対象となるメール群のすべては、登録しなおされる。

参照:CR_DeleteStoredDS()

 

#個々のメールデータの登録

1メールが、1ファイルとしてデータセットに登録される。

参照:CR_InsertFile()

・ファイルの属性を表すFILE_INFO構造体について

StoredDSID = XXX; 既存データセット識別子
sDataType = CD_TIPTYPE_MAIL; データタイプ(メール)
lpUserName = XXX; 表示名(メールの分類されているフォルダ名)
lpPathName = XXX; ファイルパス名(メールのパス(*2))
lpFrom = XXX; 差出人名(メールのFrom:ヘッダー)
lpTo = XXX; 宛名(メールのTo:ヘッダー)
lpTitle = XXX; タイトル(メールのSubject:ヘッダー)
lpSummary = XXX; 代表文(要約)
ftLastUpdate = XXX; 最終更新日時
ftUserTime = XXX; 表示日時(メールのDate:ヘッダー、FILETIMEに変換)

(*2)メールのパスは、そのメールを一意に定めるもの。Mailistでは、そのメールの入っているフォルダ名そのメールのフォルダでのインデックスID

・ファイル(メール)のキーワード構造体の束について

以下を形態素解析し、抽出されたそれぞれのキーワードの重みにさらに()内の倍率をかけた結果を、キーワード構造体の束とする。

 

#メールデータの登録フラグ

2重登録を防ぐため、各メールごとにメールのインデックスに、データセットに登録済みかのフラグを設けておく。
追加登録の際には、登録済みフラグがOFFのメールのみ登録し、登録に成功したら、このフラグをONにする。
データセットの新規作成時には、すべてのメールの登録済みフラグをOFFにした後、登録を開始する。


この技術情報に関するサポートは、 サポートセンターでは一切行っておりませんので ご注意ください。