Storage
Understand the differences between the three different types of storage offered: App Metadata, Board Item Metadata, and Storage Collection.
When building a Miro app, it's important to understand how you can persist data for your app. If you are planning to use Miro storage for your app (as opposed to a 3rd party service) then this guide is for you.
Use the table below to understand the main differences between the three different types of storage that Miro offers for developers: App Metadata, Board Item Metadata, and Storage Collection.
App Metadata | Board Item Metadata | Storage Collection | |
---|---|---|---|
Description | Adds app metadata to make it available on the board that the app runs on. | Adds board item metadata to make it available on that board that the app runs on. | Ability to store, retrieve, and remove data from the specified collection using key value pairs. |
Function name to add new key | setAppData | setMetadata | set |
Who can access the data? | All users who can access and view the board that the app is running on, AND run the app on the board. | All users who can access and view the board that the app is running on, AND run the app on the board. | All users who can access and view the board that the app is running on, AND run the app on the board. |
How is it stored? | Per board, per app | Per board, per app, per board item | Per board, per app |
Which board items allow for metadata to be stored? | N/A | Card Connector Embed Image Preview Shape Sticky Note Text | N/A |
Data Limit | 30 KB per app | 6 KB per item | 64 KB per key |
Events support on key change? | ❌ | ❌ | ✅ (onValue listener) |
If I make a copy of a board, will the data persist? | ✅ | ✅ | ❌ |
Recommended Uses | When you don't have to store much data, and you want to persist data when making a copy of a board. | When you need to store more than 30 KB, you want to store the metadata to certain items on the board, and want to persist data when making a copy of a board. | When you need more storage capability than app metadata, but don't want to store data at the item level (maybe the items will be deleted). You also want to build logic for when certain keys change (onValue listener) and don't need to persist data when making a copy of a board. |
Updated 11 months ago
What's next