TubePress Documentation
Release
TubePress LLC
August 12, 2014
Contents
1
2
3
Introduction
1.1 Features . . . . . . . .
1.2 How to Get TubePress
1.3 Getting Help . . . . .
1.4 License . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
8
9
9
User Manuals
2.1 TubePress for WordPress . .
2.2 TubePress Manual for PHP
2.3 TubePress for Wix . . . . .
2.4 Official TubePress Add-Ons
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
11
11
33
49
57
.
.
.
.
.
.
.
.
Reference
77
3.1 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.2 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
i
ii
TubePress Documentation, Release
TubePress adds dynamic and interactive video features to websites. It’s highly configurable and designed for website
builders and users of any skill level. A typical use of TubePress is to embed a video gallery into a web page.
TubePress is available both as a downloadable package and via several cloud-hosted, zero-installation services. The
software is largely open sourced, and it’s designed and maintained by TubePress LLC, a software company based in
Pittsburgh, Pennsylvania.
Contents
1
TubePress Documentation, Release
2
Contents
CHAPTER 1
Introduction
1.1 Features
TubePress allows website builders of any skill level to add dynamic video features to their site. Click a feature below
to learn more about what TubePress can do for your site.
1.1.1 Video Galleries
Creating video galleries is how TubePress made a name for itself. The software lets you easily embed beautiful,
highly-functional thumbnail galleries throughout you site, and you complete control over the entire process. A live
demo of a TubePress gallery can be seen here.
3
TubePress Documentation, Release
4
Chapter 1. Introduction
TubePress Documentation, Release
The process to create a video gallery is always the same ...
1. Choose which videos to display. Out of the box, TubePress supports a multitude of YouTube and Vimeo video
sources. More video providers are on the way!
2. Configure TubePress to display those videos. Check the user manual for your environment for details on how
to do this.
3. Add the gallery to a website. Again this process is different depending on your environment, so please refer to
your specific user manual.
Video Galleries from Multiple Sources
Note: This feature is currently only available with the downloadable TubePress Pro. It is not yet available on the
cloud-hosted TubePress services, but that functionality is coming soon.
With TubePress Pro, you can create galleries that are composed of video from multiple video sources. TubePress can
even combine videos from multiple video providers - for instance, you can easily have YouTube and Vimeo videos
intermingled in the same gallery!
As an example, say that you want to create a single gallery containing videos from the following sources, all combined
into a single gallery:
• the YouTube playlist F5D324185EE73FEC
• uploads from YouTube user bbc
• uploads from YouTube user funnyordie
• YouTube search for the exact term “spirit of truth”
• the Vimeo album 140484
This is easy to accomplish with TubePress Pro. The trick is to use + in some of your shortcode options to combine the
sources. For the example above, the TubePress shortcode might look like this:
[tubepress mode="playlist + user + tag + vimeoAlbum" playlistValue="F5D324185EE73FEC"
userValue="bbc + funnyordie" tagValue=’"spirit of truth"’ vimeoAlbumValue="140484"]
The videos from all 5 sources will be collected and seamlessly assembled into a single TubePress gallery. You can
combine any number of gallery sources with any number of parameters to each source.
Please keep in mind the following “gotchas”
• The resultsPerPage option will apply to each source, so expect each gallery page to contain up
to resultsPerPage x <number of sources> videos per page. In the example above, assuming
resultsPerPage was set to 10, there would be 40 videos per page (10 videos per page x 4 sources).
• It is strongly recommended to enable the TubePress API cache, as TubePress has to perform one network
operation for each video source
• As the user pages through the gallery, some of the sources will drop off quietly. For instance, if one video
source has 1,000 videos and another has 10 videos, the second page of the gallery won’t contain any of the latter
source’s videos.
1.1.2 Single Video Embeds
Embedding a single video into a website is easy and common. Nearly every video provider includes an “embed”
option for each video that provides an HTML <iframe> that can be added to any website. If you’re reading this,
you’ve probably done this countless times.
1.1. Features
5
TubePress Documentation, Release
TubePress improves the embedding process by
1. Abstracting away the HTML. No need to copy and paste a long and complicated <iframe> snippet.
2. Allowing you to control the embedded video player (e.g. colors, behavior, size, etc).
3. Bringing in all of the video’s meta information (length, description, author, keywords, etc). You can even have
fine-grained control over how the meta information is presented; it’s just simple HTML.
To embed a single video with TubePress, you simply need to give TubePress the ID of the video you’d like to embed.
For instance, if you want to embed the YouTube video with ID J51kfduN5aA, you would use use the following
shortcode:
[tubepress video="J51kfduN5aA"]
1.1.3 Interactive Searching
On this page
•
•
•
•
Introduction
Search Input
Search Results
Ajax-Enabled Search Results
Introduction
TubePress provides an end-to-end solution for allowing your users to interactively search YouTube or Vimeo, all
without leaving your site. The image below is a simple example showing an interactive search input along with a few
results.
6
Chapter 1. Introduction
TubePress Documentation, Release
Like everything else with TubePress, interactive searching has loads of options and is fully customizable to suit your
needs. To use the feature, you’ll need to invoke TubePress twice:
1. Once for displaying the search input and
2. Once more for displaying the user’s search results
Let’s go over each invocation in detail.
Search Input
Searching wouldn’t be very fun if you didn’t provide an easy way for your users to search. With TubePress, it’s really
easy:
[tubepress output="searchInput"]
When invoked on your page, this shortcode will print out a search input box along with a submit button. If you’d like to customize the HTML of either of these, you can edit your theme’s HTML template at
search/search_input.tpl.php.
By default, the search form will submit back to the same page. If you want the results to show up on another page,
just set searchResultsUrl (most users shouldn’t need to do this).
[tubepress output="searchInput" searchResultsUrl="http://mysite.com/videos.php"]
Now that you have a search input form, you’ll need to invoke TubePress somewhere else to display the search results.
1.1. Features
7
TubePress Documentation, Release
Search Results
Displaying search results is also easy. Add the following shortcode wherever on the page you’d like the search results
to show up:
[tubepress output="searchResults" searchProvider="vimeo"]
The searchProvider option can be set to either youtube or vimeo, and this determines if the gallery will
display YouTube videos or Vimeo videos.
This shortcode will also display a placeholder gallery if the user isn’t searching, but you can make it invisible until it
has search results by setting searchResultsOnly:
[tubepress output="searchResults" searchProvider="youtube" searchResultsOnly="true"]
To configure the resulting thumbnail gallery of search results, simply add any TubePress options to this shortcode.
Ajax-Enabled Search Results
With TubePress Pro, search results are displayed asynchronously (i.e. without a full page load). It’s also a bit easier
to set up than standard searching because you only need to invoke TubePress once on the page. The only catch is you
also have to identify the DOM element where you want the search results to show up:
[tubepress output="ajaxSearchInput" searchResultsDomId="#somediv" searchProvider="vimeo"]
For the searchResultsDomId option value, just use any jQuery selector that uniquely identifies a DOM element
that can accept HTML. Like the standard search input, you can customize the HTML for the search input elements by
editing your theme’s HTML template at search/ajax_search_input.tpl.php.
1.2 How to Get TubePress
There are two independent installation paths for TubePress:
1. One of two downloadable software packages:
• TubePress for WordPress
• TubePress Pro (for WordPress and/or any PHP site)
2. One of two cloud-hosted TubePress installations:
• TubePress Express
• TubePress for Wix
Either installation path provides nearly identical features, but there are a number of drawbacks and advantages to each:
Required technical skills
Upgrades and patches
Installation time
Extra/Premium features
Ability to modify source
Website limitations
Pricing
Cloud-hosted TubePress
None
Automatic
None
All Included automatically
None
None - works on any site
30-day free trial
Downloadable TubePress
Basic PHP knowledge 3
Manual or Automatic 4
1 - 5 minutes, usually
Must be installed manually
Full access
Web server must support PHP 5.2+
Free and premium versions available
1 Basic
2 The
8
PHP knowledge is only required if using TubePress outside of WordPress
free version of TubePress can be auto-updated when used in WordPress 3.7 or higher.
Chapter 1. Introduction
TubePress Documentation, Release
1.3 Getting Help
The best place to get assistance with TubePress is the community discussion forum. TubePress LLC has knowledgeable staff that monitors and responds to new posts in the forums.
1.4 License
The core of TubePress, which comprises a very large percentage of the overall codebase, is open source and released
under the Mozilla Public License 2.0 (MPL 2.0). You can browse the source code for TubePress on GitHub.
The premium products sold by TubePress LLC are built as add-ons to TubePress, and these products are under a
proprietary, closed-source license.
3 Basic
4 The
PHP knowledge is only required if using TubePress outside of WordPress
free version of TubePress can be auto-updated when used in WordPress 3.7 or higher.
1.3. Getting Help
9
TubePress Documentation, Release
10
Chapter 1. Introduction
CHAPTER 2
User Manuals
Below you can find tailored user manuals for using TubePress, and its related software, in various environments.
2.1 TubePress for WordPress
TubePress is available to use as a WordPress plugin, which makes it a breeze to use on any WordPress site.
While the WordPress plugin is available 100% for free, we recommend the premium version of the plugin: TubePress
Pro. TubePress Pro includes all the features of the free TubePress plugin, plus the following additional capabilities:
• Priority technical support (i.e. you jump to the front of the line)
• Use in WordPress templates (outside post or page content)
• Multiple video sources in a single, unified gallery (e.g. YouTube + Vimeo in the same gallery)
• Auto-next playback (when a video ends, start playback of the next video in the gallery)
• Full HTTPS capability
• Extended controls for the YouTube video player
• Highest-resolution thumbnails from YouTube and Vimeo
• Asynchronous paging through gallery pages (video playback does not stop)
• Asynchronous interactive video search
• Play videos with Fancybox or Tinybox
2.1.1 Manual Contents
Install / Upgrade
This page details how to install, upgrade, and uninstall TubePress when used as a WordPress plugin.
11
TubePress Documentation, Release
On this page
• Requirements
• Install
– Free Version
– TubePress Pro
– Vimeo API Setup
– Optional TubePress Pro Installations
* JW Player (version 5.x)
* Shadowbox.js
• Upgrade
– Free Version
– TubePress Pro
• Uninstall
Requirements
It’s a good idea to first make sure that your web server meets the minimum requirements to run TubePress. You will
need:
• PHP 5.2 or higher
• PHP DOM extension (enabled by default in PHP, only required for using TubePress with YouTube)
• PHP PCRE extension built with PCRE version 7.1 or higher (enabled in most PHP installations)
Not sure if your server meets these requirements? You should either
1. Ask your hosting provider (good idea to include a link to this page!)
2. Install a WordPress plugin that prints out system information. Here are some examples:
• WordPress phpinfo()
• WP-ServerInfo
Install
Free Version Installing the free WordPress plugin is simple. The easiest method is from your WordPress dashboard.
1. Follow these instructions to perform the plugin installation and activation. You can search for tubepress and
it should come up as the first result.
12
Chapter 2. User Manuals
TubePress Documentation, Release
2. Vimeo users only. Perform the one-time Vimeo API setup.
If the dashboard installation method is not available, or if you’d prefer to install the plugin manually, here’s how to do
it.
1. Download the plugin from its page on wordpress.org.
2. Follow these instructions to finish the manual installation and activation.
3. Vimeo users only. Perform the one-time Vimeo API setup.
TubePress Pro Installation of TubePress Pro into a WordPress environment must be performed manually, since
TubePress Pro is open but not public source code.
1. If you haven’t already, purchase a TubePress Pro license.
2. Download TubePress Pro from here.
3. Follow these instructions to finish the manual installation and activation of the plugin.
4. Vimeo users only. Perform the one-time Vimeo API setup.
5. Optional. Install support for Shadowbox.js and/or JW Player 5.
Vimeo API Setup
Note: If you aren’t using Vimeo, you can safely skip this section.
In order to use TubePress with Vimeo, you are required to obtain a “consumer key” and “consumer secret” from
Vimeo. This is a one-time setup required by Vimeo. Thankfully it’s easy to create these credentials and supply them
to TubePress.
2.1. TubePress for WordPress
13
TubePress Documentation, Release
1. Log in to Vimeo, if you haven’t already.
2. Click here to create a new Vimeo app. You can fill in anything for the fields. Below is a sample form that’s filled
out. Then click the Create App button.
14
Chapter 2. User Manuals
TubePress Documentation, Release
2.1. TubePress for WordPress
15
TubePress Documentation, Release
3. Make a note of the “Client ID” and “Client secret” of your new app. See the red box below for an idea of what
it should look like.
That’s it! You now simply need to provide these credentials to TubePress. You can do this from WP Admin >
Settings > TubePress > Feed.
Make sure not to mix up the “key” and the “secret”!
16
Chapter 2. User Manuals
TubePress Documentation, Release
Optional TubePress Pro Installations Due to licensing restrictions, TubePress Pro does not ship with every library
that the free WordPress plugin includes. However it’s very easy to install these optional libraries manually. This
section provides installation instructions.
JW Player (version 5.x) TubePress can use JW Player 5.10 to play YouTube videos. We are working to integrate
JW Player 6.x, but this feature is not yet ready for production.
1. Download the file player.swf from here.
2. Upload the file to your TubePress Pro installation at
<tubepress_home>/src/main/web/flash/longtail/player.swf.
Shadowbox.js
1. Download Shadowbox.js from here. The image below shows the required options when configuring your download. You may select additional checkboxes (though not recommended), but make sure that at least the
settings shown are chosen.
2.1. TubePress for WordPress
17
TubePress Documentation, Release
2. The download will save to a file named something like shadowbox-3.0.3.zip. Unzip this file, and it will
expand into a directory named shadowbox-3.0.3.
3. Copy the contents of this directory (not the directory itself) to your TubePress Pro installation at
18
Chapter 2. User Manuals
TubePress Documentation, Release
<tubepress_home>/src/main/web/players/shadowbox/lib/.
4. Optional. You may see scrollbars in the Shadowbox.js display. To fix this, simply edit lib/shadowbox.css.
On line 8, remove the overflow:auto attribute. i.e. change it from
#sb-player.html{height:100%;overflow:auto;}
to
#sb-player.html{height:100%;}
Upgrade
This page details the official upgrade procedures for TubePress. The installation steps are different depending on if
you are using TubePress Pro or the free version of TubePress.
Free Version We strongly recommend using WordPress’s built-in update mechanism to keep the free version of
TubePress up to date.
If you would rather upgrade manually, here is the procedure:
1. Deactivate TubePress from WP Admin > Plugins.
2. Remove the existing TubePress installation directory from wp-content/plugins/tubepress.
3. Repeat the free WordPress plugin installation procedure.
TubePress Pro
Caution: Do not use WordPress’s auto-update for TubePress Pro! Your installation will be downgraded to the
free version of TubePress.
Here is the safe upgrade procedure for TubePress Pro when used in WordPress:
1. Deactivate TubePress Pro from WP Admin > Plugins.
2. Remove the existing TubePress Pro installation directory from wp-content/plugins/tubepress_pro_x_y_z.
3. Repeat the TubePress Pro installation procedure with the latest copy of TubePress Pro.
Uninstall
If you’d like to completely uninstall TubePress from your WordPress installation for any reason, here are the steps:
1. Deactivate TubePress from WP Admin > Plugins.
2. Remove the TubePress installation directory from wp-content/plugins/.
Using TubePress in WordPress
On This Page
•
•
•
•
Configuration
Add TubePress to Posts and Pages
Add TubePress to WordPress Templates
Changing the Default Language
2.1. TubePress for WordPress
19
TubePress Documentation, Release
Configuration
TubePress comes with a user-friendly options page that can be found from your WordPress admin dashboard. Simply
visit Settings > TubePress to access the screen.
Add TubePress to Posts and Pages
Follow these instructions to use TubePress (free or Pro) in WordPress posts and/or pages. It’s dead simple. Simply
type
[tubepress]
anywhere in a WordPress post or page. When a user visits this post/page, TubePress will replace [tubepress] with
its generated HTML content.
You can configure the default TubePress options from within your WordPress administration dashboard by visiting
Settings > TubePress. If you just type [tubepress] on a post or a page, these options will be used. The
real power of the plugin lies in the ability to be invoked in unique ways on multiple posts and pages. This is done
by passing options to the [tubepress] shortcode. For example, say on one page you want to display a gallery of
20
Chapter 2. User Manuals
TubePress Documentation, Release
YouTube videos that are tagged with “football”, want 15 videos per page, and want to play the videos in an HTML
poupup window. On this page, you would type
[tubepress mode="tag" tagValue="football" playerLocation="popup" resultsPerPage="15"]
on the page where you want the gallery to show up. And say on another page you want to display a different gallery
with the options that you set in Settings > TubePress. On this page you would type
[tubepress]
where you want TubePress to inject its content. Follow this procedure for unlimited galleries on unlimited posts/pages.
Just use any TubePress option to control TubePress.
Add TubePress to WordPress Templates
Note: TubePress Pro is required to use this feature, and basic PHP knowledge is recommended.
Follow these instructions to use TubePress Pro inside WordPress templates. The code snippet below shows the world’s
simplest WordPress template with TubePress Pro added. As you can see by the highlighted lines below, there are only
2 steps:
1
<?php
2
include WP_PLUGIN_DIR . ’/tubepress_pro_x_y_z/src/main/php/classes/TubePressPro.php’;
3
4
get_header();
5
6
print TubePressPro::getHtmlForShortcode(’mode="tag" tagValue="pittsburgh steelers"’);
7
8
if (have_posts()) :
while (have_posts()) :
the_post();
the_content();
endwhile;
endif;
get_sidebar();
get_footer();
9
10
11
12
13
14
15
16
17
?>
Notes on the two highlighted lines above:
1. Include the TubePress Pro library file TubePressPro.php. Not that in the code sample above you will need
to replace tubepress_pro_x_y_z with the actual version of TubePress Pro that you downloaded (.e.g.
tubepress_pro_3_2_6).
2. The getHtmlForShortcode() static function takes a single string parameter which is any space-separated
combination of TubePress options. It returns the HTML output of TubePress as a string. You may repeat this
function call as many times as you like, any with any combination of options.
Changing the Default Language
TubePress is available in several languages besides English. The image below is an example of TubePress when
configured for Italian (left) and Russian (right).
2.1. TubePress for WordPress
21
TubePress Documentation, Release
TubePress will determine which language to use based on the WP_LANG setting that you can define in
wp-config.php. Details for how to switch the language of your WordPress blog can be found here.
Using Add-Ons & Themes
On This Page
• What are Add-Ons & Themes?
• TubePress Content Directory
• Installing Add-Ons & Themes
What are Add-Ons & Themes?
Much like WordPress itself, TubePress can be infinitely customized by add-ons and themes.
Note: TubePress add-ons and themes should not be confused with WordPress plugins and themes. While conceptually
similar, the two are not interchangeable.
The central source for all TubePress add-ons and themes is the TubePress Marketplace. There you can browse and
download add-ons and themes developed by both TubePress LLC as well as community contributions.
TubePress Content Directory
Both add-ons and themes are stored in the “TubePress Content Directory”, which is a special directory inside your
WordPress installation located at wp-content/tubepress-content. TubePress is able to automatically generate this directory for you, in most cases, and by default it’s mostly empty.
The TubePress Content Directory has a few rules. First, it must always be named tubepress-content. It must
also have the following immediate subdirectories:
22
Chapter 2. User Manuals
TubePress Documentation, Release
add-ons TubePress add-ons that aren’t shipped with TubePress.
config Boot-time configuration for TubePress.
themes Stores any custom TubePress themes.
Installing Add-Ons & Themes
To install an add-on or theme, simply unzip into the add-ons or themes subdirectory respectively.
For instance, if you have downloaded an add-on named some_tubepress_feature.zip, you would
unzip into the add-ons directory so that the filesystem path of the add-on would look something like
tubepress-content/add-ons/some_tubepress_feature/. The next time TubePress is invoked, it will
detect and load the new files.
Advanced Topics
On This Page
• Boot Cache
– Enabling
– Clearing the Cache
– Detailed Explanation
Boot Cache
Starting with TubePress 3.1.0, TubePress can take advantage of a “boot cache” that can dramatically speed up TubePress. In our lab testing, we typically see a 300% - 400% reduction in execution time with the boot cache enabled.
Enabling Enabling the cache is easy; you’ll just need a text editor. Here’s how to do it...
1. Ensure that TubePress debugging is enabled so that you can verify that the cache is working.
In standalone PHP environments, this is enabled by default. In WordPress environments, ensure the box at WP
Admin > Settings > TubePress > Advanced > Enable Debugging is ticked.
2. TubePress’s boot process is controlled by a single file located within your TubePress content directory at
config/boot.json. In TubePress 3.1.0+, this file and the config directory are included by default. In
older versions of TubePress, simply create tubepress-content/config/boot.json and fill it with
the following contents:
{
"cache" : {
"ioc-container" : {
"enabled" : false
},
"add-ons" : {
"enabled" : false
},
"classloader" : {
"enabled" : false
},
"option-descriptors" : {
"enabled" : false
2.1. TubePress for WordPress
23
TubePress Documentation, Release
},
"killer-key" : "tubepress_boot_cache_kill",
"dir" : null
},
"add-ons" : {
"blacklist": []
},
"classloader" : {
"enabled" : true
}
}
3. Replace each instance of false with true, and set the value of killer-key to a random string. Your copy
of tubepress-content/config/boot.json should now look something like this:
{
"cache" : {
"ioc-container" : {
"enabled" : true
},
"add-ons" : {
"enabled" : true
},
"classloader" : {
"enabled" : true
},
"option-descriptors" : {
"enabled" : true
},
"killer-key" : "tIEKrw84k7z760811D815363425xa15370W",
"dir" : null
},
"add-ons" : {
"blacklist": []
},
"classloader" : {
"enabled" : true
}
}
4. Verify that the boot cache is working by examining your TubePress debug output. You should see something
similar to the following:
Default Boot Config Service: Attempting to read boot config from /var/www/ttg.lan/wordpress/
Default Boot Config Service: Successfully read boot config from /var/www/ttg.lan/wordpress/w
Default Boot Config Service: classloader caching is enabled
Default Boot Config Service: add-ons caching is enabled
...
Default Add-on Discoverer: Successfully hydrated from cache file at ... /serialized-addons.t
Default Boot Config Service: ioc-container caching is enabled
...
Default IOC Boot Helper: Successfully hydrated from cache file at ... /cached-ioc-container.
...
Default Boot Config Service: option-descriptors caching is enabled
Default Option Descriptor Reference: Successfully hydrated from cache file at ... /serialize
...
TubePress Bootstrapper: Boot completed in 28.892893 milliseconds
If your debug output is missing any of the highlighted phrases, it means that something is misconfigured. Feel
24
Chapter 2. User Manuals
TubePress Documentation, Release
free to post a question in the forum to get help.
Clearing the Cache After adding or removing TubePress add-ons, you’ll need to clear the boot cache so TubePress
can recognize the changes to your installation.
You can clear the cache using any web browser, and you’ll simply need to know the value of killer-key that was
set in your config/boot.json. As an example, suppose that the value of killer-key is abc123, then you
would add abc123=true to the end of any URL where TubePress is used to clear the cache. For instance,
http://myblog.com/videos?abc123=true
Detailed Explanation
Note: The rest of this section details the contents of config/boot.json for advanced users. Most users can skip
this section.
Let’s examine each piece of the file...
"cache" : {
"ioc-container" : {
"enabled" : true
},
"add-ons" : {
"enabled" : true
},
"classloader" : {
"enabled" : true
},
"option-descriptors" : {
"enabled" : true
}
}
This section of the file enables or disables the caching of individual elements of TubePress’s internals. Most users will
set all of these elements to either true or false.
"killer-key" : "tubepress_boot_cache_kill",
The killer key” can be used to remotely and securely clear the boot cache. The value of killer-key can be used as
a query parameter to signal to TubePress to clear the boot cache. e.g. if the value of killer-key is 456xyz, then
456xyz=true to the URL of a page using TubePress will clear the entire boot cache.
"dir" : null
The dir option allows you to manually configure a directory where TubePress will store its boot cache. If you leave
its value as null, TubePress will attempt to use the system’s cache directory.
"add-ons" : {
"blacklist": []
},
This section allows you to identify, by name, a set of add-ons that will be excluded from TubePress. If you are not
using a particular add-on, adding it to the blacklist will improve TubePress’s performance.
"classloader" : {
"enabled" : true
}
2.1. TubePress for WordPress
25
TubePress Documentation, Release
By default, TubePress uses its own high-performance PSR-0 compliant class loader. If you would like to use a class
loader defined elsewhere, you can set this value to false.
FAQ & Troubleshooting
On This Page
• Common Problems
– JavaScript Errors
– Cross-Domain Ajax
– Missing tubepress.js
– Multiple Instances of jQuery
– WordPress’s Visual Editor Interference
– API Latency
– Locked-Down PHP Installation
• Troubleshooting Tools
– Debugging Mode
– Firebug
Common Problems
Use the table below to find a solution to your problem.
Problem
Video thumbnails are “unclickable”
Possible causes and solutions
After clicking thumbnail, video never loads
Layout is unstyled or ugly
My videos aren’t showing up with TubePress
“No HTTP transports could execute ...” message
Cross-Domain Ajax
WordPress’s Visual Editor Interference
API Latency
Locked-Down PHP Installation
• JavaScript Errors
• Missing tubepress.js
• Multiple Instances of jQuery
JavaScript Errors If your website has JavaScript errors, they can prevent TubePress from operating correctly.
TubePress expects your page to load cleanly; i.e. there should be no JavaScript errors caused by other scripts, plugins,
themes, etc. The reason is that TubePress relies on jQuery’s ready() function, which can get interrupted if other scripts
cause errors.
To diagnose if this is your problem, use the following procedure:
1. Using Firefox, navigate to a page with a TubePress gallery
2. Open up Firebug.
3. Open Firebug’s “Console” tab
4. Refresh the page.
5. Check Firebug’s console for JavaScript errors
The image below shows what JavaScript errors look like in Firebug.
26
Chapter 2. User Manuals
TubePress Documentation, Release
The resolution is always to fix the script causing the error. Usually this entails identifying which component of
your site (script, plugin, etc) is causing the error. Unfortunately since sites can get extremely complicated, there’s no
“one size fits all” solution.
Typically by hovering over the JavaScript errors in Firebug, you can pinpoint which JavaScript file is causing the
trouble.
Cross-Domain Ajax TubePress uses Ajax extensively in the browser - e.g. to asynchronously load the video player
whenever a user clicks a thumbnail. By virtue of this, TubePress is forced to adhere to the same origin policy of
JavaScript. The same origin policy should be embraced - at least until the Internet settles on a new policy - as its a
crucial guard against malicious sites.
However, this means that a small domain misconfiguration can lead to a broken/misbehaving TubePress installation.
As an example, say that you have a domain ehough.com and are serving a web site at this address; loading up
http://ehough.com works normally for your users, and TubePress detects that ehough.com is the domain that
it will use. But you also have the site available (without HTTP redirects) via http://www.ehough.com. Users
that access the site via the www.ehough.com domain will experience a broken TubePress installation, as TubePress
will attempt to make a cross-domain Ajax request to ehough.com.
To diagnose if this if your problem, use the following procedure:
1. Using Firefox, navigate to a page with a TubePress gallery
2. Open up Firebug
3. Open Firebug’s “Console” tab
4. Click on any TubePress thumbnail. You should see a new XHR request show up as TubePress performs its Ajax
request.
5. Expand this request (using the expand icon on the left) to view the results. You should see a small/medium
JSON result. If you see anything else here, or nothing at all, then something is wrong
To fix this issue, Google recommends to choose a “preferred domain” and stick with it. Here are some guidelines on
how to achieve this:
2.1. TubePress for WordPress
27
TubePress Documentation, Release
• Use HTTP 301 redirects (“RedirectPermanent”) in your .htaccess file to smartly redirect users to your preferred
domain. * In Apache, you can do this with an .htaccess file. * In IIS, you can do this through the administrative
console.
• WordPress users should make sure that both their “Site Address” and “WordPress Address” match their preferred
domain (you can set these at WP Admin > Settings > General)
• If you use TubePress Pro in a PHP environment, make sure that the domain you set with
TubePressPro::setBaseUrl() matches your preferred domain
Missing tubepress.js Any page that uses TubePress needs to have tubepress.js loaded somewhere in the
document. If this file is missing, your gallery’s thumbnails won’t respond to clicks.
To diagnose if this if your problem, you can view your HTML source or use Firebug to verify if this file is being loaded
correctly. The image below shows what a correct load will look like in Firebug.
In WordPress, this file will be automatically loaded via your theme’s wp_head() function invocation. However,
some custom themes will (accidentally or intentionally) omit this call. Switching back to the “Twenty Thirteen”
WordPress theme will verify if your custom theme is the culprit. Here is some further information on including the
wp_head() function in your theme.
Multiple Instances of jQuery This problem is much more prevalent in WordPress-based sites, where other plugin
and theme authors fail to include jQuery “the right way”. Multiple loads of jQuery will not only significantly hurt the
load-time of your site, but it will also break TubePress.
There are two ways to see if your site is loading jQuery more than once:
1. Inspect your HTML source, hit Ctrl-F and search for “jquery”. You should only see one JavaScript file loaded
for jQuery.
2. Use Firebug’s “Net” tab to examine the scripts loaded on your page. The image below shows what multiple
jQuery loads looks like in Firebug.
28
Chapter 2. User Manuals
TubePress Documentation, Release
The solution in this case is to pare down your scripts to a single jQuery load. How this solution is accomplished
depends on your environment.
• In TubePress Pro for PHP, this will usually involve simply editing your site’s header to only include jQuery
once.
• In TubePress for WordPress, typically the best method is to disable your plugins one-by-one until you find
the offending plugin and/or theme. At that point, you’ll need to either edit the plugin/theme’s PHP or ask the
original author to include jQuery “the right way”.
WordPress’s Visual Editor Interference When authoring a post or a page from your WordPress administrative
dashboard, WordPress allows you to use both the Visual Editor as well as the Text Editor. Unfortunately the Visual
Editor sometimes “wraps” TubePress shortcodes with HTML <pre> or <code> tags. This can ruin the appearance
of TubePress, often resulting in incorrect font faces or “diagonal” thumbnail layouts.
The solution is to use WordPress’s Text Editor and remove any <pre> or <code> tags near your [tubepress]
shortcodes.
2.1. TubePress for WordPress
29
TubePress Documentation, Release
API Latency What you see on youtube.com or vimeo.com will not be immediately and exactly identical to what’s
available to TubePress. There is often a caching delay before videos are available over the API (which TubePress
uses). It’s almost always less than an hour, but has been know to take up to an entire day. The punchline here is: it can
take up to a day for your gallery to sync up to the video provider.
Please read YouTube’s explanation for more details regarding the API delay for YouTube.
Locked-Down PHP Installation If you get an error message from TubePress that looks like
No HTTP transports could execute GET to ...
it means that you PHP installation has been configured to block nearly all network operations. This is often done as a
security measure to prevent malicious PHP scripts from “phoning home.”
30
Chapter 2. User Manuals
TubePress Documentation, Release
TubePress needs to open HTTP connections to talk to video providers like YouTube or Vimeo. Under the hood,
TubePress uses the shortstop HTTP client, which attempts to use the following PHP mechanisms:
• cURL extension
• HTTP extension
• fsockopen()
• fopen()
• Streams extension
So the solution is to allow TubePress to use one or more of these mechanisms. You, or your hosting provider, must
perform at least one of the following:
• Install and allow the cURL extension
• Install and allow the HTTP extension
• Remove fsockopen() from the list of disabled functions
• Remove fopen() from the list of disabled functions
Troubleshooting Tools
Debugging Mode TubePress’s debug mode will print a huge amount of logging statements to the screen. It will
describe in (extreme) detail what TubePress is doing behind the scenes.
2.1. TubePress for WordPress
31
TubePress Documentation, Release
To use it, you just need to add tubepress_debug=true to the URL string (in your browser’s address bar) of any
page that uses TubePress on it. For instance, if the TubePress page you’re trying to debug has an address of
http://ehough.com/?page_id=19
then you should add tubepress_debug=true to the URL to enable debugging:
http://ehough.com/?page_id=19&tubepress_debug=true
Most of the debug output is self-explanatory. If the output is cut off unexpectedly, it’s likely that TubePress encountered
a fatal error. Check your PHP error logs for more information.
Firebug One particular tool which is invaluable in debugging client-side problems is Firebug. Firebug is an add-on
for Firefox that gives you x-ray vision for any website. It’s powerful, yet easy to use. If you’re new to Firebug, here
are some introductory resources to help you learn.
What is Firebug? From the official Firebug site
Introductory screencast Shows the general concepts and use-cases of Firebug.
32
Chapter 2. User Manuals
TubePress Documentation, Release
Another introductory screencast A longer, more detailed video going over installation and usage.
Firebug Guide for Web Developers A detailed, well-written overview of Firebug (with pictures).
2.2 TubePress Manual for PHP
TubePress Pro is available to use as a mature PHP library, which makes it accessible to nearly any website that runs
PHP.
2.2.1 Manual Contents
Install / Upgrade
This page details how to install, upgrade, and uninstall TubePress when used as a standalone PHP library.
On this page
• Requirements
• Install
– Vimeo API Setup
– Optional TubePress Pro Installations
* JW Player (version 5.x)
* Shadowbox.js
• Upgrade
Requirements
It’s a good idea to first make sure that your web server meets the minimum requirements to run TubePress. You will
need:
• PHP 5.2 or higher
• PHP DOM extension (enabled by default in PHP, only required for using TubePress with YouTube)
• PHP PCRE extension built with PCRE version 7.1 or higher (enabled in most PHP installations)
Additionally, if you intend to use TubePress in any language other than English, TubePress for PHP requires the PHP
Multibyte String extension (enabled in most PHP installations).
Not sure if your server meets these requirements? You should either
1. Ask your hosting provider (good idea to include a link to this page!)
2. Use our PHP file which checks your server for the requirements. Here’s how to use it:
1. Using a web browser, visit this URL. You’ll see some PHP source code.
2. Save the source code to disk (File > Save from your web browser’s menu, or just hit Ctrl-S).
It should be saved somewhere on your local machine, and the name of the file should be
check.php.
3. Upload check.php to your website’s document root.
4. Using a web browser, visit http://<yourdomain.com>/check.php. The output of this
page should be self-explanatory and will look similar to the following:
2.2. TubePress Manual for PHP
33
TubePress Documentation, Release
Install
Here’s how to install TubePress Pro when used as a standalone PHP library.
1. If you haven’t already, purchase a TubePress Pro license.
2. Download TubePress Pro from here.
3. Unzip the file you just downloaded (tubepress_pro_x_y_z.zip). It will expand into a directory named
tubepress_pro_x_y_z. (Note: x, y, and z are the major, minor, and micro version numbers of TubePress).
4. Upload the entire tubepress_pro_x_y_z directory to your web server in a place that’s web accessible.
5. Make a note of the following two items, which you’ll need when invoking TubePress:
• the
full
path
of
this
directory
on
your
web
server’s
/var/www/html/myblog.com/lib/tubepress_pro_x_y_z)
filesystem
(e.g.
• the web-accessible URL to reach this directory (e.g. http://myblog.com/lib/tubepress_pro_x_y_z)
6. Vimeo users only. Perform the one-time Vimeo API setup.
7. Optional. Install support for Shadowbox.js and/or JW Player 5.
Vimeo API Setup
Note: If you aren’t using Vimeo, you can safely skip this section.
In order to use TubePress with Vimeo, you are required to obtain a “consumer key” and “consumer secret” from
Vimeo. This is a one-time setup required by Vimeo. Thankfully it’s easy to create these credentials and supply them
to TubePress.
34
Chapter 2. User Manuals
TubePress Documentation, Release
1. Log in to Vimeo, if you haven’t already.
2. Click here to create a new Vimeo app. You can fill in anything for the fields. Below is a sample form that’s filled
out. Then click the Create App button.
2.2. TubePress Manual for PHP
35
TubePress Documentation, Release
36
Chapter 2. User Manuals
TubePress Documentation, Release
3. Make a note of the “Client ID” and “Client secret” of your new app. See the red box below for an idea of what
it should look like.
That’s it! You now simply need to provide these credentials to TubePress. You’ll have to provide the key and secret
via the vimeoKey and vimeoSecret options in TubePress. You can pass these into the getHtmlForShortcode()
function:
<?php print TubePressPro::getHtmlForShortcode(’vimeoKey="M7e8oGsvU8Ld4TW7e8oLsvU8Ld4TM7e8oLs" vimeoSe
Make sure not to mix up the “key” and the “secret”!
Optional TubePress Pro Installations Due to licensing restrictions, TubePress Pro does not ship with every library
that the free WordPress plugin includes. However it’s very easy to install these optional libraries manually. This
section provides installation instructions.
JW Player (version 5.x) TubePress can use JW Player 5.10 to play YouTube videos. We are working to integrate
JW Player 6.x, but this feature is not yet ready for production.
1. Download the file player.swf from here.
2. Upload the file to your TubePress Pro installation at
<tubepress_home>/src/main/web/flash/longtail/player.swf.
2.2. TubePress Manual for PHP
37
TubePress Documentation, Release
Shadowbox.js
1. Download Shadowbox.js from here. The image below shows the required options when configuring your download. You may select additional checkboxes (though not recommended), but make sure that at least the
settings shown are chosen.
38
Chapter 2. User Manuals
TubePress Documentation, Release
2. The download will save to a file named something like shadowbox-3.0.3.zip. Unzip this file, and it will
expand into a directory named shadowbox-3.0.3.
3. Copy the contents of this directory (not the directory itself) to your TubePress Pro installation at
2.2. TubePress Manual for PHP
39
TubePress Documentation, Release
<tubepress_home>/src/main/web/players/shadowbox/lib/.
4. Optional. You may see scrollbars in the Shadowbox.js display. To fix this, simply edit lib/shadowbox.css.
On line 8, remove the overflow:auto attribute. i.e. change it from
#sb-player.html{height:100%;overflow:auto;}
to
#sb-player.html{height:100%;}
Upgrade
The easiest and most reliable way to upgrade TubePress Pro is to perform a side-by-side installation with the new
version alongside the old. Here’s the exact process.
1. Repeat the TubePress Pro installation procedure with the latest copy of TubePress Pro.
2. Optional.
Copy over the TubePress Content Directory from your old TubePress installation
(tubepress_pro_x_y_z>/tubepress-content). This is only required if you are using custom TubePress add-ons or themes.
3. In the PHP files where you use TubePress Pro, edit TubePressPro::setBaseUrl() and the path to
TubePressPro.php to point to your new install location.
Using TubePress in PHP
On This Page
• Add TubePress to any PHP Page
• Changing the Default Language
Add TubePress to any PHP Page
Follow these instructions to use TubePress Pro in a standalone PHP environment. You can integrate TubePress into
any PHP page on your site. For demonstration purposes, we will use the very simple PHP/HTML file show below.
Feel free to create this file, or extrapolate the concepts into your existing PHP. As you can see by the highlighted lines
of code, there are four key points.
1
<?php
2
include "/var/www/html/myblog.com/lib/tubepress_pro_x_y_z/src/main/php/classes/TubePressPro.php";
3
4
TubePressPro::setBaseUrl("http://myblog.com/lib/tubepress_pro_x_y_z");
5
6
?>
7
8
9
10
<html>
<head>
<title>TubePress Pro</title>
11
<?php print TubePressPro::getHtmlForHead(true); ?>
12
13
</head>
<body>
14
15
40
Chapter 2. User Manuals
TubePress Documentation, Release
16
<?php print TubePressPro::getHtmlForShortcode(’mode="tag" tagValue="pittsburgh steelers" resu
17
18
19
20
</body>
</html>
1. Include the TubePress Pro class definition (TubePressPro.php). An absolute path works best.
2. Call TubePressPro::setBaseUrl() with the web-accessible URL of your TubePress Pro installation.
3. Include this statement in the HTML head of your document to print out the required TubePress CSS and
JavaScript libraries. It takes a single parameter which indicates whether or not to include jQuery. If you are
already including jQuery in your document, use false for this parameter.
4. The getHtmlForShortcode() function takes a single string parameter which is any valid TubePress shortcode. It returns the HTML output of TubePress. You may repeat this function call as many times as you like.
Changing the Default Language
TubePress is available in several languages besides English. The image below is an example of TubePress when
configured for Italian (left) and Russian (right).
You can tell TubePress which language to use via the lang option. Simply supply your two-letter language and
country code:
<?php
TubePressPro::getHtmlForShortcode(’lang="it_IT"’);
Using Add-Ons & Themes
2.2. TubePress Manual for PHP
41
TubePress Documentation, Release
On This Page
• What are Add-Ons & Themes?
• TubePress Content Directory
• Installing Add-Ons & Themes
What are Add-Ons & Themes?
TubePress “add-ons” are small software packages that add or change the default functionality of TubePress. TubePress
“themes” are template sets that can change the layout and/or appearance of TubePress.
The central source for all TubePress add-ons and themes is the TubePress Marketplace. There you can browse and
download add-ons and themes developed by both TubePress LLC as well as community contributions.
TubePress Content Directory
Both add-ons and themes are stored in the “TubePress Content Directory”, which is a special directory inside your
TubePress installation located at tubepress_pro_x_y_z/tubepress-content.
The TubePress Content Directory has a few rules. First, it must always be named tubepress-content. It must
also have the following immediate subdirectories:
add-ons TubePress add-ons that aren’t shipped with TubePress.
config Boot-time configuration for TubePress.
themes Stores any custom TubePress themes.
Installing Add-Ons & Themes
To install an add-on or theme, simply unzip into the add-ons or themes subdirectory respectively.
For instance, if you have downloaded an add-on named some_tubepress_feature.zip, you would
unzip into the add-ons directory so that the filesystem path of the add-on would look something like
tubepress-content/add-ons/some_tubepress_feature/. The next time TubePress is invoked, it will
detect and load the new files.
Advanced Topics
On This Page
• Boot Cache
– Enabling
– Clearing the Cache
– Detailed Explanation
Boot Cache
Starting with TubePress 3.1.0, TubePress can take advantage of a “boot cache” that can dramatically speed up TubePress. In our lab testing, we typically see a 300% - 400% reduction in execution time with the boot cache enabled.
42
Chapter 2. User Manuals
TubePress Documentation, Release
Enabling Enabling the cache is easy; you’ll just need a text editor. Here’s how to do it...
1. Ensure that TubePress debugging is enabled so that you can verify that the cache is working.
In standalone PHP environments, this is enabled by default. In WordPress environments, ensure the box at WP
Admin > Settings > TubePress > Advanced > Enable Debugging is ticked.
2. TubePress’s boot process is controlled by a single file located within your TubePress content directory at
config/boot.json. In TubePress 3.1.0+, this file and the config directory are included by default. In
older versions of TubePress, simply create tubepress-content/config/boot.json and fill it with
the following contents:
{
"cache" : {
"ioc-container" : {
"enabled" : false
},
"add-ons" : {
"enabled" : false
},
"classloader" : {
"enabled" : false
},
"option-descriptors" : {
"enabled" : false
},
"killer-key" : "tubepress_boot_cache_kill",
"dir" : null
},
"add-ons" : {
"blacklist": []
},
"classloader" : {
"enabled" : true
}
}
3. Replace each instance of false with true, and set the value of killer-key to a random string. Your copy
of tubepress-content/config/boot.json should now look something like this:
{
"cache" : {
"ioc-container" : {
"enabled" : true
},
"add-ons" : {
"enabled" : true
},
"classloader" : {
"enabled" : true
},
"option-descriptors" : {
"enabled" : true
},
"killer-key" : "tIEKrw84k7z760811D815363425xa15370W",
"dir" : null
},
"add-ons" : {
"blacklist": []
},
2.2. TubePress Manual for PHP
43
TubePress Documentation, Release
"classloader" : {
"enabled" : true
}
}
4. Verify that the boot cache is working by examining your TubePress debug output. You should see something
similar to the following:
Default Boot Config Service: Attempting to read boot config from /var/www/ttg.lan/wordpress/
Default Boot Config Service: Successfully read boot config from /var/www/ttg.lan/wordpress/w
Default Boot Config Service: classloader caching is enabled
Default Boot Config Service: add-ons caching is enabled
...
Default Add-on Discoverer: Successfully hydrated from cache file at ... /serialized-addons.t
Default Boot Config Service: ioc-container caching is enabled
...
Default IOC Boot Helper: Successfully hydrated from cache file at ... /cached-ioc-container.
...
Default Boot Config Service: option-descriptors caching is enabled
Default Option Descriptor Reference: Successfully hydrated from cache file at ... /serialize
...
TubePress Bootstrapper: Boot completed in 28.892893 milliseconds
If your debug output is missing any of the highlighted phrases, it means that something is misconfigured. Feel
free to post a question in the forum to get help.
Clearing the Cache After adding or removing TubePress add-ons, you’ll need to clear the boot cache so TubePress
can recognize the changes to your installation.
You can clear the cache using any web browser, and you’ll simply need to know the value of killer-key that was
set in your config/boot.json. As an example, suppose that the value of killer-key is abc123, then you
would add abc123=true to the end of any URL where TubePress is used to clear the cache. For instance,
http://myblog.com/videos?abc123=true
Detailed Explanation
Note: The rest of this section details the contents of config/boot.json for advanced users. Most users can skip
this section.
Let’s examine each piece of the file...
"cache" : {
"ioc-container" : {
"enabled" : true
},
"add-ons" : {
"enabled" : true
},
"classloader" : {
"enabled" : true
},
"option-descriptors" : {
"enabled" : true
}
}
44
Chapter 2. User Manuals
TubePress Documentation, Release
This section of the file enables or disables the caching of individual elements of TubePress’s internals. Most users will
set all of these elements to either true or false.
"killer-key" : "tubepress_boot_cache_kill",
The killer key” can be used to remotely and securely clear the boot cache. The value of killer-key can be used as
a query parameter to signal to TubePress to clear the boot cache. e.g. if the value of killer-key is 456xyz, then
456xyz=true to the URL of a page using TubePress will clear the entire boot cache.
"dir" : null
The dir option allows you to manually configure a directory where TubePress will store its boot cache. If you leave
its value as null, TubePress will attempt to use the system’s cache directory.
"add-ons" : {
"blacklist": []
},
This section allows you to identify, by name, a set of add-ons that will be excluded from TubePress. If you are not
using a particular add-on, adding it to the blacklist will improve TubePress’s performance.
"classloader" : {
"enabled" : true
}
By default, TubePress uses its own high-performance PSR-0 compliant class loader. If you would like to use a class
loader defined elsewhere, you can set this value to false.
FAQ & Troubleshooting
On This Page
• Common Problems
– JavaScript Errors
– Cross-Domain Ajax
– API Latency
– Locked-Down PHP Installation
• Troubleshooting Tools
– Debugging Mode
– Firebug
Common Problems
Use the table below to find a solution to your problem.
Problem
Video thumbnails are “unclickable”
After clicking thumbnail, video never loads
My videos aren’t showing up with TubePress
“No HTTP transports could execute ...” message
2.2. TubePress Manual for PHP
Possible causes and solutions
JavaScript Errors
Cross-Domain Ajax
API Latency
Locked-Down PHP Installation
45
TubePress Documentation, Release
JavaScript Errors If your website has JavaScript errors, they can prevent TubePress from operating correctly.
TubePress expects your page to load cleanly; i.e. there should be no JavaScript errors caused by other scripts, plugins,
themes, etc. The reason is that TubePress relies on jQuery’s ready() function, which can get interrupted if other scripts
cause errors.
To diagnose if this is your problem, use the following procedure:
1. Using Firefox, navigate to a page with a TubePress gallery
2. Open up Firebug.
3. Open Firebug’s “Console” tab
4. Refresh the page.
5. Check Firebug’s console for JavaScript errors
The image below shows what JavaScript errors look like in Firebug.
The resolution is always to fix the script causing the error. Usually this entails identifying which component of
your site (script, plugin, etc) is causing the error. Unfortunately since sites can get extremely complicated, there’s no
“one size fits all” solution.
Typically by hovering over the JavaScript errors in Firebug, you can pinpoint which JavaScript file is causing the
trouble.
Cross-Domain Ajax TubePress uses Ajax extensively in the browser - e.g. to asynchronously load the video player
whenever a user clicks a thumbnail. By virtue of this, TubePress is forced to adhere to the same origin policy of
JavaScript. The same origin policy should be embraced - at least until the Internet settles on a new policy - as its a
crucial guard against malicious sites.
However, this means that a small domain misconfiguration can lead to a broken/misbehaving TubePress installation.
As an example, say that you have a domain ehough.com and are serving a web site at this address; loading up
http://ehough.com works normally for your users, and TubePress detects that ehough.com is the domain that
it will use. But you also have the site available (without HTTP redirects) via http://www.ehough.com. Users
that access the site via the www.ehough.com domain will experience a broken TubePress installation, as TubePress
will attempt to make a cross-domain Ajax request to ehough.com.
To diagnose if this if your problem, use the following procedure:
1. Using Firefox, navigate to a page with a TubePress gallery
2. Open up Firebug
3. Open Firebug’s “Console” tab
4. Click on any TubePress thumbnail. You should see a new XHR request show up as TubePress performs its Ajax
request.
46
Chapter 2. User Manuals
TubePress Documentation, Release
5. Expand this request (using the expand icon on the left) to view the results. You should see a small/medium
JSON result. If you see anything else here, or nothing at all, then something is wrong
To fix this issue, Google recommends to choose a “preferred domain” and stick with it. Here are some guidelines on
how to achieve this:
• Use HTTP 301 redirects (“RedirectPermanent”) in your .htaccess file to smartly redirect users to your preferred
domain. * In Apache, you can do this with an .htaccess file. * In IIS, you can do this through the administrative
console.
• WordPress users should make sure that both their “Site Address” and “WordPress Address” match their preferred
domain (you can set these at WP Admin > Settings > General)
• If you use TubePress Pro in a PHP environment, make sure that the domain you set with
TubePressPro::setBaseUrl() matches your preferred domain
API Latency What you see on youtube.com or vimeo.com will not be immediately and exactly identical to what’s
available to TubePress. There is often a caching delay before videos are available over the API (which TubePress
uses). It’s almost always less than an hour, but has been know to take up to an entire day. The punchline here is: it can
take up to a day for your gallery to sync up to the video provider.
Please read YouTube’s explanation for more details regarding the API delay for YouTube.
Locked-Down PHP Installation If you get an error message from TubePress that looks like
No HTTP transports could execute GET to ...
it means that you PHP installation has been configured to block nearly all network operations. This is often done as a
security measure to prevent malicious PHP scripts from “phoning home.”
TubePress needs to open HTTP connections to talk to video providers like YouTube or Vimeo. Under the hood,
TubePress uses the shortstop HTTP client, which attempts to use the following PHP mechanisms:
• cURL extension
• HTTP extension
• fsockopen()
• fopen()
• Streams extension
So the solution is to allow TubePress to use one or more of these mechanisms. You, or your hosting provider, must
perform at least one of the following:
• Install and allow the cURL extension
• Install and allow the HTTP extension
• Remove fsockopen() from the list of disabled functions
2.2. TubePress Manual for PHP
47
TubePress Documentation, Release
• Remove fopen() from the list of disabled functions
Troubleshooting Tools
Debugging Mode TubePress’s debug mode will print a huge amount of logging statements to the screen. It will
describe in (extreme) detail what TubePress is doing behind the scenes.
To use it, you just need to add tubepress_debug=true to the URL string (in your browser’s address bar) of any
page that uses TubePress on it. For instance, if the TubePress page you’re trying to debug has an address of
http://ehough.com/?page_id=19
then you should add tubepress_debug=true to the URL to enable debugging:
http://ehough.com/?page_id=19&tubepress_debug=true
Most of the debug output is self-explanatory. If the output is cut off unexpectedly, it’s likely that TubePress encountered
a fatal error. Check your PHP error logs for more information.
48
Chapter 2. User Manuals
TubePress Documentation, Release
Firebug One particular tool which is invaluable in debugging client-side problems is Firebug. Firebug is an add-on
for Firefox that gives you x-ray vision for any website. It’s powerful, yet easy to use. If you’re new to Firebug, here
are some introductory resources to help you learn.
What is Firebug? From the official Firebug site
Introductory screencast Shows the general concepts and use-cases of Firebug.
Another introductory screencast A longer, more detailed video going over installation and usage.
Firebug Guide for Web Developers A detailed, well-written overview of Firebug (with pictures).
2.3 TubePress for Wix
TubePress is available to all Wix.com websites via the Wix App Market. Since TubePress LLC manages the hosting
of TubePress, there is no installation, upgrade, or maintenance required!
2.3.1 Manual Contents
Using TubePress in Wix.com
This page details how to use TubePress for Wix. It assumes that you already have a Wix website up and running; if
not, Wix offers excellent documentation to get you started.
On This Page
• Adding the TubePress App
• Configuring - Simple
• Configuring - Full Settings
Adding the TubePress App
TubePress is available to Wix.com as an “app” in the Wix App Market. As such, Wix provides detailed documentation
on how to use the App Market.
For the sake of completeness, here’s how to add TubePress to your site.
1. Inside the Wix Editor, click the App Market button.
2.3. TubePress for Wix
49
TubePress Documentation, Release
2. The Wix App Market window will open. In the search box at the top left, type in tubepress and hit enter.
50
Chapter 2. User Manuals
TubePress Documentation, Release
3. The TubePress app will show in your search results. Click the Add to Site button to add TubePress to your
site.
2.3. TubePress for Wix
51
TubePress Documentation, Release
4. TubePress will be added to your site in a “box” that you may now move around and resize to your liking, just
like any other Wix element.
You can repeat steps 1 - 4 as many times as you like!
Configuring - Simple
Configuring TubePress in Wix is extremely simple.
1. Click on the TubePress instance that you’d like to configure. You’ll see a popup menu. Click the link for “App
Settings”.
52
Chapter 2. User Manuals
TubePress Documentation, Release
2. A small window will popup which contains some simple settings for TubePress. Feel free to click around and
change some of the options. Your changes will be reflected “live” so that you can see the result immediately.
2.3. TubePress for Wix
53
TubePress Documentation, Release
Configuring - Full Settings
In the previous section you learned how to access a few settings for your TubePress instance. However, the options
found in the small popup window are actually a small fraction of the options available to you. We simply “hide”
them so as to not overwhelm new users.
Here’s how to access the rest of the settings:
1. In the basic TubePress settings window, click the “More Settings” button.
54
Chapter 2. User Manuals
TubePress Documentation, Release
2. A new window will open which contains all of the TubePress settings. Feel free change any setting you like,
and click the “Save” button once you’re done.
2.3. TubePress for Wix
55
TubePress Documentation, Release
Billing
TubePress is available to all Wix.com users for a free 30-day trial. To continue using the service beyond the trial
period, we charge a small monthly fee. Wix provides detailed instructions on how to pay for TubePress.
Common Questions
• How many sites can I use TubePress on?
• I started a new website. How do I transfer my TubePress purchase?
• What happens if I miss a payment?
How many sites can I use TubePress on? Wix bills on a per-site basis. For instance if you have two Wix.com
websites that are both using TubePress, you will be billed twice: once for each website.
However, there is no limit to the number of times that you may add TubePress to any website. Even if you use
TubePress in twenty different places on your site, you will still just be billed once.
56
Chapter 2. User Manuals
TubePress Documentation, Release
I started a new website. How do I transfer my TubePress purchase? Since Wix handles billing on our behalf,
you will need to contact Wix to transfer your upgraded apps to your new site.
What happens if I miss a payment? If your trial period ends before payment, or if you miss a payment, TubePress
will simply “go dark” on your website and your site visitors will see an empty box where TubePress used to be. You
may continue to access the TubePress settings from within the site editor.
After Wix receives payment, TubePress will pick up right where you left off. You won’t lose anything.
FAQ & Troubleshooting
• Common Questions
– When I navigate to a new page, the video keeps playing in the background.
Common Questions
When I navigate to a new page, the video keeps playing in the background. This is a known problem. Until
Wix.com provides us with the technical capability, TubePress has no means of detecting and responding to navigation
changes.
The good news is that Wix has indicated that this capability is on the very near horizon. You may read more details in
this forum thread.
2.4 Official TubePress Add-Ons
2.4.1 YouTube Black Bars Remover
On This Page
• Introduction
• Manuals
– TubePress for WordPress
– Standalone PHP
Introduction
Most YouTube video thumbnails have horizontal black bars on the top and bottom. This TubePress add-on completely
removes these bars, leaving behind a clean and more professional image.
Note: Use of this add-on will change the aspect ratio of YouTube thumbnails from 4:3 to 16:9. You will likely want
to adjust your settings for thumbHeight and thumbWidth.
2.4. Official TubePress Add-Ons
57
TubePress Documentation, Release
58
Chapter 2. User Manuals
TubePress Documentation, Release
Manuals
TubePress for WordPress
1. Purchase and download this add-on from the TubePress Marketplace.
2. Unzip the file you downloaded (youtube-black-bars-remover_x_y_z.zip) into the add-ons subdirectory of your TubePress Content Directory.
3. Configure this add-on from WP Admin > Settings > TubePress. Navigate to the “Thumbnails” tab
and scroll to the bottom of the page. There you will see a checkbox which enables/disables the black bar
removal.
2.4. Official TubePress Add-Ons
59
TubePress Documentation, Release
Standalone PHP
1. Purchase and download this add-on from the TubePress Marketplace.
2. Unzip the file you downloaded (youtube-black-bars-remover_x_y_z.zip) into the add-ons sub60
Chapter 2. User Manuals
TubePress Documentation, Release
directory of your TubePress Content Directory.
3. This add-on introduces the youtubeHideBlackBars
TubePressPro::getHtmlForShortcode(). e.g.
option
that
you
may
supply
to
<?php
print TubePressPro::getHtmlForShortcode(’mode="user" userValue="3hough" youtubeHideBlackBars="tr
2.4.2 Vimeo All Access
On This Page
• Introduction
• Manuals
– TubePress for WordPress
– TubePress for PHP
– TubePress for Wix
• Obtaining API Credentials
– Access Token and Secret
– Consumer Key (Client ID) and Secret
Introduction
This TubePress add-on provides TubePress with enhanced access to your Vimeo Plus or PRO account, thus allowing
TubePress to work with private Vimeo videos.
This is particularly useful if you’d like to hide your videos from display on vimeo.com and only show them on your
TubePress-powered site. To make a video private, choose the last radio icon in the privacy settings for the video as
shown below:
2.4. Official TubePress Add-Ons
61
TubePress Documentation, Release
Manuals
TubePress for WordPress
1. Purchase and download this add-on from the TubePress Marketplace.
2. Unzip the file you downloaded (vimeo-all-access_x_y_z.zip) into the add-ons subdirectory of your
TubePress Content Directory.
3. Ensure you have completed the one-time Vimeo API setup.
4. Obtain your Vimeo access credentials.
5. Supply your newly-obtained credentials (from Step 4) to TubePress at WP Admin > Settings >
TubePress > Feed. On this tab you will see two new text boxes for this add-on:
62
Chapter 2. User Manuals
TubePress Documentation, Release
TubePress for PHP
1. Purchase and download this add-on from the TubePress Marketplace.
2. Unzip the file you downloaded (vimeo-all-access_x_y_z.zip) into the add-ons subdirectory of your TubePress Content Directory.
3. Ensure you have completed the one-time Vimeo API setup.
4. Obtain your Vimeo access credentials.
5. This add-on introduces two new options: vimeoApiAccessToken and vimeoApiAccessTokenSecret.
You may supply these options, along with vimeoKey and vimeoSecret, to
TubePressPro::getHtmlForShortcode(). e.g.
<?php
print TubePressPro::getHtmlForShortcode(’vimeoKey="xxxx" vimeoSecret="xxxx" vimeoAccessToken
2.4. Official TubePress Add-Ons
63
TubePress Documentation, Release
TubePress for Wix
Users of cloud-based TubePress installations (e.g. TubePress Express, TubePress for Wix) should follow these instructions.
1. Obtain your Vimeo consumer credentials.
2. Obtain your Vimeo access credentials.
3. Open up the full settings page for your TubePress instance.
4. In the window that opens, navigate to the “Feed” tab and scroll down to the “Vimeo All Access”
box:
5. Enter the credentials obtained in Step 1 into the “Client ID” and “Client secret” text boxes.
6. Enter the credentials obtained in Step 2 into the “Access Token” and “Access Token Secret” boxes.
7. Click the “Save” button.
Obtaining API Credentials
Access Token and Secret
You will need to supply an additional set of Vimeo API credentials to TubePress: an “Access Token” with a corresponding “Access Token Secret”. This is a one-time step for this add-on.
64
Chapter 2. User Manuals
TubePress Documentation, Release
Warning: It is extremely important to never publicly divulge these credentials.
1. Visit https://developer.vimeo.com/apps. You should see a list of any Vimeo apps that you have created. Click
on the app that you are using for TubePress.
2. At the bottom of the page, you will see a box containing your Access Token and Access Token Secret:
Consumer Key (Client ID) and Secret
Note: Only cloud-based TubePress users (e.g. TubePress Express, TubePress for Wix, etc) need to follow these
instructions, as users of downloadable distributions of TubePress should have completed this step during installation.
1. Log in to Vimeo, if you haven’t already.
2. Click here to create a new Vimeo app. You can fill in anything for the fields. Below is a sample form that’s filled
out. Then click the Create App button.
2.4. Official TubePress Add-Ons
65
TubePress Documentation, Release
66
Chapter 2. User Manuals
TubePress Documentation, Release
3. Make a note of the “Client ID” and “Client secret” of your new app. See the red box below for an idea of what
it should look like.
2.4.3 Flexible Thumbnail Rows
On This Page
• Introduction
• Manuals
– TubePress for WordPress
– Standalone PHP
– TubePress for Wix
Introduction
This add-on automatically adjusts the height of thumbnail rows in TubePress galleries, ensuring that the metadata
(runtime, title, description, etc) for each video is completely visible. Without this add-on, TubePress uses a fixed
height for the thumbnail rows, and any metadata that is taller than the row will be cut off.
2.4. Official TubePress Add-Ons
67
TubePress Documentation, Release
68
Chapter 2. User Manuals
TubePress Documentation, Release
Manuals
TubePress for WordPress
1. Purchase and download this add-on from the TubePress Marketplace.
2. Unzip the file you downloaded (flexible-thumbnail-rows_x_y_z.zip) into the add-ons subdirectory of your TubePress Content Directory.
3. Configure this add-on from WP Admin > Settings > TubePress. Navigate to the “Thumbnails” tab
and scroll to the bottom of the page. There you will see a checkbox which enables/disables the add-on.
2.4. Official TubePress Add-Ons
69
TubePress Documentation, Release
Standalone PHP
1. Purchase and download this add-on from the TubePress Marketplace.
70
Chapter 2. User Manuals
TubePress Documentation, Release
2. Unzip the file you downloaded (flexible-thumbnail-rows_x_y_z.zip) into the add-ons subdirectory of your TubePress Content Directory.
3. This add-on introduces the flexibleThumbnailRows
TubePressPro::getHtmlForShortcode(). e.g.
option
that
you
may
supply
to
<?php
print TubePressPro::getHtmlForShortcode(’mode="user" userValue="3hough" flexibleThumbnailRows="t
TubePress for Wix
This add-on is pre-installed for users of cloud-based TubePress installations (e.g. TubePress Express, TubePress for
Wix). Here’s how to use it.
1. Open up the full settings page for your TubePress instance.
2. In the window that opens, navigate to the “Thumbnails” tab and scroll down to the “Flexible Thumbnail Rows” box:
2.4. Official TubePress Add-Ons
71
TubePress Documentation, Release
3. Enable or disable the add-on with the checkbox.
4. Click the “Save” button.
2.4.4 QuickPlay
72
Chapter 2. User Manuals
TubePress Documentation, Release
On This Page
• Introduction
• Manuals
– TubePress for WordPress
– TubePress for PHP
• Additional Notes
– Controlling Height and Width
– Show the Latest Video from a Collection
Introduction
This TubePress add-on replaces video thumbnail images with fully-functional embedded video players. Among other
things, this allows your users to watch your videos right within the context of your gallery.
2.4. Official TubePress Add-Ons
73
TubePress Documentation, Release
74
Chapter 2. User Manuals
TubePress Documentation, Release
Note: This add-on is currently only available for the downloadable TubePress distributions
Manuals
TubePress for WordPress
1. Purchase and download this add-on from the TubePress Marketplace.
2. Unzip the file you downloaded (quickplay_x_y_z.zip) into the add-ons subdirectory of your TubePress
Content Directory.
3. Copy (or symlink) the directory at wp-content/tubepress-content/add-ons/quickplay_x_y_z/tubepress-t
to wp-content/tubepress-content/themes/quickplay
4. Anytime you add TubePress to a post or page, set the options enableQuickplay=’true’ and
theme=’quickplay’. e.g.
[tubepress enableQuickplay="true" theme="quickplay" ... ]
TubePress for PHP
1. Purchase and download this add-on from the TubePress Marketplace.
2. Unzip the file you downloaded (quickplay_x_y_z.zip) into the add-ons subdirectory of your TubePress
Content Directory.
3. Copy (or symlink) the directory at tubepress-content/add-ons/quickplay_x_y_z/tubepress-theme
to tubepress-content/themes/quickplay
4. Anytime you add TubePress to a page,
theme=’quickplay’. e.g.
set the options enableQuickplay=’true’ and
<?php
print TubePressPro::getHtmlForShortcode(’enableQuickplay="true" theme="quickplay" ... ’);
Additional Notes
Controlling Height and Width
To control the height and width of the embedded video players, you can simply use the embeddedHeight and embeddedWidth options. thumbHeight and thumbWidth are ignored when this add-on is in use.
Show the Latest Video from a Collection
A common question we get from customers is
How can I have an embedded video player that automatically shows the latest video from my YouTube or
Vimeo channel?
2.4. Official TubePress Add-Ons
75
TubePress Documentation, Release
With QuickPlay, this is easy. The trick is to set resultCountCap to 1 and orderBy to newest.
For instance, say that you’d like to show the latest video from YouTube user engineerguyvideo. WordPress users
would use the following shortcode:
[tubepress mode=’user’ userValue=’engineerguyvideo’ resultCountCap=’1’ orderBy=’newest’ enableQuickpl
Similarly, PHP users could use the following invocation of TubePressPro::getHtmlForShortcode():
<?php
TubePressPro::getHtmlForShortcode("mode=’user’ userValue=’engineerguyvideo’ resultCountCap=’1’ or
The result is an always-updating, fully customizable single video embed that you can embed anywhere on your site.
76
Chapter 2. User Manuals
CHAPTER 3
Reference
3.1 Options
3.1.1 Core Options
77
TubePress Documentation, Release
On This Page
78
• General
– mode
– output
– video
• Thumbnails
– ajaxPagination
– fluidThumbs
– hqThumbs
– paginationAbove
– paginationBelow
– randomize_thumbnails
– resultsPerPage
– thumbHeight
– thumbWidth
• Embedded Video Player
– autoNext
– autoplay
– embeddedHeight
– embeddedWidth
– enableJsApi
– lazyPlay
– loop
– playerImplementation
– playerLocation
– showInfo
• Video Feed
– orderBy
– perPageSort
– resultCountCap
– searchResultsRestrictedToUser
– videoBlacklist
• Video Meta Display
– author
– category
– dateFormat
– description
– descriptionLimit
– id
– length
– relativeDates
– tags
– title
– uploaded
– url
– views
• Interactive Search
– searchProvider
– searchResultsDomId
– searchResultsOnly
– searchResultsUrl
• API Cache
– cacheCleaningFactor
– cacheDirectory
– cacheEnabled
– cacheLifetimeSeconds
• Advanced
– debugging_enabled
– galleryId
Chapter 3. Reference
TubePress Documentation, Release
General
General Options
• mode
• output
• video
mode
Option name
Description
Provided with
Default value
Valid values
mode
Defines the source for a video gallery.
Any TubePress distribution
youtubeMostPopular
Supported provider(s)
Shortcode example
Standalone PHP example
Vimeo and YouTube
[tubepress mode="youtubeRelated"]
TubePressPro::getHtmlForShortcode(’mode="youtubeRel
• Any YouTube source
• Any Vimeo source
output
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP example
3.1. Options
output
Defines what HTML TubePress will generate. Unless
explicitly set, TubePress will generate a video gallery.
Any TubePress distribution
empty
searchInput HTML input for interactive searching.
searchOutput Search results from interactive
searching.
player HTML for a single embedded video (player
only).
ajaxSearchInput HTML input for asynchronous
interactive searching. TubePress Pro only.
empty HTML for a video gallery.
Vimeo and YouTube
[tubepress output="searchInput"]
TubePressPro::getHtmlForShortcode(’output="searchIn
79
TubePress Documentation, Release
video
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP example
video
Causes TubePress to generate HTML for a single video embed.
Any TubePress distribution
empty
Any video ID (YouTube, Vimeo, etc) that TubePress knows how to handle.
Vimeo and YouTube
[tubepress video="lJtHNEDnrnY"]
TubePressPro::getHtmlForShortcode(’video="lJtHNEDnrnY"’);
Thumbnails
Thumbnail Options
•
•
•
•
•
•
•
•
•
ajaxPagination
fluidThumbs
hqThumbs
paginationAbove
paginationBelow
randomize_thumbnails
resultsPerPage
thumbHeight
thumbWidth
ajaxPagination
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP example
80
ajaxPagination
Use Ajax to paginate (clicking on “Next”, etc) through
galleries.
• TubePress Pro
• Any cloud-hosted TubePress
true
true or false
Vimeo and YouTube
[tubepress ajaxPagination="true"]
TubePressPro::getHtmlForShortcode(’ajaxPagination="
Chapter 3. Reference
TubePress Documentation, Release
fluidThumbs
Option name
Description
Provided with
Default value
Valid values
Supported
provider(s)
Shortcode
example
Standalone
PHP example
fluidThumbs
Dynamically adjust the width of thumbnail columns to best fit their container. This generally
improves the appearance of the thumbnail gallery, but can cause problems in complex site
layouts.
All TubePress distributions
true
true or false
Vimeo and YouTube
[tubepress fluidThumbs="false"]
TubePressPro::getHtmlForShortcode(’fluidThumbs="false"’);
hqThumbs
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP example
hqThumbs
Use higher-quality thumbnails. This allows thumbnail
sizes greater than 120px x 90x without causing distortion.
• TubePress Pro
• Any cloud-hosted TubePress
false
true or false
Vimeo and YouTube
[tubepress hqThumbs="true"]
TubePressPro::getHtmlForShortcode(’hqThumbs="true"’
paginationAbove
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP
example
3.1. Options
paginationAbove
Show pagination links (“Next”, “Prev”, etc) above the thumbnail gallery.
Any TubePress distribution
true
true or false
Vimeo and YouTube
[tubepress paginationAbove="true"]
TubePressPro::getHtmlForShortcode(’paginationAbove="true"’);
81
TubePress Documentation, Release
paginationBelow
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP
example
paginationBelow
Show pagination links (“Next”, “Prev”, etc) below the thumbnail gallery.
Any TubePress distribution
true
true or false
Vimeo and YouTube
[tubepress paginationBelow="true"]
TubePressPro::getHtmlForShortcode(’paginationBelow="true"’);
randomize_thumbnails
Option name
Description
Provided with
Default value
Valid values
Supported
provider(s)
Shortcode
example
Standalone
PHP example
randomize_thumbnails
Most videos come with several thumbnails. By setting this option to true, each time a user visits
a gallery they will see a randomly-selected thumbnail for each video. This option conflicts with
hqThumbs.
Any TubePress distribution
true
true or false
Vimeo and YouTube
[tubepress randomize_thumbnails="true"]
TubePressPro::getHtmlForShortcode(’randomize_thumbnails="true"’);
resultsPerPage
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP example
resultsPerPage
How many thumbnails to display on each page of a gallery.
Any TubePress distribution
20
Any integer from 1 to 50
Vimeo and YouTube
[tubepress resultsPerPage="30"]
TubePressPro::getHtmlForShortcode(’resultsPerPage="30"’);
thumbHeight
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP example
82
thumbHeight
The desired height (in pixels) of video thumbnails.
Any TubePress distribution
90
Any positive integer.
Vimeo and YouTube
[tubepress thumbHeight="60"]
TubePressPro::getHtmlForShortcode(’thumbHeight="60"’);
Chapter 3. Reference
TubePress Documentation, Release
thumbWidth
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP example
thumbWidth
The desired width (in pixels) of video thumbnails.
Any TubePress distribution
120
Any positive integer.
Vimeo and YouTube
[tubepress thumbWidth="150"]
TubePressPro::getHtmlForShortcode(’thumbWidth="150"’);
Embedded Video Player
Embedded Video Player Options
•
•
•
•
•
•
•
•
•
•
autoNext
autoplay
embeddedHeight
embeddedWidth
enableJsApi
lazyPlay
loop
playerImplementation
playerLocation
showInfo
autoNext
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP example
3.1. Options
autoNext
Automatically start the next video in a gallery when
playback of a video finishes.
• TubePress Pro
• Any cloud-hosted TubePress
false
true or false
Vimeo and YouTube
[tubepress autoNext="true"]
TubePressPro::getHtmlForShortcode(’autoNext="true"’
83
TubePress Documentation, Release
autoplay
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP example
autoplay
Automatically start video playback of any embedded video when the page is loaded.
All TubePress distributions
false
true or false
Vimeo and YouTube
[tubepress autoplay="true"]
TubePressPro::getHtmlForShortcode(’autoplay="true"’);
embeddedHeight
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP
example
embeddedHeight
The height, in pixels, of the embedded video player that TubePress builds.
All TubePress distributions
350
Any positive integer
Vimeo and YouTube
[tubepress embeddedHeight="350"]
TubePressPro::getHtmlForShortcode(’embeddedHeight="350"’);
embeddedWidth
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP example
embeddedWidth
The width, in pixels, of the embedded video player that TubePress builds.
All TubePress distributions
425
Any positive integer
Vimeo and YouTube
[tubepress embeddedWidth="350"]
TubePressPro::getHtmlForShortcode(’embeddedWidth="350"’);
enableJsApi
Option name
Description
Provided with
Default value
Valid values
Supported
provider(s)
Shortcode
example
Standalone
PHP example
84
enableJsApi
Enable or disable the TubePress JavaScript API for this gallery. Enabling this API incurs a tiny
performance overhead, but is required for some features (such as autoNext).
TubePress Pro
true
true or false
Vimeo and YouTube
[tubepress enableJsApi="true"]
TubePressPro::getHtmlForShortcode(’enableJsApi="true"’);
Chapter 3. Reference
TubePress Documentation, Release
lazyPlay
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP example
lazyPlay
If enabled, video playback will auto-start after users clicks a video’s thumbnail.
All TubePress distributions
true
true or false
Vimeo and YouTube
[tubepress lazyPlay="true"]
TubePressPro::getHtmlForShortcode(’lazyPlay="true"’);
loop
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP example
loop
If enabled, immediately restart playback of each video after it finishes.
All TubePress distributions
false
true or false
Vimeo and YouTube
[tubepress loop="true"]
TubePressPro::getHtmlForShortcode(’loop="true"’);
playerImplementation
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP example
3.1. Options
playerImplementation
Defines the “brand” of the embedded video player.
All TubePress distributions except TubePress for Wix
provider_based
provider_based Uses the provider’s player (i.e.
the standard YouTube player)
embedplus Plays videos with EmbedPlus
longtail Plays videos with JW Player
YouTube
[tubepress playerImplementation="longtail"]
TubePressPro::getHtmlForShortcode(’playerImplementa
85
TubePress Documentation, Release
playerLocation
Option name
Description
playerLocation
Defines the “location” of the embedded video player.
This allows you to choose the location and effect of how
the embedded videos play.
All TubePress distributions, though availability varies
normal
Provided with
Default value
Valid values
normal Embedded player is placed above thumbnail
gallery
popup Videos play in an HTML popup window
youtube User is taken to the video’s home on
youtube.com for viewing.
vimeo User is taken to the video’s home on
vimeo.com for viewing.
shadowbox Video plays in a modal window with
Shadowbox.js
jqmodal Video plays in a modal window with jqModal
solo Page refreshes, and video player replaces the
thumbnail gallery
static Like normal, but each thumbnail click triggers a page refresh
tinybox Video plays in a modal window with TinyBox. Not available in free WordPress plugin.
fancybox Video plays in a modal window with Fancybox. Not available in free WordPress plugin.
Supported provider(s)
Shortcode example
Standalone PHP example
Vimeo and YouTube
[tubepress playerLocation="popup"]
TubePressPro::getHtmlForShortcode(’playerLocation="
showInfo
Option name
Description
Provided with
Default value
Valid values
Supported
provider(s)
Shortcode
example
Standalone PHP
example
showInfo
Show or hide the video’s title, description, and other meta information on the embedded
video itself before playback begins.
All TubePress distributions
false
true or false
Vimeo and YouTube
[tubepress showInfo="true"]
TubePressPro::getHtmlForShortcode(’showInfo="true’);
Video Feed
86
Chapter 3. Reference
TubePress Documentation, Release
Video Feed Options
•
•
•
•
•
orderBy
perPageSort
resultCountCap
searchResultsRestrictedToUser
videoBlacklist
orderBy
Option name
Description
Provided with
Default value
Valid values
orderBy
Define the overall sort order of the video feed. This only
applies, obviously, to video galleries and not individual
videos.
All TubePress distributions
default
commentCount Only applies to YouTube playlist
galleries and selected Vimeo galleries. Videos
with more comments will be shown before others.
1
default TubePress chooses the “best” sort order for
the video source. e.g. search-based galleries
are sorted by relevance, and user uploads are
sorted by newest.
duration Only applies to YouTube playlist galleries.
Longest-running videos shown first. 2
newest Newest videos first. 1
oldest Only applies to the following Vimeo galleries: vimeoUploadedBy, vimeoLikes,
vimeoAppearsIn,
vimeoSearch,
vimeoCreditedTo, vimeoGroup. 3
position Only applies to YouTube playlist galleries.
Videos will be shown in the order in which they
appear in the playlist. 2
random Only applies to Vimeo group-based galleries
(vimeoGroup). Retrieves videos in a random
order. 4
rating Highest-rated videos first. 1
relevance Only applies to search-based galleries.
Videos with the highest relevance to the search
terms will be shown first. 5
reversedPosition Only applies to YouTube
playlist galleries. Videos will be shown in the
reverse order of the position sort order. 2
title Only applies to YouTube playlist galleries.
Videos will be shown in alphabetical order of their
titles. 2
viewCount Most-viewed videos first. 1
Supported provider(s)
Shortcode example
Standalone PHP example
3.1. Options
Vimeo and YouTube
[tubepress orderBy="newest"]
TubePressPro::getHtmlForShortcode(’orderBy="newest"
87
TubePress Documentation, Release
perPageSort
Option name
Description
perPageSort
Defines an additional sorting to apply to each individual
page of a video gallery.
All TubePress distributions
none
Provided with
Default value
Valid values
commentCount Videos with more comments will be
shown before others.
duration Longest-running videos shown first.
newest Newer videos first.
none Do nothing.
oldest Older videos first.
random Shuffles the videos.
rating Highest-rated videos first.
title Videos will be shown in alphabetical order of
their titles.
viewCount Most-viewed videos first.
Supported provider(s)
Shortcode example
Standalone PHP example
Vimeo and YouTube
[tubepress perPageSort="title"]
TubePressPro::getHtmlForShortcode(’perPageSort="tit
resultCountCap
Option name
Description
Provided with
Default value
Valid values
Supported
provider(s)
Shortcode
example
Standalone
PHP example
88
resultCountCap
Set a maximum limit on the total number of videos in a gallery. This can both limit the number
of videos that show up on a page (if resultsPerPage > resultCountCap), or reduce the
number of pagination links for a gallery. Set to 0 to disable any limit.
All TubePress distributions
0
Any non-negative integer
Vimeo and YouTube
[tubepress resultCountCap="100"]
TubePressPro::getHtmlForShortcode(’resultCountCap="100"’);
Chapter 3. Reference
TubePress Documentation, Release
searchResultsRestrictedToUser
Option name
Description
searchResultsRestrictedToUser
For keyword-based galleries, or during interactive searching, this option can filter the results
to videos uploaded by the given user.
All TubePress distributions
empty
Any YouTube or Vimeo username
Vimeo and YouTube
Provided with
Default value
Valid values
Supported
provider(s)
Shortcode
example
Standalone PHP
example
[tubepress searchResultsRestrictedToUser="3hough"]
TubePressPro::getHtmlForShortcode(’searchResultsRestrictedToUser="3hough"’);
videoBlacklist
Option name
Description
Provided with
Default value
Valid values
Supported
provider(s)
Shortcode
example
Standalone PHP
example
videoBlacklist
A list of video IDs that should never appear in TubePress’s output.
All TubePress distributions
empty
A comma-separated list of YouTube or Vimeo IDs
Vimeo and YouTube
[tubepress videoBlacklist="HSrtIrVCm64, BnS-rTbFw2g, 3045633"]
TubePressPro::getHtmlForShortcode(’videoBlacklist="HSrtIrVCm64,
BnS-rTbFw2g, 3045633"’);
Video Meta Display
Video Meta Display Options
•
•
•
•
•
•
•
•
•
•
•
•
•
author
category
dateFormat
description
descriptionLimit
id
length
relativeDates
tags
title
uploaded
url
views
3.1. Options
89
TubePress Documentation, Release
author
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP example
author
Toggle display of the video uploader’s username.
All TubePress distributions
false
true or false
Vimeo and YouTube
[tubepress author="true"]
TubePressPro::getHtmlForShortcode(’author="true" ’);
category
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP example
category
Toggle display of the video category.
All TubePress distributions
false
true or false
YouTube
[tubepress category="true"]
TubePressPro::getHtmlForShortcode(’category="true" ’);
dateFormat
Option name
Description
Provided with
Default value
Valid values
Supported
provider(s)
Shortcode example
Standalone PHP
example
dateFormat
Set the textual formatting of date information for videos. See date() for examples.
All TubePress distributions
M j, Y
Any valid format for PHP’s date() function
Vimeo and YouTube
[tubepress dateFormat="l jS \of F Y h:i:s A"]
TubePressPro::getHtmlForShortcode(’dateFormat="l jS \of F Y
h:i:s A"’);
description
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP example
90
description
Toggle display of the video description.
All TubePress distributions
false
true or false
Vimeo and YouTube
[tubepress description="true"]
TubePressPro::getHtmlForShortcode(’description="true" ’);
Chapter 3. Reference
TubePress Documentation, Release
descriptionLimit
Option name
Description
Provided with
Default value
Valid values
Supported
provider(s)
Shortcode
example
Standalone
PHP example
descriptionLimit
The maximum number of characters of a video’s description that should be displayed.
Descriptions over this limit will be truncated with .... Set to 0 for no limit.
All TubePress distributions
0
Any non-negative integer
Vimeo and YouTube
[tubepress descriptionLimit="150"]
TubePressPro::getHtmlForShortcode(’descriptionLimit="150"’);
id
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP example
id
Toggle display of the video ID.
All TubePress distributions
false
true or false
Vimeo and YouTube
[tubepress id="true"]
TubePressPro::getHtmlForShortcode(’id="true" ’);
length
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP example
length
Toggle display of the video runtime.
All TubePress distributions
true
true or false
Vimeo
[tubepress length="false"]
TubePressPro::getHtmlForShortcode(’length="false"’);
relativeDates
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP
example
3.1. Options
relativeDates
Toggle display of relative dates, such as “last year” instead of “Nov 3, 1980”
All TubePress distributions
false
true or false
Vimeo or YouTube
[tubepress relativeDates="true"]
TubePressPro::getHtmlForShortcode(’relativeDates="true"
’);
91
TubePress Documentation, Release
tags
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP example
tags
Toggle display of the video keywords.
All TubePress distributions
false
true or false
Vimeo
[tubepress tags="true"]
TubePressPro::getHtmlForShortcode(’tags="true" ’);
title
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP example
title
Toggle display of the video title.
All TubePress distributions
true
true or false
Vimeo and YouTube
[tubepress title="false"]
TubePressPro::getHtmlForShortcode(’title="false"’);
uploaded
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP example
uploaded
Toggle display of the video upload date.
All TubePress distributions
false
true or false
Vimeo and YouTube
[tubepress uploaded="true"]
TubePressPro::getHtmlForShortcode(’uploaded="true"’);
url
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP example
92
url
Toggle display of the video URL.
All TubePress distributions
false
true or false
Vimeo and YouTube
[tubepress url="true"]
TubePressPro::getHtmlForShortcode(’url="true"’);
Chapter 3. Reference
TubePress Documentation, Release
views
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP example
views
Toggle display of the video view count.
All TubePress distributions
true
true or false
Vimeo and YouTube
[tubepress views="false"]
TubePressPro::getHtmlForShortcode(’views="false"’);
Interactive Search
Interactive Search Options
•
•
•
•
searchProvider
searchResultsDomId
searchResultsOnly
searchResultsUrl
searchProvider
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP
example
searchProvider
The name of a video provider (e.g. YouTube or Vimeo) which should be searched for
matching videos.
All TubePress distributions
empty
The name of a search provider. Current either youtube or vimeo.
Vimeo and YouTube
[tubepress searchProvider="vimeo"]
TubePressPro::getHtmlForShortcode(’searchProvider="vimeo"’);
searchResultsDomId
Option name
Description
Provided with
Default value
Valid values
Supported
provider(s)
Shortcode
example
Standalone PHP
example
3.1. Options
searchResultsDomId
Used with the detached playerLocation option, this option defines a jQuery selector
for which TubePress should place the search results.
TubePress Pro
empty
Any valid jQuery selector
Vimeo and YouTube
[tubepress searchResultsDomId="#tubepress-search-results-div"]
TubePressPro::getHtmlForShortcode(’searchResultsDomId="#tubepress-search-resu
93
TubePress Documentation, Release
searchResultsOnly
Option name
Description
Provided with
Default value
Valid values
Supported
provider(s)
Shortcode
example
Standalone
PHP example
searchResultsOnly
If set to true, this shortcode will produce search results only after the user has submitted search
terms. It will be “invisible” if the user is not searching.
All TubePress distributions
false
true or false
Vimeo and YouTube
[tubepress searchResultsOnly="true"]
TubePressPro::getHtmlForShortcode(’searchResultsOnly="true"’);
searchResultsUrl
Option name
Description
Provided with
Default value
Valid values
Supported
provider(s)
Shortcode
example
Standalone PHP
example
searchResultsUrl
A URL defining where TubePress should send the user’s search terms. By default, this is
$_SERVER[PHP_SELF].
All TubePress distributions
empty
Any absolute URL
Vimeo and YouTube
[tubepress searchResultsUrl="http://mysite.com/search.php"]
TubePressPro::getHtmlForShortcode(’searchResultsUrl="http://mysite.com/sear
API Cache
API Cache Options
•
•
•
•
94
cacheCleaningFactor
cacheDirectory
cacheEnabled
cacheLifetimeSeconds
Chapter 3. Reference
TubePress Documentation, Release
cacheCleaningFactor
Option name
Description
Provided with
Default value
Valid values
Supported
provider(s)
Shortcode
example
Standalone
PHP example
cacheCleaningFactor
Defines how often TubePress will perform a full clean of its API cache. If you enter x, the API
cache will be cleaned approximately every 1/x cache writes. Enter 0 to disable all cache
cleaning.
All downloadable TubePress distributions
20
Any non-negative integer
Vimeo and YouTube
[tubepress cacheCleaningFactor="0"]
TubePressPro::getHtmlForShortcode(’cacheCleaningFactor="0"’);
cacheDirectory
Option name
Description
Provided with
Default value
Valid values
Supported
provider(s)
Shortcode
example
Standalone
PHP example
cacheDirectory
The absolute path of a directory in which the TubePress API cache can store its contents. This
directory must be writable by the web server’s PHP process owner. If this option is left empty,
TubePress will attempt to find and use the system temporary directory.
All downloadable TubePress distributions
empty
An absolute path of a writeable (by the PHP process owner) directory on the web server, or
empty.
Vimeo and YouTube
[tubepress cacheDirectory="/tmp/tubepress-cache"]
TubePressPro::getHtmlForShortcode(’cacheDirectory="/tmp/tubepress-cache"’);
cacheEnabled
Option name
Description
Provided with
Default value
Valid values
Supported
provider(s)
Shortcode
example
Standalone PHP
example
3.1. Options
cacheEnabled
Enables or disables the TubePress API cache. This can significantly improve the performance
of TubePress at the slight expense of freshness.
All downloadable TubePress distributions
false
true or false
Vimeo and YouTube
[tubepress cacheEnabled="true"]
TubePressPro::getHtmlForShortcode(’cacheEnabled="true"’);
95
TubePress Documentation, Release
cacheLifetimeSeconds
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP
example
cacheLifetimeSeconds
How long, in seconds, before an item in the TubePress API cache is considered to be
stale.
All downloadable TubePress distributions
3600
Any non-negative integer.
Vimeo and YouTube
[tubepress cacheLifetimeSeconds="1800"]
TubePressPro::getHtmlForShortcode(’cacheLifetimeSeconds="1800"’);
Advanced
Advanced Options
•
•
•
•
debugging_enabled
galleryId
httpMethod
https
debugging_enabled
Option name
Description
Provided with
Default value
Valid values
Supported
provider(s)
Shortcode
example
Standalone
PHP example
96
debugging_enabled
Enables or disables TubePress debugging. Keeping this enabled is a slight privacy risk, so if you
are not experiencing difficulty with TubePress then feel free to disable it.
All downloadable TubePress distributions
true
true or false
Vimeo and YouTube
[tubepress debugging_enabled="true"]
TubePressPro::getHtmlForShortcode(’debugging_enabled="true"’);
Chapter 3. Reference
TubePress Documentation, Release
galleryId
Option name
Description
Provided with
Default value
Valid values
Supported
provider(s)
Shortcode
example
Standalone
PHP example
galleryId
Explicitly set the unique identifier of this HTML element. By default, TubePress will assign a
large random number to each element that it produces. This allows TubePress to differentiate
and coordinate between multiple elements on the same page. By setting this option, you can
choose a constant ID so that you can refer to the element via JavaScript.
All downloadable TubePress distributions
empty
Any string, though a positive integer is recommended.
Vimeo and YouTube
[tubepress galleryId="12345"]
TubePressPro::getHtmlForShortcode(’galleryId="12345"’);
httpMethod
Option name
Description
Provided with
Default value
Valid values
Supported
provider(s)
Shortcode
example
Standalone
PHP example
httpMethod
Defines the HTTP method to use for most Ajax operations that TubePress performs. This can be
useful to change when TubePress is used in web servers with tight security requirements.
All downloadable TubePress distributions
GET
GET or POST (case sensitive)
Vimeo and YouTube
[tubepress httpMethod="POST"]
TubePressPro::getHtmlForShortcode(’httpMethod="POST"’);
https
Option name
Description
Provided with
Default value
Valid values
Supported
provider(s)
Shortcode
example
Standalone PHP
example
https
Serve thumbnails and embedded video player over a secure connection. This is useful if you
are running TubePress inside an HTTPS-only site.
TubePress Pro only
false
true or false
YouTube
[tubepress https="true"]
TubePressPro::getHtmlForShortcode(’https="true"’);
3.1.2 YouTube Options
3.1. Options
97
TubePress Documentation, Release
On This Page
• Gallery Sources
– playlist
– favorites
– tag
– user
– youtubeMostPopular
– youtubeRelated
• Embedded Video Player
– autoHide
– fullscreen
– modestBranding
– showRelated
– youtubeClosedCaptions
– youtubeDisableKeyboardControls
– youtubePlayerTheme
– youtubeShowAnnotations
– youtubeShowPlayerControls
• Video Feed
– developerKey
– embeddableOnly
– filter_racy
• Video Meta Display
– rating
– ratings
Gallery Sources
General Options
•
•
•
•
•
•
98
playlist
favorites
tag
user
youtubeMostPopular
youtubeRelated
Chapter 3. Reference
TubePress Documentation, Release
playlist
Gallery source
Description
Notes
Shortcode
example
Standalone PHP
example
YouTube
documentation
playlist
Videos from a YouTube playlist. The playlist is defined by the value you supply to the
playlistValue attribute.
Limited to 200 videos. Currently, only public playlists can be shown with TubePress.
[tubepress mode="playlist" playlistValue="6813408AE8D50E6F"]
TubePressPro::getHtmlForShortcode(’mode="playlist"
playlistValue="6813408AE8D50E6F"’);
Click here
favorites
Gallery source
Description
Notes
Shortcode
example
Standalone PHP
example
YouTube
documentation
favorites
“Favorite” videos of a YouTube user. The YouTube user is defined by the value you supply
to the favoritesValue attribute.
Limited to 50 videos.
[tubepress mode="favorites" favoritesValue="3hough"]
TubePressPro::getHtmlForShortcode(’mode="favorites"
favoritesValue="3hough"’);
Click here
tag
Gallery
source
Description
Notes
Shortcode
example
Standalone
PHP example
YouTube documentation
3.1. Options
tag
YouTube videos matching a search term. Supply space-separated search terms to the tagValue
attribute. To search for an exact phrase, enclose the phrase in double quotes. Use the pipe
character (|) to indicate a boolean OR, and the minus character (-) to exclude a term.
Limited to approximately 1000 videos.
[tubepress mode="tag" tagValue=’"pittsburgh steelers" highlights
-playoffs’]
TubePressPro::getHtmlForShortcode(’mode="tag"
tagValue=’"pittsburgh steelers" -highlights playoffs’);
Click here
99
TubePress Documentation, Release
user
Gallery source
Description
Notes
Shortcode
example
Standalone PHP
example
YouTube
documentation
user
YouTube videos uploaded by a specific YouTube user. The YouTube user is defined by the
value you supply to the userValue attribute.
Limited to 1000 videos.
[tubepress mode="user" userValue="3hough"]
TubePressPro::getHtmlForShortcode(’mode="user"
userValue="3hough"’);
Click here
youtubeMostPopular
Gallery
source
Description
Shortcode
example
Standalone
PHP example
YouTube documentation
youtubeMostPopular
The most popular YouTube videos, selected using a YouTube algorithm that combines many
different signals to determine overall popularity. You can supply all_time or today to the
youtubeMostPopularValue option to control the time frame of the results.
[tubepress mode="youtubeMostPopular"
youtubeMostPopularValue="all_time"]
TubePressPro::getHtmlForShortcode(’mode="youtubeMostPopular"
youtubeMostPopularValue="all_time"’);
Click here
youtubeRelated
Gallery source
Description
Shortcode
example
Standalone
PHP example
YouTube
documentation
youtubeRelated
YouTube videos related to a specific YouTube video. The target YouTube video is identified by
the value supplied to the youtubeRelatedValue option.
[tubepress mode="youtubeRelated"
youtubeRelatedValue="ZTUVgYoeN_b"]
TubePressPro::getHtmlForShortcode(’mode="youtubeRelated"
youtubeRelatedValue="ZTUVgYoeN_b"’);
Click here
Embedded Video Player
100
Chapter 3. Reference
TubePress Documentation, Release
Embedded Video Player
•
•
•
•
•
•
•
•
•
autoHide
fullscreen
modestBranding
showRelated
youtubeClosedCaptions
youtubeDisableKeyboardControls
youtubePlayerTheme
youtubeShowAnnotations
youtubeShowPlayerControls
autoHide
Option name
Description
Provided with
Default value
Valid values
Shortcode example
Standalone PHP example
YouTube documentation
autoHide
Automatically fade out elements of the video player after a few moments of playback.
All TubePress distributions
fadeOnlyProgressBar
fadeBoth Fade both the progress bar and the video
controls
fadeNone Always show both the progress bar and the
video controls
fadeOnlyProgressBar Fade only the progress
bar, but continue to show the video controls.
[tubepress autoHide="fadeNone"]
TubePressPro::getHtmlForShortcode(’autoHide="fadeNo
Click here
fullscreen
Option name
Description
Provided with
Default value
Valid values
Shortcode example
Standalone PHP example
YouTube documentation
3.1. Options
fullscreen
Enable or disable the fullscreen playback option.
All TubePress distributions
true
true or false
[tubepress fullscreen="false"]
TubePressPro::getHtmlForShortcode(’fullscreen="false"’);
Click here
101
TubePress Documentation, Release
modestBranding
Option name
Description
Provided with
Default value
Valid values
Shortcode example
Standalone PHP
example
YouTube documentation
modestBranding
If enabled, hides the YouTube logo from the video controls area.
All TubePress distributions
true
true or false
[tubepress modestBranding="false"]
TubePressPro::getHtmlForShortcode(’modestBranding="false"’);
Click here
showRelated
Option name
Description
Provided with
Default value
Valid values
Shortcode example
Standalone PHP example
YouTube documentation
showRelated
Toggles display of related videos when playback finishes.
All TubePress distributions
true
true or false
[tubepress showRelated="false"]
TubePressPro::getHtmlForShortcode(’showRelated="false"’);
Click here
youtubeClosedCaptions
Option name
Description
Provided with
Default value
Valid values
Shortcode example
Standalone PHP
example
YouTube
documentation
youtubeClosedCaptions
Show closed captions by default.
All TubePress distributions
false
true or false
[tubepress youtubeClosedCaptions="true"]
TubePressPro::getHtmlForShortcode(’youtubeClosedCaptions="true"’);
Click here
youtubeDisableKeyboardControls
Option name
Description
Provided with
Default value
Valid values
Shortcode example
Standalone PHP
example
YouTube
documentation
102
youtubeDisableKeyboardControls
Disable all keyboard controls for the video.
All TubePress distributions
false
true or false
[tubepress youtubeDisableKeyboardControls="true"]
TubePressPro::getHtmlForShortcode(’youtubeDisableKeyboardControls="true"’)
Click here
Chapter 3. Reference
TubePress Documentation, Release
youtubePlayerTheme
Option name
Description
Provided with
Default value
Valid values
Shortcode example
Standalone PHP
example
YouTube
documentation
youtubePlayerTheme
The color theme of the video player .
All TubePress distributions
dark
dark or light
[tubepress youtubePlayerTheme="light"]
TubePressPro::getHtmlForShortcode(’youtubePlayerTheme="light"’);
Click here
youtubeShowAnnotations
Option name
Description
Provided with
Default value
Valid values
Shortcode example
Standalone PHP
example
YouTube
documentation
youtubeShowAnnotations
Show video annotations by default.
All TubePress distributions
false
true or false
[tubepress youtubeShowAnnotations="true"]
TubePressPro::getHtmlForShortcode(’youtubeShowAnnotations="true"’);
Click here
youtubeShowPlayerControls
Option name
Description
Provided with
Default value
Valid values
youtubeShowPlayerControls
Toggles display of the video controls.
All TubePress distributions
showDelayed
Shortcode example
Standalone PHP example
YouTube documentation
[tubepress youtubeShowPlayerControls="fadeNone"]
TubePressPro::getHtmlForShortcode(’youtubeShowPlaye
Click here
hide Hide all video controls
showImmediate Show the video controls. When the
Flash player is used, Flash will load immediately.
showDelayed Show the video controls. When the
Flash player is used, Flash will load when video
playback begins
Video Feed
3.1. Options
103
TubePress Documentation, Release
Video Feed Options
• developerKey
• embeddableOnly
• filter_racy
developerKey
Option name
Description
Provided with
Default value
Valid values
Shortcode
example
Standalone
PHP example
YouTube
documentation
developerKey
YouTube API developer key. YouTube will use this developer key for logging and debugging
purposes if you experience a service problem on their end.
All downloadable TubePress distributions
hidden
Any valid YouTube API key
[tubepress developerKey="..."]
TubePressPro::getHtmlForShortcode(’developerKey="..."’);
Click here
embeddableOnly
Option name
Description
Provided with
Default value
Valid values
Shortcode
example
Standalone
PHP example
YouTube
documentation
104
embeddableOnly
Some videos have embedding disabled. Enabling this option will exclude these videos from
your galleries. Most users will never need to modify this option.
All downloadable TubePress distributions
true
true or false
[tubepress embeddableOnly="true"]
TubePressPro::getHtmlForShortcode(’embeddableOnly="true"’);
Click here
Chapter 3. Reference
TubePress Documentation, Release
filter_racy
Option name
Description
Provided with
Default value
Valid values
Shortcode example
Standalone PHP example
YouTube documentation
filter_racy
Filter out restricted content. YouTube performs the filtering much in the same manner as SafeSearch Filtering
for Google WebSearch.
All downloadable TubePress distributions
moderate
none YouTube will not perform any filtering.
moderate YouTube will filter some videos.
strict YouTube will try to exclude all restricted
videos.
[tubepress filter_racy="strict"]
TubePressPro::getHtmlForShortcode(’filter_racy="str
Click here
Video Meta Display
rating
Option name
Description
Provided with
Default value
Valid values
Shortcode example
Standalone PHP example
rating
Toggle display of the video’s average rating.
All TubePress distributions
false
true or false
[tubepress rating="true"]
TubePressPro::getHtmlForShortcode(’rating="true"’);
ratings
Option name
Description
Provided with
Default value
Valid values
Shortcode example
Standalone PHP example
ratings
Toggle display of the number of times the video has been rated.
All TubePress distributions
false
true or false
[tubepress ratings="true"]
TubePressPro::getHtmlForShortcode(’ratings="true"’);
3.1.3 Vimeo Options
3.1. Options
105
TubePress Documentation, Release
On This Page
• Gallery Sources
– vimeoAlbum
– vimeoAppearsIn
– vimeoChannel
– vimeoCreditedTo
– vimeoGroup
– vimeoLikes
– vimeoSearch
– vimeoLikes
• Embedded Video Player
– playerColor
• Video Feed
– vimeoKey
– vimeoSecret
• Video Meta Display
– likes
Gallery Sources
Gallery Sources
•
•
•
•
•
•
•
•
vimeoAlbum
vimeoAppearsIn
vimeoChannel
vimeoCreditedTo
vimeoGroup
vimeoLikes
vimeoSearch
vimeoLikes
vimeoAlbum
Gallery source
Description
vimeoAlbum
Videos from a Vimeo album. The album is identified by the value supplied to the
vimeoAlbumValue option.
Shortcode example [tubepress mode="vimeoAlbum" vimeoAlbumValue="852694"]
Standalone PHP
TubePressPro::getHtmlForShortcode(’mode="vimeoAlbum"
example
vimeoAlbumValue="852694"’);
Vimeo documentation | Click here
106
Chapter 3. Reference
TubePress Documentation, Release
vimeoAppearsIn
Gallery source
Description
vimeoAppearsIn
Vimeo videos in which a given user appears. The Vimeo user is identified you supply to the
vimeoAppearsInValue attribute.
Limited to 50 videos.
[tubepress mode="vimeoAppearsIn"
vimeoAppearsInValue="dabrainkilla"]
TubePressPro::getHtmlForShortcode(’mode="vimeoAppearsIn"
vimeoAppearsInValue="dabrainkilla"’);
Click here
Notes
Shortcode
example
Standalone PHP
example
Vimeo
documentation
vimeoChannel
Gallery source
Description
vimeoChannel
Videos from a Vimeo channel. The channel is identified by the value supplied to the
vimeoChannelValue option.
[tubepress mode="vimeoChannel" vimeoChannelValue="besthd"]
Shortcode
example
Standalone PHP
example
Vimeo
documentation
TubePressPro::getHtmlForShortcode(’mode="vimeoChannel"
vimeoChannelValue="besthd"’);
Click here
vimeoCreditedTo
Gallery
source
Description
Shortcode
example
Standalone
PHP example
Vimeo
documentation
vimeoCreditedTo
Vimeo videos for which a particular user has either uploaded or appeared in. The Vimeo user is
identified by the value supplied to the vimeoCreditedToValue option.
[tubepress mode="vimeoCreditedTo"
vimeoCreditedToValue="thunderingherd"]
TubePressPro::getHtmlForShortcode(’mode="vimeoCreditedTo"
vimeoCreditedToValue="thunderingherd"’);
Click here
vimeoGroup
Gallery source
Description
Shortcode
example
Standalone PHP
example
Vimeo
documentation
3.1. Options
vimeoGroup
Videos from a Vimeo group. The group is identified by the value supplied to the
vimeoGroupValue option.
[tubepress mode="vimeoGroup" vimeoGroupValue="underachievers"]
TubePressPro::getHtmlForShortcode(’mode="vimeoGroup"
vimeoGroupValue="underachievers"’);
Click here
107
TubePress Documentation, Release
vimeoLikes
Gallery source
Description
Shortcode
example
Standalone PHP
example
Vimeo
documentation
vimeoLikes
Vimeo videos that a particular user has “liked.” The Vimeo user is identified by the value
supplied to the vimeoLikesValue option.
[tubepress mode="vimeoLikes" vimeoLikesValue="besthd"]
TubePressPro::getHtmlForShortcode(’mode="vimeoLikes"
vimeoLikesValue="besthd"’);
Click here
vimeoSearch
Gallery source
Description
Shortcode
example
Standalone PHP
example
Vimeo
documentation
vimeoSearch
Vimeo videos that match a supplied search term. The search term is identified by the value
supplied to the vimeoSearchValue option.
[tubepress mode="vimeoSearch" vimeoSearchValue="rainbow
alligator"]
TubePressPro::getHtmlForShortcode(’mode="vimeoSearch"
vimeoSearchValue="rainbow alligator"’);
Click here
vimeoLikes
Gallery source
Description
Shortcode
example
Standalone PHP
example
Vimeo
documentation
vimeoUploadedBy
Vimeo videos uploaded by a particular user. The Vimeo user is identified by the value
supplied to the vimeoUploadedByValue option.
[tubepress mode="vimeoUploadedBy"
vimeoUploadedByValue="ehough"]
TubePressPro::getHtmlForShortcode(’mode="vimeoUploadedBy"
vimeoUploadedByValue="ehough"’);
Click here
Embedded Video Player
Embedded Video Player
• playerColor
108
Chapter 3. Reference
TubePress Documentation, Release
playerColor
Option name
Description
Provided with
Default value
Valid values
Shortcode example
Standalone PHP
example
YouTube documentation
playerColor
The highlight color of the Vimeo video player.
All TubePress distributions
000000
Any six hexadecimal characters representing an HTML color.
[tubepress playerColor="A32638"]
TubePressPro::getHtmlForShortcode(’playerColor="A32638"’);
Click here
Video Feed
Video Feed Options
• vimeoKey
• vimeoSecret
vimeoKey
Option name
Description
Provided with
Default value
Valid values
Shortcode example
Standalone PHP example
Vimeo documentation
vimeoKey
The API key that TubePress will use when communicating with Vimeo.
All TubePress distributions
empty
Any valid Vimeo API key
[tubepress vimeoKey="..."]
TubePressPro::getHtmlForShortcode(’vimeoKey="..."’);
Click here
vimeoSecret
Option name
Description
Provided with
Default value
Valid values
Shortcode example
Standalone PHP example
Vimeo documentation
3.1. Options
vimeoSecret
The API secret that TubePress will use when communicating with Vimeo.
All TubePress distributions
empty
Any valid Vimeo API secret
[tubepress vimeoSecret="..."]
TubePressPro::getHtmlForShortcode(’vimeoSecret="..."’);
Click here
109
TubePress Documentation, Release
Video Meta Display
likes
Option name
Description
Provided with
Default value
Valid values
Shortcode example
Standalone PHP example
likes
Toggle display of the number of times the video has been “liked”.
All TubePress distributions
false
true or false
[tubepress likes="true"]
TubePressPro::getHtmlForShortcode(’likes="true"’);
3.1.4 Vimeo All Access Options
This page documents the options available with the Vimeo All Access add-on for TubePress.
vimeoApiAccessToken
Option name
Description
Provided with
Default value
Valid values
Shortcode example
Standalone PHP example
Vimeo documentation
vimeoApiAccessToken
The API secret that TubePress will use when communicating with Vimeo.
• All cloud-based TubePress distributions
• Vimeo All Access add-on add-on
empty
Any valid Vimeo API access token
[tubepress vimeoApiAccessToken="..."]
TubePressPro::getHtmlForShortcode(’vimeoApiAccessTo
Click here
vimeoApiAccessTokenSecret
Option name
Description
Provided with
Default value
Valid values
Shortcode example
Standalone PHP example
Vimeo documentation
vimeoApiAccessTokenSecret
The API secret that TubePress will use when communicating with Vimeo.
• All cloud-based TubePress distributions
• Vimeo All Access add-on
empty
Any valid Vimeo API access token secret
[tubepress vimeoApiAccessTokenSecret="..."]
TubePressPro::getHtmlForShortcode(’vimeoApiAccessTo
Click here
3.1.5 Flexible Thumbnail Row Options
This page documents the options available with the Flexible Thumbnail Rows add-on for TubePress.
110
Chapter 3. Reference
TubePress Documentation, Release
flexibleThumbnailRows
Option name
Description
Provided with
Default value
Valid values
Supported
provider(s)
Shortcode
example
Standalone
PHP example
flexibleThumbnailRows
Automatically adjust the height of thumbnail rows in TubePress galleries, ensuring that the
metadata (runtime, title, description, etc) for each video is completely visible
Flexible Thumbnail Rows add-on
false
true or false
Vimeo and YouTube
[tubepress flexibleThumbnailRows="true"]
TubePressPro::getHtmlForShortcode(’flexibleThumbnailRows="true"’);
3.1.6 YouTube Black Bars Remover Options
This page documents the options available with the YouTube Black Bars Remover add-on for TubePress.
youtubeHideBlackBars
Option name
Description
Provided with
Default value
Valid values
Shortcode example
Standalone PHP
example
youtubeHideBlackBars
Hides the “black bars” on most YouTube thumbnails.
YouTube Black Bars Remover add-on
false
true or false
[tubepress youtubeHideBlackBars="true"]
TubePressPro::getHtmlForShortcode(’youtubeHideBlackBars="true"’);
3.1.7 QuickPlay Options
This page documents the options available with the QuickPlay add-on for TubePress.
enableQuickplay
Option name
Description
Provided with
Default value
Valid values
Supported provider(s)
Shortcode example
Standalone PHP
example
enableQuickplay
Replaces video thumbnail images with fully-functional embedded video players.
QuickPlay add-on
false
true or false
Vimeo and YouTube
[tubepress enableQuickplay="true"]
TubePressPro::getHtmlForShortcode(’enableQuickplay="true"’);
3.2 Index
Documentation Index
3.2. Index
111