拡張機能の公開Publishing Extensions

適用対象: Windows Admin Center、Windows Admin Center PreviewApplies To: Windows Admin Center, Windows Admin Center Preview

拡張機能を開発したら、それを発行し、他のユーザーがテストまたは使用できるようにします。Once you've developed your extension, you will want to publish it and make it available to others to test or use. 発行者と発行の目的に応じて、以下に示すオプションがいくつかあります。これらのオプションについては、公開の手順と要件を参照してください。Depending on your audience and purpose of publishing, there are a few options which we'll introduce below along with the steps and requirements for publishing.

[パブリッシング オプション]Publishing Options

Windows 管理センターでサポートされる構成可能なパッケージソースには、主に次の3つのオプションがあります。There are three primary options for configurable package sources that Windows Admin Center supports:

  • Microsoft のパブリック Windows 管理センター NuGet フィードMicrosoft's public Windows Admin Center NuGet feed
  • 独自のプライベート NuGet フィードYour own private NuGet feed
  • ローカルまたはネットワークのファイル共有Local or network file share

Windows 管理センターの拡張機能フィードへの発行Publishing to the Windows Admin Center extension feed

既定では、Windows 管理センターは、Microsoft の Windows 管理センター製品チームによって管理されている NuGet フィードに接続されています。By default, Windows Admin Center is connected to a NuGet feed maintained by the Windows Admin Center product team at Microsoft. Microsoft によって開発された新しい拡張機能の早期プレビュー版は、このフィードに公開され、Windows 管理センターのユーザーが使用できるようになります。Early preview versions of new extensions developed by Microsoft may be published to this feed and available to Windows Admin Center users. 拡張機能のビルドとリリースを計画している外部の開発者は、このフィードへの発行要求を送信することもできます。External developers planning to build and release extensions publicly may also submit a request to publish to this feed.

別の NuGet フィードへの発行Publishing to a different NuGet feed

独自の NuGet フィードを作成して、プライベートソースを設定したり、nuget ホスティングサービスを使用したりするためのさまざまなオプションの1つを使用して、拡張機能を公開することもできます。You may also create your own NuGet feed to publish your extensions to using one of the many different options for setting up a private source or using a NuGet hosting service. NuGet フィードは、NuGet v2 API をサポートしている必要があります。The NuGet feed must support the NuGet v2 API. 現在、Windows 管理センターではフィード認証がサポートされていないため、すべてのユーザーに読み取りアクセスを許可するようにフィードを構成する必要があります。Since Windows Admin Center does not currently support feed authentication, the feed needs to be configured to allow read access to anyone.

ファイル共有への発行Publishing to a file share

拡張機能へのアクセスを組織または制限されたユーザーグループに限定するには、SMB ファイル共有を拡張機能フィードとして使用できます。To restrict access of your extension to your organization or to a limited group of people, you can use an SMB file share as an extension feed. この場合、フィードへのアクセスを許可するために、ファイル共有とフォルダーのアクセス許可が適用されます。In this case, the file share and folder permissions will be applied for allowing access to the feed.

リリース用に拡張機能を準備するPreparing your extension for release

次の開発に関するトピックを必ず読み、検討してください。Make sure you read and consider the following development topics:

プレビューリリースとしてリリースすることを検討してくださいConsider releasing as a Preview release

評価のために拡張機能のプレビューバージョンをリリースする場合は、次のことをお勧めします。If you are releasing a preview version of your extension for evaluation purposes, we recommend that you:

  • Nuspec ファイル内の拡張機能のタイトルの末尾に "(Preview)" を追加します。Append "(Preview)" to the end of your extension's title in the .nuspec file
  • Nuspec ファイルでの拡張機能の説明の制限事項について説明します。Explain the limitations in your extension's description in the .nuspec file

拡張機能パッケージの作成Creating an extension package

Windows 管理センターでは、拡張機能の配布とダウンロードに NuGet パッケージとフィードを利用しています。Windows Admin Center utilizes NuGet packages and feeds for distributing and downloading extensions. パッケージを出荷するには、プラグインと拡張機能を含む NuGet パッケージを生成する必要があります。In order for your package to be shipped, you will need to generate a NuGet package containing your plugins and extensions. 1つのパッケージには、UI 拡張機能とゲートウェイプラグインの両方を含めることができます。次のセクションでは、このプロセスについて説明します。A single package can contain both a UI extension as well as a Gateway plugin, and the following section will walk you through the process.

1. 拡張機能をビルドする1. Build your extension

拡張機能のパッケージ化を開始する準備ができたら、すぐにファイルシステムに新しいディレクトリを作成し、コンソールを開いて、CD に追加します。As soon as you are ready to start packaging your extension, create a new directory on your file system, open a console, and CD into it. これは、パッケージを構成するすべての nuspec およびコンテンツディレクトリを格納するために使用されるルートディレクトリになります。This will be the root directory that we will use to contain all the nuspec and content directories that will make up our package. このドキュメントの期間中は、このフォルダーを "NuGet パッケージ" として参照します。We will reference this folder as "NuGet Package" for the duration of this document.

UI 拡張機能UI Extensions

UI 拡張機能に必要なすべてのコンテンツを収集するプロセスを開始するには、ツールで "gulp build" を実行し、ビルドが成功したことを確認します。To begin the process on gathering all the content needed for a UI extension, run "gulp build" on your tool and make sure the build is successful. このプロセスでは、拡張機能のルートディレクトリ (src ディレクトリの同じレベル) にある "バンドル" という名前のフォルダーに、すべてのコンポーネントがまとめてパッケージ化されます。This process packages all the components together in a folder called "bundle" located in the root directory of your extension (at the same level of the src directory). このディレクトリとそのすべての内容を "NuGet パッケージ" フォルダーにコピーします。Copy this directory and all it's contents into the "NuGet Package" folder.

ゲートウェイプラグインGateway Plugins

ビルドインフラストラクチャを使用して (これは、Visual Studio を開いて [ビルド] ボタンをクリックするだけで、簡単に行うことができます)、プラグインをコンパイルしてビルドします。Using your Build infrastructure (this could be as simple as opening Visual Studio and clicking the Build button), compile and build your plugin. ビルド出力ディレクトリを開き、プラグインを表す Dll をコピーして、"Package" という名前の "NuGet Package" ディレクトリ内の新しいフォルダーに配置します。Open up your build output directory, and copy the Dll(s) that represent your plugin, and put them in a new folder inside the "NuGet Package" directory called "package". FeatureInterface dll をコピーする必要はありません。コードを表す Dll だけをコピーします。You do not need to copy the FeatureInterface dll, just the Dll(s) that represent your code.

2. nuspec ファイルを作成する2. Create the .nuspec file

NuGet パッケージを作成するには、最初に nuspec ファイルを作成する必要があります。To create the NuGet package, you need to first create a .nuspec file. Nuspec ファイルは、NuGet パッケージのメタデータを含む XML マニフェストです。A .nuspec file is an XML manifest that contains NuGet package metadata. このマニフェストは、パッケージを作成するためと、コンシューマーに情報を提供するための、両方に使われます。This manifest is used both to build the package and to provide information to consumers. このファイルを "NuGet パッケージ" フォルダーのルートに配置します。Place this file at the root of the "NuGet Package" folder.

Nuspec ファイルの例と、必須または推奨されるプロパティの一覧を次に示します。Here's an example .nuspec file and the list of required or recommended properties. 完全なスキーマについては、 nuspec のリファレンスを参照してください。For the full schema, see the .nuspec reference. 任意のファイル名を使用して、nuspec ファイルをプロジェクトのルートフォルダーに保存します。Save the .nuspec file to your project's root folder with a file name of your choice.

重要

Nuspec ファイルの <id> 値は、プロジェクトの manifest.json ファイルの "name" 値と一致している必要があります。そうしないと、発行された拡張機能が Windows 管理センターで正常に読み込まれません。The <id> value in the .nuspec file needs to match the "name" value in your project's manifest.json file, or else your published extension won't load successfully in Windows Admin Center.

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="https://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
  <metadata>
    <packageTypes>
      <packageType name="WindowsAdminCenterExtension" />
    </packageTypes>  
    <id>contoso.project.extension</id>
    <version>1.0.0</version>
    <title>Contoso Hello Extension</title>
    <authors>Contoso</authors>
    <owners>Contoso</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <projectUrl>https://msft-sme.myget.org/feed/windows-admin-center-feed/package/nuget/contoso.sme.hello-extension</projectUrl>
    <licenseUrl>http://YourLicenseLink</licenseUrl>
    <iconUrl>http://YourLogoLink</iconUrl>
    <description>Hello World extension by Contoso</description>
    <copyright>(c) Contoso. All rights reserved.</copyright> 
    <tags></tags>
  </metadata>
  <files>
    <file src="bundle\**\*.*" target="ux" />
    <file src="package\**\*.*" target="gateway" />
  </files>
</package>
プロパティ名Property Name 必須/推奨Required / Recommended 説明Description
packageTypepackageType 必須かどうかRequired Windows 管理センターの拡張機能に定義されている NuGet パッケージの種類である "Windowsadmincenter Extension" を使用します。Use "WindowsAdminCenterExtension" which is the NuGet package type defined for Windows Admin Center extensions.
idid 必須かどうかRequired フィード内の一意のパッケージ識別子。Unique Package identifier within the feed. この値は、プロジェクトのマニフェストの json ファイルの "name" 値と一致する必要があります。This value needs to match the "name" value in your project's manifest.json file. ガイダンスについては、一意のパッケージ識別子の選択に関するページをご覧ください。See Choosing a unique package identifier for guidance.
titletitle Windows 管理センターフィードへの発行に必要Required for publishing to the Windows Admin Center feed Windows 管理センターの拡張機能マネージャーに表示されるパッケージのフレンドリ名。Friendly name for the package that is displayed in Windows Admin Center Extension Manager.
バージョンversion 必須かどうかRequired 拡張機能のバージョン。Extension version. セマンティックバージョン管理 (SemVer 規約)を使用することをお勧めしますが、必須ではありません。Using Semantic Versioning (SemVer convention) is recommended but not required.
authorsauthors 必須かどうかRequired 会社の代理として発行する場合は、会社名を使用します。If publishing on behalf of your company, use your company name.
説明description 必須かどうかRequired 拡張機能の機能についての説明を入力します。Provide a description of the extension's functionality.
iconUrliconUrl Windows 管理センターフィードに発行するときに推奨Recommended when publishing to the Windows Admin Center feed 拡張機能マネージャーに表示するアイコンの URL。URL for icon to display in the Extension Manager.
projectUrlprojectUrl Windows 管理センターフィードへの発行に必要Required for publishing to the Windows Admin Center feed 拡張機能の web サイトの URL。URL to your extension's website. 別の web サイトがない場合は、NuGet フィードのパッケージ web ページの URL を使用します。If you do not have a separate website, use the URL for the package webpage on the NuGet feed.
licenseUrllicenseUrl Windows 管理センターフィードへの発行に必要Required for publishing to the Windows Admin Center feed 拡張機能の使用許諾契約書の URL。URL to your extension's end user license agreement.
ファイルfiles 必須かどうかRequired これら2つの設定は、Windows 管理センターが UI 拡張機能とゲートウェイプラグインに対して想定するフォルダー構造を設定します。These two settings set up the folder structure that Windows Admin Center expects for UI extensions and Gateway plugins.

3. 拡張機能の NuGet パッケージをビルドする3. Build the extension NuGet package

前の手順で作成した nuspec ファイルを使用して、NuGet パッケージを作成します。 nupkg ファイルをアップロードして、NuGet フィードに発行することができます。Using the .nuspec file you created above, you will now create the NuGet package .nupkg file which you can upload and publish to the NuGet feed.

  1. Nugetクライアントツールの web サイトから nuget.exe CLI ツールをダウンロードします。Download the nuget.exe CLI tool from the NuGet client tools website.
  2. "Nuget.exe pack [. nuspec file name]" を実行して、nupkg ファイルを作成します。Run "nuget.exe pack [.nuspec file name]" to create the .nupkg file.

4. 拡張機能の NuGet パッケージに署名する4. Signing your extension NuGet package

拡張機能に含まれているすべての .dll ファイルは、信頼された証明機関 (CA) の証明書で署名する必要があります。Any .dll files included in your extension are required to be signed with a certificate from a trusted Certificate Authority (CA). 既定では、Windows 管理センターが実稼働モードで実行されていると、署名されていない .dll ファイルは実行されません。By default, unsigned .dll files will be blocked from being executed when Windows Admin Center is running in Production Mode.

また、パッケージの整合性を保証するために拡張機能 NuGet パッケージに署名することを強くお勧めしますが、これは必須の手順ではありません。We also highly recommend that you sign the extension NuGet package to ensure the integrity of the package, but this is not a required step.

5. 拡張機能の NuGet パッケージをテストする5. Test your extension NuGet package

これで、拡張機能パッケージをテストする準備ができました。Your extension package is now ready for testing! Nupkg ファイルを NuGet フィードにアップロードするか、ファイル共有にコピーします。Upload the .nupkg file to a NuGet feed or copy it to a file share. 別のフィードまたはファイル共有のパッケージを表示およびダウンロードするには、NuGet フィードまたはファイル共有を指すようにフィードの構成を変更する必要があります。To view and download packages from a different feed or file share, you'll need to change your feed configuration to point to your NuGet feed or file share. テスト時には、拡張機能マネージャーでプロパティが正しく表示されていることを確認し、拡張機能を正常にインストールしてアンインストールすることができます。When testing, make sure the properties are displayed correctly in Extension Manager and you can successfully install and uninstall your extension.

Windows 管理センターフィードへの拡張機能の発行Publishing your extension to the Windows Admin Center feed

Windows 管理センターフィードに発行することで、Windows 管理センターのユーザーが拡張機能を使用できるようにすることができます。By publishing to the Windows Admin Center feed, you can make your extension available to any Windows Admin Center user. Windows 管理センター SDK はまだプレビュー段階であるため、開発の問題の解決に役立つように、お客様と緊密に連携して、ユーザーに高品質の製品とエクスペリエンスを提供できるようにしたいと考えています。Since the Windows Admin Center SDK is still in preview, we'd like to work closely with you to help resolve development issues, and, make sure you are able to deliver a quality product and experience to your users.

拡張機能の初期バージョンをリリースする前に、リリース前に少なくとも2-3 週間後に拡張機能のレビュー要求をマイクロソフトに送信して、十分な情報を確認し、必要に応じて拡張機能に変更を加えることをお勧めします。Before releasing the initial version of your extension, we recommend that you submit an extension review request to Microsoft at least 2-3 weeks before release to ensure we have sufficient time to review and for you to make any changes to your extension if necessary. 拡張機能を発行する準備ができたら、それをレビューのために送信する必要があります。承認されている場合は、フィードに発行します。Once your extension is ready to be published, you'll need to send it to us for review, and if approved, we'll publish it to the feed for you.

その後、拡張機能の更新プログラムをリリースする場合は、レビューのために別の要求を送信する必要があります。Afterwards, if you want to release an update to your extension, you will need to submit another request for review. 変更の範囲によっては、更新レビューのターンアラウンド時間は一般的に短くなります。While depending on the scope of change, the turnaround time for update reviews should generally be shorter.

拡張機能レビュー要求を Microsoft に送信するSubmit an extension review request to Microsoft

拡張機能のレビュー要求を送信するには、次の情報を入力し、 wacextensionrequest@microsoft.comにメールとして送信します。To submit an extension review request, enter the following information and send as an email to wacextensionrequest@microsoft.com. 1週間以内に電子メールに返信します。We will reply to your email within a week.

Windows Admin Center Extension Review Request
1. Name and email address of extension owner/developer (up to 3 users). If you will be releasing an extension on behalf of your company, provide your company email address.
2. Company name (Only required if you are releasing an extension on behalf of your company):
3. Extension name:
4. Release target date (estimate):
5. For new extension submission - Extension description (early design wire frames, screen mockups or product screenshots are highly recommended):
6. For extension update review – Description of changes (include product screenshots if UI has been significantly changed):

レビューおよび発行のために拡張機能パッケージを送信するSubmit your extension package for review and publishing

拡張機能パッケージを作成するための上記の手順に従ってください。 nuspec ファイルが適切に定義され、ファイルが署名されていることを確認してください。Make sure you follow the instructions above for creating an extension package and the .nuspec file is defined properly and files are signed. また、次のようなプロジェクト web サイトを用意することもお勧めします。We also recommend that you have a project website including the following:

  • スクリーンショットやビデオを含む拡張機能の詳細な説明Detailed description of your extension including screenshots or video
  • フィードバックまたは質問を受信するための電子メールアドレスまたは web サイト機能Email address or website feature to receive feedback or questions

拡張機能を発行する準備ができたら、 wacextensionrequest@microsoft.comに電子メールを送信します。拡張機能パッケージを送信する方法については、こちらで説明します。When you are ready to publish your extension, send an email to wacextensionrequest@microsoft.com and we will provide instructions on how to send us your extension package. パッケージを受け取ったら、それを確認し、承認された場合は Windows 管理センターフィードに発行します。Once we receive your package, we will review and if approved, publish to the Windows Admin Center feed.