If一見何の問題ないように見えるこのプログラム...実は大きな落とし穴があったんです。"複数値も可"が有効なフィールドでした。キーには複数値を設定できます。複数値で検索した場合、指定した複数の値に一致するすべての値を一度に取り出します。配列のすべての要素を検索のキーとして指定する必要があります。複数のソート列を対象にして検索します。同じように複数値を指定しても検索結果が違うのです。次のように変換するのが正しかったのです。文書を印刷できなくするアプリケーション内の文書をNotesクライアントから印刷させたくない場合、印刷機能を無効にすることができます。WEBブラウザでアクセスさせる場合、Dominoでは制御できません。ブラウザの種類によって制御方法を変えたり、そもそも制御できないブラウザもある(?)ようで、いろいろ面倒なようです。ここは専用クライアントを使うことのメリットがある好例でしょう。Notesの印刷機能を無効にしたからといっても、画面をキャプチャしたりデジタルカメラで撮影することまでは制御できませんから、そういった意味では印刷を完全に防ぐことは不可能です。画面をキャプチャしたものはコピーであり原本ではありません。重要なのは、原本(と同じもの)を他の媒体へコピーできないことです。ここではNotesの文書を原本と考え、それを印刷やコピーができないよう制御する方法をご紹介します。この権限をもたない(チェックを外した)ユーザーが文書を作成することによる問題が報告されていますので、ご注意ください。設定されますが、実はBのプロパティを有効にしなくても同様の機能を実現できます。いった表示のチェックボックスを出しておいて、作成者が当該文書の印刷可否を決められるような仕様も実現できます。アイテムと値はそのまま残ります。ときどき“このアプリケーションは印刷制御しているからリッチテキストフィールドに貼られた添付ファイルの内容も印刷できない”と勘違いされている方がいらっしゃいますが、添付ファイルを開いた後の印刷機能はファイルに関連付けられたアプリケーション側の制御になります。コメントこの投稿へのリンク2010年1月27日水曜日フレームにビューが表示されなくなるフレームセットで画面を分割したアプリケーションで、データベースを開いたときにフレーム内に最初に表示するよう設定しているビューが開かず、そのフレームだけ別のビューが開くようになることがあります。なった場合、Bookmark.nsfのエントリを削除すると解決するのですが、面倒だし一般ユーザーには敷居が高すぎます。そもそもこんなことにならないよう作っておくべきなのですが、Notesのお作法はよくわからん...ということで失敗から学んだ事例です。横に2分割して、そのうちの右のフレームをさらに縦に2分割した、計3分割の構成でした。いうビューを開くよう設定していました。DBのプロパティでは[起動]タブにある"最後に表示していたものを表示する"のチェックを外していました。以外のビューが最初に表示されるようになったという声がちらほらではじめました。懇談室で相談したところ、フレームの枠をドラッグして幅を調整した後、アプリケーションを再度起動した時から、フレームの内容が表示されなくなることがわかりました。フレームセットの構成が影響している...との助言があり下図のように作り変えたところ、枠の幅を変更してもビューが置き換わらなくなりました。クラスで、プロパティやメソッドの記述例の文書がひとつもありゃしない...ここはテストして学ぶしかないかぁ~というわけで、以下、テストの結果です。Notes(Basic)8.0.1で実験してます。失敗しました:サーバーへのパスが見つかりません。ネットワーク接続を確認してください。部分一致)"検索する名前"と"アイテム名"は単一の文字列、または配列です。一度に複数の名前を検索することができ、複数のアイテム値を戻すことができます。オブジェクトが作成されました。隠しビュー(ビュー名が括弧でかこまれたビュー)は括弧をつけなくても機能しました。(よくわからん...)当方ではディレクトリアシスタントを利用して2つのドミノディレクトリで運用していますが、どちらのドミノディレクトリからも検索できました。メソッドで読み出すことができました。サポートされていません。アプリケーションリンクをクリックすると、標記のメッセージが表示され、開かないユーザーがいらっしゃいました。持っていて、そのアイコンがワークスペース上にありました。IDは出張先のドメインで発行されたものだったとのこと。作成時には(デフォルトで)暗号化のオプションが有効だったのを、おそらく意識しなかったのでしょう。そこで、「データベースを開く」の画面を表示させ、当方のサーバー上の当該データベースを指定したところ、無事に開きました。表記のメッセージじゃ見当もつかないですよね?今回に限らずですが、もっとわかりやすい文言にならないものでしょうか?>IBMさん実はアプリケーションリンクをクリックしてもアプリケーションが開かないといった問い合わせは非常に多いのです。多くは海外(の出張先)から帰国して間もないユーザーで、ロケーションに絡むものです。今回のように自分がアクセスしようとしても開かないが他のメンバーはアクセスできる、他のアプリケーションは開く、といったユーザー固有の問い合わせがあると、なんだかワクワクしてしまう自分がいます。コメントこの投稿へのリンク2010年1月20日水曜日グループの入れ子を洗い出すドミノディレクトリのグループ文書では、メンバーの値としてユーザーのほか、グループを設定できます。つのレベルまでたどってくれます。※メール配信の場合は20のレベルまで※8のAdministratorヘルプには「メール配信は5つのレベル」といった記載がいくつか残っています。R4.xの頃の名残りと思われ...orzでもグループのメンバーにさらにグループが設定されていると、実際のアクセス権限がどうなっているのかがわかりづらいですよね。そこで入れ子のグループを階層表示するアプリケーションを作ってみました。選択したアプリケーションのACLからグループのエントリだけ取り出し、そのメンバーに設定されたグループを掘り出していきます。掘り出したグループをビューで階層表示します。Function上記エージェントを実行すると、アプリケーション内に文書を書き出します。これらの文書は親子関係になっていて、以下のような3列のビューを作成すると階層構造で表示できます。1列目の値として次の式を記述します。"なし":"投稿者":"読者":"作成者":"編集者":"設計者":"管理者":"")2列目は列のプロパティで「返答文書のみ表示」と「展開できる行に三角アイコンを表示する」にチェックを付けます。3列目は列のプロパティで「展開できる行に三角アイコンを表示する」にチェックを付けます。ビューのプロパティで「返答文書を階層表示する」にチェックを付けます。以上でできあがりです。ディレクトリアシスタントを使って別のアドレス帳にあるグループで認証させている環境では物足りないかもしれませんね。なんとか対応できるようにいろいろ調べてみたいと思います。それから、ビュー上で文書をダブルクリックしてもフォームが無いのでエラーが表示されますが、気にしないでください。何かおかしい...と感じるときがあります。そんなときには迷わず再起動して、ついでにキャッシュもクリアします。いうファイル名で存在します。クラスでアクセスできます。中にある文書を片っ端から削除してあげましょう。"キャッシュをクリアしました。"キャッシュはクリアできませんでした。勝手に作成しますのでご心配なく。コメントこの投稿へのリンク2010年1月18日月曜日セクションを制限つきアクセスにする文書を編集モードで開いた時、一部分は特定の人にだけ編集させたい場合があります。ドラフトの時だけ特定の人にコメントを書かせたい場合、制限つきアクセスセクションの中にコメントフィールドを設置します。セクションを編集できる人を導き出す式を「フォームのセクション」プロパティの「式」タブにある「アクセス式」に書き込み、この式の実行結果として、ユーザー、グループ、ロールが導き出されるようにします。設定すると、編集モードにできる全員がこのセクション内を編集できます。要するに「制限なし」ですね。"[ADMIN]")となります。互換)」なる項目で設定した名前でアイテムができます。セクションを誰が編集できるかは、そのアイテムの値を見るとわかります。「式」タブの「種類」を"編集可能"としたセクションを編集モードでダブルクリックした時、編集させる人を選択できる「セクションの編集者を指定」画面を表示します。フロントエンドに登場させる、といった手法をとることもできます。"署名を自動的に追加する"が有効の場合、署名の後に文書リンクが付いてしまいます。(個人的には署名なんて手動でも使いたくないが...orz)こいつが非常に気になります。Memoフォームの設計を見るとPostOpenで署名を加えているようですが、まさか設計を変えるわけにもいかない...どうにか署名の前に文書リンクをつけられないか、フロントエンドの文書へ直接文書リンクを付ける方法がなかろうかと試行錯誤を繰り返した末、実現できたのが次のような仕組みです。アクションボタンの式(ビュー、またはフォームに設置できます。nam.AbbreviatedNext'単一の文字列に変換。"メールが開きません。.InsertText("下のリンクをクリックして確認してください。Subでもこれでは本文で文字のスタイルを変更したり整った表を作るといったことがやりづらいのです。現在開いている(あるいはビューでフォーカスが当たっている)文書のリンクがついたメールを作成できますが、フロントエンドで使うにはタイトルが勝手に設定されたりとちょっと曲者なのです。別ドメインに不正アクセス外部のNotesドメインのユーザーが当方のサーバーアクセスしようとして権限なしではじかれた旨、ログ(log.nsf)に記録された。denied気になったのは夜間のアクセスはなく、日中に限っていること。1時間おきに10行程度記録されていること。当社の社員で関連会社へパソコンを持ち出している。本人へ直接問い合わせたが、まったく認識がないという。そこでNotesクライアントの設定をいくつか変更してもらった。OK!ヘルプによると、購読が有効の場合、購読するDBに対して定期的にチェックを行うが、その間隔はユーザープリファレンスに設定された「新規メールの通知」の間隔の2倍の頻度でチェックされるとのこと。未知のドメインのサーバーへの初回アクセスで「検索するサーバーの選択」画面を表示させない方法クライアント上でアプリケーション・リンクをクリックするなどして、これまでに接続したことのないドメインのサーバーにあるアプリケーションへアクセスさせようとした時、「検索するサーバーの選択」というタイトルの画面が表示される場合があります。その画面にあるサーバーリストには未知のドメインのサーバーなどあるはずもない。タイプして「データベースを開く」画面を開き、サーバー入力欄へIPアドレスをタイプしてもらうのも手です。IPアドレスのような数字の羅列は間違えやすいし、将来変わる可能性もあるので、なるべくなら入力させたくありませんね。あるロケーション文書には、これまで接続できたサーバーの情報がキャッシュされていまして、ここへ未知のサーバーの情報を書き込んであげると...アプリケーションがすんなり開くのです。Scriptのサンプルを示します。R6.5.3にて)利用したことがあります。コマンドで取得するといいと思います。設定する値はIPアドレスでも良いようです。コメントこの投稿へのリンク2010年1月8日金曜日@Commandでカレンダーを開くアクションボタンから自身のメールアプリケーションにあるカレンダービューを開きたいと考え、試してみました。次のどれでもカレンダービューが開きましたが、既にメールアプリケーションが開いているか否かで表示結果が違ったり、フレームセットが違ったりします。[UseContactsFrameset])もしかするとNotesのバージョンにより動かないかもしれませんので、ご自身の環境で確認してみてください。2番目のパラメータはヘルプには記載されていません。使わないほうが無難です。強制終了するコマンドがあります。コマンドプロンプトを開き、次のコマンドを投入します。プログラムディレクトリにあるので、コマンド投入前にチェンジディレクトリ(cd)します。コメントこの投稿へのリンク2010年1月6日水曜日ブックマークのSubjectを変更する(デフォルト値を任意の値で置換する)メールDBには、文書リンクを送信する専用のフォーム「ブックマーク」があります。メールDB以外のデータベースからこのフォームを利用して誰かに通知したい、といった場合にも使うことができます。"を自動的に付加されるよう設計されています。フィールドに設定された値を置換するよう仕込まなければなりません。次の例では、文書のタイトルに"[Information]:"を付けた文字列をブックマークの件名へセットします。実行すると変なメッセージが表示されました。コメントこの投稿へのリンク2010年1月5日火曜日ビューで選択した文書を、ビューのソート順に従って処理するこのトピックについて興味があり、遊んでみました。文書コレクションを取得しても、ビューの表示順(ソート順、並び順)のとおりに取り出すことができないことです。そこで、ビューのエントリを最初から順になめていき、文書コレクションに一致する文書があれば処理する、といった手法で解決する例が紹介されていて感心したのですが、少々ややこしかったので簡単に書きなおしてみました。下の例はビューのアクションボタンに記述しています。'ここへ処理を記述します。Notes/Dominoにどっぷり浸かってます。サポートされていません。