Integrations

Sync MTPDU data to other services

About

To see how integrations fit into MTPDU read this section of the docs.

Existing integrations

The following pages describe the logic and configuration setting required for each integration:

Map the Paths Web

Map the Paths Web integration must always be enabled when adding an integration.

The reason for this is because Map the Paths Web app handles Oauth token exchange in many cases.

Integrations precedent

It is possible for user to select 0 or all integrations.

When multiple integrations selected, the authentication happens for all before any upload is done. For example, if user selects all integrations, they will have to successfully complete login flow to the integration before being able to continue to upload.

Integrations are processed in following order:

  1. MTPW (always required)

  2. Mapillary

  3. Google Street View

  4. Strava

Building integrations

Integrations are modularised in ROOT/integrations/.

Each integration has its own directory using the naming convention INTEGRATION_NAME.

Inside each directory is the variables for the module and logo files for UI.

The variables for the integration exist in a file called module.json

An example of this file:

{
"name": "NAME",
"oauth": {
"params": {
"client_id": "APP_ID",
"redirect_uri": "REDIRECT_URI"
},
"baseUrl": "https://www.app.com/connect?response_type=token"
}
}

The app displayed in the UI is stored in the /static directory with the name module-icon.png.