Migrating BBCode Content from Bubble's Default RTE
Switching from Bubble's default Rich Text Editor to TinyMCE is easy - even if you have thousands of existing documents in your database. No complex batch migrations required!
The Challenge
You've been using Bubble's default Rich Text Editor and have lots of content stored in your database. Now you want to upgrade to TinyMCE for its advanced features, but you're worried about your existing data.
What is BBCode?
Bubble's default Rich Text Editor (based on Quill) stores content in BBCode format - a markup language using square brackets like [b]bold[/b], [color=red]text[/color].
TinyMCE uses standard HTML instead. The Import BBCode action handles the conversion automatically.
Recommended Migration Approach: Lazy Migration
Instead of converting all your documents at once, use a lazy migration strategy - convert content on-the-fly as users access it:
Setup
Add a new field to your data type (e.g.,
content_html) to store the HTML versionKeep your existing BBCode field (e.g.,
content_bbcode) - don't delete it
Workflow Logic
When loading a document:
Check if HTML content exists - if
content_htmlis not empty, load it directly using Set Content actionIf HTML is empty, convert from BBCode - use Import BBCode action with
content_bbcodeSave the converted HTML - when the user saves, store the content in
content_html
This way:
Old documents are converted automatically when first accessed
New documents are saved directly as HTML
No batch migration scripts needed
Zero downtime during transition
Demo
See a live example of BBCode import in action:
How to Use Import BBCode Action
Add a workflow (e.g., on page load)
Add action: Import BBCode
Set "BBCode content" to your existing BBCode field
The content is converted to HTML and loaded into the editor
See: Import BBCode Action
What Gets Converted
[b]text[/b]
<strong>text</strong>
[i]text[/i]
<em>text</em>
[u]text[/u]
<u>text</u>
[s]text[/s]
<s>text</s>
[color=red]text[/color]
<span style="color:red;">text</span>
[highlight=yellow]text[/highlight]
<span style="background-color:yellow;">text</span>
[size=4]text[/size]
<span style="font-size: 1.5em;">text</span>
[center]text[/center]
<p style="text-align: center;">text</p>
[h1]text[/h1]
<h1>text</h1>
[url=https://...]text[/url]
<a href="https://..." target="_blank">text</a>
[img]url[/img]
<img src="url">
Limitations
Font family is not preserved - Quill and TinyMCE use different font sets, so
[font="Open Sans"]tags are stripped (content is kept, just without font styling)
Last updated