studio status report: 2022-07

month 07 of 2022 was about upgrading the Studio to .NET6

Sketching out a development schedule last month there was an item for revision 22 called β€œupgrade the Studio to .NET 6 πŸ“¦πŸ”Ό.” I removed that item for his month because what actually happened was the release of:

  • SonghayCore 6.0.1 [NuGet πŸ“¦]
  • SonghayCore.Newtonsoft 6.0.0 [NuGet πŸ“¦]
  • Songhay.Publications 6.0.1 [NuGet πŸ“¦]
  • Songhay.Player [internal to the Studio]

These moves effectively make it possible to incrementally upgrade everything else in the Studio. So instead of upgrading the entire Studio in one monumental go, the work this month removes the bottleneck related to recognizing .NET 6.0. I can look at my GitHub contributions this year so far and see the explosive growth as key decisions have been made around Studio UI technology (represented by Songhay.Modules 6.0.1 [NuGet πŸ“¦]) and how the commitment to .NET 5.0, 6.0, etc. will unfold:

668 contributions in the last year

the move to SonghayCore 6.0.1

All of this work is hard but moving to SonghayCore 6.0.1 was bloody hard work. This was largely because I am a JetBrains Rider user (on the Ubuntu desktop) and I finally turned its ReSharper functionality on the SonghayCore which sent me through loads of re-factoring. Additionally, I tasked myself with:

By adding ReportGenerator [GitHub] on top of coverlet I can finally see that I have been messing about with over 15,000 lines of code for over six years:

adding ReportGenerator

This latest version of SonghayCore has the least amount of embarrassing code since its inception in 2016! The following illustrates packages dependent on SonghayCore:

packages dependent on

the move to Songhay.Publications 6.0.1

A near improvisational impulse to release SonghayCore.Newtonsoft 6.0.0 [NuGet πŸ“¦] made the release of Songhay.Publications 6.0.1 relatively easy and quick. Since Songhay.Player depends on Songhay.Publications, the upgrade of Songhay.Publications removes and blockers in front of the b-roll player (which is pretty much the whole business behind Songhay System).

The following illustrates packages dependent on Songhay.Publications:

packages dependent on

sketching out a development schedule (revision 23)

The schedule of the month:

  • release NuGet package for Songhay.Modules πŸ“¦πŸš€
  • release NuGet package for Songhay.Modules.Bolero πŸ“¦πŸš€
  • release NuGet package for Songhay.Modules.Publications πŸ“¦πŸš€
  • release NuGet package for Songhay.Player.YouTube πŸ“¦πŸš€
  • upgrade SonghayCore to .NET 6 πŸ“¦πŸ”Ό
    • upgrade Songhay.Publications to .NET 6 πŸ“¦πŸ”Ό
    • upgrade Songhay.Player to .NET 6 πŸ“¦πŸ”Ό
  • generate a new repo with proposed name, Songhay.Player.ProgressiveAudio ✨🚧
  • consider adding dotnet-b-roll* samples to the dotnet-core [GitHub] repo 🚜✨
  • generate Publication indices from LiteDB for Songhay.Publications.KinteSpace
  • switch Studio from Material Design to Bulma πŸ’„ ➑️ πŸ’„βœ¨
  • revise/update Songhay.HelloWorlds.Activities [GitHub] with current Studio knowledge of ASP.NET and Azure Functions
  • document how to run ASP.NET via Apache on Linux for future version of πŸ“–
  • document the public APIs of Songhay System (and somehow automate this process) πŸ“–

selected Studio notes from month 07

ASP.NET: Host ASP.NET Core on Linux with Apache

Microsoft docs

The app can also be published as a self-contained deployment if you prefer not to maintain the .NET Core runtime on the server.

Microsoft docs

The Microsoft docs do not cover this important part: article

Azure Functions: news from the day job

According to the water cooler talk at the day job, we can use an Azure Function as Swagger endpoint for other Azure Functions. This suggests to me that we can build out a single API with several Azure Functions in Azure Functions. This implies that my studio would no longer have a need for Azure App Services (for Web API building).

This 2022 document makes mention of AzureExtensions.Swashbuckle [GitHub]:

The slight discomfort with AzureExtensions.Swashbuckle is that it is not coming from Microsoft. I am seeing no Azure Functions equivalent of β€œGet started with Swashbuckle and ASP.NET Core” which feels like the same old story of getting ahead of Microsoft until Microsoft catches up and likely forces a re-factor of everything!