silverstripe / silverstripe-cms

Silverstripe CMS - this is a module for Silverstripe Framework rather than a standalone app. Use https://github.com/silverstripe/silverstripe-installer/ to set this up.
http://silverstripe.org/
BSD 3-Clause "New" or "Revised" License
515 stars 333 forks source link

TinyMCE: Provide better user feedback when saving content with blacklisted tags #2342

Open indygriffiths opened 5 years ago

indygriffiths commented 5 years ago

The default TinyMCE config doesn't allow users to save all types of HTML tags, such as iframes, as they pose a potential security issue if a CMS editor can insert one into the site content. When the form is saved with one of these blacklisted tags, the CMS lacks any feedback explaining why the tag was stripped from the output.

This is a common issue we're getting support requests for, for example users don't know why their Google Form or Pardot signup page can't be saved into the CMS, and most of the time they assume the CMS doesn't "support" Google Forms or Pardot.

This ticket isn't suggesting that we whitelist these tags, more how can we provide a better user experience when the CMS strips out non-whitelisted tags, such as adding a toast notification or a warning before the page is saved about the tag.

sminnee commented 5 years ago

Related to this: is it in the users' interest for us to be stripping iframes by default?

robbieaverill commented 5 years ago

Re: iframes, we have a module for that in CWP: https://github.com/silverstripe/silverstripe-iframe/

indygriffiths commented 5 years ago

Even with the silverstripe-iframe module installed, does a CMS user following the step-by-step instructions provided by Google/Pardot/third party service know:

In regards to @sminnee's point I would argue no. I can see from a security standpoint why we would strip them, but if the module is installed (most of CWP since it's in the recipe) then users can embed iframes into pages anyway if they do know about the page type.

Braindump is a bit sidetracked from the original UX perspective of the issue, but probably good to note down anyway.