# stefanmaron/msdyn365bc.code.history architecture

> Architecture diagram of the GitHub repository stefanmaron/msdyn365bc.code.history, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/stefanmaron/msdyn365bc.code.history
- Repository: https://github.com/stefanmaron/msdyn365bc.code.history

## Overview

This repository is a versioned archive of Business Central app code, organized by country and major version so users can inspect and compare changes. Its documented operational workflow is a daily artifact-based update that adds commits through pipelines; users then select country/version branches to examine the archived code. The tree also contains country and repository maintenance scripts, but their implementation and wiring are not available here, so their relationships are left unspecified.

Main entry points: [`.github/workflows/BuildNewCommits.yml`](https://github.com/stefanmaron/msdyn365bc.code.history/blob/master/.github/workflows/BuildNewCommits.yml) (Build new commits)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_operations["Update operations"]
  node_workflow["Build new commits"]
  node_auto_load["Auto-load versions"]
  node_countries["Get countries"]
  node_update_repo["Update repository<br/>[UpdateALRepo.ps1]"]
end

subgraph group_archive["Code history"]
  node_history[("Versioned code")]
  node_branches["Country-version branches"]
end

subgraph group_access["Browse and compare"]
  node_compare["Inspect changes"]
end

node_artifacts["BC artifacts"]
node_schedule(("Daily schedule"))
node_user(("Repository user"))

node_schedule -->|"triggers daily"| node_workflow
node_artifacts -->|"updates from"| node_workflow
node_workflow -->|"adds commits"| node_history
node_history -->|"organizes by country/version"| node_branches
node_user -->|"selects"| node_branches
node_user -->|"compares versions"| node_compare
node_branches -->|"provides code"| node_compare

click node_workflow "https://github.com/stefanmaron/msdyn365bc.code.history/blob/master/.github/workflows/BuildNewCommits.yml"
click node_auto_load "https://github.com/stefanmaron/msdyn365bc.code.history/blob/master/scripts/Auto_load_versions.ps1"
click node_countries "https://github.com/stefanmaron/msdyn365bc.code.history/blob/master/scripts/GetAllCountries.ps1"
click node_update_repo "https://github.com/stefanmaron/msdyn365bc.code.history/blob/master/scripts/UpdateALRepo.ps1"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_workflow,node_auto_load,node_countries,node_update_repo,node_user toneBlue
class node_history,node_branches toneAmber
class node_compare toneMint
class node_artifacts,node_schedule toneIndigo
```

## Components

### Update operations

- [Build new commits](https://github.com/stefanmaron/msdyn365bc.code.history/blob/master/.github/workflows/BuildNewCommits.yml): `.github/workflows/BuildNewCommits.yml`
- [Auto-load versions](https://github.com/stefanmaron/msdyn365bc.code.history/blob/master/scripts/Auto_load_versions.ps1): `scripts/Auto_load_versions.ps1`
- [Get countries](https://github.com/stefanmaron/msdyn365bc.code.history/blob/master/scripts/GetAllCountries.ps1): `scripts/GetAllCountries.ps1`
- [Update repository](https://github.com/stefanmaron/msdyn365bc.code.history/blob/master/scripts/UpdateALRepo.ps1): `scripts/UpdateALRepo.ps1`

### Code history

- **Versioned code**
- **Country-version branches**

### Browse and compare

- **Inspect changes**

### Other components

- **BC artifacts**
- **Daily schedule**
- **Repository user**

## Connections

- Daily schedule → Build new commits: triggers daily
- BC artifacts → Build new commits: updates from
- Build new commits → Versioned code: adds commits
- Versioned code → Country-version branches: organizes by country/version
- Repository user → Country-version branches: selects
- Repository user → Inspect changes: compares versions
- Country-version branches → Inspect changes: provides code
