A newer version of the Ed-Fi ODS / API is now available. See the Ed-Fi Technology Version Index for a link to the latest version.

How To: Deploy TPDM As Dynamic Plugin

Going through the steps in the page with ODS/API v5.1.0 release tag or release binaries will install TPDM 0.8 by default. Since the ODS/API 5.1.0 release, TPDM 1.0 has be released with substantial model improvements. ODS/API v5.1.0 supports deploying TPDM 1.0 and we advise you to use TPDM 1.0. See Getting Started with TPDM v1.0 for more details.

This document describes how to install TPDM as a dynamic plugin in your local development environment as well as how to install TPDM in your production deployment environment.

The steps can be summarized as:

Each step is outlined in detail, below. 

Install TPDM in Development Environment

Assuming that the Ed-Fi ODS / API has been successfully downloaded and is running in a local development environment per the instructions in the Getting Started documentation, TPDM is now ready to be installed in your development environment. To do so, simply open PowerShell and navigate to "<source directory>\Ed-Fi-ODS-Implementation" folder and run:

.\Initialize-PowershellForDevelopment.ps1
Initdev -UsePlugins

You may have to enable long path on your development environment to use this option.

This will execute configured scripts from appsettings.development.json to download plugins and deploy the plugin artifacts to local database. 

sample.ps1, homograph.ps1, tpdm.ps1 scripts in <source directory>\Ed-Fi-ODS-Implementation\Plugin folder will install sample extensions along with TPDM. At the moment, this setting cannot be overridden install TPDM alone in a development environment. See  ODS-4681 - Getting issue details... STATUS  for details.

After the successful execution of initdev, you will find the TPDM extension in <source directory>\Ed-Fi-ODS-Implementation\Plugin folder. 


Run the "Ed-Fi-Ods.sln" solution from Visual Studio and verify that the TPDM data models are listed in your API landing page.

You can also verify the TPDM API endpoints in the Swagger UI documentation:

Install TPDM in a Production Deployment Environment 

Deploy TPDM Database Artifacts

Step 1. Download EdFi.Suite3.RestApi.Databases

  • Download the EdFi.Suite3.RestApi.Databases release via NuGet.
  • Change package extension from nupkg to zip.
  • Right-click the zip file, click unblock and unzip the package.

Step 2. Update configuration.json

  • Update configuration.json, for plugin settings as shown below:

     "Plugin": {
            "Folder": "../../Plugin",
            "Scripts": [
                "tpdm"
            ]
        }

Step 3. Run Deployment.psm1 with Dynamic Plugins

  • From PowerShell, navigate to the download directory and run:

    Import-Module .\Deployment.psm1
    Initialize-DeploymentEnvironment -UsePlugins

  • After the successful execution, you will find TPDM schema tables in the deployed ODS database. 

Deploy TPDM Binaries to Web Server

Step 4. Download EdFi.Suite3.Ods.Extensions.TPDM

  • Download the latest development version of the NuGet package from EdFi.Suite3.Ods.Extensions.TPDM

  • Change extension from nupkg to zip.
  • Right-click the zip, click unblock, and unzip the package.
  • Copy Edfi.Ods.Extensions.TPDM.dll from unzip folder and paste it in C:\inetpub\Ed-Fi\WebApi in your WebAPI directory. 

    Note: If you installed your API using EdFi.Suite3.Ods.WebApi package, TPDM plugin is already packaged in the plugin folder. 

  • Update appsettings.json, for plugin settings as shown below:

     "Plugin": {
            "Folder": "../../Plugin",
            "Scripts": [
                "tpdm"
            ]
        }
  • Restart your IIS instance.

Step 5. Verify API Landing Page in Browser

  • Browse to the API landing page and verify that TPDM data models are listed. 

  • You can also verify the TPDM API endpoints in the Swagger UI documentation.