DWAのLocal Archive DBの全文検索 -3-
<話題の履歴>
前回は、Local ArchiveのFT Index作成の動きを検証して、対処方法を検討しました。
今回は、対処方法を実際に試してみます。
まず、Agentなどで無理やりFT Indexを作成してしまう方法を試してみることにしましょう。
FT Indexを作成するAgentの作成は極めて簡単で、対象文書をなしにした、Agent Listから手動で実行するAgentを作成し、Designer HelpのCreateFTIndex MethodのSampleに書かれているLotusScript Codeを記述するのみです。
Server上のMail DBに作成したAgentであれば、このCodeを実行すると、FT Indexが生成され、Preferenceで見てもFT Indexが作成された状態になることは前回も述べた通りです。
しかし、Server上のMail DBにAgentを作成しても意味はありませんので、Local ArchiveのDBにAgentを作成しなければ、Localでの実行はできない訳です。
これを行うためには「DWA Local Archive DBのVersion Up -1- 」で紹介した方法を利用すれば、Local Archive DBの設計を更新してAgentを配布することが可能です。
ただし、上記の方法はIBMが正式に保証する方法ではありません。
このようにしてAgentを配布し、Local Archive DBで実行してみると、以下のようなErrorになります。
つまり、DOLSでのWeb Agentの実行は制限が行われていて、実行ができないのです。
さて、これでは、FT Indexを強制的に作成することはできません。
では、どうしたらLocal ArchiveのDOLS上でAgentの実行が出来るのでしょうか?
実は、以下のTechnoteが公開されています。
Lotus Software Knowledge Base Document
Title: Lotus Education On Demand: Implementing Domino R5 Off-Line Services (DOLS)
Doc #: 7006081
URL: http://www.ibm.com/support/docview.wss?rs=899&uid=swg27006081
R5の時のTechnoteですので、少し古いですが、DOLS_Restricted_Agents、DOLS_Unrestricted_Agentsという2つのGroupが提供されており、これらでDOLSでのAgentの実行が制御されています。
DOLSを標準で導入した場合、dolnames.nsfのGroupに上記のGroupは登録されていますが、Memberが空になっているために、DOLS上でAgentが実行できないのです。
上記のTechnoteに書かれているように、Domino Directoryに同じ名前のGroupを作成し、Memberに作成したAgentの署名者を入れて、DOLSをSyncさせると、Serverのnames.nsfからdolnames.nsfに変更内容が配信されます。
ただし、Local Archiveのみで利用している場合は、DOLSのSync ManagerのLocal Archive DBの同期は無効になっていますので、自動的には配布は行われません。
DOLS Sync Managerで手動で同期を行うと、Serverで設定したGroupの情報が反映されます。
この処理を行った上で、先ほど作成したAgentを流すと、Agentが実行され、FT Indexが作成され、Local Archive DBに全文検索の窓が現れます。
Preferenceを確認しても、FT Indexが作成された状態になっていますし、FT IndexのFolderも生成されていることが確認できます。
さて、これでFT Indexを強制的に作成する方法は分かりました。
今回は、Web Agentを使ってLocal Archive DBにFT Indexの作成を行いました。
しかし、ここには大きな落とし穴がありました。
次回、その落とし穴について解説し、対処方法を模索します。
<続く>
