私は現在、ユーザー (必ずしも現在のユーザーではない) がメンバーであるリストグループを取得するための Java メソッド (および XPages マネージド Bean の一部) を作成しています。
この情報を取得する簡単な方法はありますか? または、すべてのグループをループしてユーザーを確認し、それらのグループが他のグループのサブグループであるかどうかも確認する必要がありますか?
私は現在、ユーザー (必ずしも現在のユーザーではない) がメンバーであるリストグループを取得するための Java メソッド (および XPages マネージド Bean の一部) を作成しています。
この情報を取得する簡単な方法はありますか? または、すべてのグループをループしてユーザーを確認し、それらのグループが他のグループのサブグループであるかどうかも確認する必要がありますか?
ここのブログ投稿でこれに答えました:http://ntf.gbs.com/nathan/escape.nsf/d6plinks/NTFN-8TMHRP
シンプルなバージョンは、あなたが探しているのは...
lotus.notes.addins.DominoServer server = new lotus.notes.addins.DominoServer("YourCanonicalServerName");
Collection nameList = server.getNamesList("TheUserNameYou'reLookingFor");
それだけで十分です。
サーバー上のすべてのディレクトリ内のすべてのグループをループするよりも、グループ メンバーによって編成された各ディレクタに特別なビューを作成することをお勧めします。これにより、一致の検索が大幅に高速化されます。
Jasper によって言及された GroupManager ツールも、必要なことのほとんどを実現する LotusScript コードの良い例です。Java のオブジェクトは同じですが、構文がかなり厄介です。
/初心者
この情報($ServerAccess)
は、ユーザー名で分類された names.nsf のビューから取得できます。
session.evaluate( "@UserNamesList" );
ここで LotusScript を (再) 使用できるかどうかはわかりませんが、この記事 (IBM DeveloperWorks、4 番目の段落を見てください)は素晴らしい出発点です。NotesGroupManager クラスと NotesGroup クラスについて言及しています。これらのクラスは、XPages のコードを書き直すための基礎として使用できます。ユーザーが属するすべてのグループを見つける「簡単な」方法は他にないようです。この質問に対する率直な答えは NO のようです。