Hi @treb.gatte I have read the chat with @jici too. When you upload / paste an image into the editor it will be converted to BASE64 and uploaded to your Bubble storage (the S3 URL you are seeing, I think it is http by Bubbles design). I do not know for sure how the privacy rules work with files like this. I have not find an option in the plugin editor to make files like this private, but maybe @jici knows more? If there is something I can implement let me know!
Hereās the key part:
uploadContent: function(fileName: String, contents: Base64 String, callback: function(err, url), [attachTo])
attachTo: optional parameter to attach the file to. It has to be a thing in Bubble
So you will need to add two fields
(maybe only one could work). And use the unique ID from the thing in the attachTo parameter
@Thimo Let me know when you do. I have a real problem with this right now and need a fix asap. Have credit card in hand!
Update 1.12.0
-
@treb.gatte Added the ability to make uploaded files private:
When you check these options and create a privacy rule where the āView attached filesā is unchecked the file URL will not be accessible for the users that are affected by this rule:
The file URL will also look different (instead of the AWS URL), for example: https://pluginpreview.bubbleapps.io/version-test/fileupload/f1662494626624x412398049883751000/richtext_content.png
Big thanks to @Jici for the helpful tips!
Woo hoo!!! Thank you @Thimo for making this change as now this closes a security hole for rich text entries. Signing up nowā¦
I donāt know if you think about that, but I think that a list of uploaded files in a state of the plugin could be usefull in some case to manage them if needed.
And now when you click the link and you arenāt signed in, you get:
{āerror_classā:āUnauthorizedā,āargsā:{ācodeā:ā1662498665273x209989355952476580ā},āmessageā:null,ātranslationā:āPermission deniedā}
Yay!!
Quick question and maybe Iāve missed it. So you need to store as JSON if you plan to let the user edit the content? If I output as HTML and then set the field as the initial state with the HTML content, nothing loads and the control seems to be non-responsive.
Yes, the table only accepts JSON data as initial content! HTML as initial content is not yet supported by the library
This is awesome. Is multi language supported yet?
@Thimo Any luck looking into the possibility of passing in html initial content? I currently use a different rich text editor and all my data is stored in html. I would love to switch, but need a way to convert everything
@avern87 Unfortunately, not yet. This seems to be really difficult so I am not sure if I can implement this in a timely manner
Any chance you can make it support subscript and superscript in text?
Awesome plugin! Running into a couple of issues:
- Drag and drop of images doesnāt seem to work for me - Iām putting this element into a repeating group - could that be why? (I see that it works on your demo page)
- If a user deletes an image, the upload image still hangs around in the storage - is there a way to delete from storage as well?
- Is there a way to limit the size of images that can be added?
- Is there a way to change the color of the marker?
Thanks and definitely enjoying using the plugin!
Hi @chalam I have answered your questions below!
The text editor should just work like expected even in a repeating group. For me, dragging and dropping of image sin a repeating group does seem to work for me. I have made a quick demo: Texteditordemo | Bubble Editor
I donāt think there is a way to programmatically delete files from your Bubble storage. This also happens when users upload an image using the image uploader element and swap it out for a different one for example.
Right now this is not possible, but I will put it on my list to see if I can implement this!
Not yet! But I have put this on my list as well!
Very helpful! Thanks, Thimo!
LOVING THIS PLUGIN!!! Weāve tried a couple different versions of this type of plugin and this one is hands down the best.
One request Iād like to make is an easy way to embed a Youtube, Vimeo, Loom video.