màj wiki avec retour MES lot-5 AD
This commit is contained in:
@@ -0,0 +1,134 @@
|
||||
---
|
||||
title: "Custom Application Management"
|
||||
type: operation
|
||||
sources:
|
||||
- sources/archives/Gestion_custom_application.md
|
||||
related:
|
||||
- architecture/application-dictionary.md
|
||||
- operations/development-methodology.md
|
||||
- operations/first-deployment.md
|
||||
- operations/deployment-existing-app.md
|
||||
- operations/git-workflow.md
|
||||
- operations/code-review-process.md
|
||||
last_compiled: "2026-04-17"
|
||||
---
|
||||
|
||||
# Custom Application Management
|
||||
|
||||
## Overview
|
||||
|
||||
Procédure de **gestion de la custom application** EasyWMS (extension AD projet) via **EasyBuilder** : création, import et export. La custom app contient l'ensemble des éléments AD spécifiques au projet (Commands, Queries, Entities, Workflows, Dialogs…) compilés au-dessus du core EasyWMS et des modules standards activés dans le `DeployConfig.yaml`.
|
||||
|
||||
> ⚠️ Plusieurs développeurs peuvent travailler sur un même projet depuis des VM différentes. Une **gestion rigoureuse de la CustomApp** et une **bonne communication** sur l'avancement sont indispensables pour éviter les écrasements.
|
||||
|
||||
Règles de base :
|
||||
|
||||
- **Exporter** la CustomApp **à chaque fin de tâche** (après tests locaux)
|
||||
- **Réimporter** la CustomApp de `develop` **après merge** de votre branche dans `develop`
|
||||
- Si vous **rejoignez un projet en cours** → l'**import** de la CustomApp existante est la **première chose à faire**
|
||||
|
||||
> ⛔ Une mauvaise manipulation ici peut entraîner la **perte de vos développements**. Procéder avec soin.
|
||||
|
||||
Source : Confluence EasyWMS France — *Gestion de la custom application* (v12, 20/12/2022).
|
||||
|
||||
## <a id="creation"></a>1. Création de l'application custom
|
||||
|
||||
À n'exécuter qu'**une seule fois par projet** (le premier développeur). Les autres devs font un **Import** (cf. section 2).
|
||||
|
||||
### Option A — Partir d'une app existante du Toolkit
|
||||
|
||||
Si le projet réutilise des modifications déjà packagées dans le dépôt [**FRANCE_OPERATIONS_TOOLS**](https://msscode.mecalux.com/Proyectos_SW/FRANCE_OPERATIONS_TOOLS.git) (ex. modifications habituelles du module transporteur) :
|
||||
|
||||
1. Cloner le projet **FRANCE_OPERATIONS_TOOLS** en local
|
||||
2. Réaliser l'import (cf. section 2) depuis :
|
||||
```
|
||||
..\FRANCE_OPERATIONS_TOOLS\<Ma modif voulue>
|
||||
```
|
||||
Exemple : `..\FRANCE_OPERATIONS_TOOLS\Module transporteur`
|
||||
|
||||
### Option B — Créer une application vierge
|
||||
|
||||
Dans **EasyBuilder** :
|
||||
|
||||
1. **Clic droit sur "Application"** → **"New application"**
|
||||
2. Saisir le nom de l'application
|
||||
3. Définir les dépendances (en général : **`EasyWMS`**)
|
||||
|
||||
### Premier export
|
||||
|
||||
Après création, faire un **1ᵉʳ export sur la branche `develop`** du dépôt GIT (cf. section 3) pour initialiser `..\source\NomApplication` et permettre aux autres devs d'importer.
|
||||
|
||||
## <a id="import"></a>2. Import de l'application custom
|
||||
|
||||
> ⚠️ **Avant d'importer**, il faut d'abord **supprimer** la CustomApp existante dans votre Builder local.
|
||||
|
||||
### Procédure d'import
|
||||
|
||||
1. Dans EasyBuilder : clic droit sur l'application custom existante → **"Delete application"**
|
||||
2. Clic droit sur **"Applications"** → **"Import and save application from text"**
|
||||
3. Sélectionner le chemin dans votre dépôt GIT :
|
||||
```
|
||||
..\source\NomApplication
|
||||
```
|
||||
|
||||
### Quand importer
|
||||
|
||||
| Situation | Import ? |
|
||||
|-----------|----------|
|
||||
| Vous rejoignez un projet en cours | **Oui** (première action) |
|
||||
| Vous venez de merger votre branche dans `develop` | **Oui** (réimporter le `develop` à jour) |
|
||||
| Un collègue a poussé une modif majeure sur `develop` | **Oui** après `git pull` |
|
||||
| Vous démarrez la journée sur votre branche perso | **Non** — travailler sur votre export local |
|
||||
|
||||
## <a id="export"></a>3. Export de l'application custom
|
||||
|
||||
### Pré-requis
|
||||
|
||||
> ⚠️ **Avant l'export**, **vider** le dossier de destination dans le dépôt GIT :
|
||||
> ```
|
||||
> ..\source\NomApplication
|
||||
> ```
|
||||
> Sinon, des anciens fichiers orphelins peuvent rester et polluer le diff.
|
||||
|
||||
> ⚠️ Bien vérifier d'être sur **la branche de votre tâche** avant d'exporter.
|
||||
|
||||
> ⛔ **Aucun élément en "Check-out" n'est sauvegardé ni exporté.** Tous les Check-in doivent être effectués avant l'export.
|
||||
|
||||
### Procédure d'export
|
||||
|
||||
1. Dans EasyBuilder : clic droit sur l'application custom → **"Export application to text"**
|
||||
2. Sélectionner le chemin :
|
||||
```
|
||||
..\source\NomApplication
|
||||
```
|
||||
|
||||
### Suites logiques
|
||||
|
||||
- **Commit + push** sur la branche de votre tâche — cf. [git-workflow](git-workflow.md#3--commit-de-vos-modifications)
|
||||
- Les fichiers exportés peuvent être **séparés en plusieurs** pour un même élément AD (workflow, source C#, DESIGN…). Bien prendre **tous** les fichiers portant le nom de l'élément modifié.
|
||||
|
||||
## Règles de coexistence multi-développeurs
|
||||
|
||||
| Situation | Action |
|
||||
|-----------|--------|
|
||||
| Plusieurs devs sur le projet | Chacun sur sa **branche GIT personnelle** (cf. [development-methodology](development-methodology.md)) |
|
||||
| Éviter les écrasements | **Export systématique** en fin de tâche + **import** après merge dans `develop` |
|
||||
| Éléments en Check-out | À **Check-in avant export** — sinon perte silencieuse |
|
||||
| Structure commune (toolkit) | Utiliser **FRANCE_OPERATIONS_TOOLS** en option A de création |
|
||||
|
||||
## Common errors
|
||||
|
||||
- **Perte de développements après import** → la CustomApp locale contenait des changements non exportés. **Toujours exporter avant de supprimer/importer.**
|
||||
- **Diff GIT pollué par d'anciens fichiers** → dossier de destination non vidé avant export. Vider `..\source\NomApplication` avant chaque export.
|
||||
- **Élément absent du dépôt après export** → élément laissé en **Check-out** dans EasyBuilder. Les Check-out sont silencieusement ignorés à l'export.
|
||||
- **Import échoue avec des erreurs de dépendances** → `EasyWMS` (ou autre module requis) non listé comme dépendance lors de la création. Re-créer la custom app avec les bonnes dépendances.
|
||||
- **Conflits récurrents sur la CustomApp** → deux devs poussent en parallèle sur `develop`. Respecter le workflow : branche perso → rebase avant merge → export/import séquentiel (cf. [git-workflow](git-workflow.md) + [development-methodology](development-methodology.md)).
|
||||
- **Fichiers partiels commités** → un même élément est sérialisé en plusieurs fichiers (workflow, C#, DESIGN). Bien stager **tous les fichiers** avant commit.
|
||||
|
||||
## Related
|
||||
|
||||
- [Application Dictionary](../architecture/application-dictionary.md) — contenu packagé dans la custom app (Commands, Queries, Entities, Views, Dialogs, Events, Workflows)
|
||||
- [Development Methodology](development-methodology.md) — stratégie de branches et cadre dans lequel s'inscrit la gestion de la custom app
|
||||
- [First Deployment](first-deployment.md) — création initiale de la custom app (étape 9) et référencement dans `DeployConfig.yaml` (étape 10)
|
||||
- [Deploy Existing Application](deployment-existing-app.md) — import custom app lors d'un redéploiement (étape 6 si anciens scripts)
|
||||
- [Git Workflow](git-workflow.md) — rythme commit/push et gestion des branches
|
||||
Reference in New Issue
Block a user