アプリケーションのライフサイクルには、GeneXus においてバージョンと呼ばれるマイルストーンがいくつかあります。バージョンは、任意の時点でのアプリケーションの状態を保持しています。たとえばそれは、開発中の重要な時点におけるアプリケーションの「スナップショット」を保持する、読み取り専用のバージョンです。読み取り専用のバージョンの共通の名前は次のとおりです:「QA に送付済み」、「最終バージョン 1.0」、「顧客 X でインストール済みバージョン 2」。また、異なる開発過程を示すバージョンもあります。たとえば、「QA バージョンの修正」、「最終バージョン 1.0 へのアップグレード」、「顧客 X でインストール済みバージョン2 の 不具合修正」などです。
ナレッジベース内にアプリケーションのバージョンを複数保持する目的には、次のようなものがあります:
アプリケーションの開発を継続しながら、相互に干渉することなくほかのバージョンの修正を行います。
バージョンを簡単に比較したり、バージョン間で同じ変更を適用したりします。
試験的な変更を行う前に、バージョンを使用してアプリケーションのバックアップを作成できます。
バージョンはカスタマイズのための理想的な方法ではありませんが、状況によってはカスタマイズのために使用可能です。
通常の開発プロセス
新しいナレッジベースにはそれぞれ既定の開発バージョンがあります。[ ナレッジベースバージョン ] ツールウィンドウを開くと、この既定のバージョンが表示されます。これにはナレッジベースの名前が付けられています。開発はこのバージョンから開始され、希望する機能レベルおよび安定性に到達し、顧客に公開できると判断されるまで継続します。
リリース時には、リリースされる状態のアプリケーションのコピーを作成することをお勧めします。これを「バージョンをフリーズさせる」と呼び、その結果をFrozen バージョンと呼びます。既定のバージョン ノードを右クリックすると、 [ フリーズ ] オプションが表示されます。 [ フリーズ ] オプションを選択すると、新しい Frozen バージョンに割り当てられる名前およびデスクリプションを設定するよう要求されます。この時点では既定値で構いません。新しい Frozen バージョンである「Version 1」を GeneXus に作成させます。
Frozen バージョンを作成した後は、バージョン間の切り替え (バージョン上で右クリックして [ Active ] に設定) および次のアクションの実行が可能です:
- 次のリリースのアプリケーション開発を継続
- 「Version 1」として開発されたとおりのものを確認
- 2 つのバージョンの比較
「Version 1」バージョンの修正
「Versioin 1」バージョンは Frozen バージョンです。変更はできません。修正が必要な場合は、新しいバージョンを作成する必要があります。 [ Version 1 ] 上で右クリックして、 [ 新規バージョン ] オプションを選択します。既定の名前およびデスクリプションのままで新しいバージョンを作成します。新しいバージョンである「Upgrades for Version 1」は、「Version 1」としてリリースされたもののコピーです。
このダイアグラムには 3 つのバージョンが表示されており、そのうちの 1 つが Frozen バージョンです。「Upgrades for Version 1」をアクティブに設定 (コンテキスト メニューから [ Set As Active ] を選択) します。これ以降、オブジェクト内で行う変更、作成または削除されたオブジェクトはすべて「Upgrades for Version 1」に格納されます。ほかのバージョンは影響を受けません。
「Upgrades for Version 1」への修正がすべて完了した後は、リリースを行います。「Upgrades for Version 1」上で、コンテキストメニューから [ フリーズ ] オプションをもう一度選択します。新しい Frozen バージョンの既定の名前をそのまま使用します。
この時点で、次の作業が可能です:
- 次のリリースのアプリケーション開発を継続
- 「Version 1」として開発されたとおりのものを確認
- 「Version 1」時点でのアプリケーションを再生成
- 「Version 1」への修正の追加を継続 (「Upgrades for Version 1」を変更)
- 「Version 1.1」(「Version 1」の修正) として開発されたとおりのものを確認
- 「Version 1.1」時点でのアプリケーションを再生成
- バージョンの比較
「Version 1」バージョンのさまざまな修正セット
好ましくはありませんが、特定の修正を行うために別個の開発スレッドを作成する必要がある場合があります。最も一般的な例は、顧客 2 社において異なる問題が発生している場合です。最初の問題が発生したときに、「Upgrades for Version 1」を作成して上記のように修正を行います。その後、別の顧客で 2 つめの問題が発生します。この顧客はここで発生した問題のための修正のみを受け入れます (「Upgrades for Version 1」はほかの問題の修正であるため、この顧客の問題は修正できません)。ここでの解決方法は、「Version 1」から新しいバージョンを作成 (「Version 1」のコンテキストメニューから [ 新規バージョン ] を選択)し、このバージョンで新しい問題を修正することです。
「Version 1」から「Upgrades for Version 1」および「Upgrades 2 for Version 1」を繋いでいる水平のラインに注目してください。これは、両方のバージョンが同じ開始ポイント (「Version 1」) を共有していることを示しています。
アプリケーション開発の継続
アプリケーションがリリースされた後は、通常、新しいバージョンの作業が開始されます。最も一般的なタスクは、新しい機能の追加、大規模な変更、既存バージョンへの修正の導入です。その場合、変更はどこで、どのバージョンで行うのでしょうか。変更は、ナレッジベース バージョン ダイアグラムの最上部 (ルート) にある既定の開発バージョン内で行います。
開発サイクルは、アプリケーションをリリースする準備ができるまで再度継続されます。新しい Frozen バージョンを作成するには、ルートノードのコンテキストメニューで [ フリーズ ] オプションを選択し、既定の名前をそのまま使用します。
ここまでで説明したように、「開発」->「フリーズ」->「開発」->「フリーズ」を繰り返します。これは、どの開発バージョンでも同じです。
ナレッジベース バージョン ダイアグラムの見方
ナレッジベース バージョン ダイアグラムは、バージョンの階層を示します。各垂直ラインは、開発スレッドのタイムラインです。各スレッドの以前のバージョンは、各垂直ラインの上方にあります。水平ラインは、親 Frozen バージョンを共有するバージョンを結んでいます。
Frozen バージョンは、明るい茶色で塗りつぶされた長方形で示され、垂直ラインに繋がっています。このラインの最上部には、常に開発バージョンがあります。
開発バージョンは、Frozen バージョンと繋がれた丸みのある長方形として表示されます。多くの開発バージョンが 1 つの Frozen バージョンと繋がっている場合には、これらの開発バージョンがソースベースを共有していることを意味します。
バージョン名のつけ方
バージョン名は、重複していない限りユーザーが自由に決められます。通常、Frozen バージョンには数字 (1、2、3、1.1、3.2など) が使用され、開発バージョンには名前 (Yi、Rocha、Solis などのコード ネーム) が使用されます。
よくある質問
現在作業しているバージョンを確認するには
現在のバージョンは、次の画像のとおり [ 設定 ] および [ フォルダ表示 ] ツールウィンドウに表示されます。
以前の GeneXus バージョンとの比較
ここでは、GeneXus X より古いバージョンに慣れているユーザーを対象に説明します。新しいバージョンでは、ナレッジベースの概念が多少異なっています。
GeneXus X の各バージョンが、GeneXus の以前のバージョンにおけるナレッジベースであると考えてください。つまり、GeneXus X のナレッジベースは、GeneXus の以前のバージョンのナレッジベースを組み合わせたものと同等です。次の例は、この概念を理解するのに役立ちます。
ユーザーが行う作業 |
GeneXus X での操作 |
GeneXus の以前のバージョンでの操作 |
任意のマイルストーンにおけるアプリケーションのコピーを作成。例としてリリース時のもの |
バージョンをフリーズ |
ナレッジベース ディレクトリーを新しい場所にコピー |
次のバージョンの開発を継続 |
既定の開発バージョンをアクティブに設定 |
開発ナレッジベースを開く |
リリース済みのアプリケーションを修正 |
対応する Frozen バージョンから開発バージョンを作成してアクティブに設定 |
前のバックアップ ディレクトリーを新しい場所にコピー |
リリースしたアプリケーション用に新しい別個の修正を作成
|
対応する Frozen バージョンから別の開発バージョンを作成してアクティブに設定 |
前のバックアップディレクトリーを新しい場所にコピー |
参考情報
[ Version ] プロパティ
|