Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

StoriesPriorityT-Shirt SizeChanges RequiredStatusNotes
Decision on IOC container

Status
subtletrue
titleMust have

Status
subtletrue
titleSmall

  • Research other IoC containers to find one that is compatible with net core 3.1

Status
colourGreen
titleDone


Migrate Codegen to 3.1

Status
subtletrue
titleMust have

Status
colourGreen
titleMedium

  • Convert the Codegen Utility to netcore 3.1.
    • Update container to Autofac
    • Update project to netcore 3.1

Status
colourGreen
titleDone


Package Migration

Status
subtletrue
titleMust have

Status
colourGreen
titleMedium

  • Update the solution to packages that are supported by net core 3.1

Status
colourGreen
titleDone


Migrate Common

Status
subtletrue
titleMust have

Status
subtletrue
titleSmall

  • Update Ed-Fi Common  and EdFi.Ods.Common to support net standard 2.1

Status
colourGreen
titleDone


Api Project for Net Core

Status
subtletrue
titleMust have

Status
colourYellow
titleLarge

  • Create a net core 3.1 specific API project to bring Web API specific implementations. (EdFi.Ods.Api.Netcore)
  • Create a new common assembly that can be shared by the existing API and new API (EdFi.Ods.Api.Common)

Status
colourGreen
titleDone


Entry Point for Net Core

Status
subtletrue
titleMust have

Status
subtletrue
titleSmall

  • Add a net core application that will run the API from command line and/or IIS. (EdFi.Ods.WebApi.Netcore)

Status
colourGreen
titleDone


Convert Controllers

Status
subtletrue
titleMust have

Status
colourYellow
titleLarge

  • Convert the Web API controllers to netcore 3.1
    • EdFiControllerBase → DataManagmentControllerBase
    • AggregateDependencyController
    • CompositeResourceContoller
    • IdentitiesController
    • TokenController
    • VersionContoller
  • Update Codegen controllers generator so that the legacy net 48 controllers are still built, along with the net core controllers.

Status
colourGreen
titleDone


Refactor into common items

Status
subtletrue
titleMust have

Status
colourYellow
titleLarge

  • Refactor common items of net 48 and net core Web API

Status
colourGreen
titleDone


Implement container registration

Status
subtletrue
titleMust have

Status
colourYellow
titleLarge

  • Create new installers for container registration for the net core Web API
    • Net core specific only.

Status
colourGreen
titleDone


Update projects to net core and/or net standard

Status
subtletrue
titleMust have

Status
colourYellow
titleLarge

  • Update projects in the solution to support either net standard 2.1 and/or net core app 3.1

Status
colourGreen
titleDone


Routing Approach

Status
subtletrue
titleMust have

Status
colourGreen
titleMedium

  • Implement a method of defining routes for the controllers that is easily maintained.

Status
colourGreen
titleDone


Add nHibernate support (Data management)

Status
subtletrue
titleMust have

Status
colourGreen
titleMedium

  • Add nHibernate support to the net core application. 
    • Update container registration

Status
colourGreen
titleDone


Add Entity Framework support

Status
subtletrue
titleMust have

Status
colourGreen
titleMedium

  • Update usages of Entity Framework
    • Add support for asynchronous methods where necessary 
    • Update container registration

Status
colourGreen
titleDone


Extensions feature

Status
subtletrue
titleMust have

Status
subtletrue
titleSmall

  • Add support for the extensions feature in the net core Web API
    • Should be turned on or off via a configuration flag
    • Add Open API Metadata support

Status
colourGreen
titleDone


Authentication and OAuth

Status
subtletrue
titleMust have

Status
colourGreen
titleMedium

  • Add a Web API convention to support authorization
  • Update token controller to work asynchronously

Status
colourGreen
titleDone


Open Api Metadata Feature

Status
subtletrue
titleMust have

Status
colourBlue
titleXtra Large

  • Add a Web API convention for routing
  • Add Web API middle ware for serving the generated document. (replaced IHttpHandler in net 48 Web API project)
  • Fix Open API Metadata 

Status
colourGreen
titleDone


Aggregate Dependencies Feature

Status
subtletrue
titleMust have

Status
titleXtra Small

  • Enable aggregate dependencies feature in the net core Web API
    • Update container registration

Status
colourGreen
titleDone


Plugins

Status
subtletrue
titleMust have

Status
subtletrue
titleSmall

  • Enable plugins feature in the net core Web API
    • Update container registration
    • Should load plugins from a folder

Status
colourGreen
titleDone

Requires more testing with a plugin assembly.
Composites Feature

Status
subtletrue
titleMust have

Status
subtletrue
titleSmall

  • Enable composites feature in the net core Web API
    • Update container registration
    • Should be turned on or off via a configuration flag
    • Add Open API Metadata support

Status
colourGreen
titleDone


Change Queries

Status
subtletrue
titleMust have

Status
subtletrue
titleSmall

  • Enable changes feature in the net core Web API
    • Update container registration
    • Should be turn ed on or off via a configuration flag
    • Fix any queries to be asynchronous
    • Add Open API Metadata support
    • Change Queries remain in a separate assembly to support MetaEd

Status
colourGreen
titleDone


Profiles Feature

Status
subtletrue
titleMust have

Status
colourYellow
titleLarge

  • Enable profiles feature in the net core Web API
    • Update container registration
    • Should be turned on or off via a configuration flag
    • Add Open API Metadata support
  • Dynamic profiles 
    Jira Legacy
    serverEd-Fi Issue Tracker
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIde04b01cb-fd08-30cd-a7d6-c8f664ef7691
    keyODS-3081
     would be arguably the better path although more analysis can be done to figure out how to route to the profile specific controller based on content type.  
  • See also 
    Jira Legacy
    serverEd-Fi Issue Tracker
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIde04b01cb-fd08-30cd-a7d6-c8f664ef7691
    keyODS-3940
     for proposed simplifications that deprecate content type for profiles.

Status
colourGreen
titleDONE


Identity Management Feature

Status
subtletrue
titleMust have

Status
subtletrue
titleSmall

  • Enable Identity Management feature in the net core Web API
    • Update container registration
    • Add container support for sample implementation
    • Should be turned on or off via a configuration flag
    • Update container registration
    • Update documentation

Status
titleNot Started


Unique Id Integration Feature

Status
subtletrue
titleMust have

Status
subtletrue
titleSmall

  • Enable unique id integration feature in the net coreWeb API
    • Update container registration
      • Add container registration for sample implementation
      • Update documentation
    • Should be turned on or off via a configuration flag
    • Add Open API Metadata support

Status
colourGreen
titleDone


Record Ownership Feature

Status
subtletrue
titleMust have

Status
subtletrue
titleSmall

  • Enable unique id integration feature in the net core Web API
    • Update container registration
    • Should be turned on or off via a configuration flag
    • Add Open API  Metadata support

Status
colourGreen
titleDone


Convert Swagger UI project to net core 3.1

Status
subtletrue
titleMust have

Status
colourGreen
titleMedium

Status
colourGreen
titleIN ProGRESSDone


Convert Sandbox Admin Web 

Status
subtletrue
titleMust have

Status
colourYellow
titleLarge

  • Convert the sandbox admin web application to net core 3.1
  • This is a conversion of the web application to the new net core MVC format. 
    • Risks are that some of the used packages may not be available, and some rewrite of that code may be necessary.
  • Note more analysis is still needed and the estimate include that analysis
  • This is a conservative estimate.

Status
colourBlue
titleIN PROGRESS


Convert Test projects

Status
subtletrue
titleMust have

Status
colourYellow
titleLarge

  • Convert the test projects to net core 3.1. Remove the dependencies on the legacy code, and reference the new net core code.
  • The biggest challenge will be the EdFi.Ods.Webservice test project.

Status
colourBlue
titleIn Progress


Convert Test Harness to net core 3.1

Status
subtletrue
titleMust have

Status
subtletrue
titleSmall

  • Convert the application to a net core application. 

Status
colourGreen
titleDone


Regression Testing

Status
subtletrue
titleMust have

Status
colourGreen
titleMedium

to

Status
colourBlue
titleXtra Large

  • Validation of the application is at parity the the legacy application
  • Should at least run performance testing

Status
titleNot Started


Deprecation of the net 48 application

Status
subtletrue
titleMust have

Status
colourGreen
titleMedium

  • Remove the legacy code within the solution

Status
titleNot Started


Docker Developer Environment

Status
subtletrue
colourBlue
titleNice to have


  • Build and testing using docker

Status
titleNot Started


Docker Deployment Environment

Status
subtletrue
titleMust have


Status
titleNot Started


TeamCity Build

Status
subtletrue
titleMust have



Status
colourBlue
titleIN PROGRESS


JSON config transformation in powershell

Status
subtletrue
titleMust have


Status
colourBlue
titleIn Progress


Web config setup for IIS hosting

Status
subtletrue
titleMust have



Status
colourBlue
titleIn Progress


...