Skip to content

Releases: axuno/Volleyball-League

v8.0.0

08 Feb 20:53
07de738
Compare
Choose a tag to compare

Migration from v7.x to v8.0

1. WebAppStartup:

  • Replace CustomMainNavigationNodeBuilder from Demo project with MainNavigationNodeBuilder from League project
  • Add new service TenantContentProvider
  • Remove the reference using League.WebApp.ViewComponents;
services.AddScoped<IMainNavigationNodeBuilder, MainNavigationNodeBuilder>();
services.AddSingleton<ITenantContentProvider, TenantContentProvider>();

2. Migrate razor views to HTML partials together with metadata

  • Source folder: Views\TenantContent\<tenant>
  • Target folder: wwwroot\pages\
    • Home_Index.cshtml => _home.html
    • Info_RuleOfGame.cshtml => _rule-of-game.html
    • Info_News.cshtml => _news.html

3. Add JSON metadata files

  • Every HTML file has a metadata JSON file as a companion
    • Home_Index.cshtml => _home.json
    • Info_RuleOfGame.cshtml => _rule-of-game.json
    • Info_News.cshtml => _news.json
  • The JSON files have the following content, that will be deserialized to League.Models.TenantContent.ContentItems
{
  "Position": 0,
  "PageTitel": "<PageTitel>",
  "Description": "<Content for the HTML meta tag 'Description'>",
  "MenuTitel": "<The titel as show in the menu>",
  "Topic": "<The topic name used in the URL>",
  "IsActive": true,
  "LastModified": "2025-01-02T12:00:00Z",
  "PubDate": "2025-01-02T12:00:00Z"
}

4. Other Changes

  • The TenantContent controller is replaced by the TenantContent controller of the League project,
  • Same for Views\TenantContent\Home.cshtml.
  • _Layout.cshtml: Only the "general contact" is mentioned now, the tenant contact will be displayed as fixed tenant menu item. <a asp-route="@RouteNames.GeneralContact" class="d-inline-block me-4">@Localizer["Contact"]</a>

What's Changed in Detail

1. Move tenant content from razor views to pure html in wwwroot folder

  • Move controller TenantContent from project Demo to League
  • Tenant content html have the same name as the url segment for the topic
    e.g.:
    • pages\otherorg_index.html (info about the tenant)
    • pages\otherorg_news.html (posted news)
    • pages\otherorg_rule-of-game.html (tenant rule of game)
    • pages\Files\otherorg_ball.png (uploaded tenant content files)
  • Include pages folder for League.Demo in the repository

2. Created a tenant content folder /wwwroot/pages

  • HTML content is file _.html
  • Metadata is in file _.json
  • Created new home.html, home.json, news.html, news.json, rule-of-game.html, and rule-of-game.json files with metadata and placeholder content.
  • Added a new home.cshtml view to render tenant content.
  • Simplified footer in _Layout.cshtml by removing tenant-specific logic for the "Contact" link.
  • Updated WebAppStartup to use scoped MainNavigationNodeBuilder and singleton TenantContentProvider

3. Integration

  • Updated WebAppStartup.cs to use MainNavigationNodeBuilder instead of CustomMainNavigationNodeBuilder
  • Deleted CustomMainNavigationNodeBuilder class and related usings.
  • Added class ITenantContentProvider to handle tenant content
  • Added a new ContentItem class in ContentItem.cs to represent a content item for a tenant.
  • Introduced a new interface ITenantContentProvider
  • Implemented ITenantContentProvider interface in TenantContentProvider
  • Added new methods in MainNavigationNodeBuilder to create tenant-specific navigation nodes.
  • Updated TenantContent controller to use ITenantContentProvider and added a new Home action.

4. Migrate to async

  • Updated IMainNavigationNodeBuilder interface to make GetNavigationNodes method asynchronous.
  • Updated MainNavigation component and MainNavigationComponentModelExtensions to use asynchronous methods.
  • Updated Default.cshtml and NavigationNodeChildDropdownPartial.cshtml to use asynchronous methods for CSS class generation.

5. Miscallaneous

  • Updated .gitignore to include pages directory
  • Fix a bug in Axuno.Tools.FileSystem.DelayedFileSystemWatcher when processing directory changes
  • Move view TenantContent.Home.cshtml from Demo to League project

Full Changelog: v7.2.4...v8.0.0

v7.2.4

06 Jan 07:46
65c3e8e
Compare
Choose a tag to compare

What's Changed

1. Enhancements:

  • Updated the LeagueStartup and UnitTestHelpers class to improve initialization and configuration of services for unit tests.
  • Ensured the database connection is properly opened and closed during initialization.
  • Enhanced logging configuration to capture message templates and properties using NLog.
  • Added localization support to the service provider for better handling of localized strings in tests.
  • Improved the GetStandardServiceProvider method to include additional services required for testing.

2. Package Updates:

  • Updated Microsoft.Extensions.Logging from 5.0.0 to 6.0.0.
  • Updated NLog.Extensions.Logging from 5.0.0 to 6.0.0.
  • Updated Microsoft.AspNetCore.TestHost from 5.0.0 to 6.0.0.
  • Added reference to Microsoft.Data.SqlClient 5.2.2, replacing obsolete classes in System.Data.SqlClient.

3. Code Cleanup:

  • Removed unused namespaces and organized using directives for better readability.
  • Added XML documentation comments to public methods and properties for better code documentation.

Bump version to v7.2.4

Full Changelog: v7.2.3...v7.2.4

v7.2.3

21 Oct 13:12
cb22586
Compare
Choose a tag to compare

What's Changed

  • Re-integrate ICal.Net for ICalendar generation
  • Update nuget pkg referencing vulnerable System.Text.Json v8.0.4
  • Update 16 other nuget pkg to latest version

Full Changelog: v7.2.2...v7.2.3

v7.2.2

08 Oct 09:22
4d1afba
Compare
Choose a tag to compare

What's Changed

  • Fix partly broken import of German excluded match dates in #196
  • Replace Ical.Net package and update Calendar class in #197
  • Completed todos from task list for classes Match and RankingRepository in #198
  • Update logging following conventions in #199
  • Provide DateTimeKind when creating any DateTime objects in #200
  • Improve accessibility of html elements in #201
  • Optimize collection access in #202
  • Improve code quality across multiple files in #203
  • Add ModelState validation checks for all controller actions in #204
  • Enhance security for links, cookies, and regex operations in #205
  • Bump version to v7.2.2 in #206

Full Changelog: v7.2.1...v7.2.2

v7.2.1

02 Oct 07:19
8bfc966
Compare
Choose a tag to compare
  • Refactor the TimeZoneConverter class to eliminate dependencies on the NodaTime library, now using TimeZoneInfo from NET8.0 framework.
  • Simplify the constructor to require only an IANA timezone ID and an optional CultureInfo object.
  • Update ToZonedTime and ToUtc methods for timezone conversions using TimeZoneInfo.
  • Replace ZonedTime return value with IZonedTimeInfo interface.
  • Remove NodaTime package reference from Axuno.Tools.csproj.
  • Add GetSystemTimeZoneList, GetIanaTimeZoneList, and CanMapToIanaTimeZone methods.
  • Update IZonedTimeInfo interface with additional properties and fully qualified names.
  • Update test methods to TimeZoneConverterTests for handling unknown timezone IDs and default culture usage.
  • Update TimeZoneConverterTests to reflect the refactored TimeZoneConverter class.
  • Bump version to v7.2.1

v7.2.0

01 Oct 13:13
1253ec4
Compare
Choose a tag to compare

What's Changed

  • Update T-SQL script to seed with initial data in #185
  • Update Chromium web browser in #186
  • Puppeteer update in #187
  • Add parameter --no-sandbox to PuppeteerSharp.LaunchOptions in #188
  • Change ILogger.LogCritical to ILogger.LogError in #189
  • Add PDF generation using the new HtmlToPdfConverter in #191
  • Refactor PDF generation with ReportSheetCache in #190
  • Update NuGet package dependencies across projects in #193
  • Enhance time zone handling and add unit tests in #194

Full Changelog: v7.1.2...v7.2.0

v7.1.2

15 Sep 06:55
9f8b75a
Compare
Choose a tag to compare

What's Changed

  • Breaking: Make MatchScheduler.ScheduleFixturesForRound(...) private in #183
  • Fix: Show correct title tag for tenant-specific content in #184

Full Changelog: v7.1.1...v7.1.2

v7.1.1

31 Aug 13:56
dd429d4
Compare
Choose a tag to compare

What's Changed

  • Extend runtime compilation in development mode in #180
  • refactor: GeoSpatial classes in #181
  • Add --no-pdf-header-footer argument to Chromium in #182

Full Changelog: v7.1.0...v7.1.1

v7.1.0

20 Jul 20:43
f47382e
Compare
Choose a tag to compare

What's Changed

  • Refactor TournamentCreator in #171 and #172
  • Rewrite class TournamentCreator in #173 and #174
  • chore: Remove obsolete npm pixrem in #175
  • Bump Azure.Identity from 1.11.0 to 1.11.4 by @dependabot in #176
  • Update nuget packages in #177
  • feat: Show closing date for team application in #178
  • feat: Improve accessibility of html elements in #179

Full Changelog: v7.0.1...v7.1.0

v7.0.1

06 May 13:51
30647c4
Compare
Choose a tag to compare

What's Changed

  • Update LLBLGenPro Editor from v5.9 to v5.11.1 in #166
  • Update Create-Db-Objects.sql in #167
  • Update backups of demo databases in #168
  • CI: Add dependabot.yaml to configure GitHub workflow updates in #169
  • Update node packages, replace depreciated bootstrap class 'navbar-dark' in #170

Full Changelog: v7.0.0...v7.0.1