---
id: video/8037fdtrU1o
type: video
title: "What's New: Contoso Demo Tool (2025 release wave 1)"
summary: "Contoso Demo Tool redesign in 2025 release wave 1: demo data moves from monolithic Rapid Start packages to modular, code-based codeunits with layers, translation files and dynamic historical data. Code is in a GitHub app extensions repository, and the video says it is already available as part of 25.3."
tier: official
language: en
tags:
  - demo data
  - contoso demo tool
  - rapid start packages
  - modularity
  - source control
  - historical data
  - code-based
  - translations
  - flexible update management
system: development
review:
  state: reviewed
  by: opus
  at: "2026-10-07T23:01:11.551Z"
  flags: []
generated:
  at: "2026-10-07T23:01:11.597Z"
  pipeline: 0.2.0
  prompts:
    extract-video: 1
    summarize-video: 2
  input_hash: 4a2026de36e550b5050081308faf87fcd7b02c3e467d8cfe684fc67f133771f6
evidence:
  - kind: video
    url: https://www.youtube.com/watch?v=8037fdtrU1o&t=25s
    title: "What's New: Contoso Demo Tool (2025 release wave 1)"
    date: "2025-04-01T15:00:09.000Z"
    commit: null
    t: 25
    quote: we either bring everything in or you bring nothing so if you had to do a demo about small feature um you had to
  - kind: video
    url: https://www.youtube.com/watch?v=8037fdtrU1o&t=45s
    title: "What's New: Contoso Demo Tool (2025 release wave 1)"
    date: "2025-04-01T15:00:09.000Z"
    commit: null
    t: 45
    quote: if you had to do this demo in a different country in a different language you needed to create a copy of that package
  - kind: video
    url: https://www.youtube.com/watch?v=8037fdtrU1o&t=121s
    title: "What's New: Contoso Demo Tool (2025 release wave 1)"
    date: "2025-04-01T15:00:09.000Z"
    commit: null
    t: 121
    quote: we broke it down into these different modules following the the name spaces in basap and you can install this independently
  - kind: video
    url: https://www.youtube.com/watch?v=8037fdtrU1o&t=161s
    title: "What's New: Contoso Demo Tool (2025 release wave 1)"
    date: "2025-04-01T15:00:09.000Z"
    commit: null
    t: 161
    quote: because it's we wanted to solve this issue with source source control and versioning to make it easier to extend and maintain
  - kind: video
    url: https://www.youtube.com/watch?v=8037fdtrU1o&t=201s
    title: "What's New: Contoso Demo Tool (2025 release wave 1)"
    date: "2025-04-01T15:00:09.000Z"
    commit: null
    t: 201
    quote: it also natively means that this goes into Source control this is actually in in GitHub in a app extensions
  - kind: video
    url: https://www.youtube.com/watch?v=8037fdtrU1o&t=282s
    title: "What's New: Contoso Demo Tool (2025 release wave 1)"
    date: "2025-04-01T15:00:09.000Z"
    commit: null
    t: 282
    quote: if you have to do this demo two years from now to a c customer the data will just be ready for you within
  - kind: video
    url: https://www.youtube.com/watch?v=8037fdtrU1o&t=322s
    title: "What's New: Contoso Demo Tool (2025 release wave 1)"
    date: "2025-04-01T15:00:09.000Z"
    commit: null
    t: 322
    quote: this is already available as part of 20 5.3 because we needed it to unblock another great feature flexible update management
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
video_id: 8037fdtrU1o
channel: yt-microsoft
source_name: Microsoft Dynamics 365 Business Central (YouTube)
url: https://www.youtube.com/watch?v=8037fdtrU1o
published_at: "2025-04-01T15:00:09.000Z"
duration_s: 366
captions: full
audience:
  - developer
  - administrator
  - functional consultant
  - partner
chapters:
  - t: 0
    title: Problems with the old demo data approach
  - t: 100
    title: Redesign principles and modular architecture
  - t: 161
    title: Code-based approach and benefits
  - t: 241
    title: Historical data and advanced capabilities
  - t: 302
    title: Future steps and availability
features:
  - name: Modular demo data architecture
    status: unclear
    t: 121
    verified: false
    status_source: video
  - name: Code-based demo data definition
    status: unclear
    t: 161
    verified: false
    status_source: video
  - name: Translation support in demo data
    status: unclear
    t: 181
    verified: false
    status_source: video
  - name: GitHub repository for demo tool
    status: unclear
    t: 201
    verified: false
    status_source: video
  - name: Layered demo data structure
    status: unclear
    t: 241
    verified: false
    status_source: video
  - name: Dynamic historical data calculation
    status: unclear
    t: 262
    verified: false
    status_source: video
objects_mentioned:
  - codeunit creating a unit of measure
quotes:
  - t: 25
    text: we either bring everything in or you bring nothing so if you had to do a demo about small feature um you had to
    check: exact
  - t: 45
    text: if you had to do this demo in a different country in a different language you needed to create a copy of that package
    check: snapped
  - t: 121
    text: we broke it down into these different modules following the the name spaces in basap and you can install this independently
    check: exact
  - t: 161
    text: because it's we wanted to solve this issue with source source control and versioning to make it easier to extend and maintain
    check: exact
  - t: 201
    text: it also natively means that this goes into Source control this is actually in in GitHub in a app extensions
    check: exact
  - t: 282
    text: if you have to do this demo two years from now to a c customer the data will just be ready for you within
    check: exact
  - t: 322
    text: this is already available as part of 20 5.3 because we needed it to unblock another great feature flexible update management
    check: exact
---

# What's New: Contoso Demo Tool (2025 release wave 1)

> Contoso Demo Tool redesign in 2025 release wave 1: demo data moves from monolithic Rapid Start packages to modular, code-based codeunits with layers, translation files and dynamic historical data. Code is in a GitHub app extensions repository, and the video says it is already available as part of 25.3.

[Watch on YouTube](https://www.youtube.com/watch?v=8037fdtrU1o) · Microsoft Dynamics 365 Business Central (YouTube) · 2025-04-01 · 6:06 · tier official · reviewed (checked by Opus)

## Overview

The video explains why the old Contoso demo data approach was replaced. Packages were all-or-nothing, so a demo of a small feature needed everything, and a demo in another country or language needed a copy of the package.

The new tool splits demo data into independent modules that follow Business Central namespaces and can have dependencies. Data is defined in codeunits, which fits source control and versioning. Modules are layered into setup data, master data and historical transactions. Translations use translation files as applications do. Historical data can be coded to adjust to the current date. The code is in GitHub for now, with a plan to move it into BC apps and open source it fully.

## Key points

- Old approach: demo data came in monolithic packages, so you brought everything or nothing, and a different country or language needed a copy of the package.
- New modules follow Business Central namespaces, can be installed independently, and can declare dependencies on other modules.
- Demo data is defined as code in codeunits (for example, one that creates a unit of measure), which is easier to read, maintain, extend and keep in source control.
- Modules are split into layers: setup data, master data and historical transactions, each developed and expanded independently.
- Translations are handled with translation files, as in applications, instead of maintaining multiple package versions.
- Historical data can be coded to follow current dates, for example keeping posted documents in the same fiscal quarter whenever the demo is run.
- The code is in a GitHub app extensions repository; the video says it is already available as part of 25.3 because flexible update management needed it, and that moving it into BC apps as open source is planned.

## Chapters

- [0:00](https://www.youtube.com/watch?v=8037fdtrU1o&t=0s) Problems with the old demo data approach
- [1:40](https://www.youtube.com/watch?v=8037fdtrU1o&t=100s) Redesign principles and modular architecture
- [2:41](https://www.youtube.com/watch?v=8037fdtrU1o&t=161s) Code-based approach and benefits
- [4:01](https://www.youtube.com/watch?v=8037fdtrU1o&t=241s) Historical data and advanced capabilities
- [5:02](https://www.youtube.com/watch?v=8037fdtrU1o&t=302s) Future steps and availability

## Features

| Feature | Status | At |
|---|---|---|
| Modular demo data architecture | status not stated, demoed | [2:01](https://www.youtube.com/watch?v=8037fdtrU1o&t=121s) |
| Code-based demo data definition | status not stated, demoed | [2:41](https://www.youtube.com/watch?v=8037fdtrU1o&t=161s) |
| Translation support in demo data | status not stated | [3:01](https://www.youtube.com/watch?v=8037fdtrU1o&t=181s) |
| GitHub repository for demo tool | status not stated, demoed | [3:21](https://www.youtube.com/watch?v=8037fdtrU1o&t=201s) |
| Layered demo data structure | status not stated, demoed | [4:01](https://www.youtube.com/watch?v=8037fdtrU1o&t=241s) |
| Dynamic historical data calculation | status not stated, demoed | [4:22](https://www.youtube.com/watch?v=8037fdtrU1o&t=262s) |

## AL objects mentioned

As heard in the captions. A name that matches one object page by exact type and name links to it; the others stay as named.

- codeunit "creating a unit of measure" at [3:01](https://www.youtube.com/watch?v=8037fdtrU1o&t=181s)

Not found in BC28-30: codeunit "creating a unit of measure".

## Quotes

- [0:25](https://www.youtube.com/watch?v=8037fdtrU1o&t=25s) "we either bring everything in or you bring nothing so if you had to do a demo about small feature um you had to"
- [0:45](https://www.youtube.com/watch?v=8037fdtrU1o&t=45s) "if you had to do this demo in a different country in a different language you needed to create a copy of that package"
- [2:01](https://www.youtube.com/watch?v=8037fdtrU1o&t=121s) "we broke it down into these different modules following the the name spaces in basap and you can install this independently"
- [2:41](https://www.youtube.com/watch?v=8037fdtrU1o&t=161s) "because it's we wanted to solve this issue with source source control and versioning to make it easier to extend and maintain"
- [3:21](https://www.youtube.com/watch?v=8037fdtrU1o&t=201s) "it also natively means that this goes into Source control this is actually in in GitHub in a app extensions"
- [4:42](https://www.youtube.com/watch?v=8037fdtrU1o&t=282s) "if you have to do this demo two years from now to a c customer the data will just be ready for you within"
- [5:22](https://www.youtube.com/watch?v=8037fdtrU1o&t=322s) "this is already available as part of 20 5.3 because we needed it to unblock another great feature flexible update management"

## Disclaimers in the video

- [3:41](https://www.youtube.com/watch?v=8037fdtrU1o&t=221s) coming-later: eventually we want to move all of this code into BC apps and make it fully open source

Presenters (as heard): Austine.
