For a while now we’ve had the ability to export applications as JSON .bubble files and let you store it locally (for certain paid plans). We’ve now added the logical next step, the ability to take those .bubble’s and import them to the bubble editor! We’re really excited about this feature and believe it can become a very useful tool in your belt for building apps on Bubble.
You’ll find this new feature right where the export feature as been under Settings > General > App file management.
You’ll want to only import properly formatted bubble apps, that is, the same format that the export feature spits out. There isn’t great way for the importer to check for errors in your app code during the actual import process so if your .bubble file is manipulated or corrupted in some way you might crater the test version of your app. No worries though. In preparation of this possibility, we automatically go ahead and create a restore point right before any import that you can revert to under Deployment and version control in case of trouble.
I’ll also warn that very large applications can take a few minutes to complete so on the off chance you lose power, internet, or whatever while you’re seeing the import screen you may need to re-import. No need to revert in these cases though, just restart the import.
We’re really looking forward to seeing what sort of use the community will make of this feature! Whether its rolling your own local version control, keeping test states of your app on hand, or whatever you can think up, we hope this new feature helps!
Right now the import will ONLY import and overwrite your test environment. You will have to deploy the changes to live after the import is completed just as if you had made all the changes manually.
You could still potentially set up a QA system like that but it would still need to be manually deployed.
I can easily separate by app what the internal team works on and what customers see. No more asking a customer to test while you were still making changes to the website.
I think a lot of people will appreciate this feature!
This sounds useful but I’m trying to figure out some use cases. This might be a silly question but does the import completely overwrite what is already in an app, or add to it? So say I bought a template for the UI elements but already had my data structure and some data set up in another app, could I import from one to the other to merge them?
If the import always overwrites then am I right in thinking that the key benefit over simply copying an app is that you can keep importing over the same app (e.g. to take a regular backup) instead of creating a new app each time?
The import feature will completely overwrite the app object including styles, elements, workflows, data types, etc. Technically, the app data itself will remain unaffected by the import so if you are taking incremental snapshots that don’t affect the structure of your data types you won’t be destroying stored data with each import. The User data type for instance which is present in all apps will still have what ever user objects you’ve previously created for that app regardless of what you app import.
I think you’re on the right track with your second statement. The key benefits that we envisioned was the ability to take snapshots of your application and manage those backup files outside of the bubble editor in whatever way you see fit.
We want to make sure that we are empowering our users to manage their applications how they want. I wouldn’t be surprised if we go back and flesh out this feature a bit more once we see how / if the community starts using it. I can’t really say for sure though. For now I encourage you to play around with the feature, get a feel for what you can do with it, and feel free give us any feedback you can!
Great! This feature will probably be used to share projects over time. Are you going to store a marketplace of .bubbles, or to build a feature for sharing between Bubble’s accounts?
I see two big use cases. Besides the one I already mentioned of being able to set up a 4-environment App the next big thing I see is the ability to automatically export/import.
Would it be possible at some point to call via workflow these two functions so they can be stored and retrieved from external storage.
Wow, to me this is fantastic. The huge benefit to me is safety. I’m putting my life and my future financial security into my app right now, and if huge parts of it were to disappear through my own error or all of it to disappear through a human error at Bubble, I would be devastated.
Now I can create my own backups under my own control.
I have a quick question. Can we import partial files. So files that only include styling for example. I thinking of a service that will transform an HTML template to JSON that will be accepted by the import. This was we can design and HTML file with styles and layout and have it imported
You have a really good point. Partial imports might be a great addition to this feature. In the current release, for the sake of simplicity, we overwrite the entire app object by default so this is not possible at the moment. However, it’s not too far of a stretch to add the ability to import specific parts of the app like styles without affecting the rest of the app. I will bring this up at our next team meeting to see if it’s something we want to put on our roadmap. For now though I would treat this feature as a complete overwrite.
Thank you so much for this feature! If it would be possible to import Styles without affecting the rest of the app, could the Themes library be opened up to the community as well? So we could create and share (or sell) themes?
Love the feature, and agree it is a logical extension of being able to export an app, but is it possible to keep the export as a paid plan feature but allow the import to be used on any plan, even Hobby? Experience-wise, it doesn’t make sense to put a not-yet-existing app on a paid plan only to import app code, and then start to try to do something with it. In my case, I’d just like to use another app’s code as a starting point for a new app, which will require some more development before it’s ready to upgrade to a paid plan. I don’t think Bubble loses anything in this change, as it still requires a paid plan to do a complete export-import.
Just so everyone knows, Bubble export will export your secret API keys to plain text. Anyone with access to your .bubble export will be able to see those keys. So take care with where you back that up (i.e. like not to a public github repo).