はじめに

ビジネスアプリケーションの開発現場では、開発者たちはさまざまなツールを共有して開発を進めます。これによって開発者たちはプロジェクトのひな形作成やLinterなどのツール群を統一し、開発を安全に進めるためのコーディング規約確認などを自動化することが多くあります。

SAP Business Application Studio(BAS)はそれぞれの開発者のための開発環境をOSおよびそれにマウントしているストレージレベルで独立させているため、開発者たちはこれらのツールを共有する手段を必要とします。この共有手段にはいくつかの方法がありますが、本ブログはこのうち最も簡便な手段の一つであるSAP Business Application Studio Extension Managementを用いた方法を紹介します。この方法はOpen VSX Registryに登録されたExtension、Yeoman Generatorおよびnpmのパッケージを含めたカスタムのAdditional SAP Extensionを作成し、サブアカウント単位で他の開発者に対してこのExtensionを共有します。

Additional SAP Extensionの開発および確認手順

1. ロールの割り当て

Extension DeployerロールをAdditional SAP Extension開発者に割り当てます。このロールはBusiness_Application_Studio_Extension_Deployerロールコレクションの中に含まれています。これによって用意したAdditional SAP Extensionを操作中のサブアカウントに対して開発者がデプロイできるようになります。

2. Additional SAP Extension開発用のAdditional SAP Extensionの選択

Dev SpaceにSAP Business Application Studio Extension Developmentを含めます。このAdditional SAP ExtensionがSAP Business Application Studio Extension ManagementをDev Spaceに対してインストールします。

3. カスタムのAdditional SAP Extensionの開発

下記のような内容を記述したextension.jsonファイルを用意します。サムネイル画像はsvgで表現したものをbase64でエンコードし、”data:image/svg+xml;base64,“を接頭辞として付与した文字列を記述できます。ここに記述する内容がそのままブラウザで呼び出し時に使用されます。

{
   "apiVersion": "1",
   "name": "extension-rasai-sample",
   "namespace": "ext-<サブアカウントのサブドメイン>",
   "version": "0.0.1",
   "about": {
       "description": "Sample Extension prepared by rasai",
       "author": "ryo.asai@sap.com",
       "tagline": "Rainbow Indent Extension",
       "thumbnail": "data:image/svg+xml;base64,<base64でエンコードされたsvg>"
  },
   "vscodeExtensions": [
      {
           "name": "indent-rainbow",
           "source": "url",
           "uri": "https://open-vsx.org/api/oderwat/indent-rainbow/8.3.1/file/oderwat.indent-rainbow-8.3.1.vsix"
      }
  ]
}

4. カスタムのAdditional SAP Extensionのデプロイ

wex deployでデプロイします。

5. デプロイされたカスタムのAdditional SAP Extensionの確認

Dev Space Managerで新規Dev Spaceの作成を試みると、デプロイしたカスタムのAdditional SAP Extensionが確認できます。

参考:デプロイしたAdditional SAP Extensionの削除

wex delete -x <namespace>/<ext-name>で削除します。

おわりに

BAS上でVSX RegistryのExtensionを共有する他の方法には”.vscode/extensions.jsonを作成しGitなどで共有する“がありますが、こちらの方法ではそれぞれの開発者にExtensionをインストールする手間を求めてしまいます。また、この方法では同じツールセットを広く多数の開発物間で共有したい場合にも、それぞれの開発物本体を管理するGitプロジェクトなどに同じextensions.jsonを重複させて含める必要があります。一方で本ブログで紹介するSAP Business Application Studio Extension Managementを用いた方法では、extension.jsonを開発物本体から独立して管理し、実際の広いプロジェクト単位であるサブアカウント単位でその導入を試みることが可能です。開発者はDev Space作成時に用意したAdditional SAP Extensionを選択しておくだけで、用意されたExtensionがセットアップされた環境を触り始めることができます。

開発者間で設定を共有し、プロジェクトの円滑な進行を支える手段の一つとしてぜひご利用ください。

Sara Sampaio

Sara Sampaio

Author Since: March 10, 2022

0 0 votes
Article Rating
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x