tipo_página | idiomas | productos | nombre | descripción | |||
---|---|---|---|---|---|---|---|
muestra |
|
| Amplíe las API de Commerce POS, HWS y Headless Commerce y el tiempo de ejecución de Commerce. | Este repositorio contiene el código de muestra sobre cómo ampliar el punto de venta, la estación de hardware, las API de Headless Commerce y el tiempo de ejecución de Commerce de Dynamics 365 Commerce. |
Este repositorio contiene el código de muestra sobre cómo personalizar el POS, la estación de hardware (HWS) y el tiempo de ejecución de Commerce (CRT), las API de Headless Commerce y la base de datos del canal. Tenga en cuenta que estos son solo ejemplos y no es necesario clonar este repositorio para desarrollar extensiones de Dynamics 365 Commerce. Este tema se aplica a la aplicación de comercio Dynamics 365 versión 10.0.18 o posterior.
Este archivo explica la estructura del repositorio de ejemplos de InStore y explica cómo configurar un repositorio para hacer referencia a los paquetes nuget del SDK de Commerce desde la fuente pública para el desarrollo de la extensión Dynamics 365 Commerce. Visite nuestro sitio de documentos para obtener recursos adicionales sobre el desarrollo de Dynamics 365 Commerce.
Este proceso no requiere un entorno preconfigurado específico ni una máquina virtual. El desarrollo y las pruebas se pueden realizar en cualquier máquina con una versión relativamente moderna de Windows. Si no necesita el desarrollo de POS moderno, puede aprovechar Windows 10, Windows Server 2016/2019. Si necesita el desarrollo de POS Sealed Modern, instale estos requisitos previos. Para obtener más detalles sobre los requisitos previos del entorno de desarrollo, consulte este artículo.
El repositorio de muestra de InStore contiene nuget.config, repo.props, CustomizationPackage.props y un script de canalizaciones de compilación que proporcionan orientación sobre cómo la extensión puede configurar los archivos de metadatos del repositorio.
Carpeta | Descripción |
---|---|
HardwareEstaciónMuestra | Este proyecto contiene ejemplos sobre cómo crear una estación de hardware, extensiones de pago e instaladores de extensiones. |
TiendaComercioMuestras | Esta carpeta contiene ejemplos que demuestran cómo ampliar la aplicación Store Commerce para lograr varios escenarios de personalización. |
EmbalajeMuestras | Esta carpeta contiene ejemplos que demuestran cómo estructurar su solución SDK de Commerce para crear paquetes/instaladores para los componentes de Commerce adecuados. |
Tubería | Archivos de script YAML y PowerShell |
El repositorio Dynamics365Commerce.ScaleUnit contiene ejemplos adicionales centrados en escenarios de desarrollo de extensiones de Headless Commerce, como las API de Headless Commerce y Commerce Runtime.
Cada muestra de este repositorio va acompañada de un archivo readme.md con la siguiente información:
Una descripción de su funcionalidad.
Los pasos para construir y ejecutar la muestra.
La lista de API de Commerce y puntos de extensión utilizados en el ejemplo y una descripción de lo que hacen.
Un enlace a la documentación relevante de las API de Commerce y el área de funciones
Un gif o una captura de pantalla de la funcionalidad, si corresponde.
El equipo de Comercio cuenta con una automatización de compilación que valida que todos los ejemplos de este repositorio se compilan correctamente, pero eso no garantiza que estos ejemplos siempre se compilarán y ejecutarán sin los problemas comunes durante el desarrollo de software. Si encuentra un problema con los ejemplos de InStore o el SDK de Commerce, busque en la sección de problemas de este repositorio de Github para ver si se trata de un problema conocido. Es posible que ya exista una solución o solución alternativa disponible.
Si no ve su problema en la sección de problemas, cree un nuevo problema con detalles sobre el problema al que se enfrenta. Esto ayudará a garantizar que todos los que utilicen el SDK de Commerce y estos ejemplos tengan la mejor experiencia posible y que todos los problemas conocidos se puedan buscar en línea. Supervisaremos estos problemas y ayudaremos tan pronto como sea posible.
Nota: Para obtener la mejor experiencia, limite el uso de la sección de problemas para informar problemas con el SDK de Commerce y los ejemplos de InStore.
Las ramas del repositorio están organizadas por versión de la aplicación Dynamics 365 Commerce, cada rama del repositorio apunta a una versión de la aplicación de Dynamics 365 Commerce, use la rama de versión correcta según su versión de lanzamiento.
Nombre de la rama de lanzamiento | versión | Versión de lanzamiento de la aplicación |
---|---|---|
Lanzamiento/9.49 | 9.49.* | 10.0.39 |
Lanzamiento/9.50 | 9,50.* | 10.0.40 |
Versión/9.51 | 9.51.* | 10.0.41 |
Lanzamiento/9.52 | 9.52.* | 10.0.42 |
Los contratos comerciales, los mensajes, las entidades y los paquetes de solicitudes se publican en esta fuente pública para que el código de extensión de comercio utilice y personalice las funcionalidades existentes o cree nuevas funcionalidades para el producto Dynamics 365 Commerce.
Consuma los paquetes comerciales desde esta ubicación, la extensión puede agregar la ubicación de origen del paquete en nuget.config de su archivo de proyecto de extensión.
<fuentesdelpaquete> <add key="dynamics365-commerce" value="https://pkgs.dev.azure.com/commerce-partner/Registry/_packaging/dynamics365-commerce/nuget/v3/index.json" /> <agregar clave="nuget.org" valor="https://api.nuget.org/v3/index.json" /> </paqueteFuentes>
Nombre del paquete | Descripción |
---|---|
Microsoft.Dynamics.Commerce.Sdk.ChannelDatabase | Este paquete es necesario para generar los paquetes de base de datos con CSU. |
Microsoft.Dynamics.Commerce.Sdk.Runtime | Este paquete contiene todas las bibliotecas de tiempo de ejecución de comercio. |
Microsoft.Dynamics.Commerce.Sdk.ScaleUnit | Este paquete es necesario para generar el paquete CSU para su implementación. |
Microsoft.Dynamics.Commerce.Sdk.Installers.ScaleUnit | Este paquete es necesario para generar el paquete ScaleUnit para su implementación. |
Microsoft.Dynamics.Commerce.Sdk.HardwareAndPeripherals | Este paquete contiene todas las bibliotecas de periféricos y estaciones de hardware comerciales. |
Instaladores.de.Microsoft.Dynamics.Commerce.Sdk | Este paquete contiene todas las bibliotecas de instaladores. |
Microsoft.Dynamics.Commerce.Sdk.Installers.HardwareStation | Este paquete es necesario para generar el paquete de la estación de hardware para su implementación. |
Microsoft.Dynamics.Commerce.Sdk.Installers.StoreCommerce | Este paquete es necesario para generar el instalador de extensiones de Store Commerce. |
Microsoft.Dynamics.Commerce.Sdk.Pos | Este paquete contiene todas las bibliotecas POS |
Microsoft.Dynamics.Commerce.Sdk.Installers.ModernPos | Este paquete es necesario para generar el instalador de la extensión POS para su implementación. |
Microsoft.Dynamics.Commerce.Diagnóstico | Este paquete contiene todas las bibliotecas de diagnóstico. |
Microsoft.Dynamics.Commerce.Runtime.Data | Este paquete contiene todas las bibliotecas de contratos de datos. |
Microsoft.Dynamics.Commerce.Runtime.DataServices.Messages | Este paquete contiene todas las bibliotecas de mensajes de servicios de datos. |
Microsoft.Dynamics.Commerce.Runtime.Entidades | Este paquete contiene todas las definiciones de entidades comerciales. |
Microsoft.Dynamics.Commerce.Runtime.Framework | Este paquete contiene todas las bibliotecas del marco de comercio. |
Microsoft.Dynamics.Commerce.Runtime.Hosting.Contracts | Este paquete contiene todas las bibliotecas de controladores de comercio. |
Microsoft.Dynamics.Commerce.Runtime.Messages | Este paquete contiene todas las bibliotecas de mensajes de tiempo de ejecución de comercio. |
Microsoft.Dynamics.Commerce.Runtime.RealtimeServices.Messages | Este paquete contiene todas las bibliotecas de tiempo de ejecución real de comercio. |
Microsoft.Dynamics.Commerce.Runtime.Services.Messages | Este paquete contiene todas las bibliotecas de mensajes del servicio comercial. |
Microsoft.Dynamics.Commerce.HardwareStation.Core | Este paquete contiene todas las bibliotecas HWS. |
Microsoft.Dynamics.Commerce.HardwareStation.PeripheralRequests | Este paquete contiene todas las bibliotecas de solicitud de periféricos HWS. |
Microsoft.Dynamics.Commerce.HardwareStation.Peripherals.Contracts | Este paquete contiene todas las bibliotecas de contratos de periféricos HWS. |
Microsoft.Dynamics.Commerce.HardwareStation.Peripherals.Entidades | Este paquete contiene todas las bibliotecas de entidades periféricas de HWS. |
Microsoft.Dynamics.Commerce.Installers.Framework | Este paquete contiene todas las bibliotecas del marco de instalación. |
Microsoft.Dynamics.Commerce.KeyVault.Contracts | Este paquete contiene todas las bibliotecas de contratos de almacén de claves. |
Microsoft.Dynamics.Commerce.PaymentSDK.Extensions.Portable | Este paquete contiene todas las bibliotecas de extensiones de pago. |
Microsoft.Dynamics.Commerce.PaymentSDK.Portable | Este paquete contiene todas las bibliotecas de pago. |
Microsoft.Dynamics.Commerce.Runtime.FIF.Connector.Messages | Este paquete contiene todas las bibliotecas de conectores FIF. |
Microsoft.Dynamics.Commerce.Runtime.FIF.DocumentProvider.Messages | Este paquete contiene todas las bibliotecas del proveedor de documentos FIF. |
Microsoft.Dynamics.Commerce.Installers.Framework.DatabaseExtensions | Este paquete contiene todas las bibliotecas del marco del instalador de bases de datos. |
Microsoft.Dynamics.Commerce.Tools.DbUtilities | Este paquete contiene todas las bibliotecas de utilidades de base de datos. |
Microsoft.Dynamics.Commerce.Tools.ExtensionsProxyGenerator.AspNetCore | Este paquete contiene todas las extensiones de utilidades del generador de proxy. |
Microsoft.Dynamics.Commerce.Proxy.ScaleUnit | Este paquete contiene toda la clase de proxies para que las aplicaciones de extensión consuman las API de Headless Commerce en modo en línea (conectadas a Headless Commerce). |
Versión del paquete | Lanzamiento de la aplicación |
---|---|
9.49.xx-vista previa | 10.0.39 Lanzamiento de PEAP |
9.49.xx | 10.0.39 Vista previa del cliente |
9.49.xx | 10.0.39 AG |
9.50.xx-vista previa | 10.0.40 Lanzamiento de PEAP |
9.50.xx | 10.0.40 Vista previa del cliente |
9.50.xx | 10.0.40 AG |
9.51.xx-vista previa | 10.0.41 Lanzamiento de PEAP |
9.51.xx | 10.0.41 Vista previa del cliente |
9.51.xx | 10.0.41 AG |
9.52.xx-vista previa | 10.0.42 Lanzamiento de PEAP |
9.52.xx | 10.0.42 Vista previa del cliente |
9.52.xx | 10.0.42 AG |
El proyecto de extensión puede consumir la versión correcta agregando la referencia del paquete al proyecto con el número de versión completo o usando comodines para obtener siempre la última versión. La opción recomendada es usar el número de versión completo y actualizar la versión según su versión de lanzamiento. .
<PackageReference Include="Microsoft.Dynamics.Commerce.Sdk.Pos " Versión="9.52.xx" />
O
<PackageReference Include="Microsoft.Dynamics.Commerce.Sdk.Pos " Versión="9.52.*" />
Con cada revisión y lanzamiento de nueva aplicación, se publicará una nueva versión del paquete en la misma fuente pública; consuma la versión correcta del paquete según la versión requerida para su lanzamiento. Consumir una versión superior del paquete a la versión de lanzamiento de la aplicación puede provocar fallas en el tiempo de ejecución y la implementación.
Configure la canalización de Azure DevOps para la automatización de compilaciones y la generación de paquetes:
Configurar una canalización de compilación para el SDK de Commerce
Mejores prácticas y estrategias de ramificación:
Para obtener información detallada sobre la estrategia de ramificación de Git, consulte el documento sobre estrategia de ramificación de Git.
Las siguientes estrategias de ramificación se basan en la forma en que usamos Git aquí en Microsoft. Para obtener más información, consulte Cómo usamos Git en Microsoft.
Mantenga su estrategia de sucursal simple. Construya su estrategia a partir de estos tres conceptos:
Utilice ramas de funciones para todas las funciones nuevas y correcciones de errores.
Fusione ramas de funciones en la rama principal mediante solicitudes de extracción.
Mantener una sucursal principal actualizada y de alta calidad.
Cree una nueva rama de funciones para desarrollo y corrección de errores:
Cree una nueva rama principal de funciones para nuestra extensión, siga la convención de nomenclatura adecuada (consulte el documento de bifurcación de Git para ver un ejemplo de convención de nomenclatura)
Cree una nueva rama de desarrollo:
Crear una sucursal privada para el desarrollo:
git checkout -b privado/{nombre de usuario}/{característica/descripción}
Agregue y confirme nuevos cambios en la rama de desarrollo usando git -add. y git commit -m"mensaje de confirmación".
Una vez completado, probado y validado el desarrollo, envíe los cambios a la rama principal haciendo git push <remote> <sucursal>
git push origin {nombre de rama privada}
Cree una rama de lanzamiento después del desarrollo:
Después de que los cambios de desarrollo se introduzcan en la rama principal, cree una nueva rama de lanzamiento y cree los paquetes implementables desde la rama de lanzamiento.
Git pago -b lanzamiento/xxx
Combine los cambios de la rama de lanzamiento con la rama principal si se realizan cambios en la rama de lanzamiento.
- git checkout master git merge release/x.x.x
Rama de revisión de extensión:
Al igual que la rama de lanzamiento, cree una rama de revisión para la extensión desde la rama principal y libere la solución y luego combine los cambios nuevamente en la rama principal.
Fusionar la nueva rama de lanzamiento con la rama principal y de desarrollo:
Después de publicar una nueva versión de las muestras, si es necesario, combine su rama de desarrollo con la nueva rama. El repositorio solo contiene muestras, por lo que no es necesario obtener siempre los cambios actualizados de la rama.
- git checkout master git merge release/x.x.x