-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Description
Background
When you create a new .NET MAUI project with sample content, you will get the fully featured Developer Balance app. We also made this a hosted sample in the maui-samples repo so that people can discover it easily.
And then additionally, we also use this app to test the accessibility of our templates and controls. What happens right now is that we take the Developer Balance app from the samples repository, we release that to the App Stores (beta tracks), that gets asserted for accessibility and we fix that.
The problem
What is not great about that is, is that it's easy to do a fix on the sample app in the sample repo, but we forget to port that back to the .NET MAUI repository, to our templates. Or vice versa. We constantly have to be aware of if a fix made it to the template or to the sample app and maybe even more importantly: when we do a fix on the sample app and forget to add it to our template, our template might be found compliant, while in practice maybe it isn't.
The proposal
Let the sample app be just that: a sample app. We put it there and we don't really touch it. It doesn't matter if its not updated or 100% in sync with our template. Ideally it is, if not, that's fine too.
We do want our template to always be the latest available version. So my proposal would be to find a way to make it easier to iterate over the template changes in the .NET MAUI repository.
-
Introduce a script that does
dotnet new maui --sample-contentand runs it for you, or whatever makes sense to iterate over the template changes. We need to identify what people do here now and how we can make that as easy as possible -
We can then also make releasing a build so much easier for our accessibility testing team. The pipeline can just do
dotnet new maui --sample-contentpack that up and release it to the stores. That way, we will always have the latest available state of our templates that are tested.
Discuss
- How are people working with this now? How do they iterate over the changes they make in the sample app?
- How is a build released?
- What could a script look like to iterate over the changes in the template?