type_page | langues | produits | nom | description | |||
---|---|---|---|---|---|---|---|
échantillon |
|
| Étendez les API Commerce POS, HWS et Headless Commerce ainsi que le runtime Commerce. | Ce référentiel contient l'exemple de code sur la façon d'étendre le point de vente Dynamics 365 Commerce, la station matérielle, les API Headless Commerce et le runtime Commerce. |
Ce référentiel contient l'exemple de code expliquant comment personnaliser le point de vente, la station matérielle (HWS) et le runtime Commerce (CRT), les API Headless Commerce et la base de données des canaux. Veuillez noter qu'il ne s'agit que d'exemples et qu'il n'est pas nécessaire de cloner ce dépôt pour développer des extensions Dynamics 365 Commerce. Cette rubrique s'applique à l'application Dynamics 365 Commerce version 10.0.18 ou ultérieure.
Ce fichier explique la structure du dépôt d'exemples InStore et explique comment configurer un dépôt pour référencer les packages nuget du SDK Commerce à partir du flux public pour le développement de l'extension Dynamics 365 Commerce. Veuillez visiter notre site de documentation pour obtenir des ressources supplémentaires sur le développement de Dynamics 365 Commerce.
Ce processus ne nécessite pas d'environnement préconfiguré spécifique ni de machine virtuelle. Le développement et les tests peuvent être effectués sur n’importe quelle machine dotée d’une version relativement moderne de Windows. Si vous n'avez pas besoin de développement Modern POS, vous pouvez exploiter Windows 10, Windows Server 2016/2019. Si vous avez besoin du développement Sealed Modern POS, installez ces conditions préalables. Pour plus de détails sur les prérequis de l'environnement de développement, veuillez vous référer à cet article
L'exemple de dépôt InStore contient nuget.config, repo.props, CustomizationPackage.props et un script de pipelines de construction qui fournissent des conseils sur la façon dont l'extension peut configurer les fichiers de métadonnées du dépôt.
Dossier | Description |
---|---|
Échantillon de station matérielle | Ce projet contient des exemples sur la façon de créer une station matérielle, des extensions de paiement et des installateurs d'extensions. |
StoreCommerceÉchantillons | Ce dossier contient des exemples montrant comment étendre l'application Store Commerce pour réaliser divers scénarios de personnalisation. |
EmballageÉchantillons | Ce dossier contient des exemples qui montrent comment structurer votre solution Commerce SDK pour créer des packages/installateurs pour les composants Commerce appropriés. |
Pipeline | Fichiers de scripts YAML et PowerShell |
Le référentiel Dynamics365Commerce.ScaleUnit contient des exemples supplémentaires axés sur les scénarios de développement d'extensions Headless Commerce tels que les API Headless Commerce et Commerce Runtime.
Chaque exemple de ce référentiel est accompagné d'un fichier readme.md contenant les informations suivantes :
Une description de sa fonctionnalité
Les étapes pour créer et exécuter l’exemple
La liste des API Commerce et des points d'extension utilisés dans l'exemple et une description de ce qu'ils font.
Un lien vers la documentation pertinente sur les API Commerce et la zone de fonctionnalités
Un gif ou une capture d'écran de la fonctionnalité, le cas échéant
L'équipe Commerce dispose d'une automatisation de build qui valide que tous les exemples de ce dépôt sont construits avec succès, mais cela ne garantit pas que ces exemples seront toujours construits et exécutés sans problèmes courants lors du développement de logiciels. Si vous rencontrez un problème avec les exemples InStore ou le SDK Commerce, veuillez rechercher la section des problèmes de ce dépôt Github pour voir s'il s'agit d'un problème connu. Il existe peut-être déjà un correctif ou une solution de contournement disponible.
Si vous ne voyez pas votre problème répertorié dans la section des problèmes, veuillez créer un nouveau problème avec des détails sur le problème auquel vous êtes confronté. Cela permettra de garantir que toute personne utilisant le SDK Commerce et ces exemples bénéficie de la meilleure expérience possible et que tous les problèmes connus pourront être recherchés en ligne. Nous surveillerons ces problèmes et vous aiderons dès que possible.
Remarque : Pour une expérience optimale, veuillez limiter l'utilisation de la section Problèmes pour signaler des problèmes avec le SDK Commerce et les exemples InStore.
Les branches du référentiel sont organisées par version de l'application Dynamics 365 Commerce, chaque branche du référentiel pointe vers une version de l'application de Dynamics 365 Commerce, utilisez la branche de version appropriée en fonction de votre version de mise en ligne.
Nom de la branche de publication | version | Version de l'application |
---|---|---|
Sortie/9.49 | 9.49.* | 10.0.39 |
Sortie/9h50 | 9h50.* | 10.0.40 |
Version/9.51 | 9.51.* | 10.0.41 |
Version/9.52 | 9.52.* | 10.0.42 |
Les contrats commerciaux, les messages, les entités et les packages de demandes sont publiés dans ce flux public pour le code d'extension commerciale afin d'utiliser et de personnaliser les fonctionnalités existantes ou de créer de nouvelles fonctionnalités pour le produit Dynamics 365 Commerce.
Consommez les packages commerciaux à partir de cet emplacement, l'extension peut ajouter l'emplacement source du package dans le nuget.config de leur fichier de projet d'extension.
<packageSources> <add key="dynamics365-commerce" value="https://pkgs.dev.azure.com/commerce-partner/Registry/_packaging/dynamics365-commerce/nuget/v3/index.json" /> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" /> </packageSources>
Nom du package | Description |
---|---|
Microsoft.Dynamics.Commerce.Sdk.ChannelDatabase | Ce package est requis pour générer les packages DB avec CSU. |
Microsoft.Dynamics.Commerce.Sdk.Runtime | Ce package contient toutes les bibliothèques d'exécution du commerce |
Microsoft.Dynamics.Commerce.Sdk.ScaleUnit | Ce package est requis pour générer le package CSU pour le déploiement. |
Microsoft.Dynamics.Commerce.Sdk.Installers.ScaleUnit | Ce package est requis pour générer le package ScaleUnit pour le déploiement |
Microsoft.Dynamics.Commerce.Sdk.HardwareAndPeripherals | Ce paquet contient toutes les bibliothèques de stations matérielles et de périphériques du commerce. |
Microsoft.Dynamics.Commerce.Sdk.Installers | Ce package contient toutes les bibliothèques d'installation |
Microsoft.Dynamics.Commerce.Sdk.Installers.HardwareStation | Ce package est requis pour générer le package de la station matérielle pour le déploiement |
Microsoft.Dynamics.Commerce.Sdk.Installers.StoreCommerce | Ce package est requis pour générer le programme d’installation des extensions Store Commerce. |
Microsoft.Dynamics.Commerce.Sdk.Pos | Ce package contient toutes les bibliothèques POS |
Microsoft.Dynamics.Commerce.Sdk.Installers.ModernPos | Ce package est requis pour générer le programme d'installation de l'extension POS pour le déploiement |
Microsoft.Dynamics.Commerce.Diagnostics | Ce package contient toutes les bibliothèques de diagnostic |
Microsoft.Dynamics.Commerce.Runtime.Data | Ce package contient toutes les bibliothèques de contrats de données |
Microsoft.Dynamics.Commerce.Runtime.DataServices.Messages | Ce package contient toutes les bibliothèques de messages des services de données |
Microsoft.Dynamics.Commerce.Runtime.Entities | Ce package contient toutes les définitions des entités commerciales |
Microsoft.Dynamics.Commerce.Runtime.Framework | Ce package contient toutes les bibliothèques de framework de commerce |
Microsoft.Dynamics.Commerce.Runtime.Hosting.Contracts | Ce package contient toutes les bibliothèques de contrôleurs commerciaux |
Microsoft.Dynamics.Commerce.Runtime.Messages | Ce package contient toutes les bibliothèques de messages d'exécution du commerce |
Microsoft.Dynamics.Commerce.Runtime.RealtimeServices.Messages | Ce package contient toutes les bibliothèques d'exécution réelles du commerce |
Microsoft.Dynamics.Commerce.Runtime.Services.Messages | Ce package contient toutes les bibliothèques de messages du service commerce |
Microsoft.Dynamics.Commerce.HardwareStation.Core | Ce package contient toutes les bibliothèques HWS |
Microsoft.Dynamics.Commerce.HardwareStation.PeripheralRequests | Ce package contient toutes les bibliothèques de requêtes de périphériques HWS |
Microsoft.Dynamics.Commerce.HardwareStation.Peripherals.Contracts | Ce package contient toutes les bibliothèques de contrats de périphériques HWS |
Microsoft.Dynamics.Commerce.HardwareStation.Peripherals.Entities | Ce package contient toutes les bibliothèques d'entités de périphériques HWS |
Microsoft.Dynamics.Commerce.Installers.Framework | Ce package contient toutes les bibliothèques de framework d'installation |
Microsoft.Dynamics.Commerce.KeyVault.Contracts | Ce package contient toutes les bibliothèques de contrats de clés du coffre-fort |
Microsoft.Dynamics.Commerce.PaymentSDK.Extensions.Portable | Ce package contient toutes les bibliothèques d'extensions de paiement |
Microsoft.Dynamics.Commerce.PaymentSDK.Portable | Ce package contient toutes les bibliothèques de paiement |
Microsoft.Dynamics.Commerce.Runtime.FIF.Connector.Messages | Ce package contient toutes les bibliothèques de connecteurs FIF |
Microsoft.Dynamics.Commerce.Runtime.FIF.DocumentProvider.Messages | Ce package contient toutes les bibliothèques du fournisseur de documents FIF |
Microsoft.Dynamics.Commerce.Installers.Framework.DatabaseExtensions | Ce package contient toutes les bibliothèques du framework d'installation de base de données |
Microsoft.Dynamics.Commerce.Tools.DbUtilities | Ce package contient toutes les bibliothèques d'utilitaires DB |
Microsoft.Dynamics.Commerce.Tools.ExtensionsProxyGenerator.AspNetCore | Ce paquet contient tous les utilitaires du générateur de proxy d'extensions |
Microsoft.Dynamics.Commerce.Proxy.ScaleUnit | Ce package contient toute la classe proxy pour les applications d'extension permettant de consommer les API Headless Commerce en mode en ligne (connectées à Headless Commerce). |
Version du paquet | Version de l'application |
---|---|
9.49.xx-aperçu | Version PEAP 10.0.39 |
9.49.xx | 10.0.39 Aperçu client |
9.49.xx | 10.0.39 AG |
9.50.xx-aperçu | Version PEAP 10.0.40 |
9.50.xx | 10.0.40 Aperçu client |
9.50.xx | 10.0.40 AG |
9.51.xx-aperçu | Version PEAP 10.0.41 |
9.51.xx | 10.0.41 Aperçu client |
9.51.xx | 10.0.41 AG |
9.52.xx-aperçu | Version PEAP 10.0.42 |
9.52.xx | 10.0.42 Aperçu client |
9.52.xx | 10.0.42 AG |
Le projet d'extension peut utiliser la version correcte en ajoutant la référence du package au projet avec le numéro de version complet ou en utilisant un caractère générique pour toujours obtenir la dernière version. L'option recommandée consiste à utiliser le numéro de version complet et à mettre à jour la version en fonction de votre version de mise en ligne. .
<PackageReference Include="Microsoft.Dynamics.Commerce.Sdk.Pos " Version="9.52.xx" />
Ou
<PackageReference Include="Microsoft.Dynamics.Commerce.Sdk.Pos " Version="9.52.*" />
Avec chaque correctif et nouvelle version d'application, la nouvelle version du package sera publiée dans le même flux public. Utilisez la bonne version du package en fonction de la version requise pour votre mise en ligne. La consommation d'une version supérieure du package à celle de votre application de mise en service peut entraîner des échecs d'exécution et de déploiement.
Configurez le pipeline Azure DevOps pour l'automatisation des builds et la génération de packages :
Configurer un pipeline de build pour le SDK Commerce
Meilleures pratiques et stratégies de branchement :
Pour des informations détaillées sur la stratégie de branchement Git, reportez-vous au document Stratégie de branchement Git.
Les stratégies de branchement suivantes sont basées sur la façon dont nous utilisons Git ici chez Microsoft. Pour plus d’informations, consultez Comment nous utilisons Git chez Microsoft.
Gardez la stratégie de votre succursale simple. Construisez votre stratégie à partir de ces trois concepts :
Utilisez les branches de fonctionnalités pour toutes les nouvelles fonctionnalités et corrections de bugs.
Fusionnez les branches de fonctionnalités dans la branche principale à l'aide de demandes d'extraction.
Gardez une branche principale à jour et de haute qualité.
Créez une nouvelle branche de fonctionnalités pour le développement et les corrections de bugs :
Créez une nouvelle branche principale de fonctionnalités pour notre extension, suivez la convention de dénomination appropriée (reportez-vous à la documentation de branchement Git pour un exemple de convention de dénomination)
Créez une nouvelle branche de développement :
Créer une branche privée pour le développement :
git checkout -b private/{username}/{feature/description}
Ajoutez et validez de nouvelles modifications dans la branche de développement à l'aide de git -add . et git commit -m" message de validation."
Une fois le développement terminé, testé et validé, appliquez les modifications à la branche principale en effectuant git push <remote> <branche>
git push origin {nom de la branche privée}
Créez une branche de publication après le développement :
Une fois les modifications de développement poussées dans la branche principale, créez une nouvelle branche de version et créez les packages déployables à partir de la branche de version.
Git checkout -b version/xxx
Fusionnez les modifications de la branche de version vers la branche principale si des modifications sont apportées dans la branche de version.
- git checkout master git merge release/x.x.x
Branche du correctif d’extension :
Comme pour la branche de publication, créez une branche de correctif pour l'extension à partir de la branche principale, publiez le correctif, puis fusionnez les modifications dans la branche principale.
Fusionner la nouvelle branche de version avec la branche principale et la branche de développement :
Après une nouvelle version des exemples publiés, si nécessaire fusionnez votre branche de développement avec la nouvelle branche. Le dépôt ne contient que des exemples, il n'est donc pas nécessaire d'obtenir toujours les modifications mises à jour de la branche.
- git checkout master git merge release/x.x.x