FirstClassアプリケーションの開発について
アプリケーションは、次の内容で構成されています。
・FirstClassデザイナーを使用して作成した、カスタマイズしたフォーム
・メールルールおよびアプリケーションルール
・列のカスタマイズおよび表示のプロパティ
・FirstClassスクリプト
上記の要素は、コンテナやコンテナテンプレート内に保存することができます。
・ユーザグループ
ユーザは会議室またはフォルダを通じてアプリケーションへのアクセス権が与えられます。アプリケーションのコンテナへのアクセス権をグループのメンバーに与えるには、モデルデスクトップを使用してください。
アプリケーション作成を開始する方法
アプリケーションを作成する第一段階は、そのアプリケーションで何をしたいか、そのアプリケーションをどのように動作させたいかをはっきりさせることです。FirstClassのアプリケーションを設計し開発するには、FirstClassの機能と考え方を十分に理解しておかなければなりません。
アプリケーションの計画を立て、必要なすべてのコンポーネントとその実行方法を理解したら、FirstClassスクリプトを使用してアプリケーションを新しく作成する必要があります。INITIATEAPPINSTALLコマンドを使用すると、[アプリケーション設定]フォームにFirstClassアプリケーションが登録され、アプリケーションフォルダが作成されます。アプリケーションの登録に失敗すると、スクリプトは終了します。
起動時に、すべての「登録済み」アプリケーションの名前および登録番号が、コンソールで一覧表示されます。また、新規アプリケーションが作成またはアンインストールされた場合は、コンソールにそのアプリケーションに関するメッセージが表示されます。
アプリケーション開発に使用するFirstClassコンポーネント
上述のように、アプリケーションは、既存のFirstClassの機能とコンポーネントを使用して作成されます。ここでは、それらの機能とコンポーネントをアプリケーション開発で使用する方法の概要を説明します。また、詳細なヘルプへのリンクも付いています。
コンテナ用テンプレート
コンテナ用テンプレートは、テンプレートに所属するコンテナに対して次の内容を設定します。
・権限
・列のカスタマイズ
・ツールバー
・表示のプロパティ(レイアウト)
・検索オプション
・リソース
・ルール
関連リンク
列のカスタマイズ
列のカスタマイズを行うことによって、管理者またはアプリケーション開発者は、コンテナに新しい列を追加したり、デフォルトの列をすべて置き換えたりすることができます。テキスト、画像、アイコン、チェックボックスのフィールドなど、さまざまな情報をフォームから列に反映させることができます。自分のコンテナの表示をカスタマイズしたり、列をカスタマイズしたォームの設定内容を変更できないようにしたりする権限をユーザに与えることができます。
関連リンク
ツールバーのカスタマイズ
ツールバーのカスタマイズは、コンテナ用テンプレートのレベルで行うことができます。
また、手動のルールをツールバーに配置すると、ルールを実行する権限のあるユーザは、コンテナの[Rules & Resources]フォルダを開く権限がなくても簡単にルールを実行できます。
関連リンク
コンテナの代替表示
コンテナ用テンプレートを利用すると、ユーザの権限に基づいて使用するコンテナのレイアウトを指定できます。
会議室の主催者には、列のレイアウト、ツールバー上のオブジェクト、背景などが、ユーザとは全く異なる形で表示されるようにすることができます。
例
学校のあるクラスの会議室とそのすべてのサブコンテナは、2つのグループに分けられています。
先生は会議室の主催者になっているため、主催者のテンプレート表示を継承します。先生には、会議室アイテムを承認するためにカスタマイズ設定された列とすべての標準の列が表示されます。また、ツールバーには手動のルールが配置され、表示される画像は少なめになっています。
一方、生徒には[送信可]権限以下の権限が与えられているため、デフォルトの表示を継承します。生徒には、列の少ない単純なインタフェースと面白みのある背景画像が表示されています。
関連リンク
ユーザ用コンテナ表示のロック
FirstClass 8.0では、次の機能が強化されており、コンテナ用テンプレートとコンテナで利用できます。
チェックを入れると、これらの機能は常に有効になります。チェックボックスでこの機能が有効にされたグループにコンテナが所属している場合、その機能を無効にする方法はありません。無効にするには、他のグループに所属させる必要があります。
関連リンク
未承認アイテムの使用
未承認アイテムは、会議室の一覧表示では表示されないようにして、会議室の主催者だけに表示されるようにすることができます。
この機能を有効にするには、[会議室の権限]フォームで[未承認アイテムを表示しない]を選択してください。
主催者は、カスタマイズされた列と代替表示を利用して、他のユーザには表示されない「承認用の列」を管理者用のコンテナ一覧表示からクリックするだけで、簡単にメッセージを承認できます。[プロパティ]フォームを開く必要はありません。
関連リンク
ディレクトリに表示されないコンテナの作成
会議室がディレクトリに登録されないようにすると、その会議室は、管理者用ディレクトリを含め、ディレクトリには表示されません。そのため、ディレクトリに未登録の会議室をメールの宛先に指定することはできません。ただし、この会議室を開いた状態で、[新規メッセージ]ボタンをクリックするか[メッセージ]>[新規メッセージ]を選ぶと、この会議室宛の新規メセージを作成できます。この会議室はディレクトリには登録されないことから、この会議室に関連してディレクトリエントリ名の重複が起こることはありません。
この機能を有効にすると、そのコンテナ用テンプレート所属するコンテナはすべてディレクトリに表示されなくなります。この設定は、コンテナ用テンプレートに新しく追加された作成されたコンテナだけに適用されます。
関連リンク
[Rules & Resources]フォルダ
[Rules & Resources]フォルダは、コンテナ用テンプレートで利用でき、そのテンプレートに所属するすべてのコンテナで使用されます。
[Rules & Resources]フォルダを開くには、次の操作を行ってください。
1 コンテナ用テンプレートを開いてください。
2 [リソース]をクリックしてください。
アプリケーションルール
アプリケーションルールを利用すると、機能が拡張された一連のタイミング、条件、パスおよび動作を利用できます。
アプリケーションルールを作成するには、[グループ権限]フォームか[ユーザ情報]フォームで[アプリケーション開発]権限が有効になっている必要があります。
[Rules & Resources]フォルダから、[新規アプリケーションルール]アイコンをクリックしてください。
新規ルール実行タイミング
新しいパス
特定のコンテナに直接アクセスするパスの構文は次の通りです。
{Desktop} 現在のユーザのデスクトップ。
{Mailbox} 現在のユーザのメールボックス。
{Calendar} 現在のユーザのカレンダー。
{Contacts} 現在のユーザのコンタクトフォルダ。
{Typed=##} 現在のユーザが指定した種類のコンテナ。例えば、コンタクト(7)、マイドキュメント(32)など。
{AppID=####} IDが####のアプリケーションのルートフォルダ。
グループレベルでは、入力するパスはアプリケーションフォルダへの相対パスにするか、ユーザがルールを実行した時にパスが評価されるように!で始めなければなりません。
処理について
この処理は、処理リストのどの段階でも実行でき、実行する回数に制限はありません。また、どのような順序で実行させることも可能です。したがって、複数の処理を実行する際に、いったん処理を中断し、確認メッセージが表示されるか選択肢が選択されてから引き続き処理を行うようなルールを作成できます。ウィンドウが閉じられるとルールの実行は停止します。
一連の処理で取得したフィールド内容はすべて保持され、以降の処理で利用できます。例えば、ユーザが事前の処理でフォーム内のあるフィールドに入力し、同じフィールドIDを持つフィールドがその後の処理のフォーム内にある場合、ユーザの入力した内容がそのフォームに表示されます。
ある段階でのルールによる処理が、以降の処理に影響を及ぼします。したがって、実行したい一連の処理が、[選択肢を表示する]または[確認メッセージを表示する]の処理内で完結するようにしてください。そうしなければ、実行中の処理がリセットされてしまうためです。このような問題が起こらないようにする最善の方法は、ユーザインタフェースの処理を最初に実行し保存した入力内容を利用する動作を伴う処理を最後に実行することです。
関連リンク
フォームと特別なフィールドID
フィールドコントロール
[フィールドコントロール]フィールドは、そのフィールドで選択された値に応じて特定の動作を他のフィールドで実行するよう、FirstClassに指示します。
このフィールドは、チェックボックス、数値フィールド、ラジオグループおよび選択リスト(入力不可)に適用されます。これらのフィールドでユーザが選択した値によって、対象フィールドの値や状態が決定されます。例えば、次のような値を選択できます。
・他のラジオボタンを選択(1)または解除(0)する。
・他のチェックボックスを選択(1)または解除(0)する。あるいは、そのチェックボックスに対して変更なしの状態(2)を設定する。
・他のフィールドに数値を設定する。
・他のフィールドでアイテムの一覧を選択する。
・他のフィールドを表示(S)または非表示(H)にする。
・他のフィールドを有効(E)または無効(D)にする。
・他のフィールドの保護(P)するか、保護を解除(U)する。
フィールドコントロールはユーザが選択を行わない限り実行されません。したがって、ユーザが最初にフォームを開いた時に、フィールドが適切に表示されるようにしてください。
例
Approve/Unapprove field (61)
0または1の値を設定できるフィールド61がフォームに含まれている場合、このフィールドによって承認または未承認の状態を設定できます。
Editor Field (43)
ID 43の編集可能フィールドが、完全な機能を持つ編集フィールドになります。タブ付きフォームの場合に有効です。
Field 13002 & Get confirmation forms.
オプションでテキストを指定することもできる[確認メッセージを表示する]ルールが、フォーム上でフィールド 30002として表示されます。このフィールドはさまざまな目的に使用できます。例えば、フィールド 30002をガイドテキストとして使用することで、1つのフォームを繰り返し利用することができます。
[選択肢を表示する]フォームは、IDを7900から11000の間の値にしなければなりません。選択肢を表示するフォームでもフィールド 30002を使用できます。
関連リンク
FirstClassスクリプト
ルールとスクリプト
ルールで、バッチ管理を実行する動作を設定できます。ルールがこの動作を実行するように作成されている場合、そのルールは現在のユーザが管理者である場合にだけコンパイルされます。ユーザは、ほとんどの場合、手動ルールを選択することによってスクリプトを実行できますが、クライアントから実行できる動作に限られます。
コマンドは、ルールの「処理」の欄に記入したり、EXECUTEコマンドを使用してスクリプトにアクセスしたりすることができます。EXECUTEコマンドを利用すると柔軟性がより高く、1回限りでの使用が可能です。
セッションデータ
ルール動作からバッチ管理コマンドを実行すると、セッションデータにアクセスしてフィールドの置換を行うこともできます。
7001 ユーザの名
7002 ユーザのイニシャル
7003 ユーザの姓
7006 ユーザのクライアントID
7012 ユーザID
7100 ユーザの完全フォーマット名
7101 コピーの日付
7102 コピーの時刻
7103 選択されたアイテム
5004 ユーザの第一組織単位
例
この機能の使い方の詳しい例は、FirstClassスクリプトコマンドのENABLEFIELDSUBSTITUTIONのヘルプに掲載されています。
関連リンク
アプリケーションへのアプリケーションIDの追加
アプリケーションにはアプリケーションIDが付与されていなければなりません。
FirstClassスクリプトのINITIATEAPPINSTALLコマンドを実行すると、アプリケーションのコンテナは、自動的に[アプリケーション用コンテナ]サブタイプ(35)として定義されます。
アプリケーションIDを設定するには、FirstClassスクリプトのPUTコマンドを使用する必要があります。アプリケーションID設定に利用できる例は、PUTコマンドのヘルプに掲載されています。
ユーザ追加コマンド
クライアントは、新しいコマンドである[ユーザを追加]に対応しています。このコマンドにはツールバーのボタンから利用できます。このコマンドを実行すると、ディレクトリのウィンドウが開き、そこから1つまたは複数の名前を選択ができます。ユーザ名を選択すると、サーバはそのユーザを親コンテナの参加者一覧に追加します。このように、会議室に対して[権限の編集]権限を持つユーザは、コンテナの権限フォームを閲覧編集、または編集できる権限がなくてもユーザを追加できます。
[ユーザを追加]コマンドを実行すると、[名簿]という名の親コンテナ内にフォルダが作成されます。このフォルダ名はいつでも変更できます。この親コンテナへのアクセス権を持つユーザの一覧は、[所属ユーザの一覧]に記録されます。
ツールバーにこのコマンドを追加するには、以下の操作を行ってください。
1 [表示]>[ツールバー]>[ツールバーのカスタマイズ]を選択してください。
2 [カテゴリ]で[ツール]を選択してください。
3 [ユーザを追加]アイコンをツールバーにドラッグしてください。
[ユーザを追加]実行した時、[メッセージに承認が必要]権限がコンテナまたはグループのレベルで有効になっているコンテナでは、ユーザは未承認として追加されます。
| ||||||||||||||||||||||