Export structure file
Export structure file ( folderPath {; options} ) : Object
引数 | 型 | 説明 | |
---|---|---|---|
folderPath | Text | → | プロジェクトファイルの保存先フォルダのパス |
options | Object | → | 書き出しオプション |
戻り値 | Object | ← | 書き出しステータスと(あれば)エラーについてのメッセージ |
このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。
説明
Export structure file コマンドは、カレントの4D データベースストラクチャーを、folderPath 引数で指定したパスに、テキストベースのファイルやネイティブのピクチャーファイルなどのセットに分解し、書き出し、保存します。デフォルトでは、データベースストラクチャー全体(メソッド、フォーム、カタログ、等)が書き出されます。options 引数を使用することで書き出す中身をフィルターすることができます。
このコマンド使用すると、データベースストラクチャーファイルをソース管理レポジトリ(Git、Perforce、等)でに保存することができるようになります。同じストラクチャーファイルへの連続した変更、あるいは複数のソースからの変更も、標準のソース管理ツールを使用することで比較可能になります。
コマンドは以下のコンテキストにおいてのみ使用することが可能です:
- ローカルの4D または4D Server (4D リモートから呼び出された場合にはエラーが返されます)
- インタープリタデータベースであること(.4DC データベース内から呼び出された場合にはコマンドは何もしません)。
また、コンポーネントから呼ばれた場合でも、コマンドは常にホストデータベースストラクチャーを書き出すという点に注意してください。
folderPath 引数には、書き出されたファイルを保存するフォルダのシステムパスを渡します。
options 引数を使用すると、変換のプロセスをカスタマイズすることができます。options オブジェクトには、以下のプロパティを格納することができます:
プロパティ名 | 値の型 | 詳細 | |||
---|---|---|---|---|---|
withLog | ブールまたは文字列 |
| |||
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)