Skip to main content

Rock Plugin Media

Sync Subsplash media into Rock and send Rock playback analytics to Subsplash.

Written by Cody Walton

The Subsplash Rock Plugin syncs published media from your Subsplash Media library to Rock. Synced items become Rock Media Elements that you can use in content channels, Rock websites, and other Rock integrations.

The media sync is one-way from Subsplash to Rock. The plugin does not preserve Subsplash libraries or folders. It puts all synced media in a public Rock folder named Media Items.

Before you begin

Complete the initial Rock Plugin setup before you configure media. This setup creates and validates the Subsplash API client that the media account uses.

Set up the media account in Rock

  1. In Rock, open CMS Configuration > Media Accounts.

  2. Select + to add a media account.

  3. Set Account Type to Subsplash Media Account.

  4. Select the active Subsplash API Client that you configured under Admin Tools > Installed Plugins > Subsplash > Settings.

  5. Save the media account.

Sync media

By default, Rock's Sync Media job runs every two hours. It runs a full sync every 24 hours and a quick sync at other times. A quick sync imports media items that Subsplash created or updated after the last sync.

To change the schedule, go to System Settings > Job Administration > Sync Media.

Run a manual sync

You can start a manual sync in either of these ways:

  1. Use the download button in the Media Account configuration to run a full sync.

  2. Use the refresh button where Rock shows a Media Element field to sync folders and media elements.

Embed media

You can embed a synced media item with the Subsplash player or Rock's media player.

Use the Subsplash player

  1. Sign in to the Subsplash Dashboard.

  2. Go to Web > Web App.

  3. In Basic Info, find the app short code in the Custom URL. Use that value for AppShortCode below.

{% assign AppShortCode = '[Your app short code]' %}
{% assign MediaItemShortCode = Item | Attribute:'MediaItem','SourceKey' %}
<div class="sap-embed-player">
  <iframe src="https://subsplash.com/+{{ AppShortCode }}/embed/mi/+{{ MediaItemShortCode }}?audio&video&logoWatermark" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
</div>
<style type="text/css">
  div.sap-embed-player { position: relative; width: 100%; height: 0; padding-top: 56.25%; }
  div.sap-embed-player > iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
</style>

Use the Rock media player

Get the Media Element attribute's raw value and pass it to Rock's mediaplayer shortcode:

{% assign mediaElement = Item | Attribute:'MediaItem','RawValue' %}
{[ mediaplayer media:'{{ mediaElement }}' autoresumeindays:'14' combineplaystatisticsindays:'14' width:'100%' ]}
{[ endmediaplayer ]}

Sync analytics

Rock records playback analytics when visitors use Rock's media player. The Sync Media job sends these analytics to Subsplash automatically. This analytics sync is one-way from Rock to Subsplash.

Synced plays appear in the Subsplash Dashboard as Web Embed views.

Did this answer your question?