2013年3月12日火曜日

ファイルオブジェクトを活用しよう

GeneXusを使っていると外部のファイルを追加するケースがあります。例えば、独自に作成したJavaScriptファイルやJQueryなどのJavaScriptライブラリ、Log4j.jarなどの各言語ごとのライブラリ、静的なHTMLファイルなどなど。

この外部で作成したファイルをどうやって管理・デプロイしていますか?恐らくファイル自体の管理(バージョン管理)はSubVersionなどのバージョン管理ツールを使っていると思いますが、GeneXusが生成・コンパイルしたファイルとのマージ・デプロイは手作業ではないでしょうか?

こんな時に便利なのがファイルオブジェクトです。ファイルオブジェクトはその名の通り、外部で作成したファイルをそのままオブジェクトとしてナレッジベースの中に格納します。






使い方はナレッジベースナビゲータのフォルダービューの一番下に「ファイル」というアイコンがあります。これをダブルクリックして開くとファイルオブジェクトの一覧が表示されます。ファイルオブジェクトはドメインと同様に1オブジェクト単体でエディタが開くわけではありません。
ファイルオブジェクトに対する操作は以下の通りです。

  • 外部ファイルを追加する場合は、上部の「新規ファイルの追加」をクリックします。
  • ファイルオブジェクトを参照(ダウンロード)するには該当ファイルオブジェクトをダブルクリックします。
  • 更新するには、該当ファイルオブジェクトを右クリック→「Update 〜」を選択します。
  • 削除するには、該当ファイルオブジェクトを選択し上部の「削除」をクリックします。

但し、GeneXusオブジェクト(アプリケーション)から操作できるわけではありません。ではどういった活用をするのか?ファイルオブジェクトには以下のようなプロパティがあります。


「Extract(展開)」つまりコピーです。どのタイミングで展開するのかというと、ビルド時にファイルオブジェクトからターゲットディレクトリに展開(出力)してくれます。これにより、特にチーム開発でGeneXusサーバーから新規にナレッジベースを作成・ビルドする時の実行環境のセットアップが格段に簡単になります。

Extractプロパティの設定は以下の通りです。
Noファイルはコピーされません。(ディフォルト)
Alwaysファイルは常にコピーされます。
Newerファイルは新しい場合のみコピーされます。

又、.netアセンブリやjarファイルなど、各言語ごとのネイティブライブラリは特定のジェネレーターを使用した場合のみ出力させる必要があります。この場合は「Generator」プロパティの指定で可能になります。「Extract to path」プロパティで出力先のフォルダを指定する事もできます。



0 件のコメント:

コメントを投稿