メーラー(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にした後、登録を開始する。
この技術情報に関するサポートは、 サポートセンターでは一切行っておりませんので ご注意ください。 |