Upcoming, potentially disruptive changes to TubePress’s template system

TubePress 1.8.7 will include a major overhaul of the templating system that could affect current users of TubePress, especially those with existing template modifications. Because of the disruption, I feel it’s important to post an entry here outlining the upcoming changes and why they were made.

Prior to now, TubePress has used HTML_Template_IT from the PEAR project for its templates. While this has been an adequate way to separate business logic from presentation, it has suffered from the following weaknesses:

  • Requires TubePress users to learn yet-another template syntax just to modify the look of their galleries
  • Clunky “parse” concept to handle looping over collections of elements
  • No strong tie between variable names in the templates to variable names in the underlying code
  • Overhead that’s inherent in any PEAR library (error handling, etc)
  • Too many template files to modify (not really the libraries fault)
  • Package is no longer maintained

In TubePress 1.8.7, I have completely ditched HTML_Template_IT and instead chosen to use an extremely lightweight template system that uses plain PHP/HTML. This new system overcomes all of the weaknesses listed above, and I think you’ll find it quite easy to use and blazingly fast.

One other change to note is the semantic structure of the HTML that TubePress produces for its galleries. TubePress will now produce clean, semantically correct HTML to describe the structure of the gallery. Specifically, galleries will now take advantage of the HTML dl/dt/dd elements. All styling of this gallery is done via ui/gallery/css/tubepress.css, and a few extra classes have been added to each gallery element to allow for easy customization.

If you haven’t really modified TubePress’s templates or CSS in the past, you won’t even notice a change in this release. But for those of you who have modified your installation, you’ll need to make a one-time effort to get your styling to work with this new system.

I’m not a fan of making such disruptive changes, but the time to pay down some technical debt is here. And for the long-term health of TubePress’s code base, this is absolutely necessary. I hope you’ll agree that these template changes will provide you with greater freedom and ease in modifying TubePress to suit your site.

TubePress 1.8.7 should be out in the next few days, after I get a chance to complete testing and update the documentation. Please provide any feedback in the forum, and thanks for using TubePress.

Read More

1.8.6 Now Available

I’m happy to announce that TubePress 1.8.6 is now available for download. This release is chock full of bug fixes, and includes a very slick new Ajax-enabled pagination feature for TubePress Pro users. Here is the full list of what’s changed:

  • WordPress options page now uses jQuery tabs
  • Fixed bug that could prevent request cache from working in some PHP installations
  • (TubePress Pro only) Ajax pagination (closes
Read More

1.8.5 Has Been Released

Just released version 1.8.5 of TubePress and TubePress Pro! This version comes with some cool new features and a few very important bug fixes:

  • Videos now play correctly on iPhone and iPod Touch (closes Ticket #101)
  • Flexible shortcodes! No need to include commas between attribute/value pairs. Can use single, double, or no quotes around attribute values. e.g. [tubepress mode="featured" author="false"] will work as well as the old way of [tubepress mode='featured', author='false']
  • Greatly improved debugging mode
  • Fixed bug that prevents all videos in gallery from playing if first video in gallery is unavailable (closes
    Read More

1.8.0 Final

On the heels of 1.8.0.RC1, I’m happy to announce that 1.8.0 final is now available for download. I was pleasantly surprised with the small number of bugs found in RC1. There was a typo on the options page, and I adjusted how TubePress handles private videos based on some great user feedback.

This release also includes drastically overhauled documentation. I’m now using DocBook for all the documentation. I’ve always been impressed with the Spring Framework docs, so I pretty much mimicked how they build it. I think you’ll find it’s much more detailed than before and easier to navigate.

Grab your copy now, and report any feedback in the forum. Enjoy!

Read More

New Look for tubepress.org

Maybe you noticed this site’s new theme. I had been using blog.txt from the folks over at plaintxt.org with some success for well over a year, but I kept feeling that the project was outgrowing its own site. The right sidebar felt clumsy, the footer was embarrassingly empty, and there was no easy way to scale the navigation.

After casual theme shopping for a few weeks, I stumbled upon Modslider from Graph Paper Press. Many things I like about this theme (and these designers):

  • Elegant, muted style
  • Very slick drop-down navigation menu that can easily support a handful of pages
  • Tons of space for widgets (which I use fairly heavily)
  • Clean code – concise HTML and no shameless self-ads
  • A bold “introduction” bubble at the top of the home page
  • The price. I had no idea how expense WordPress themes are getting these days! With Graph Paper Press, you can pay a reasonable fee for access to all their themes.

I’d also like to note that I started using the WP Table Reloaded plugin. You can see it in action on the downloads page as well as the features comparison page. Here’s why this plugin is great:

  • Import/export your tables to/from CSV, XML, or HTML. I can now use version control for my tables, as they’re just XML files. Sweet!
  • Total control of the CSS. I actually stole some of my table styles from the Trac project
  • Shortcodes. I love shortcodes.

Hope you like the new site as much as I do.

Read More

TubePress 1.8.0.RC1

It’s about a month late, but I’m very excited to announce that the first release candidate of TubePress 1.8.0 has landed on the downloads page. There are a ton of changes in this version; the full list can be found here. Here are the notables:

  • New embedded player option: JW Flv Media Player
  • New player location: jqModal
  • Refactored JavaScript functionality with jQuery
    • jQuery 1.2.6 or higher is now required (built-in for WordPress users)
    • Multiple galleries on a single page now behave correctly with “normal” player
    • Dynamically load JavaScript libraries as needed (Prototype, Shadowbox, etc) (closes Ticket #56)
    • All JavaScript is now unobtrusive
    • Can now use modal players (e.g. Shadowbox) in a TubePress shortcode
  • Removed extra HTML comments and whitespace. Galleries now use about 16% less bandwidth.

Due to all the significant changes, I’d like to release this first as a release candidate for testing. Please send your feedback either to the discussion forum or submit a new issue. Thus far it’s been tested with

  • Mac OS X: Firefox 3 and Safari 3
  • Windows XP: Internet Explorer 7 and 8
  • Linux: Firefox 3

You may notice that I’ve removed GreyBox and LightWindow as player options. I spent a long time trying to wrangle these libraries into submission, but I simply couldn’t delay a new release of TubePress any longer. It seems that the majority of TubePress users are not using these players, so hopefully it won’t cause a huge comotion.

Between this release and the release of 1.8.0 final, I’ll be working on more unit tests and documentation. TubePress Pro 1.8.0 will be available at the 1.8.0 final release as well.

Good luck testing, and enjoy this new release!

Read More

1.7.2 Is in the Wild

Just released version 1.7.2 of TubePress. This version includes a bunch of bug fixes and some new features including:

  • Fullscreen playback now available in embedded player (closes Ticket #64)
  • Created “YouTube Feed” options category. Moved some of the advanced options into this category.
  • Added ability to exclude non-embeddable videos (closes Ticket #69)
  • Added jscolor HTML color picker for embedded player colors
  • Fixed bug where debugging mode threw a fatal error (closes Ticket #80)
  • Fixed bug where random video sort order would throw a fatal error
  • Added ability to toggle display of title/rating before video starts playing
  • Now using version 2.0 of YouTube gdata API (closes Ticket #68)

As usual, anyone can get this version from the download page. TubePress Pro users, just use your download link sent to you after your purchase. Please report any problems via a new ticket or in the discussion forum. Hope you enjoy!

Read More

TubePress 1.7.0 Released

Just posted version 1.7.0 of the plugin. This version includes some significant bug fixes, a few new features, and a German translation thanks to Pascal Berger. Here are the release notes:

  • Option to initialize TubePress options in WordPress (closes Ticket #52)
  • Now works with PHP <= 5.1.0 again (closes Ticket #59 and Ticket #67)
  • Links to popup.php are drastically shorter, which avoids a 404 on some webservers (closes Ticket #55)
  • Added German translation thanks to Pascal Berger (closes Ticket #58)
  • Option to play videos in HD (closes Ticket #33)
  • Option to show custom video in embedded player on page load while using "normal" player (closes Ticket #26)

As usual, download the latest version from tubepress.org/download. Enjoy!

Read More

Nightly Builds

If you don’t feel like checking out from Subversion, you can now download nightly builds of TubePress at http://tubepress.org/builds/tubepress_nightly.zip

Read More

Announcing TubePress Pro

Some of you may have noticed that the language on this site has changed over the past few weeks to become slightly less WordPress-centric. If you’ve been watching the code evolve, you’ll also have noticed that the amount of code specific to the WordPress environment has been slowly shrinking. My goal with all of this has been to allow TubePress break free from the restriction of running inside WordPress. Today, with the formal introduction of TubePress Pro, that goal has been reached! With TubePress Pro, you can now get all of the benefits of the TubePress plugin in any PHP environment. Essentially, it’s standalone TubePress!

One thing to note is that I have decided to charge a reasonable fee for TubePress Pro. The donations to TubePress thus far haven’t been quite what I expected, and I hope that you’ll respect my decision to offer this paid product alongside the original. Both the WordPress plugin and TubePress Pro are both 100% GPL‘d, so you’ll always have the source code available to tweak if you like. The WordPress plugin will always been 100% free.

You might be thinking, “Great, another piece of software tacking ‘Pro’ on the end of its name.” I’ve actually put a good amount of thought into what to call this product. I think “Pro” sums up the goals best, as I plan to continue to add features to TubePress Pro that would be of interest to professional bloggers and site administrators (integrated ad support comes to mind).

TubePress Pro shares much of its code base with the original WordPress plugin, so if you’re happy with the TubePress as it is, you can count on me to continue to maintain the code and add features.

If you’d like to try TubePress Pro, head over to the downloads page and give it a try. The TubePress documentation has been updated to show you how easy it is to use.

Thanks, and enjoy!

Read More