カスタム・モジュール開発: モジュール・スケルトンの作成

カスタム・モジュールを作成することで、 開発者ポータル ・サイトを拡張できます。 新規モジュールの開始点として、モジュール・スケルトンを作成します。

開始前に

このタスクを実行するには、開発者ポータルに対する管理者権限が必要です。
注: このモジュールは、開発者ポータルサイトUIで消費者によって作成されたアプリケーションの認証情報のみを同期します。 API Manager UIでプロバイダーが作成したアプリケーションの認証情報を同期することはできません。

Drupal および PHP での開発の経験も必要です。 詳細は、「カスタムモジュール開発:PHP開発のための Drupal ツール入門」 および 「カスタムモジュール開発:背景と前提条件 」を参照してください。

重要:
  • 作成するカスタム・モジュール内に IBM® API Connect モジュールを組み込むことは許可されていません。 また、ファイル・システム上の API Connect テーマ、モジュール、組み込まれているモジュール、または Drupal コアを直接編集することは許可されておらず、サポートされていません。これらのファイルの編集済みバージョンは、フィックスパックまたは iFix のインストール時に上書きされるためです。
  • すべてのカスタム開発はお客様の責任で行っていただきます。 カスタム・モジュールおよびテーマの使用はサポートされていますが、 IBM API Connect では、それらの開発や変更をサポートしていません。

このタスクについて

すべてのカスタム・モジュールの作成は、.info.yml ファイルの作成から始まります。 このファイル (モジュール・スケルトン) は、カスタム・テーマに関するメタデータを保管するために使用されます。 モジュール・スケルトンが作成されたら、 開発者ポータル UI の管理者ダッシュボードの 「拡張」 メニューを使用して、モジュールをサイトにインストールできます。 ただし、モジュール固有のコードがない場合、サイトは影響を受けません。

以下に、カスタム・モジュール・スケルトンの作成について説明します。 カスタム・モジュールの作成における次のタスクは、モジュールで実行する内容によって異なります。 オプションについては、このタスクの末尾に示します。

手順

  1. カスタム・モジュールのショート・ネーム (マシン名とも呼ばれる) を選択します。
    マシン名は、モジュール内の複数のファイルおよび関数で使用されるとともに、Drupal コアがプログラムでモジュールを参照する際にも使用されます。 この名前は、以下のルールに準拠している必要があります。
    • 先頭は文字でなければなりません。
    • 含めることができるのは、小文字と下線のみです。 (この名前で大文字を使用した場合、モジュールのフック実装が Drupal で認識されなくなるので注意してください)。
    • スペースが含まれていてはなりません。
    • これは、 開発者ポータル ・サイト内で固有でなければなりません。
    • これは、 srclibvendorassetscssfilesimagesjsmisctemplatesincludesfixturesDrupalの予約語であってはなりません。
  2. 任意の場所 ( /modules/module_nameなど) にモジュール・フォルダーを作成します。
    フォルダーにモジュールのマシン名と同じ名前を付ける必要はありませんが、モジュールのコードやファイル名の中では、マシン名をプログラムで使用する必要があることに留意してください。
  3. モジュール・フォルダーに module_name.info.yml ファイルを作成します。
    ここで、 module_name は、ステップ 1で選択したショート・ネームまたはマシン名です。
  4. 以下のように、カスタム・モジュールのメタデータを module_name.info.yml ファイルに挿入します。
    name: Example module name
    description: Description of the module.
    package: Custom
    
    type: module
    core: 8.x
    core_version_requirement: '^8 || ^9'
    version: 1.0
    
    dependencies:
      - module_name
    
    test_dependencies:
      - module_name
    
    configure: example.settings
    
    php: 7.1
    
    hidden: true
    ここで
    • name (必須) は、モジュールの名前であり、 「開発者ポータル」 UI のモジュール管理ページに表示されるテキストです。
    • description (オプション) は、モジュールの説明であり、 「開発者ポータル」 UI のモジュール管理ページに表示されるテキストです。
    • package (オプション) は、類似のモジュールを一緒にグループ化できるようにするキーです。
    • type (必須) は、作成する拡張のタイプです。例えば、モジュール、テーマ、またはプロファイルなどです。 この例では、モジュールを作成します。
    • core (オプション) モジュールと互換性のある Drupal コア・バージョンを指定します。
    • core_version_requirement (必須) は、モジュールがどのバージョンの Drupal と互換性があるかを指定します。 この例では、モジュールが Drupal 8 および 9 のすべてのバージョンと互換性があることを指定しています。
    • version (必須) は、モジュールのバージョン番号です。 なお、Drupal.org でモジュールを公開する場合は、version は必要ありません。
    • dependencies (オプション) は、モジュールが依存しているすべてのモジュールの YAML リストです。 module_name の形式の名前空間を使用する必要があります。ここで、module_name はモジュールのマシン名です。
    • test_dependencies (オプション) は、Drupal の自動化テスト実行プログラム (DrupalCI) でモジュールに対して特定の自動化テストを実行するために必要であるが、一般的なモジュール依存関係としては必要ではない (dependencies と同じ形式の) すべてのモジュールのリストです。
    • configure (オプション)。モジュールが構成フォームを提供する場合、ここでそのフォームへの経路を指定します。
    • php (オプション) は、モジュールに必要とされる PHP の最低バージョンです。 開発者ポータル の場合、PHP の最小バージョンは 7.1です。
    • hidden (オプション) は、設定されている場合、 開発者ポータル UI の管理者ダッシュボードの 「拡張」 セクションでモジュールを非表示にするオプションです。 このオプションは、モジュールに含まれているのがテストのみである場合やモジュールが他の開発者に対するサンプル用である場合に役立つことがあります。
  5. module_name.info.ymlを保存します。

結果

モジュール・スケルトンが正常に作成されました。

.info.yml ファイルの例:
name: User field example
type: module
description: Developer Portal tutorial about a user field example
package: IBM API Connect Tutorials
core: 8.x
core_version_requirement: '^8 || ^9'
version: 8.x-0.0.1
dependencies:
  - ibm_apim
  - auth_apic

次のタスク

次に、モジュールで実行する内容に応じて、カスタム・モジュールの適切なコンテンツを作成する必要があります。 各種オプションに関する情報は、 Drupal.org の 「カスタムモジュールの作成」 をご覧ください。 Drupal.org で入手可能な基本的なカスタムモジュールの作成手順の例もあります。「Hello World」カスタムページモジュールを参照してください。
注: モジュールのルーティングファイルで URL パスを定義している場合は、それらのパスが及ぼす可能性のある影響を考慮し、 デベロッパーポータルの他の部分との衝突を避ける必要があります。 例えば、パスの前に ibm_apic を付けることは推奨されません。

カスタム・モジュール・コンテンツを作成した後に、カスタム・モジュール・ファイルを ziptartgzgz、または bz2 ファイルにパッケージする必要があります。 その後、管理者ダッシュボードの 「拡張」 メニューを使用して、このファイルを 開発者ポータル ・サイトにインストールできます。 詳細は、「カスタムモジュールのインストール 」を参照してください。