DayBackを自分のファイルに移植し、既存のイベントのテーブルにあるイベントをカレンダーで表示するための作業を解説します。
前提
- ここで解説する手順は、カレンダーに表示したいレコードを保存するテーブルがすでにあると仮定しています。
- カレンダーに表示したいテーブルが複数あるかもしれません(または1つのテーブルに複数の日付フィールドがあるかもしれません)。現時点では、それは心配ありません。ひとつのテーブル/フィールドを設定して動作するようになってから、イベントの追加のソースを構成できます。
統合方法の検討
- もし、カレンダーを既存のファイルに表示する必要がなければ、2つのファイルを紐付けて、カレンダーが「SampleEvents」の代わりに既存テーブルのイベントを表示するようにすることが出来ます。このように紐付けするほうが、より早いですが、ファイルは2つにわかれたままで、2つのファイルを使用する必要があります。(この方法での重要なポイントは2つのファイルで同じアカウント名とパスワードを使用する必要があるということです。もしくはカレンダーのファイルを自動で開くように設定することも可能ですが、全員が低いアクセスのパスワードで開くことになります。)この方法でも構わない場合には、「【Dayackのインテグレーション】自分で作ったファイルからカレンダーを外部ファイルとして連携する」の解説にしたがってください。
成功の鍵
DayBackの機能を既存のファイルに統合する際に最も多いミスは、統合時の作業順番が適切じゃないことに起因します。FileMakerで新しいコードをファイルにペーストする順番には、きわめて注意が必要です。レイアウトを作ってから、そのレイアウトを使うスクリプトをペーストすれば、すべてうまくいきます。スクリプトで使われるレイアウトを作る前にスクリプトをペーストすると、コードは壊れ、解明はとりわけ難しくなります。
ここに記載したステップを順番通りに作業してください。
ステップ・バイ・ステップの手順:シードコードカレンダーを自分のファイルにペーストする
- バックアップを保存する
- カスタム関数の移行
以下の3つのカスタム関数を統合先ファイルに移植します。詳しい手順-
#
#Assign
#AssignGlobal
-
- テーブルの準備
- 必要なテーブルをDayBackから統合先ファイルに移植します。詳しい手順
- SampleEvent(統合先ファイルにイベントテーブルがない場合)
- CalendarInterface
- CalendarColors
- ToDoList(To-Do Listを使用する場合)
- 必要なテーブルをDayBackから統合先ファイルに移植します。詳しい手順
- リレーションシップの設定
- 統合先ファイルにカレンダー用のテーブルオカレンスを作成し、リレーションシップを設定します。詳しい手順
- テーブルオカレンス名「SampleEvent」
- テーブルオカレンス名「SampleContact」(必要な場合)
- テーブルオカレンス名「SampleProjects」(必要な場合)
- テーブルオカレンス名「SamplePhases」(必要な場合)
- 統合先ファイルにカレンダー用のテーブルオカレンスを作成し、リレーションシップを設定します。詳しい手順
-
イベントテーブルに必要なフィールドを追加する
- 3.1 でDayBackから「SampleEvents」テーブルを移植せずに既存のファイルにあるイベントテーブルを利用した場合、カレンダーを実行するために必要なフィールドをコピー & ペーストします。詳しい手順
-
1. DayBackが使用する計算フィールド
- DBk_ColorCalc
- DBk_EventSummaryCalc
- DBk_LinkedWithinProject
- DBk_MilestoneSort
- DBk_Notified
- DBk_Repeating_id
- DBk_TimestampEndCalcNum
- DBk_TimestampStartCalcNum
- DBk_Unused
- DBk_WebViewerEventData
- DBk_WebViewerSource2. カレンダーに必要なフィールド
- Status
- Resource
- DateStart
- DateEnd
- TimeStart
- TimeEnd
- 値一覧の移植
- 統合先ファイルに、DayBackで使用する5種類の値一覧をそれぞれ作成します。
- Status
- Projects
- Resources
- Language
- Day Names
- 値一覧に関する注意
- Status, Projects, Resource:既に存在する同種の値一覧がある場合はそれを使用することができます。その場合値一覧の名前はDayBackで使用している値一覧と同じ名前にしてください。値一覧名は後から変更することもできます。
- Language, Day Names:言語を選択するための値一覧です。適切な言語を自動的に判断するので、この値一覧は言語設定の自動選択ではなく、各ユーザが手動で言語を選択する場合に使用します。この設定を使わない場合であっても作成しておくことで、フィールドに不明な値一覧が設定されてしまうことがなくなります。
- 統合先ファイルに、DayBackで使用する5種類の値一覧をそれぞれ作成します。
- レイアウト作成:レイアウトその1
- 既存のファイルに空白レイアウトをいくつか作ります(この後のステップで、この空白レイアウトにコンテンツをペーストします)
- スクリプトの移植
-
DayBackから全てのスクリプトをインポートまたはコピー&ペーストして移植します。
-
移植したスクリプトを確認し、スクリプト名が「2」で終わっているものがある場合は修正してください。
-
例:Daybackには「Upon Opening」という名前のスクリプトがあります。統合先ファイルに同じ名前のスクリプトがある場合、移植したスクリプトの名前は「Upon Opening 2」となります。
修正方法:統合先ファイルにもともと存在していたスクリプトの名前を「Upon Opening Main」などに変更し、次に移植したスクリプトの名前を「Upon Opening 2」から「Upon Opening」に変更します。今後の統合ステップを正しく行うため、スクリプト名はDayBackファイルにあるものと一致している必要があります。
-
- レイアウト作成:その2
-
DayBackのそれぞれのレイアウトから、レイアウトのコンテンツをコピーし、既存のファイルの同名のレイアウトにペーストします。
-
レイアウトの高さは自動で調整されますが、レイアウトの幅は調整されません。手動でレイアウトの右端を動かして、ファイルのレイアウトと同じ幅に合わせる必要があります。
-
「Action」レイアウトでは、レイアウトの見た目や、フィールドやボタンの追加など、好きなように編集できます。自分のイベントのテーブルのプロパティを関連フィールドと合わせておきましょう。
-
「Event Detail」レイアウトにあるフィールドをクリックして、自分のテーブルの正しいフィールドに割り当てます。「EventList」レイアウトも同様にします。
-
「To-Do Details」と「To-Do list」を使う場合は、自分のテーブルの正しいフィールドに割り当てます。
-
- レイアウトのスクリプトトリガを設定
-
スクリプトトリガを割り当てます。
- 設定が完了したら「Calendar Home」レイアウトに戻り、ブラウズモードに切り替えます。
- スクリプトトリガーの設定表
レイアウト トリガ モード スクリプト Calendar OnRecordLoad ブラウズモード Load Calendar Layout OnViewChange ブラウズモード Load Calendar Layout Action - View Event OnRecordLoad ブラウズモード On Event Record Load To-Do Details OnRecordLoad ブラウズモード On Event Record Load Repeat Options OnRecordLoad ブラウズモード Set Initial repeat variables
-
- セットアップ
- 自分に合うカレンダーにしていく段階です。カレンダーの動作とデフォルトの設定を制御するスクリプトを編集します。これらのスクリプトをじっくり通読しましょう。すべての設定を変える必要はありませんが、多くの箇所を変えていくことになるでしょう。ここで時間をとってどのような設定が使えるのかを覚えておくのは有用です。
- カレンダーの設定
- 「Load Calendar Settings - On Startup --- Edit Configuration Here ---」スクリプトと「Load Source Settings at Startup --- Describe Your Sources Here --」スクリプトの編集ウインドウを開きます。スクリプト全体にわたり、コメントに従って必要に応じて設定やフィールドの割り当てを変更します。
- データの割り当て(マッピング)
-
「Source No 1」レイアウトに切り替え、レイアウト上の指示に従ってフィールドをあなたのイベントのテーブルの関連するフィールドにマッピングしていきます。
-
- カレンダーの設定
-
11-1と11-2の作業が完了したら、「Upon Opening」スクリプトを実行します。間違いがなければ、カレンダーにあなたのイベントが表示されているはずです。もしエラーがあった場合、ここまでの手順をざっと読み直し、何かやり忘れがないか確認してください。また、「トラブルシューティング」も参照してください。
- 自分に合うカレンダーにしていく段階です。カレンダーの動作とデフォルトの設定を制御するスクリプトを編集します。これらのスクリプトをじっくり通読しましょう。すべての設定を変える必要はありませんが、多くの箇所を変えていくことになるでしょう。ここで時間をとってどのような設定が使えるのかを覚えておくのは有用です。
- クリーンアップ
-
DayBack.fmp12の「CalendarInterface」テーブルから、統合先ファイルの「CalendarInterface」へレコードをインポートします、カレンダーを使うために必要なファイルがすべて含まれています。
-
「SampleEvents」のテーブルオカレンスを、分かりやすい名前に変更します。手元のファイルを開くときに実行するスクリプトとして「Upon Opening」スクリプトを指定し、ファイルを開くときに実行するレイアウトを好みに応じて削除します。もしマルチウインドウを使っていたり、起動時のスクリプトでウインドウ名を変更している場合には、「Upon Opening 」のスクリプトを、ファイルの起動時ではなく、ユーザがカレンダーのレイアウトを開くときに実行します。
-
- 「Upon Opening」スクリプトの実行
- 「Upon Opening」スクリプトを実行すると、カレンダーにイベントが表示されます。
次のステップ
「カレンダー」に自分のレコードが表示されたら(おめでとうございます!)、おそらくいくつかの設定に戻って、カレンダーをイベントに割り当て、さらに完璧に使えるようにしたいと考えることでしょう。さらに設定する箇所をいくつか挙げます。
詳しくは 統合したカレンダーを更に使いこなすには の記事を参照してください。
コメント
0件のコメント
サインインしてコメントを残してください。