4D v17 R5では、データベースプロジェクトを作成することができます。プロジェクトの最大の利点は、分散したチームでの共同作業をいかに簡単にするかということです…ソースをソース管理システムにプレーンテキストファイルで保存することで、このようなことが可能になるのです。あなたが一人の開発者であれ、チームの一員であれ、これは新しい可能性の世界を開くものです。
しかし、既存のデータベースはどうでしょうか?プロジェクトに変換できるのでしょうか?そうです。このブログでは、その方法を紹介するとともに、作業を進める前に知っておくべきいくつかの事柄を説明します。
データベースを変換する
変換しても、.4DBファイル(バイナリデータベース構造ファイル)は変更されません。新しい “Project” フォルダが .4DB の隣に作成されます。これによって、バイナリデータベースを何度も変換する ことができます(テストに便利です)。変換は一方通行であることに注意してください。つまり、一度、プロジェクトに変換して、変更を加えると、その変更を自動的に .4DB に再統合することはできません。
変換はとても簡単で、”File > Export > Structure to project “メニュー項目をクリックするだけです。
変換ダイアログに表示される “プロジェクトを開く “ボタンでプロジェクトを開くか、従来のデータベースを開く方法で開くかを選択することができます。
では、変換中に実際に何が起こっているのでしょうか?
.4DBの隣に、新しい.4DProjectフォルダが作成されます。その中には、あなたのコード、フォーム、構造、メソッド、トリガー、メニュー、ヒント、リストなど、すべてが含まれています。
.4DProject フォルダの中で、プロジェクトは .4DB と同じ Resources と Web フォルダを使用します。これによって、プロジェクトのテストが容易になります。.4DB のデータベースを開き、いくつかの変更を加え、 再びエクスポートして結果をテストしてください。変換に満足するまで、この操作を繰り返すことができます。
互換性についての注意
プロジェクトでは、いくつかの廃止された機能を削除し、その他の機能を更新する予定です。
- ピクチャーライブラリーは、プロジェクトに存在しなくなりました。変換中、4Dは全ての画像をResourcesフォルダーにエクスポートします。
- スタイルシートの可能性を広げる、より現代的な新しい実装は、将来のバージョンで提供される予定です。
- 皆様からのコメントにお答えして、ユーザーとグループの新しいユーザー管理システムを準備中です。
- フォーム・オブジェクトとそのプロパティに変更が加えられました。実際には、Dynamicフォームと同じ文法が使われています。
- 互換性設定はリセットされます(新しいバイナリデータベースに関して)。自分のコードが最新かどうかを確認したい場合は、Thomas Maulの互換性設定に関するブログ記事シリーズをご覧ください。
変換を確認する
データベースの変換について心配する必要はありません。変換しても、構造(.4DB)やデータ(.4DD)は変わりません。変換中にログファイルが作成され、メッセージが情報、警告、エラーの3つのカテゴリーに分類されます。
例えば、ピクチャーライブラリに画像がある場合、4Dはそれらをプロジェクトのリソースフォルダにエクスポートします。ログファイルには、ピクチャーのIDとファイル名の対応が記録されます。
{ "message": "Exporting picture id:1, name:logo.png, types:.png to <...>:Resources:Images:library:logo.png", "severity": "info" }
いくつかのエラーは、あなたの介入を必要とするかもしれません(例えば、あなたのデータベースは、ハイライトボタンのような、もはやサポートされていない古いフォームオブジェクトを使用していました)。この場合、手動でボタンを3Dボタンに変換する必要があります。
{ "table": 3, "tableName": "Name", "form": "Form", "object": "button", "message": "Highlight buttons are unsupported. Please convert them to 3D buttons.", "severity": "error" }
いずれにせよ、4Dはすべての操作をあなたに通知します。あなたは、変換中に何が起こったかをよりよく理解するために(あるいは単に有用な情報を得るために)ログを読むだけでいいのです。
期待することは?
これは、プロジェクトの最初の(ベータ)バージョンです。関連する機能は、4D v17 R5 Betaから、すぐにパートナーに展開される予定です。他の機能は、R-Releasesにのみ含まれるのとは対照的に(完全にテストされ、実運用に耐えうるものと判断された後)、Projectsはまだ開発中で、テストのみを目的としています。100%完全でバグがないわけではないので、まだ実運用に使うべきではありません。とはいえ、皆さんのフィードバックは今まで以上に必要です。
テストは、4D v17 R6 Betaで継続されます。これからの6ヶ月間のテストと皆さんの協力で、4D v18は4Dの歴史に残る画期的なものになることでしょう。
ベータ版」フォーラム(すべての4Dパートナーにアクセス可能)で議論に参加してください。