Skip to main content

This packages contains a Dexterity-based content type that

Project description

Life, the Universe, and Everything

This packages contains a Dexterity-based content type that allows you to embedded content (such as photos or videos) from third parties into your Plone site.

You can easily embed content from Flickr, SlideShare, SoundCloud, Vimeo, Wikipedia, YouTube, and many other supporting the oEmbed format especification.

Mostly Harmless

Got an idea? Found a bug? Let us know by opening a support ticket.

Don’t Panic


To enable this product in a buildout-based installation:

  1. Edit your buildout.cfg and add sc.embedder to the list of eggs to install:

eggs =

After updating the configuration you need to run ‘’bin/buildout’’, which will take care of updating your system.

Go to the ‘Site Setup’ page in a Plone site and click on the ‘Add-ons’ link.

Check the box next to sc.embedder` and click the ‘Activate’ button.


Once the product is installed you will note that you are available to add a Embedder content type. When you attempt to add an item you will see the fields:

  • Content URL

  • Description

  • Embed html code

  • Width

  • Height

  • Player position

  • Body text

  • Alternate content

  • Image

In the URL field you must put the url of you content. For example:

and then click the load button. This will automatically populate the form with some data from the third party content. Which fields are populated depends on the individual provider. But in most cases the fields: title, description, width, height and embed html fields will be filled.

Note: Some providers only support width, height and title. So the fields like description or html embed code will need to be filled manually. This information is normally found in the page where the url points to.


With player position field you can set where the embed multimedia is going to be render regarding the body text. You have the options top, bottom, left and right.

Body text will be the main information that will describe the content.

The alternate content is to give a description or transcription to an individual that is no able to hear. In the layout this is hidden by default. There is a link called alternate content that will show or hide again the content of this field by clicking on it.

The Image field is just to assign an image to the object that will give a quick visual description of the content. The idea is to show it in listing views or covers.


This product uses python-oembed. You can check its documentation to see a list of supported providers.

Share and Enjoy

This package would not have been possible without the contribution of the following people:

  • Alejandro Pereira

  • André Nogueira

  • Cleber J Santos

  • Héctor Velarde

  • João S. O. Bueno

  • Juan Pablo Giménez

  • Rodrigo Ferreira de Souza

  • et alii

Development sponsored by Simples Consultoria.


There’s a frood who really knows where his towel is.

1.5.1 (2021-01-21)

  • Fix error 403 on YouTube’s oEmbed endpoint (Ref. #95). [idgserpro]

1.5.0 (2019-05-07)

  • Allows Embedder content to be linkcable in TinyMCE. [idgserpro]

  • Add cssselect as pakage dependency. [idgserpro]

1.5b2 (2017-10-10)

  • Code clean up; enforce usage of Products.PortalTransforms >=2.1.10 as <iframe> must be listed as a valid tag. [hvelarde]

  • Remove hard dependency on collective.dexteritytextindexer. [hvelarde]

  • Update SearchableText index for Embedder objects. [hvelarde]

1.5b1 (2017-09-20)

  • Fix i18n and update Brazilian Portuguese and Spanish translations. [rafahela, hvelarde]

  • SearchableText index for Embedder content type now includes object id and keywords. [hvelarde]

  • Remove dependency on collective.dexteritytextindexer. [hvelarde]

1.4b1 (2017-09-06)

  • Add Related Items behavior to Embedder content type by default (closes #80). [hvelarde]

  • Add Embedder to TinyMCE’s list of linkable content types (closes #79). [hvelarde]

  • Remove hard dependency on Products.TinyMCE. [hvelarde]

  • Drop support for Plone 4.2. [hvelarde]

1.3b1 (2017-02-20)

  • Use semantic markup on the Embedder view (for simplicity, we are using WebPage type). [hvelarde]

  • Remove references to Grok’s w dictionary used on the view template (fixes #72). [rodfersou]

1.2b2 (2017-01-09)

  • Update list of package dependencies. [hvelarde]

  • Fix width validator. [hvelarde]

  • Remove dependency on plone.directives.form and latest traces of Grok. [hvelarde]

1.2b1 (2016-12-16)

  • Remove dependency on five.grok (closes #63). [rodfersou]

  • Package is compatible with Plone 4.2 again. [hvelarde]

  • Avoid TypeError while running upgrade step (fixes #58). [hvelarde]

1.1b2 (2016-04-25)

  • Implement Subresource Integrity (closes #55). [cleberjsantos]

  • Sanitize <iframe> tags to avoid including invalid HTML attributes; an upgrade step is included to clean up existing objects (closes #44). [rodfersou, hvelarde]

  • Update Video.js to v5.8 and load it from CDN (closes #50). [rodfersou]

1.1b1 (2016-03-24)

  • Remove hard dependency on as Archetypes is no longer the default framework in Plone 5. Under Plone < 5.0 you should now explicitly add it to the eggs part of your buildout configuration to avoid issues while upgrading. [hvelarde]

  • Fixes issue in TinyMCE plugin when clicked in Insert button (closes #16). [idgserpro]

  • Fix error in TinyMCE plugin if the property icon_visibility is disabled (closes #42). [rodfersou]

1.0b5 (2015-11-18)

  • Fix the stripping of embed code when it has more than one tag, like in Facebook videos (closes #39). [rodfersou]

  • Use “application/javascript” media type instead of the obsolete “text/javascript”. [hvelarde]

  • Remove Chrome Frame from X-UA-Compatible HTTP header as it’s deprecated. [hvelarde]

  • Allow use of percent sign (%) on width properties (closes #6). [rodfersou, hvelarde]

  • Added italian translation [keul]

1.0b4 (2015-09-03)

  • Add Embedder tile for collective.cover (closes #32). [rodfersou]

  • Brazilian Portuguese and Spanish translations were updated. [rodfersou, hvelarde]

  • Add portal message instead of log info on HTTP request errors (closes #14). [rodfersou]

  • Add validation in URL field to avoid hiding errors when using the Load button (closes #20). [rodfersou]

  • Remove dependency on collective.oembed (closes #3). [hvelarde]

  • Drop support for Plone 4.1 and 4.2; remove dependency on unittest2. [hvelarde]

1.0b3 (2013-07-23)

  • Fix a couple AJAX quoting/unquoting problems on the TinyMCE plugin. [jsbueno]

  • Add helper methods image_thumb and tag in order to be listed in folder_summary_view [ericof]

  • Fix an UnicodeDecodeError with our plugin for TinyMCE [ericof]

1.0b2 (2012-12-03)

  • Fix a conflict with plone.formwidget.namedfile NamedImage widget implementation. [jpgimenez]

1.0b1 (2012-11-27)

  • Update package dependecies for Plone 4.3 compatibility. [hvelarde]

  • Fix functional tests. [hvelarde]

  • Rename package: was sc.content.embedder and now is sc.embedder. [hvelarde]

  • Support for VideoJS as fallback if static file and no supported provider. [jpgimenez]

  • Fixed the rendering of the embedded code to not break the main view. [jpgimenez]

  • Allow selecting, embedding and rendering sc.embedder content into TinyMCE widgets as if it were images. [jpgimenez]

  • VideoJS embedder code implemented as an iframe, to simplify the integration with TinyMCE. [jpgimenez]

1.0a3 (2012-10-04)

  • Fixed KeyError: ‘width’ when saving embeded HTML with percentages. [davilima6]

1.0a2 (2012-09-05)

  • Functional tests were updated to run with robotframework-selenium2library. [hvelarde]

  • i18n was fixed and Spanish translation was updated. [hvelarde]

  • Brazilian Portuguese translation was fixed. [agnogueira]

1.0a1 (2012-09-05)

  • Initial release.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sc.embedder-1.5.1.tar.gz (107.1 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page