Skip to main content

Ed-Fi API Publisher Extensibility

::: warning

This page is stale, and may not be accurate.

:::

The Ed-Fi API Publisher has been developed using SOLID Principles of Software Development. It provides several interfaces that are pertinent for a developer wanting to change some of the behavior or out-of-the-box integrations of the software.

For example, a developer could provide alternative implementations for any of the following aspects:

  • Rather than using AWS Systems Manager Parameter Store to manage the connection configurations, they could be persisted and managed using Azure App Configuration.
  • Rather than simply logging the data errors that occur, the API Publisher could write these values to a structured data store like Amazon DynamoDB or Microsoft Azure Cosmos DB.
  • Rather than storing the LastChangeVersionProcessed in the AWS Systems Manager Parameter Store, they could be saved to a database. NOTE: This type of customization would require some additional work to also integrate that persistent store with the .NET configuration architecture since those values are read by the Ed-Fi API Publisher as configuration values.

The following interfaces are defined, and could be useful for tailoring the Ed-Fi API Publisher to work in other contexts:

  • IErrorPublisher - Defines a method for capturing data-related errors for subsequent analysis and troubleshooting.
  • INamedApiConnectionDetailsReader - Defines a method for obtaining named API connection details.
  • IChangeVersionProcessedWriter - Defines a method for setting the last change version processed for a particular source and target connection.