メインコンテンツまでスキップ
バージョン: 20 R7 BETA

Export structure file

Export structure file ( folderPath {; options} ) : Object

引数説明
folderPathTextプロジェクトファイルの保存先フォルダのパス
optionsObject書き出しオプション
戻り値Object書き出しステータスと(あれば)エラーについてのメッセージ

このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。

説明

Export structure file コマンドは、カレントの4D データベースストラクチャーを、folderPath 引数で指定したパスに、テキストベースのファイルやネイティブのピクチャーファイルなどのセットに分解し、書き出し、保存します。デフォルトでは、データベースストラクチャー全体(メソッド、フォーム、カタログ、等)が書き出されます。options 引数を使用することで書き出す中身をフィルターすることができます。

このコマンド使用すると、データベースストラクチャーファイルをソース管理レポジトリ(Git、Perforce、等)でに保存することができるようになります。同じストラクチャーファイルへの連続した変更、あるいは複数のソースからの変更も、標準のソース管理ツールを使用することで比較可能になります。

コマンドは以下のコンテキストにおいてのみ使用することが可能です:

  • ローカルの4D または4D Server (4D リモートから呼び出された場合にはエラーが返されます)
  • インタープリタデータベースであること(.4DC データベース内から呼び出された場合にはコマンドは何もしません)。

また、コンポーネントから呼ばれた場合でも、コマンドは常にホストデータベースストラクチャーを書き出すという点に注意してください。

folderPath 引数には、書き出されたファイルを保存するフォルダのシステムパスを渡します。

options 引数を使用すると、変換のプロセスをカスタマイズすることができます。options オブジェクトには、以下のプロパティを格納することができます:

プロパティ名値の型詳細
withLogブールまたは文字列
true または "always": 指定先のLogs フォルダに変換ログファイルを作成します
"ifNotEmpty": 変換ログファイルに何らかのメッセージが含まれる場合にのみ変換ログファイルを作成します
false または省略(デフォルト): 変換ログファイルを作成しません
makeProjectブールtrue を渡すと"Project" フォルダに.4DProject ファイルを書き出します。
filterオブジェクト書き出されるコンテンツ。省略された場合(デフォルト)、全てが書き出されます。
projectMethodsブールプロジェクトメソッドを書き出すにはtrue
databaseMethodsブールデータベースメソッドを書き出すにはtrue
triggerMethodsブールトリガメソッドを書き出すにはtrue
formsブールフォームを書き出すにはtrue
pageFormatブールそれぞれのjson ファイルの"pageFormat" プロパティとしてページフォーマットを含めるためにはtrue
catalogブールテーブルとフィールドの定義を書き出すにはtrue
formsブールフォームを書き出すにはtrue
foldersブールエクスプローラーフォルダ定義を書き出すにはtrue
settingsブールエクスプローラーストラクチャー設定を書き出すにはtrue
menusブールメニューを書き出すにはtrue
tipsブールtipsを書き出すにはtrue
listsブールリストを書き出すにはtrue
filtersブールフィルターを書き出すにはtrue
picturesブールピクチャーライブラリのピクチャーを書き出すにはtrue
resourcesブールResources フォルダを書き出すにはtrue
trashブールゴミ箱に入ったメソッドとフォームを書き出すにはtrue (*)
windowPositionsブールウィンドウの位置を書き出すにはtrue
methodPreferencesブールメソッドエディター設定を書き出すにはtrue
buildSettingsブールbuildApp.xml ファイルを書き出すにはtrue
dataPathブール最後に開かれていたデータファイルのパスをプロジェクトユーザー参照にコピーして含めるにはtrue
styleSheetsブールスタイルシートをCSS として書き出すにはtrue
documentationブールエクスプローラーのコメントをマークダウン形式として書き出すにはtrue

(*) "trash" フィルターは、"projectMethods" あるいは "forms" も選択されている場合に限り有効です。

警告: options 引数が渡されて、かつ"filter" オブジェクトが使用されている場合、書き出すプロパティに対してそれぞれtrue 値を指定する必要があります。このオブジェクトが渡された場合、4D はデフォルトでは全てのプロパティがfalse に設定されているとみなします。

戻り値

コマンドは書き出しの最終的な状況を提供するオブジェクトを返し、また途中で発生した問題やエラーがあれば、それについての情報も返します。返されるオブジェクトには、以下のプロパティが格納されています:

プロパティ名値の型詳細
successブール変換が成功した場合にはTrue 、それ以外の場合にはfalse
messagesコレクション書き出しオペレーションの途中で発生した問題についてのオブジェクトのコレクション
[ ].severityテキスト発生した問題のレベル。取り得る値: "info", "error"。"error" レベルの問題があると"success" プロパティはfalse となります("info" レベルだけではfalseになりません)。
[ ].messageテキスト問題またはエラーの詳細。例"オブジェクト型ではサポートされません"
[ ].errorsコレクションエラースタック(あれば)

注: エラーのオブジェクトにはコンテキストに応じて、追加のプロパティが格納されることがあります。

起こりうるエラーとしては以下のようなものが考えられます:

  • 重複した要素
  • ファイル管理エラー(ファイルが既に存在する、ファイルがロックされている、ディスクがいっぱいである、など)
  • サポートされていないフォームオブジェクトまたはプロパティ(も参照してください)

例題 1

データベースストラクチャーを、"Export" というフォルダに、デフォルトの設定で書き出したい場合を考えます:

 var $result : Object
 $result:=Export structure file("Export")
 If($result.success=True)
    ALERT("Export successful")
 Else
    ALERT("Error during export")
 End if

例題 2

プロジェクトメソッドとデータベースメソッド、そしてログファイルのみを書き出したい場合を考えます:

 var $option;$result : Object
 $option:=New object("filter";New object)
 $option.filter.projectMethods:=True
 $option.filter.databaseMethods:=True
 $option.withLog:="always"
 $result:=Export structure file("exportWithLog";$option)

参照

FORM Convert to dynamic