SoundCloud Plugin

The SoundCloud plugin enables an author to add a SoundCloud widget to their site.

While Soundcloud is a useful service to add to Fedwiki, the purpose of this excersize is more about teaching simple plugin creation - by giving an example that can easily be extended to many useful services, and as of yet unknown future services.

The author needs to navigate to the SoundCloud site and select an embed code from a publicly available SoundCloud track - soundcloud.com

VIMEO 135077214 A rough early walkthrough with regard to how the proposed Soundcloud plugin would work.

Below is an example for the more generic iFrame embed code that many similar sites provide. While generic iFrame is disabled for the HTML plugin, the SoundCloud plugin would only enable a valid Soundcloud embed code (it would do some simple checks to validate this).

<iframe width="100%" height="300" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/216952669&amp;auto_play=false&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false&amp;visual=true"></iframe>

Alternatively the site-owner could add a Wordpress Embed Code, rather than the [[iFrame option.

[soundcloud url="https://api.soundcloud.com/tracks/216952669" params="auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&visual=true" width="100%" height="300" iframe="true" /]

# Flexibility

However if this is provided as a How to make a Plugin tutorial, a Plugin Author could easily create a similar plugin for their own beloved service, and add this to their server.

#Future

Once a particular plugin has proven to be popular, they could be rolled up together into a generic Iframe Embed Plugin, that functions in a similar way to the current Video Plugin - allowing any of several services to be embedded.

At this later stage features such as drag and dropping a URL could be added to the plugin to provide a consistent interface. I propose we do not do this initially - even if it is a simple task, becasue it woudl complicate the tutorial and therefore the template functionality of this excersize.