1.11.3releasedoEmbed Field

Easily embed videos/images from ANY* website that implements the oEmbed format. See http://oembed.com. Supported services: - Vimeo - Youtube - Dailymotion - Twitter - Instagram - Facebook - Embed.ly - Iframely - Flickr - Qik - Viddler - SlideShare - Soundcloud - Mixcloud

Clone URLhttps://github.com/Solutions-Nitriques/oembed_field.git

Add as a submodulegit submodule add https://github.com/Solutions-Nitriques/oembed_field.git extensions/oembed_field --recursive

Compatibility

2.x.x2.1.x2.2.x2.3.x2.4.x2.5.x2.6.x2.7.0
NoNoNo1.8.91.8.91.11.31.11.31.11.3

Readme

Field: oEmbed

Version: 1.11.x

Easily embed videos/images from ANY* website that implements the oEmbed format

@see http://oembed.com

SPECS

  • Adds a field that takes as input the link to the page that has the embeded media
  • Caches the oEmbed XML info into the database
    • Easily incorporate this XML via your Data Sources
    • Refreshes the info each time the entry is saved
  • *Currently supported services:
    • Vimeo (http/https)
    • Youtube (https/https)
    • Dailymotion (http/https)
    • Twitter (http/https)
    • Instagram (http/https)
    • Facebook (http/https)
    • Embed.ly (http/https) * Non-native (requires an account to get the key)
    • Iframely (http/https) * Non-native
    • Flickr (http/https)
    • Qik (http)
    • Viddler (http)
    • SlideShare (http)
    • Soundcloud (http/https)
    • Mixcloud (http/https)
    • Noembed (http) * Non-native
    • Yours... Anybody can add a service!
      Just fork, code the missing Service Driver and request a pull!

REQUIREMENTS

  • Symphony CMS version 2.5.0 and up (as of the day of the last release of this extension)

INSTALLATION

  • git clone / download and unpack the tarball file
  • (re)Name the folder oembed_field
  • Put into the extension directory
  • Enable/install just like any other extension

See http://www.getsymphony.com/learn/tasks/view/install-an-extension/

Voila !

HOW TO USE

  • After installation, add a oEmbed field to a section
  • Configure the field
    • Select at least one supported driver
    • You can add extra parameters to the oEmbed request's query string: this is usefull for settings embed sizes
  • All the data will be available as xml in a datasource
  • Use the oembed tag for embeding the resource into your frontend

Non-native

"Non-native" solutions like embed.ly are tested after all other "native" solutions. This will allow you to enable both natives solution while being able to revert to a global fallback. If other non-native solutions are added, please do not enable more than one because this may cause un-wanted behavior.

TODO

  • Adds a auto-refresh data mechanism
  • Automatically add sites in the JIT authorized sites (for thumbnail and image services)
  • Add MySpace driver: Waiting for MySpace to complete their oEmbed service
  • Add Cinemagram driver: Waiting for Cinemagram to complete their oEmbed service
  • Add Issuu driver: Waiting for Issuu to complete their oEmbed service
  • Add UStream driver: Waiting for UStream to complete their oEmbed service

CREDITS

Come say hi! -> https://deuxhuithuit.com/

And thanks to everybody that added ServiceDrivers, reported bugs or submitted any improvements !

LICENSE

MIT. See the LICENSE file or http://deuxhuithuit.mit-license.org

Version history

Symphony 2.5.0 to 2.x.x

  • Fix a PHP warning: CURLOPT are constants
  • Fix error in PHP 5.3: curl_strerror is 5.4+

Symphony 2.5.0 to 2.x.x

  • Fix a problem with the Instagram driver
  • Added bigger timeout for http requests
  • Show curl error messages

Symphony 2.5.0 to 2.x.x

  • Fixed problems with amperstands in the url, when url is used as id
  • The Soundcloud driver now issues TLS requests
  • The Vimeo driver now issues TLS requests
  • The Youtube driver now issues TLS requests
  • The Flickr driver now supports TLS

Symphony 2.5.0 to 2.x.x

  • Added Facebook driver

Symphony 2.5.0 to 2.x.x

  • PHP 7 Support (Thanks @ChoboHub)
  • Fixed problems with Twitter driver #56 (Thanks @finferflu)
  • SSL (TLS) support for Instagram and Dailymotion

Symphony 2.5.0 to 2.x.x

  • Updated compatibility infos
  • Fixed Instagram embed code
  • Updated Twtter to use new endpoint and handle json responses
  • Added the Noembed non-native driver
  • Added links to services in the publish panel

Symphony 2.3 to 2.6.x

  • Make the js compatible with multilingual version

Symphony 2.3 to 2.6.x

  • Use FieldManager::saveSettings instead of raw SQL in commit
  • Make checkUniqueness protected

Symphony 2.3 to 2.6.x

  • UI fix in publish page: add a space between drivers so it wraps properly

Symphony 2.3 to 2.6.x

  • Fix for Iframely: Their oEmbed API endpoint changed

Symphony 2.3 to 2.6.x

  • Fix for Symphony 2.5+ (Error method in Widget class as been renamed)

Symphony 2.3 to 2.5.x

  • Update for Symphony 2.5

Requires Symphony 2.3

  • Added the Mixcloud driver (Thanks @arthurmingard)

Requires Symphony 2.3

  • Added the Soundcloud driver (Thanks @twiro)

Requires Symphony 2.3

  • Fixed Issue #43

Requires Symphony 2.3

  • Added unique key on entry_id and field_id

Requires Symphony 2.3

  • Fix the issue with the unique option that was used for two seperated things.

Requires Symphony 2.3

  • Added Iframely.com driver

Requires Symphony 2.3

  • Fixed Issue #42

Requires Symphony 2.3

  • Normalizing DS ouput to always be named oembed. This introduce a breaking change in DS output versus previous versions
  • Added Instagram driver, first driver usign json as format - covers issue #15 as well
  • Fixed a bug in the embed protocols (output if the setting is on AND if the driver supports it)
  • Fixed Issue #36
  • Fixed Issue #40
  • Fixed Issue #41
  • Reviewed Issue #35
  • Added Polish translation
  • Added Twitter driver
  • Added Embed.ly driver (if you wish to add you key, do so in the query params option) See also the note in the README about the "non-native" solutions. Fixes Issue #38

Requires Symphony 2.3

  • Added Russian translation
  • Added SSL support for some drivers via protocol-less embedding (fixes #33)
  • Added a new XML node in the DS, which lists supported protocols
  • Added a basic JSON parser
  • Fixed issue #35 when duplicating a section

Requires Symphony 2.3

  • Minor bug fixes (#23, #26, #27)

Requires Symphony 2.3

  • Made compatible with Symphony 2.3
  • Added Slideshare driver
  • Added Oembed Content field for Rowan Lewis' Content Field extension

Symphony 2.2.5 only

  • Issue #22 fixed
  • Major code review, adding more toughness to the code
  • Added a new class, which will enable working with services that only provides JSON
  • Fix issues #10, #11, #19, #15, #20
  • Refactored the request url parameters feature: You can add values to the oEmbed query string
  • YouTube driver fix for the shorten domain (part of issue #19)
  • Added the show thumbnails in table parameter: if disabled, title or url will be used
  • Changes between the two branches (master and dev) are now synced

Symphony 2.2.3 to 2.2.5

  • Added the Twitter Driver :) Thanks @briandrum !

Symphony 2.2.3 to 2.2.5

  • Added assets for the blueprints>section pages
  • Added the 'unique' option - url can now be unique across a section
  • Added Dailymotion, Qik (fix issue #9) and Viddler drivers (thanks Andrew!, pull request #8)
  • Improved comments (a lot!)
  • Fix a typo (issue #6)
  • Added support for image (thumbnail) in table view (do not forget to add those site in JIT)
  • Refactored how the drivers are managed in the ServiceDispatcher (issue #10)
  • Public methods to get drivers and drivers names
  • Drivers are now all loaded by default
  • Drivers filename must now respect the class.service[a-zA-Z0-9]+.php regular expression
  • Drivers are now listed in section field and publish page

Symphony 2.2.3 to 2.2.5

  • Improved error management - Added a ref flag for that in the public method
  • Added a method that permit change of the root tag name in the oEmbed response

Symphony 2.2.2 to 2.2.5

  • Update the YouTube driver to 1.2 - Fix when the entered url contains a #

Symphony 2.2.2 to 2.2.5

  • Update the YouTube driver to 1.1 - Fix the width when the field is in the sidebar

Symphony 2.2.2 to 2.2.5

  • Update for Symphony 2.2.2 compatibility (do not need to check for the $simulate value as it seems to be always true)

Symphony 2.2.2 to 2.2.5

  • Couple of bug fixes
  • Adapted the code so oEmbed resources in the sidebar displays correctly

Symphony 2.2.2 to 2.2.5

  • Added YouTube

Symphony 2.2.2 to 2.2.5

  • First release

Symphony 2.2.3 to 2.2.5

  • This release has never been stable
  • Minor bug fixes
  • Added the oembed requests parameters sets field's setting (issue #11) ([see how it work]) (@deprecated)
  • Fixed a lot of typos (thanks @brando)
  • Tables now uses utf_8 and MyISAM
  • Refactored the drivers: They are now more easy to implement
  • Changes between the two branches (master and dev) are now synced