Extensiones de publicaciónPublishing Extensions

Se aplica a: Windows Admin Center, versión preliminar de Windows Admin CenterApplies To: Windows Admin Center, Windows Admin Center Preview

Una vez que haya desarrollado la extensión, querrá publicarla y ponerla a disposición de otros usuarios para que la prueben o usen.Once you've developed your extension, you will want to publish it and make it available to others to test or use. En función de la audiencia y el propósito de la publicación, existen algunas opciones que se presentan a continuación, junto con los pasos y los requisitos para la publicación.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.

Opciones de publicaciónPublishing Options

Existen tres opciones principales para los orígenes de paquetes configurables que el centro de administración de Windows admite:There are three primary options for configurable package sources that Windows Admin Center supports:

  • Fuente de NuGet del centro de administración público de Windows de MicrosoftMicrosoft's public Windows Admin Center NuGet feed
  • Su propia fuente de NuGet privadaYour own private NuGet feed
  • Recurso compartido de archivos de red o localLocal or network file share

Publicar en la fuente de extensión del centro de administración de WindowsPublishing to the Windows Admin Center extension feed

De forma predeterminada, el centro de administración de Windows está conectado a una fuente de NuGet mantenida por el equipo de productos del centro de administración de Windows en Microsoft.By default, Windows Admin Center is connected to a NuGet feed maintained by the Windows Admin Center product team at Microsoft. Las primeras versiones preliminares de las nuevas extensiones desarrolladas por Microsoft pueden publicarse en esta fuente y estar disponibles para los usuarios del centro de administración de Windows.Early preview versions of new extensions developed by Microsoft may be published to this feed and available to Windows Admin Center users. Los desarrolladores externos que planean compilar y liberar extensiones públicamente también pueden enviar una solicitud para publicar en esta fuente.External developers planning to build and release extensions publicly may also submit a request to publish to this feed.

Publicación en una fuente de NuGet diferentePublishing to a different NuGet feed

También puede crear su propia fuente de NuGet para publicar sus extensiones en usando una de las muchas opciones diferentes para configurar una fuente privada o mediante un servicio de hospedaje de NuGet.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. La fuente de NuGet debe admitir la API de NuGet V2.The NuGet feed must support the NuGet v2 API. Puesto que el centro de administración de Windows no admite actualmente la autenticación de fuentes, la fuente debe estar configurada para permitir el acceso de lectura a todos los usuarios.Since Windows Admin Center does not currently support feed authentication, the feed needs to be configured to allow read access to anyone.

Publicar en un recurso compartido de archivosPublishing to a file share

Para restringir el acceso de la extensión a su organización o a un grupo limitado de personas, puede usar un recurso compartido de archivos SMB como una fuente de extensión.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. En este caso, se aplicarán los permisos de carpetas y recursos compartidos de archivos para permitir el acceso a la fuente.In this case, the file share and folder permissions will be applied for allowing access to the feed.

Preparar la extensión para la versiónPreparing your extension for release

Asegúrese de leer y tener en cuenta los siguientes temas de desarrollo:Make sure you read and consider the following development topics:

Considere la posibilidad de publicar como versión preliminarConsider releasing as a Preview release

Si está lanzando una versión preliminar de la extensión para fines de evaluación, se recomienda:If you are releasing a preview version of your extension for evaluation purposes, we recommend that you:

  • Anexe "(vista previa)" al final del título de la extensión en el archivo. nuspec.Append "(Preview)" to the end of your extension's title in the .nuspec file
  • Explicar las limitaciones de la descripción de la extensión en el archivo. nuspecExplain the limitations in your extension's description in the .nuspec file

Crear un paquete de extensiónCreating an extension package

El centro de administración de Windows emplea paquetes y fuentes de NuGet para distribuir y descargar extensiones.Windows Admin Center utilizes NuGet packages and feeds for distributing and downloading extensions. Para poder enviar el paquete, debe generar un paquete de NuGet que contenga los complementos y las extensiones.In order for your package to be shipped, you will need to generate a NuGet package containing your plugins and extensions. Un solo paquete puede contener una extensión de interfaz de usuario, así como un complemento de puerta de enlace, y la siguiente sección le guiará a través del proceso.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. Compilar la extensión1. Build your extension

En cuanto esté listo para empezar a empaquetar la extensión, cree un nuevo directorio en el sistema de archivos, abra una consola de y el CD en él.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. Este será el directorio raíz que se utilizará para contener todos los directorios de contenido y nuspec que compondrán el paquete.This will be the root directory that we will use to contain all the nuspec and content directories that will make up our package. Haremos referencia a esta carpeta como "paquete NuGet" mientras dure este documento.We will reference this folder as "NuGet Package" for the duration of this document.

Extensiones de la interfaz de usuarioUI Extensions

Para comenzar el proceso de recopilación de todo el contenido necesario para una extensión de interfaz de usuario, ejecute "Gulp Build" en la herramienta y asegúrese de que la compilación se ha realizado correctamente.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. Este proceso empaqueta todos los componentes en una carpeta denominada "bundle" que se encuentra en el directorio raíz de la extensión (en el mismo nivel del directorio 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). Copie este directorio y todo su contenido en la carpeta "NuGet Package".Copy this directory and all it's contents into the "NuGet Package" folder.

Complementos de puerta de enlaceGateway Plugins

Con la infraestructura de compilación (esto podría ser tan sencillo como abrir Visual Studio y hacer clic en el botón compilar), compilar y compilar el complemento.Using your Build infrastructure (this could be as simple as opening Visual Studio and clicking the Build button), compile and build your plugin. Abra el directorio de salida de la compilación y copie los archivos DLL que representan el complemento, y colóquelos en una nueva carpeta dentro del directorio del "paquete NuGet" denominado "paquete".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". No es necesario copiar el archivo dll de FeatureInterface, solo los archivos DLL que representan el código.You do not need to copy the FeatureInterface dll, just the Dll(s) that represent your code.

2. Creación del archivo. nuspec2. Create the .nuspec file

Para crear el paquete NuGet, primero debe crear un archivo. nuspec.To create the NuGet package, you need to first create a .nuspec file. Un archivo. nuspec es un manifiesto XML que contiene metadatos del paquete NuGet.A .nuspec file is an XML manifest that contains NuGet package metadata. Este manifiesto se utiliza para compilar el paquete y proporcionar información a los consumidores.This manifest is used both to build the package and to provide information to consumers. Coloque este archivo en la raíz de la carpeta "paquete NuGet".Place this file at the root of the "NuGet Package" folder.

A continuación se muestra un archivo. nuspec de ejemplo y la lista de propiedades necesarias o recomendadas.Here's an example .nuspec file and the list of required or recommended properties. Para obtener el esquema completo, consulte la referencia de. nuspec.For the full schema, see the .nuspec reference. Guarde el archivo. nuspec en la carpeta raíz del proyecto con un nombre de archivo de su elección.Save the .nuspec file to your project's root folder with a file name of your choice.

Importante

El <id> valor del archivo. nuspec debe coincidir con el "name" valor del archivo del manifest.json proyecto o, de lo contrario, la extensión publicada no se cargará correctamente en el centro de administración de 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="http://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>
Nombre de la propiedadProperty Name Requerido/recomendadoRequired / Recommended DescripciónDescription
PackageTypepackageType RequeridoRequired Use "WindowsAdminCenterExtension", que es el tipo de paquete de NuGet definido para las extensiones del centro de administración de Windows.Use "WindowsAdminCenterExtension" which is the NuGet package type defined for Windows Admin Center extensions.
idid RequeridoRequired Identificador de paquete único dentro de la fuente.Unique Package identifier within the feed. Este valor debe coincidir con el valor "Name" en el archivo manifest. JSON del proyecto.This value needs to match the "name" value in your project's manifest.json file. Vea elegir un identificador de paquete único para obtener instrucciones.See Choosing a unique package identifier for guidance.
titletitle Se requiere para la publicación en la fuente del centro de administración de WindowsRequired for publishing to the Windows Admin Center feed Nombre descriptivo para el paquete que se muestra en el administrador de extensiones del centro de administración de Windows.Friendly name for the package that is displayed in Windows Admin Center Extension Manager.
versionversion RequeridoRequired Versión de la extensión.Extension version. Se recomienda usar el control de versiones semántico (Convención SemVer) , pero no es necesario.Using Semantic Versioning (SemVer convention) is recommended but not required.
editoresauthors RequeridoRequired Si publica en nombre de su empresa, use el nombre de su empresa.If publishing on behalf of your company, use your company name.
descriptiondescription RequeridoRequired Proporcione una descripción de la funcionalidad de la extensión.Provide a description of the extension's functionality.
iconUrliconUrl Recomendado al publicar en la fuente del centro de administración de WindowsRecommended when publishing to the Windows Admin Center feed Dirección URL del icono que se va a mostrar en el administrador de extensiones.URL for icon to display in the Extension Manager.
projectUrlprojectUrl Se requiere para la publicación en la fuente del centro de administración de WindowsRequired for publishing to the Windows Admin Center feed Dirección URL del sitio web de la extensión.URL to your extension's website. Si no tiene un sitio web independiente, utilice la dirección URL de la página web del paquete en la fuente de NuGet.If you do not have a separate website, use the URL for the package webpage on the NuGet feed.
licenseUrllicenseUrl Se requiere para la publicación en la fuente del centro de administración de WindowsRequired for publishing to the Windows Admin Center feed Dirección URL del contrato de licencia para el usuario final de la extensión.URL to your extension's end user license agreement.
archivosfiles RequeridoRequired Estos dos valores configuran la estructura de carpetas que el centro de administración de Windows espera para las extensiones de la interfaz de usuario y los complementos de puerta de enlace.These two settings set up the folder structure that Windows Admin Center expects for UI extensions and Gateway plugins.

3. Compilar el paquete NuGet de la extensión3. Build the extension NuGet package

Con el archivo. nuspec que creó anteriormente, ahora creará el archivo. nupkg de paquete NuGet que puede cargar y publicar en la fuente de 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. Descargue la herramienta de la CLI de Nuget. exe desde el sitio web de herramientas de cliente de Nuget.Download the nuget.exe CLI tool from the NuGet client tools website.
  2. Ejecute "Nuget. exe Pack [. nuspec File name]" para crear el archivo. nupkg.Run "nuget.exe pack [.nuspec file name]" to create the .nupkg file.

4. Firmar el paquete NuGet de la extensión4. Signing your extension NuGet package

Los archivos. dll incluidos en la extensión deben estar firmados con un certificado de una entidad de certificación (CA) de confianza.Any .dll files included in your extension are required to be signed with a certificate from a trusted Certificate Authority (CA). De forma predeterminada, los archivos. dll sin firmar se bloquearán para que no se ejecuten cuando el centro de administración de Windows se ejecute en modo de producción.By default, unsigned .dll files will be blocked from being executed when Windows Admin Center is running in Production Mode.

También recomendamos encarecidamente que firme el paquete NuGet de la extensión para garantizar la integridad del paquete, pero este no es un paso necesario.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. Probar el paquete NuGet de la extensión5. Test your extension NuGet package

El paquete de extensión ya está listo para las pruebas.Your extension package is now ready for testing! Cargue el archivo. nupkg en una fuente de NuGet o cópielo en un recurso compartido de archivos.Upload the .nupkg file to a NuGet feed or copy it to a file share. Para ver y descargar paquetes de una fuente o recurso compartido de archivos diferente, deberá cambiar la configuración de la fuente para que apunte a la fuente de NuGet o al recurso compartido de archivos.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. Al realizar las pruebas, asegúrese de que las propiedades se muestran correctamente en el administrador de extensiones y puede instalar y desinstalar correctamente la extensión.When testing, make sure the properties are displayed correctly in Extension Manager and you can successfully install and uninstall your extension.

Publicar la extensión en la fuente del centro de administración de WindowsPublishing your extension to the Windows Admin Center feed

Al publicar en la fuente del centro de administración de Windows, puede hacer que la extensión esté disponible para cualquier usuario del centro de administración de Windows.By publishing to the Windows Admin Center feed, you can make your extension available to any Windows Admin Center user. Dado que el SDK del centro de administración de Windows todavía está en versión preliminar, nos gustaría trabajar en estrecha colaboración con usted para ayudarle a resolver los problemas de desarrollo y asegurarse de que puede ofrecer un producto de calidad y una experiencia a los usuarios.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.

Antes de publicar la versión inicial de la extensión, se recomienda que envíe una solicitud de revisión de extensión a Microsoft al menos 2-3 semanas antes del lanzamiento para asegurarse de que tenemos tiempo suficiente para revisar y realizar cambios en la extensión si es necesario.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. Una vez que la extensión esté lista para publicarse, deberá enviarla a nosotros para su revisión y, si la aprueba, la publicaremos en la fuente.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.

Posteriormente, si desea publicar una actualización de la extensión, deberá enviar otra solicitud de revisión.Afterwards, if you want to release an update to your extension, you will need to submit another request for review. Aunque según el ámbito del cambio, el tiempo de respuesta para las revisiones de actualización debe ser generalmente más corto.While depending on the scope of change, the turnaround time for update reviews should generally be shorter.

Enviar una solicitud de revisión de extensión a MicrosoftSubmit an extension review request to Microsoft

Para enviar una solicitud de revisión de extensión, escriba la siguiente información y envíela como wacextensionrequest@microsoft.comun correo electrónico a.To submit an extension review request, enter the following information and send as an email to wacextensionrequest@microsoft.com. Responderemos a su correo electrónico dentro de una semana.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):

Enviar el paquete de extensión para su revisión y publicaciónSubmit your extension package for review and publishing

Asegúrese de seguir las instrucciones anteriores para crear un paquete de extensión y de que el archivo. nuspec esté definido correctamente y los archivos estén firmados.Make sure you follow the instructions above for creating an extension package and the .nuspec file is defined properly and files are signed. También se recomienda que tenga un sitio web de proyecto que incluya lo siguiente:We also recommend that you have a project website including the following:

  • Descripción detallada de la extensión, incluidas las capturas de pantalla o el vídeoDetailed description of your extension including screenshots or video
  • Dirección de correo electrónico o característica de sitio web para recibir comentarios o preguntasEmail address or website feature to receive feedback or questions

Cuando esté listo para publicar la extensión, envíe un correo electrónico a wacextensionrequest@microsoft.com y proporcionaremos instrucciones sobre cómo enviarnos el paquete de extensión.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. Una vez que recibamos el paquete, revisaremos y, si lo aprueba, publicaremos en la fuente del centro de administración de Windows.Once we receive your package, we will review and if approved, publish to the Windows Admin Center feed.