4

あるデータベースで LotusScript ライブラリを作成し、別のデータベースからアクセスすることはできますか?

ライブラリを使用する必要がある各データベースにライブラリを単純にコピーする必要はありません。

私が達成したいのは、ライブラリを更新できる単一の場所であり、それを使用している各データベースに手動でコピーする必要はありません。このスクリプト ライブラリを使用するデータベースはすべて異なるデザイン テンプレートを使用しているため、デザイン テンプレートを使用できません。

別の解決策は、ライブラリが更新されるたびにライブラリをすべてのデータベースにコピーするエージェントを作成することだと思います。誰かが以前にそのようなことをしたことがあるなら、私もそれについてここに書きたいと思います.

4

3 に答える 3

10

Lotus Notes でのデザインの継承は、データベース レベルだけではありません。個々のデザイン要素 (スクリプト ライブラリなど) は、別のテンプレートから明示的に継承できます。個々の設計要素をテンプレートにリンクするを参照してください。

このように継承を設定すると、Domino サーバー上のデザイナータスクがデザイン要素を自動的に更新します。これを機能させるには、テンプレートを同じサーバーに複製する必要があります。

テンプレートをリリースするときに、この継承を無効にして、本番環境での予期せぬ事態を避けることができます。少し前に、これに対する解決策を作成しました:プログラムで Lotus Notes デザイン要素の継承を削除します。

于 2010-02-12T06:39:57.143 に答える
2

アンダースはその質問に非常によく答えました。Anders が既に述べたように、Domino は残念ながらデータベース間でコード ライブラリを共有できません。すべてのコードは自己完結型であり、このシナリオでは制限があります。

エージェントを使用するすべてのデータベースにエージェントをコピーしてから、設計の継承を採用すると、エージェントをすばやく簡単に配布できます。

別のアイデアは、エージェントのリポジトリとして機能する単一のデータベースを用意することです。そのため、同じエージェントを何度も再利用する必要がある場合、その設計は常に 1 つのデータベースにありますが、そのように設計する必要があります。更新する必要があるすべてのデータベースに対して操作を実行できます。

効果的に、各データベースをデータソースとしてのみ使用し、関連するエージェントを 1 つの場所から操作します。エージェントを実行するデータベースを識別するためにエージェントが使用するいくつかの追加の構成ドキュメントを定義できるようにするために、さらに作業が必要になります。

このアプローチの利点は次のとおりです。

  • デザインの継承と争う必要はありません。スクリプト ライブラリや設計構造が複雑な場合は、大規模な作業になる可能性があります。これを行うには、サード パーティ製のツールを購入する必要がある場合があります。

  • データベースに更新のフラグを立てる「アクティブ/非アクティブ」フィールドを使用して、一連の構成ドキュメントを介してどのデータベースを更新するかを実際に制御できます。エージェントの有効化/無効化で手を汚す必要があるエージェントに直接「触れる」のではなく。厳密に管理されている一部の企業環境では、Notes 管理者にこれを行うよう依頼し続ける必要があります。

  • エージェントをコーディングして、エージェントが各データベースで実行されたときに独自のカスタム ログ ドキュメントでアクティビティを報告し、それを一元的に保存することができます。

これがいくつかのオプションを提供することを願っています...

于 2010-03-15T10:45:04.617 に答える