最近のアクセス:
GeneXus のモジュール配布

GeneXus では、モジュールの API とバイナリを配布したり、モジュールをほかのナレッジベースにインストールしたりできます。 
このメカニズムを使用して、別のナレッジベースから提供されてインストールしたモジュールには、次の特徴があります。
  • モジュールの API のみが公開されます。
  • API は読み取り専用です。
  • 特定のバージョンの API とその実装 (おそらくいくつかのプラットフォームまたは言語の対応するバイナリ) で構成されます。
これには次の利点があります。
  • コードのプライバシーを維持できます。
  • 特定のライセンス下でプロバイダーがモジュールの保守を行うため、不要な変更を防止できます。
  • ビルドパフォーマンスが向上します (コードは作成元で 1 回だけビルドされます)。
  • モジュールを社内で配布したり、リポジトリマネージャ経由で公開したりするのが容易になります。  
GeneXus 自体も、このメカニズムを使用して GeneXus Artificial Intelligence などの GeneXus コアモジュールを提供します。 

モジュールのライフサイクル (手順)

次の手順に沿って、モジュールの作成、モジュールの配布、別のナレッジベースへのモジュールのインストールおよび使用について説明します。

1) 特定の機能を持つモジュールを作成する

まず始めに、特定の機能を持つモジュールを作成し、使用したいプラットフォームでテストを行います。
これについては、「モジュールオブジェクトを作成する方法」、「モジュールにオブジェクトを追加する方法」、および「モジュール - インターフェースの定義」を参照してください。

2) モジュールをパッケージ化して公開する

次に、機能のデスクリプション、ドキュメンテーションへのリンク、およびその他関連情報を追加し、モジュールをパッケージ化して公開します。
これについては、「Package and Publish Modules」を参照してください。
これで、モジュールサーバーでモジュールを共有できます。

3) 別のナレッジベースを作成するか開き、モジュールをインストールする

[ 参照モジュールの管理 ] ツールウィンドウを開き、モジュールをインストールします。

4) 使用する準備が完了する 

イメージ:31389.png
: ビルド時には参照モジュールのバイナリがターゲット環境のディレクトリーにコピーされます。

 

継続的インテグレーションの MSBuild タスク

MSBuild タスクには、タスクの自動化やインストール、公開などに役立つタスクがいくつかあります。詳細については、「モジュールの MSBuild タスク」を参照してください。

一般的な制限

  • パッケージ化するとき
    • ルートモジュールのサブモジュールのみパッケージ化することができます (親がルートではないモジュールはパッケージ化できません)。
    • モジュール間の循環依存は許可されていません。
    • モジュールのインターフェースに含めることができるのは、データプロバイダー、プロシージャー、外部オブジェクト、構造化データタイプ、ドメインのみです。
    • [ Translation Type ] プロパティは「No Translation」(既定値) に設定する必要があります。
    • データベースアクセスを使用してモジュールをパッケージ化する場合、次を参照してください: データベースアクセスを伴うモジュールのパッケージ化 (ソリューション拡張シナリオ) 
  • 対象のナレッジベース上
    • 配布対象のモジュールは、そのモジュールを参照するモジュールと同じ GeneXus バージョンを使用して生成する必要があります。
    • ダウングレード (インストール済みのモジュールの下位バージョンのインストール) は十分にサポートされていません。 
FAQ
Q: 次のような状況が発生した場合、どうなりますか: ナレッジベース "Provider" にオブジェクト A が存在し、そのオブジェクトをナレッジベース "Client" にエクスポートします。その後、ナレッジベース "Provider" のオブジェクト A をモジュール M に組み込み (M.A)、そのモジュールをパッケージ化してナレッジベース "Client" にインストールします。 
A: オブジェクト A の内部 GUID は変更されないため、GeneXus によりすべて解決されます。つまり、次のようになります: オブジェクト A の参照は M.A を指すようになります。A は該当するフォルダからなくなり、KB エクスプローラーの [ 参照 ] の下のモジュール M に追加されます。このモジュールは読み取り専用であり、そのインターフェースのみが使用可能になります。
Q: モジュール内の一部のプロシージャーがパッケージ化されませんでした。なぜでしょうか。
A: モジュール内のオブジェクトをパッケージ化するには、それらのオブジェクトがメインのオブジェクト コール ツリーに含まれている必要があります。そのため、アクセスできないオブジェクトはパッケージ化されません。必要なオブジェクトは必ずメインのオブジェクト コール ツリーに追加してください。これはモジュールの外部のダミープロシージャーにすぎず、この用途でのみ使用されます。



サブページ
Created: 19/03/25 17:56 by Admin Last update: 21/11/07 21:44 by Admin
カテゴリ
Powered by GXwiki 3.0