カレンダーへのアクセス アクション (下のスクリーンショット) がデザインに追加されると、$MT_CALENDAR ページソース ツリーがデザインに自動的に追加されます。ランタイムでは、選択されたカレンダーアクションにより、 (i) デバイスのカレンダーからの情報が読み取られ、 $MT_CALENDAR ツリー内に保管、または、 (ii) カレンダー イベントのためのエントリがデバイスのカレンダーアプリ内で開かれます。ユーザーはこのエントリを編集し、保存することができます。
メモ: | Windows 8 クライアントデバイスはカレンダーイベントをサポートしないことに注意してください。 |
カレンダーのアクションには3つの種類が存在します:
•カレンダーの読み取り イベント: デバイス上のカレンダー内のイベント情報を読み取り、この情報を $MT_CALENDAR ツリー内に保管します。各イベントは個別の Event 要素に保管されます (下の $MT_CALENDAR ツリー 構造を参照してください)。ツリー内のデータは後にソリューション内で使用されます。
•カレンダーへの書き込み イベント: ランタイムでは、 エンドユーザーデバイスのカレンダーアプリ内でイベントエントリを開きます。このイベントエントリは、アクションの設定内に入力された情報と共に記入されます。エンドユーザーはエントリを編集し、デバイスのカレンダーにエントリを保管することができます。
•カレンダーの読み取り: デバイス上のカレンダーに関する情報を読み取り、この情報を $MT_CALENDAR ツリーに保存します。各カレンダーは個別の Calendar 要素として保存されます (下の $MT_CALENDAR ツリー 構造 のスクリーンショットを参照してください)。ツリー内のデータは後にソリューション内で使用されます。
これら3つの種類のカレンダーアクションは下で更に詳しく説明されています。
このアクションはデバイス上のカレンダー内のイベントに関する情報を読み取ります (下のスクリーンショット参照)。デバイス上の関連するカレンダーのみ選択することもできます (上の カレンダーの読み取り を参照してください) 、または、 ID 別にカレンダーを読み取るように指定することもできます(文字列のシーケンスとして複数の ID が与えられます)。$MT_CALENDAR ツリー内の Event 要素として各イベントは保管されます。
読み取るイベントのデータフィールドを選択することができます:
•ID、カレンダー ID: カレンダーの識別子である文字列。
•イベント ID: イベントの識別子である文字列。
•タイトル: イベントの名前。場所:
•場所: イベントの場所
•開始、終了: イベントの開始と終了時刻。
•終日: イベントが終日かどうか。終日 は開始と終了時間が指定されていると設定されます。このプロパティは true の値を持ち、それ以外の場合は false の値を持ちます。
•空き時間: カレンダーのユーザーの空き時間です。
•経過時間: イベントの期間を分数で表します。再帰的な日付、再帰的なルール:
•イベントの再帰的な日付と(例えば: 毎週、または、毎木曜日など)再帰的なルールです。
•説明:イベントの説明。アラーム:
•アラームが設定されているかどうか: はいの場合は、true 、いいえの場合は false です。
•再帰的: イベントが再帰的に発生する開始と終了時間です。
•参加者: 各参加者の詳細は個別の参加者 アイテム内に保管されています。
•リマインダー: リマインダーの頻度と、リマインダーのメソッドなどのリマインダーの詳細です。
メモ: | カレンダーに特定のフィールドの情報が含まれていない場合、そのフィールドのために返される値はありません。 |
このアクション実行されると、デバイスのカレンダーアプリが開かれ、アクション内に入力されたデータを含むイベントのエントリが作成されます (下のスクリーンショット参照)。例えば、下のスクリーンショット内で表示されている イベントエントリは、イベントのタイトル、開始と終了時刻、説明とイベントの場所が含まれています。下のスクリーンショット内では、イベント は終日 のための値は (false の場合) 0 、または、(true の場合) 1 であることができルことに注目してください。
クライアントデバイス上でアクションがトリガーされると、イベントは直接カレンダーに保存されません。代わりに、イベントエントリは、カレンダーアプリで開かれ、ユーザーはすぐにイベントを編集し、希望する場合はカレンダーに保存することができます。
このアクションは、デバイス上のカレンダーに関する情報を読み取ります。デバイスには国際的な祝日、または、特定の業界の貿易フェアなど追加カレンダーが存在する場合があります。これらの カレンダーは通常新規のイベントを追加するために使用され、必須とは考慮されません。カレンダーの読み取り時、これらの「必須ではない」カレンダーを(関連するカレンダーのみを選択し)フィルターすることができます(下のスクリーンショット参照)。カレンダーの選択がフィルターされていない場合、デバイス上のすべてのカレンダーが読み取られます。$MT_CALENDAR ツリー内でカレンダー 要素として各カレンダーは保管されます。
読み取るカレンダーの情報のデータフィールドを選択することができます:
•ID: カレンダーの識別子である文字列。
•名前: これらの名前は、カレンダー間を区別するために使用されます。カレンダーの表示名、アカウント名、管理者の名前から1つ、または(デバイスに複数のアカウントが存在する場合があるため)複数を選択します。
•許可される参加者の種類: 任意、または、必須などの値。
•色、場所、タイムゾーン: カレンダーの色、場所、タイムゾーン (+/-HH:MM の書式で通常表示されています)。
•プライマリ: 通常各デバイスにはプライマリカレンダーと複数のセカンダリカレンダーが存在します。この値は、カレンダーがプライマリ (true) 、または、セカンダリ (false) かを示しています。
•表示される: カレンダーが表示 (true) 、または、非表示 (false) かどうか。
•イベントの同期: カレンダーがイベントを同期するか (true) 、または、しないか (false) どうか。
メモ: | カレンダーに特定のフィールドの情報が含まれていない場合、そのフィールドのために返される値はありません。 |
デバイスのカレンダーアプリをシミュレーションするには2つのオプションがあります:
•Microsoft Outlook のカレンダー
•$MT_CALENDAR ツリーの構造を持つ XML ファイル
オプション ダイアログ (「ツール | オプション」)のシミュレーションタブ内のオプションを選択します。