アプリケーションを顧客に配布する際、マージされた4D Server またはシングルユーザーアプリケーションを配布する際、4Dは通常「データファイルの選択」ダイアログを表示します。これは、更新されたソリューションの場合、4Dは最後に使用したデータファイルの位置を見つけることができないため、古い構造を置き換えたばかりであるためです。また、初めて使用する場合、4Dはデータファイルの作成場所を知らないので、その場所を尋ねます。
このダイアログは、あなたのアプリケーションとの最初のインタラクションとして、顧客を混乱させるかもしれません。また、データファイルの検証は、アプリケーションが実行される前に行われます。 On Startupが実行され、コードが他のファイルを選択する前に、データファイルの検証が行われます。これを避けるために、4D v15は デフォルト・データという新しい機能を導入しました。
目的
この機能は、厳密にアプリケーションのデプロイのために設計されています。データファイル、インデックスファイル、必要に応じて追加ファイルを含むデフォルトのデータフォルダを設定し、ビルドアプリケーションに自動的にマージすることができます(これは開発やテストに使用するデータファイルではなく、エンドユーザーに配布されるテストデータの変更を避けるためのものです)。
マージされたアプリケーション、4Dサーバーまたはシングルユーザーが起動すると、最後に使用したデータファイルが利用可能かどうかをチェックします。ない場合は、ビルドにデフォルトのデータフォルダが含まれているかどうかをチェックします。もし、そうであれば、アプリケーションを開くために、このデフォルトのデータが読み取り専用モードで使用されます。
今、あなたの On Startupメソッドが実行されると、それがデフォルトデータであることを検出し、今何をすべきかを決定することができます。データファイルを選択するダイアログを表示させたり、ユーザーフォルダにデータファイルのパスを保存して自動的に戻したり、自動的に新しいファイルを作成してデータを入れたり、あなたのビジネスケースに最適な方法を選択することができます。
詳細な仕組み
製品のアップグレード後や初回起動時にエンドユーザーに “Open Data File “ダイアログが表示されないように、4Dはいくつかのデフォルトの場所を事前に使用し、特定のデータファイルを事前に設定した場所に配信し、例えば、独自のデータオープン/作成ダイアログを表示する手段を持つことができるように試みます。
実行するための手順
1- 4D 開発者は、データベースパッケージ内に”Default Data“フォルダを作成し、そこにデフォルトとして使用されるデータファイル”Default.4DD“を置きます。
2- ビルドアプリケーションプロセスは、フォルダをマージされたアプリケーションに統合します。 Default Dataフォルダをマージされたアプリケーションに統合します。
注意: Default Data フォルダにあるすべてのファイルは、マージされたアプリケーションにコピーされます。デフォルトデータは空である必要はありません。例えば、アプリケーションのデモを作成するために、Default Dataを使用することができます。
4D Mergedアプリケーションを起動する際の新しいオープニングシーケンスは、以下の通りです。
1- 4D は最後に開かれたデータファイルを開こうとします。
2- 見つからない場合、4Dはデフォルトデータ(上記で説明)を開こうとします(新機能)。
3- 見つからない場合、4Dは同じ名前の構造ファイルの隣にあるデータファイルを開こうとします。
4- 見つからない場合、4Dは標準の “Open data file “ダイアログボックスを表示します。
注意事項
- このステップ2で、4D開発者がコントロールし、次のステップを回避することができます。
- 4Dがデフォルトのデータを使用する場合、READ-ONLYで開かれます。
- 4D Developerにとって、ステップ2とステップ3の間の利点は、ビルドアプリプロセス中にデータファイルが自動的にコピーされることです。このため、手動でパッケージ内にコピーする必要がなく、忘れる心配がありません。
もう一つの利点は、Mac OSで署名されたアプリケーションの場合、データファイルを手動で追加すると、署名が壊れてしまうことです。その場合、4Dのサポートなしで、アプリケーションに再度署名する必要があります。デフォルトのデータメカニズムを使用することで、これを避けることができます。
詳しくは、ドキュメントのこちらの記事をご覧ください。