Skip to content

Releases: nsip/sif3-framework-dotnet

Resolved HTTP headers issue

17 Sep 09:45
b206f4b
Compare
Choose a tag to compare
  • Fixed an issue whereby HTTP headers were not being correctly passed as request parameters from Consumers to Providers.

Upgraded to support .NET 6 and Entity Framework Core

25 Aug 13:32
4b23983
Compare
Choose a tag to compare
  • GENERAL CHANGES
    • Created Sif.Framework technology specific projects for ASP.NET Core and Entity Framework Core.
      • Sif.Framework.AspNetCore
      • Sif.Framework.EntityFrameworkCore
    • Created a new Environment Provider project based upon ASP.NET Core.
      • Sif.Framework.AspNetCore.EnvironmentProvider
    • Added unit tests for Entity Framework Core specific code.
    • Added training projects to supplement the documented training exercises.
      • Sif.Framework.Training.TestConsumer
      • Sif.Framework.Training.TestProvider
    • Refactored methods from the EnvironmentUtils, HttpUtils and ProviderUtils classes into corresponding extension methods.
    • Fixed error managment issues in the SessionService class.
    • Updated the demo projects to .NET Framework 4.7.2.
      • Sif.Framework.Demo.Au.Consumer
    • Replace some exception classes with equivalent exception classes from the Tardigrade.Framework NuGet package.
    • Created documentation specific to the ASP.NET Core version of the SIF Framework.
    • Created demo set-up, Consumer and Provider projects specific to the ASP.NET Core version of the SIF Framework.
      • Sif.Framework.Demo.Consumer
      • Sif.Framework.Demo.NetCore.Setup
      • Sif.Framework.Demo.Provider
    • Created shell scripts to run the ASP.NET Core demo projects.
    • Upgraded all ASP.NET Web API, Demo and Unit Test projects from .NET Framework 4.6.1 to 4.7.2.
    • Split the functionality of EnvironmentService into 2 classes to better reflect the original intent of the service - EnvironmentService and EnvironmentDtoService. Updated references to reflect this change.
    • Corrected a return type design issue with the IEnvironmentService interface.
    • Updated the DbContext to eager load all relationships.
    • Updated the ArrayOfOutputFormatter class constructor to accept a string rather than the IFrameworkSettings interface.
    • Deprecating the following classes:
      • Model/Settings/ConfigFileBasedFrameworkSettings
      • Model/Settings/ConsumerSettings
      • Model/Settings/ProviderSettings
      • Utils/SettingsManager
    • Updated XML documentation in classes.
    • Updated third-party NuGet packages.
    • General code clean-up.
  • CHANGES AFFECTING BACKWARD COMPATIBILITY
    • Added .NET 6 as a Target Framework to the Sif.Framework project and dropped .NET Framework 4.7.2.
    • Removed .NET Framework 4.6.1 as a Target Framework from all SDK-style library projects.
    • Deprecated the IPersistable interface for the IHasUniqueIdentitifer interface from the Tardigrade.Framework NuGet package.
    • Re-designed the ISifService interface.
    • Re-designed the IAuthorisationService and IAuthenticationService interfaces.
    • Infrastructure model objects that referenced associations using an IDictionary have been refactored to use ICollection instead. These changes have been reflected in the NHibernate mapping files and AutoMapper mappings.
      • Environment
      • EnvironmentRegister
      • Job
      • Phase
      • Service
      • Zone
    • Re-ordered the constructor parameters for the RequestParameter class.
    • Replaced references to the IGenericRepository interface with the IRepository interface from the Tardigrade.Framework NuGet package.
    • Replaced references to the IGenericService interface with the IObjectService interface from the Tardigrade.Framework NuGet package.
    • Replaced references to the GenericService class with the ObjectService class from the Tardigrade.Framework NuGet package.
    • Refactored the constructor of all infrastructure service classes to allow for injection of repositories and services.
    • Updated the NHibernate mapping for the Environment class to save the EnvironmentType enum property as a string rather than integer.
  • CHANGES WHICH BREAK BACKWARD COMPATIBILITY WITH IMPLEMENTED CONSUMERS AND PROVIDERS
    • Split the Sif.Framework project into multiple technology specific projects for ASP.NET Web API, Entity Framework and NHibernate.
      • Sif.Framework.AspNet
      • Sif.Framework.EntityFramework
      • Sif.Framework.NHibernate
    • Renamed the Sif.Framework.Model namespace to Sif.Framework.Models.
    • Renamed the Sif.Framework.Service namespace to Sif.Framework.Services.
    • Removed the Sif.Framework.EntityFramework.Services.Sessions namespace and migrated classes to Sif.Framework.Services.Sessions.
    • Updated all Controllers/Providers so that services are passed to the constructor as opposed to instantiated by the Controller/Provider.

Enabled session tokens to be stored in a database

26 May 12:28
8e80f80
Compare
Choose a tag to compare
  • Created a service for storing session tokens in a database using Entity Framework.
  • Created a new Sif.Framework.EntityFramework project containing the Entity Framework implementation of the session service.
  • Updated the Consumer and Provider classes to utilise the session service.
  • Updated the AU Demo Consumer and Provider projects to enable the use of the session service.
  • Created unit tests for the session service.
  • Performed general code improvements based upon ReSharper recommendations.

Updated to the official release of the SIF AU 3.4.8 Data Model

25 Apr 10:15
45d3a94
Compare
Choose a tag to compare

Updated to the official release of the SIF AU 3.4.8 Data Model.

Enable application settings to be read from a database

29 Dec 09:15
dfd0285
Compare
Choose a tag to compare
  • Added classes to enable application settings to be read from a database.
  • Re-designed the Provider classes to better accommodate passing of application settings.
  • Updated the Consumer and Provider constructors to accept the application settings to be used.
  • Updated the business layer to reference the application settings passed rather than inherently read them from the SifFramework.config file.
  • Create a Solution to manage unit test projects.
  • Updated the AU Demo Consumer and Provider projects to read the application settings from a database rather than the SifFramework.config file.
  • Created documentation to explain how to configure the Consumers and Providers to read application settings from a database.
  • Moved Markdown documentation to the Documentation directory.
  • Incorporated the Tardigrade.Framework NuGet packages into the SIF Framework projects.
  • Updated all third-party NuGet packages.
  • General code clean-up.

Updated to the official release of the SIF AU 3.4.7 Data Model

28 Sep 11:01
32258ef
Compare
Choose a tag to compare
  • Resolved issues with SIF_HMACSHA256 authentication.
  • Updated to the official release of the SIF AU 3.4.7 Data Model.
  • Updated the Demo projects with the latest version of the SIF Framework.
  • Refactored the AU Demo Consumer and Provider to reflect the data model updates.

Corrected the SIF AU 3.4.6 Data Model

27 May 12:02
cb44aff
Compare
Choose a tag to compare
  • Corrected the SIF AU 3.4.6 Data Model release provided with the SIF Framework.
  • Refactored the AU Demo Consumer and Provider to reflect the data model updates.

Updated to the official release of the SIF AU 3.4.6 Data Model

29 Apr 11:50
a023c61
Compare
Choose a tag to compare
  • Updated to the official release of the SIF AU 3.4.6 Data Model.
  • Refactored the AU Demo Consumer and Provider to reflect the data model updates.
  • Added the SIF NA Unity 4.0 Data Model to the Sif.Specification project.

Enable Goessner notation JSON for Consumers and SIF Events

08 Mar 07:24
82cb8c4
Compare
Choose a tag to compare
  • Created a custom (XML to) JSON serialiser complying with Goessner notation that can be used by SIF Consumers.
  • Configured the Sif.Framework.EnvironmentProvider project to use the new JSON Media Type Formatter.
  • Enhanced SIF Providers to enable JSON payloads with SIF Events.
  • Updated demo projects to use the new JSON formatters and serialisers.
  • Created/updated documentation and templates regarding configuration for JSON usage.

Created a custom JSON Formatter which complies with Goessner notation

18 Feb 05:12
551cba2
Compare
Choose a tag to compare
  • Created a custom JSON Media Type Formatter that complies with Goessner notation that can be used by SIF Providers.
  • Configured the Sif.Framework.Demo.Au.Provider project to use the new JSON Media Type Formatter.
  • Created/updated documentation and templates regarding the new JSON Media Type Formatter