You are here

MyTube changelog

What follows below is a list of newly added features and known bugs in the updated version of MyTube 1.x. MyTube 0.x was written by Tim Jones of the Electronic Frontier Foundation, but went unmaintained for several years, and was only working for Drupal 5. What follows is a rewrite that works in both Drupal 5 and Drupal 6, with a number of new features and fixes. For more general information about MyTube, please see the project page at


  • While the original MyTube module implemented hook_nodeapi, this version implements hook_filter. What this means for non-developer webmasters is that instead of automatically working on every node, and not comments, MyTube can now work on anything that uses a configurable input format, including comments, and can be arbitrarily turned off on any content by an administrator or someone with permission to select an input format which doesn't use MyTube Filtering. This does require an administrator enable MyTube for their input format(s), however. Effectively, by changing MyTube into an input filter, it is far more configurable even without the new features.
  • "Privacy info" text is now configurable. While the (configurable) Privacy info link will always precede it, the caption can be changed from the settings page. !embed is an alias for the detected full embed URL, and !domain is an alias for the top-level domain of that URL.
  • Privacy info link will now point to by default if no value is defined. Both relative (to website root) and cross-site links are supported.
  • Custom YouTube parameters can be defined within the settings page. These are automatically applied to all embeds throughout the website, and override any variables defined in individual YouTube embeds.
  • Much effort is made to ensure thumbnails and embedded content are the same size, and this almost always works. Depending on the "Users may override default sizes" setting, embeds across the entire site may conform to the webmaster's default width and height, or these values may be parsed from the embed code when loading the thumbnail, but they will nonetheless be the same.
  • Remote thumbnails may be globally blocked by the webmaster. A remote image would partially defeat the purpose of MyTube, as it means making a remote request with a referrer header. In both this version and the old version, content submitters could include a custom thumb= attribute to specify an arbitrary thumbnail instead of the default.gif thumbnail.
  • Local thumbnails are now downloaded and displayed automatically for YouTube™ and Vimeo™ embeds. These automatically set thumbnails cannot be overridden with the thumb= attribute.
  • All videos from YouTube™, Vimeo™ (both old and new formats), Google™ Video, Ebaumsworld™, and MySpace™ will automatically begin playing when clicked. Normally, these videos would (by default) wait for users to click play, since they're assumed to automatically load with the containing page. In this case, it would be redundant for users to click "play" twice.

Known issues:

  • If users are allowed to use remote thumbnails with the thumb= attribute, and they specify a broken link or image for this attribute, the video will not have a placeholder. A fix may happen in the near future.
  • YouTube playlists ( are not currently supported. Support is planned for the future, but no date is set at this time. Such playlists will be replaced with broken code by a known bug.
  • In some cases, nodes with MyTube embeds that also have comments with MyTube embeds conflict. This usually happens when the node has an embed, and a new embed is posted as a comment. If this happens, the first videos in the node will load the first videos in the comments, despite their link pointing to the correct destination. This will automatically correct itself by clearing the cache.
  • MyTube has never — and unfortunately probably never will — work in Internet Explorer. Internet Explorer will not load embedded objects that aren't preloaded, and won't load objects directly. Preloading objects would completely defeat the purpose of MyTube, which is designed to prevent automatic remote requests until the viewer opts in. As far as I know, there is no workaround for this, but if anyone has experience in IE-centric coding I would love to hear your ideas on how to dynamically add embedded objects to pages in Internet Explorer. As a workaround, there is currently a configurable error message to display to users of Internet Explorer. Update: MyTube appears to be working in Internet Explorer 8 (32-bit). The reason for it working now, but not working in the past, has yet to be determined, but the tests have been run on identical versions. More information will be posted here when we know more, but for now please let us know how your experience turns out. Simply fill out our contact form, select the "website support" category, and include "MyTube" in the subject.
  • HTML comments are escaped in Drupal 5. This does not affect Drupal 6! As a mitigation for a security vulnerability, which would allow embedded content to pass through MyTube unfiltered and automatically launch, MyTube depends on HTML Corrector, and automatically passes content through this filter before its own functions. HTML Corrector is part of the core for Drupal 6, but the downloadable module for Drupal 5 appears to have a bug that escapes comments.
  • If users are not allowed to set their own width and height for embeds, MyTube will also replace user-defined width= and height= attributes from images and similar objects. This does not affect img tags where the width/height aren't defined. There is no fix as of yet, but as a workaround this can be prevented by allowing users to set custom width and height.
  • Although support for autoplaying videos from is built in, it appears not to work consistently.
  • Drupal v. 5 lists that MyTube is incompatible with aggressive caching. In testing, there are no known conflicts between MyTube and Drupal's caching as of yet, and I do not know what triggers the error. As far as I know, MyTube works seamlessly with Drupal's caching.