Search Results for

      Show / Hide Table of Contents

      What's new in Intent Architect (September 2024)

      Welcome to the September 2024 edition of What's New in Intent Architect.

      • Highlights

        • Razor Code Management - "Code Management" capabilities for .razor files, offering intelligent and powerful code merging between existing and generated content.
        • NetTopologySuite for GIS capabilities - Geospatial integration with Entity Framework ORM for SQL Server, MySQL, and PostgreSQL.
        • NuGet modeling for module builders - Ability to model NuGet package dependencies for modules.
        • HashiCorp Vault secrets integration with .NET configuration - Access secrets from a HashiCorp Vault for .NET configuration.
        • Use comments in the Services Designer - Comments can now be used in the Services Designer in the same way they can be used in the Domain Designer.
      • More updates

        • Enforce Enums using SQL constraints with EF Core - Automatically set up SQL constraints to enforce data integrity on enums.
        • Swagger UI defaults ModelRendering to Example - The default view of request payloads in Swagger UI is now set to Example instead of Model (schema).
        • Service Pagination introduced for Java SpringBoot module - Paginate services in Java SpringBoot with Intent Architect.

      Update details

      Razor Code Management

      Code Management / Merging capabilities for .razor files offer intelligent and powerful code merging between existing and generated content.

      For more information, refer to this Docs article.

      Available from:

      • Intent.Code.Weaving.Razor 1.0.0-beta.0

      NetTopologySuite for GIS capabilities

      The NetTopologySuite library is introduced for Geographic Information System (GIS) capabilities, allowing you to incorporate geospatial data into your applications using Intent Architect with Entity Framework for SQL Server, MySQL, and PostgreSQL.

      Specify Point in your Domain.

      Example in Domain

      Have your Services also contain this Point as part of request and response messages.

      Example in Services

      Schema as represented in Swagger:

      Example in Swagger

      Available from:

      • Intent.NetTopologySuite 1.0.0

      NuGet modeling for module builders

      For module builders, we have introduced the ability to model NuGet package dependencies for your modules.

      NuGet model

      Modeling your NuGet packages provides the following benefits:

      • Modules can "vote" on which versions of a NuGet package they want to install if multiple modules are trying to install the same package.
      • NuGet integration for fetching the latest versions of packages.
      • Support for package versioning per .NET Framework.

      For more detailed information, see this article.

      Available from:

      • Intent.ModuleBuilder.CSharp 3.6.1-pre.0

      HashiCorp Vault secrets integration with .NET configuration

      HashiCorp Vault provides organizations with identity-based security to automatically authenticate and authorize access to secrets and other sensitive data. Access secrets from a HashiCorp Vault for configuration in .NET.

      Learn more by visiting the module documentation here.

      If you have MySecret stored in the Vault, you can access it using IConfiguration:

      public static void Configuration(IConfiguration configuration) 
      {
          var superSecret = configuration["MySecret"];
      }
      

      HashiCorp Vault UI

      Available from:

      • Intent.HashiCorp.Vault 1.0.0

      Use comments in the Services Designer

      It is now possible to use comments in the Services Designer in the same way that comments could already be used in the Domain Designer.

      Example of a comment in the services designer

      Available from:

      • Intent.Modelers.Services 3.7.5

      Enforce Enums using SQL constraints with EF Core

      We have introduced a new setting, Enum check constraints, for the Intent.EntityFrameworkCore module. When this is enabled, any enum-based attributes in the domain will have SQL check constraints configured so that only valid values can be saved in the column.

      For more detailed information, see the module documentation.

      Available from:

      • Intent.EntityFrameworkCore 5.0.9

      Swagger UI defaults ModelRendering to Example

      The default view of request payloads in Swagger UI now defaults to Example instead of Model (schema).

      It will present the payload structure like this in Swagger UI:

      Example sample

      Instead of this, as it did before:

      Schema sample

      Available from:

      • Intent.AspNetCore.Swashbuckle 5.1.0

      Service Pagination introduced for Java SpringBoot module

      Paginate services in Java SpringBoot with Intent Architect.

      Right-click on a service returning a collection of a DTO.

      Example pagination

      It will now be decorated with the appropriate paginated types.

      Paginated service

      Controller action code sample:

      @GetMapping(path = "/paginated")
      @Operation(summary = "FindAllPaginated")
      @ApiResponses(value = {
          @ApiResponse(responseCode = "200", description = "Returns the specified Page<UserDto>."),
          @ApiResponse(responseCode = "400", description = "One or more validation errors have occurred."),
          @ApiResponse(responseCode = "404", description = "Can't find a Page<UserDto> with the parameters provided.") })
      public ResponseEntity<Page<UserDto>> FindAllPaginated(@Parameter(required = true) Pageable pageable) {
          if (pageable.isUnpaged()) {
              pageable = PageRequest.of(0, 150);
          }
      
          final Page<UserDto> result = usersService.FindAllPaginated(pageable);
      
          return new ResponseEntity<>(result, HttpStatus.OK);
      }
      

      Available from:

      • Intent.Java.SpringBoot 4.0.1
      • Intent.Java.Services.CRUD 4.0.1
      • Edit this page
      ☀
      ☾
      In this article
      Back to top Copyright © 2017-, Intent Architect Holdings Ltd