appsmithorg / appsmith

Platform to build admin panels, internal tools, and dashboards. Integrates with 25+ databases and any API.
https://www.appsmith.com
Apache License 2.0
33.91k stars 3.66k forks source link

[Task]: remove API Key option for airtable #30789

Open rohan-arthur opened 7 months ago

rohan-arthur commented 7 months ago

SubTasks

Airtable is deprecating API key access on Feb 1 https://support.airtable.com/docs/airtable-api-key-deprecation-notice

Previously, we added Personal access token to the datasource form as an additional option apart from API key. Now, the API key option needs to be removed.

For new users

  1. problem will be solved by removing the API key option

Existing users

  1. we should show an error message if queries are failing due to the deprecation for this, consider that in the past 6 months, there have been around 303 (~1%) unique users of airtable datasource.
  2. Can we find out on cloud, of all the airtable datasources, what percentage of users use API key option? this may help to make a better decision.
NilanshBansal commented 7 months ago

Here are the metrics from the datasourceStorage collection on Appsmith cloud database:

Total documents: 191432 Total datasources with Airtable connection: 1897 Total Airtable datasources using API Key option: 1048 Total Airtable datasources using Personal Access Token option: 849

cc: @rohan-arthur

NilanshBansal commented 7 months ago

Aggregation Queries Executed to find the metrics:

  1. Total Airtable datasources using API Key option: Collection: datasourceStorage Query:

    [ { $project: { _id: 1, datasourceConfiguration: 1, datasourceId: { $toObjectId: "$datasourceId", }, }, }, { $lookup: { from: "datasource", localField: "datasourceId", foreignField: "_id", as: "datasourceId", }, }, { $unwind: { path: "$datasourceId", preserveNullAndEmptyArrays: true, }, }, { $match: { "datasourceId.pluginId": "61dbfd4b6bd5757f166ccc76", datasourceConfiguration: { $exists: true, }, }, }, { $match: { "datasourceConfiguration.authentication.authenticationType": "apiKey", }, }, { $count: "count", }, ]

  2. Total Airtable datasources using Personal Access Token option: Collection: datasourceStorage Query: [ { $project: { _id: 1, datasourceConfiguration: 1, datasourceId: { $toObjectId: "$datasourceId", }, }, }, { $lookup: { from: "datasource", localField: "datasourceId", foreignField: "_id", as: "datasourceId", }, }, { $unwind: { path: "$datasourceId", preserveNullAndEmptyArrays: true, }, }, { $match: { "datasourceId.pluginId": "61dbfd4b6bd5757f166ccc76", datasourceConfiguration: { $exists: true, }, }, }, { $match: { "datasourceConfiguration.authentication.authenticationType": "bearerToken", }, }, { $count: "count", }, ]

NilanshBansal commented 7 months ago

From the metrics above, the no of datasources with Airtable connection is (<1%) as compared to the total datasource connections. The usage of API key option for Airtable further drills down to only 0.5% usage. @rohan-arthur

NilanshBansal commented 7 months ago

As discussed in the standup, the usage numbers are relatively small for us to prioritize working on this issue. @rohan-arthur

Naveen-Goud commented 2 months ago

Hii @NilanshBansal @rohan-arthur , I am picking up this issue !!

rohan-arthur commented 2 months ago

@Naveen-Goud , this may not be a suitable issue. Please look for issues with label Inviting contributions .