You are here

CHANGELOG.txt in SWF Tools 6.2

Same filename and directory in other branches
  1. 5 CHANGELOG.txt
  2. 6.3 CHANGELOG.txt
  3. 6 CHANGELOG.txt
02 February 2010
----------------
#589326 - PHP 5.3 causes passing by reference through module_invoke() to throw
an error. Custom invoke function created to fix this.

30 September 2009
-----------------
#564512 - Fixed incorrect use of url() when defining SWFTOOLS_DEFAULT_BG
constant.
#586540 by peximo - fix to show correct path when on the admin/settings/embed
page and a custom player path has been set.

23 September 2009
-----------------
Bug discovered in playlist function when it is called with a specific action.

20 September 2009
-----------------
alt text must be suppressed otherwise players are not rendered until they are
activated. In the long run it would be good to support these for player heavy
pages since it minimises the amount of flash loaded, but some clever styling
and scripting is needed to get this working well. For now revert to the old
way of doing things by suppressing alternate text.

19 September 2009
-----------------
#576470 - In response to problems with the 3.1.3 release of FlowPlayer
support for the flowplayer.js embedding script has been added. This allows the
flowplayer module to over-ride the default embedding setting and use the
embedding script instead. This script can co-exist with SWF Object 2 so mixed
content will still work.

As part of this change support for custom control bars has been added by
allowing a custom name to be specified on the settings page.

Implementing flowplayer.js support means that the code is now pretty much
in place to allow use of other JavaScript extensions, like the embed or
playlist features. It also exposes the API so things like accessible
controls should now be possible in FlowPlayer.

Default player and stream plug-ins updated to 3.1.3 and 3.1.2 respectively.

16 August 2009
--------------
#525832 - SWFTOOLS_DEFAULT_HTML_ALT should be translatable. As an initial fix
this has been implemented in the constant definition, but some checks are
needed to see if we should be translating at each point of use.

15 August 2009
--------------
#511682 - Short filter tip changed to show [swf] syntax instead of <swf>
syntax.
#450126 - If swfobject2.js isn't available locally then load it by referring
to http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js. Status
pages will report the js as missing, but it won't prevent the method being
used.

28 April 2009
-------------
#446578 - OnePixelOut players closed incorrectly when flashvars were assigned.
This was due to a glitch in the way the flashvars string was processed to find
the playerID.

22 April 2009
-------------
#424866 - Wijering 4 module will now check to see if either the viral, or the
non-viral players are present, and it will use either (with preference for
viral). This should make the download process easier since viral is the default
download offered on the longtail video website.
#408072 - JW Image Rotator controls can be set to hidden as a default from the
settings page. It can be over-ridden on a player basis by using shownavigation
in the input filter.
#395854 - Documentation links fixed for FP2 and FP3.

21 April 2009
-------------
#414708 - Request to add accessible controls to the Wijering player. An example
of how to do this is available at 
www.longtailvideo.com/support/tutorials/Making-Video-Accessible, which uses
anchor tags to trigger some JavaScript to render the player accessible. I've
done a rough and ready implementation of this just to check it works. The
feature is enabled from the Wijering 4 settings page, and it relies on using
SWF Object 2 for embedding the content since it has to know the player id.

21 April 2009
-------------
#432188 - Modified code to automatically stop other onepixelout players if
there are multiple players on a page. The code from onepixelout has been
adapted to avoid using a fairly inelegant use of setInterval to keep triggering
the registration of players.

20 April 2009
-------------
Discovered simpleviewer had stopped working. The filepaths in the xml were
wrong as they included the partial path to the files directory. Not sure if
this was introduced by the fix on March 30. Patched to make it work again, but
should probably follow up March 30 change in more detail to check. Checked -
the issue was that CCK passes a partial path (sites/default/files/image.jpg)
and this is what causes the error. A filter construct (files="image.jpg") was
ok. So the fix is good since it is necessary to support CCK.

19 April 2009
-------------
#424378 - When using the CCK formatters it is now possible to specify an
alternate handler for the case of a single file being passed to a playlist.
This is primarily of use when handling images where a single image can now be
displayed as a plain image, instead of being placed in a slideshow.
FlowPlayer3 setteings changed so cache is only cleared if new settings are
submitted.

18 April 2009
-------------
#411348 - FlowPlayer3 canvas size is now configurable on the settings page
and can also be set through an input filter.
The available embedding methods are now cached, rather than having to be built
from scratch. This should improve performance quite a bit, especially when
JavaScript is being added to every page.
Caches now flushed when FlowPlayer3 settings page is seen so that changes to
player configuration are reflected.

31 March 2009
-------------
#418254 by Mark Theunissen: Fix generation of unique id in lutman.module.
Try #351725 by glorinand in order to fix #401140.

30 March 2009
-------------
#418550 - Fix spelling of initialize to use US English.
#404076 - Added support for turning multiple CCK fields in to a playlist.
Fixed a bug that became apparent in swftools_playlist_prepare_data() function
that could result in incorrect filepaths being built.

28 March 2009
-------------
Fix error in regex that was used by filters that prevented [] being used in
place of <>.

20 March 2009
-------------
Added integrated support for CCK filefield. Based on #404076 and patches from
stormsweeper (/user/131571) and Amitaibu (/user/57511). Enables a formatter
that attaches to filefields to allow the content to be rendered via SWF Tools.

19 March 2009
-------------
Bring back modified admin form that sets an error and provides the path if a
JavaScript embedding file can't be found (#394276).

18 March 2009
-------------
#405498 - Background gradient for control bar was missing from settings page. 

17 March 2009
-------------
In response to #348437 reported by stormsweeper two changes are implemented.
Added status report to main Drupal status page, and SWF Tools status, to give
a warning if the zlib library isn't present. This library is needed to read
height and width data from compressed swf files. Secondly, player modules now
report a default height and width, so if all else fails we can fall back on
those so that media content will display correctly. As part of this the sizing
function has been separated in to a new swftools_set_size() function to try and
clarify the code.

16 March 2009
-------------
Migrated enhanced color chooser from HEAD. You need to refresh the theme cache
to activate this. Easiest way is go to Administer > Site building > Modules,
don't change anything, and hit Save configuration. 
Brought in support for playslists based on streamed media from HEAD. All media
has to be on the same stream - at present you can't mix streamed and non-
streamed content.
Brought in support for a splash image with FlowPlayer3 - use image="image.jpg"
in the input filter (as for Wijering4).
Added support for product key for commercial FlowPlayers.
Disabled relative urls - more work is needed to confirm that this feature is
working properly. In the interim go back to full paths.

15 March 2009
-------------
FlowPlayer module was merging $vars->othervars in to the configuration array
for the FlowPlayer. This may be contributory in the broken content that was
reported in #401888.

11 March 2009
-------------
Reverse code added recently that produces relative urls - it doens't work
correctly for sites that aren't using clean urls. Tackle this properly as part
of the rewrite of url building that is planned, and that will need to try and
address this, plus international sites.

08 March 2009
-------------
#394858 - Autodetection of action was broken as a result of an intended
optimisation. Gone back to the old method.
#394486 - FlowPlayer3 default player set to latest version.

06 March 2009
-------------
Quick fix for #384876 until I can come up with a better solution (prevents the
SWF Tools playlist cache clear from deleting everything in the root of the file
system!)

06 March 2009
-------------
Code for obtaining available methods simplified further - simply calls
module_invoke_all('swftools_methods') to trigger all modules reporting.
RTMP plugin for FlowPlayer3 now configurable on settings page.
colorpicker.js and colorpicker.css prefixed with flowplayer3_ to avoid any
(unlikely) namespace clashes.
FlowPlayer3 commented heavily to try and make this a good reference point for
future modules. Comments could probably be extracted to developer documentation
at some future point to slim down code.

05 March 2009
-------------
VERY early support for streaming of single flv files via JW4 and FlowPlayser3
players. More a proof of concept at this point as I haven't researched it! At
the moment the playes don't support playlists, but they seem ok for single
files (testing locally using Red5).
swf() function changed to support this - the file assignment for the filename
to a flashvar no longer uses the $file_url which remains internal to SWF Tools,
it now references $vars->othervars['file_url'] as this can be manipulated by
player modules. This is necessary to put the data in the right format for JW4
player. Player modules that don't manipulate that variable should be
unaffected.
File existence checks skipped for streaming files as they could be on a very
different path to the Drupal file system, so we'll not worry.
To use streaming with FlowPlayer3 the streaming plugin must be added to the
FlowPlayer3 shared folder.

28 February 2009
----------------
Lots of tidying up of code done, and added many more comments. Added a number
of docblocks to try and describe what functions do.
Changed swftools_[player]_playlist function to be more consistent with Drupal
hooks so they are now [module]_[player]_swftools_playlist. This change appears
in all player modules. While minor it should make code a little easier to read.
Changed calls to such hooks to use module_hook as this is a bit clearer.
Moved code that defines the methods of SWF Tools itself in to a new function
swftools_swftools_methods(). This is more logical since it is actually a hook in
all other modules, so there is no reason SWF Tools should be any different.
Also moved code that merges the generic player methods to this function since
it makes the code that then assembles the available methods cleaner.
Modified swf() so that you can call it with an array of filenames, in which
case it will automatically prepare a playlist and return the markup - should be
easier for end users, although the old system of calling 
swftools_prepare_playlist_data() and then swf_list() will still work.
Deleted swftools_swftools_flashvars() as this hook didn't do anything.
Refactored swftools_methods_available() as it didn't really need so many if /
else if constructs.
Added new function swftools_strip_base_root() that will try to strip the
$base_root part out of path. What this means is that local files are given a
relative path, rather than an absolute path. Not sure if this gives any real
speed gain, but it looks a bit neater, and if swf isn't working it would help
to highlight where an absolute path is being set.

26 February 2009
----------------
Experimental - why have swf() and swf_list()? The swf() function can simply
detect if an array of filenames was passed, and if it was then it can call
swftools_prepare_playlist_data() and do what swf_list() does.

25 February 2009
----------------
Initialise arrays in swf_list() function to suppress notice errors that are
generated when function is called without passing all settings.

23 February 2009
----------------
Fix coding in swftools.admin.status.inc so it doesn't generate multiple
notice errors when rendering status report.
Admin form changed to use the constant FLOWPLAYER3_MEDIAPLAYER, which makes it
more consistent with code elsewhere.
Support for allowscriptaccess parameter added (in response to #380580)

22 February 2009
----------------
Issue with patch #371615 identified as an issue with flash node and the way
Drupal handles null when writing to the database (converts to (int)0).
Flash node updated to fix this issue, so patch #371615 can be reinstated.

19 Feburary 2009
----------------
Reverse part of patch #371615 as it breaks flash node auto detection of mp3
and flv files as flash node passes a zero, rather than empty.

17 February 2009
---------------
Fix reset configuration options on Wijering and FlowPlayer.

16 Feburary 2009
----------------
Minor fix to swftools_url_parse() to eliminate notice error when processing
strings of parameters.
swftools_flowplayer3_mediaplayer_playlist() simplified as it is not really
necessary to produce a valid xml file.
Tidy up use of . in concatanation of strings

12 February 2009
----------------
#371735 - Fixed - incorrect construction of id tag in HTML.
#371615 by KarenS - fix lines that result in PHP errors when parameters are
not defined.

07 October 2008
---------------
#308515 - Fixed - string used for determining extension was empty when a remote
file is being checked, so code changed to check a more appropriate string.

06 October 2008
---------------
Appending the nocache string to filenames seems to have broken content, but
I'm sure it was working before. Recommitting without the cache setting until
I can be sure it is working right.

03 October 2008
---------------
#314045 - Constants incorrectly defined - fixed.

23 September 2008
-----------------
Cumulative changes that address a number of issues.
Identification of default players on the admin screen was wrong.
swftools_get_media_url changed due to bug that resulted in double /
appearing in the file path (#308172).
Auto-detection of sizes changed so that players are always auto
detected even when a remote media url is configured.
Test content added to status page to help identify if SWF Tools is
working.
Missing php from <?php in swftools.admin.status.inc
Path to default background image generated using url() function.

6 September 2008
----------------
First official release of SWF Tools for Drupal 6!

Text below describes what was changed as part of this release compared to v5.

swftools.module
---------------
Menus updated to v6
Use of l() in filter fixed
Settings call backs updated
File checks in swf() modified to better handle local files(?)
_swftools_tf logic modified - was returning wrong values
allowfullscreen parameter added to _swftools_params and embedding generation routine
Text changed to sentence case for consistency with rest of Drupal
Assigning action in swf() occurred twice - one instance deleted
$nocache logic changed so caching string only appended once at the very end (not sure how this works)
swftools_get_media_url changed to use file_create_url - should allow private file system
Suggested fix for encoding in _swftools_get_flashvars_string applied
swftools_theme() added to allow theme function to be registered
Code that attempts to generate a valid base path altered to make a better guess
Base path made compatible with private file system
Fixes as per issue list at end of this document
Parameter list extended to better support macros
SWF Filter changed to be easier to use with other filters (<swf > is replaced
by [swf ] during the prepare phase, so the code isn't stripped by HTML filters.
[swf ] can be used directly when writing a filter. Filters can now be written
using just [swf file=""] or [swf files=""] and filter will use file/files to
determine if a playlist is intended. [swflist ] can still be used so old filter
entries will work as originally planned.
Filter amended to strip <p></p> from around the filter, to allow W3C validation
to pass.
Direct embedding mark-up changed to be standards compliant.
swf() function parameters altered - now works more like the rest of Drupal 6 as
an array of parameters is passed, rather than a series of parameters - pass an
array with (optional) keys params, flashvars, othervars, methods. Params are
passed to the generation code, flashvars becomes the flashvars string,
othervars and method are passed to SWF Tools handlers.
Check for existence of playlist directory (and creation as required) added to
swftools_get_playlist_path() so it is created without having to visit settings
page.
Constant SWFTOOLS_INSTALLED added to make it easier to notify other modules if
SWF Tools is available.
Adding js to every page now defaults to TRUE (and SWFTOOLS_ALWAYS_ADD_JS added
as a constant for code legibility). This means that SWF Tools behaves as
"expected" with filters, without users having to specifically set this option.
More descriptive messages when no player is configured, so users are directed
to the appropriate settings page.
Various drupal_set_messages made translate by use of t() function.
Wording of settings pages changed to make more consistent with rest of Drupal.
When playing media file_url is added to othervars['file_url'] so that player
modules can access the media file path if they need to. This is particularly
required for FlowPlayer to allow the appropriate config string to be built.
swftools_push_js() added to hook_init(), rather than hook_menu() since it is
technically not a menu function!
New code added to direct embedding to assign an object id to the outer (IE6)
object - without this JW Media Player 4 with IE6 causes pages to say they have
an error.


swftools.admin.inc
------------------
Form creation code adjusted to suit v6 menu call back
Allow full screen parameter added to embed form
Missing files now generate a download link if the download key is set in the
methods array.
Settings page altered slightly to put all file handling options together (some
were under embedding settings). Means embedding settings is now simple for new
users.
Settings moved to sit under Administer > Site configuration > SWF Tools rather
than promoting SWF Tools to a top level below Administer.
Option added to file handling to allow SWF Tools to respond to requests to
access swf, jpg, jpeg, mp3, flv and xml under a private file system.
Cache flushing now calls drupal_flush_all_caches() which clears filters, block
and page caches, so is more likely to ensure changes to flash content are
properly rendered later.


swftools.admin.status.inc
-------------------------
Added a status page that generates reports much like the system status report.
Intent is to provide some diagnostics if an installation isn't working.
At the moment it can report on whether the embedding and playback features
appear to be correctly configured (methods are available, supporting files are
available etc)
Status report is found at admin/reports/swftools.


genericplayers.module
---------------------
Menu updated to v6
Option to disable autoplay flv disabled as generic player always autoplays.


swfobject.info
--------------
Modified to v6


swftools.info
-------------
Modified to v6


swfobject.module
----------------
Added a download key to swfobject_swftools_methods() so the admin form can
provide a link to the required files


onepixelout.module
---------------
Menu updated to v6
Added a download key to onepixelout_swftools_methods() so the admin form
can provide a link to the required files
_swf() and _swflist() functions removed as redundant


wijering.info
-------------
Name string renamed JW Media Player 3 to make explicit to version 4 module.
Description string changed to make explicit this is for JW Player 3.


wijering.module
---------------
Menu updated to v6
Added a download key to wijering_swftools_methods() so the admin form can
provide a link to the required files
_swf() and _swflist() functions removed as redundant


wijering.admin.inc
------------------
wijering_admin_form_submit updated to forms API v6
Form routine tweaked to make it look more like a regular system settings form,
ie Reset to default option added to admin form
Confirmation message added to simulate settings form


wijering4.module / wijering4.admin.inc / wijering4.info
-------------------------------------------------------
Initial version of a module to support Wijering media player 4.
Some of the parameters have been renamed, some are gone, and some new ones
have been implemented.


imagerotator.module / imagerotator.admin.in / imagerotator.info
---------------------------------------------------------------
Image rotator separated out from JW Media Player 3 - logically this is a
different module to the main player module, so it seems sensible to
have this as a separate package. To the end user it makes a logical
distinction between media players and the image cycler. Also, the JW
Image Rotator is still at version 3, so to have Media Player 4 and
Image Rotator 3 would mean enabling Media Player 3 which is counter
intuitive! Internally it still uses the name WIJERING_IMAGEROTATOR
so the existing variables are preserved, even though this is now a
distinct module.


lutman.module
-------------
Added download key to methods array to allow easy download.


lutman.info
-----------
Updated to v6
Is descriptor right? It says lutman is included, but it isn't?


ufo.module
-------------
Added download key to methods array to allow easy download.
Removed alert pop-ups.


ufo.info
-----------
Updated to v6


simpleviewer.module
-------------------
Menu updated to v6.


swfobject2.module / swfobject2.info
-----------------------------------
Support for SWF Object 2 added, and output made standards compliant.
Uses the flashvars in array format, rather than string form, to provide
clearer javascript, and seems to be working ok.
Original version of this module added the js to the page header, but
that causes content generated with filters to break!
js now added to page body, rather than header - remembered that when filter
caching is enabled the js won't get added to the page header!
New code added to assign unique id to the object (using swf followed by the
same id numbers as the div. Without this JW Media Player 4 with IE6 causes
pages to say they have an error.


flowplayer.module / flowplayer.info / flowplayer.admin.inc
----------------------------------------------------------
Feature request under SWF Tools 5.1 asked for support for FlowPlayer.
This module introduces initial support, but more work needed at the
moment. Adding this module resulted in the changes to swfobject2 to
use the array format, and the addition of the media file path to
the resolved_methods array in SWF Tools itself.


Private file handling
---------------------
Change to method of generating path seems to allow private files to work.
Tested with playback of a swf, and also an mp3 via generic and Wijering players.
If files are placed on the site via FTP then a SWF Tools option must be set
on the File handling page to allow SWF Tools to grant access to media files.
It allows access to swf, mp3, flv, xml, jpg, jpeg and png formats. If access is
denied by any other module then access is not allowed, so content that is
being protected by a module is not compromised by activating this setting.
The default setting for allowing access to private files is OFF, so to let
SWF Tools allow handling of private files it must be explicitly set by the
user on the settings page (Administer > Site configuration > SWF Tools >
File handling > Private file system).


General
-------
Broken identifier strings replaced with correct format
UFO and SWFObject 1.5 are both superceded by SWFObject 2.0 - new module written
but not tested extensively yet.
Configuration pages moved to sit under Administer > Site configuration > SWF
Tools, rather than having SWF Tools promoted to its own level.
Default HTML alt added as a constant for clarity, and wording made a little
more informative to assist users who don't see the content.
File locations settings moved from embedding page to file handling page. This
is more consistent, and presents new users with fewer options on the first
settings page. Most people probably never change anything other than the
embedding method at first.


Issue queue
-----------
218326 - Full screen does not work
166804 - Fullscreen option for JW PLAYER
153780 - Full Screen Support using Wijering Flash
Full screen now a parameter on the settings page, and passed to flash modules
to enable it.

191279 - Strange escaping behaviour of ":" and "/" and 1 pixel out Player
173021 - 1PixelOut - Error Opening File
154364 - input formats!
202591 - 1pixelout can't find file
Incorporated the suggested fix to reverse the encoding.
This probably explains "203301 - Error Opening File" as well.

178283 - Patch to fix bug in "base" parameter for direct embedding
Patch applied - base now properly set when using direct embedding mode.

179322 - variable_get for Flash Version incorrect
Suggested fix applied.
scale and swliveconnect had similar errors so fixed those too.

146935 - Menu titles get strange formatting because of surplus white space
Fixed

157397 - file path for attachment is wrong
Think this is fixed with modified file handling mechanism that was needed as
the "double files" issue occurred with flash node too.

252956 - Private Uploads and SWFTools
Should be fixed with new code that allows used of private file systems with
SWF Tools. Note - SWF Tools must be allowed to grant access to playlists.

294163 - Standards Compliant Flash
SWF Tools now produces standards complaint (XHTML 1.0 Strict) using either
direct embedding or via SWF Object 2 *in most cases*. The filter component
has been updated to string the <p></p> that wrap around the <div> containing
the flash, but if you use the format in the middle of a paragraph this won't
work properly and you will get code that FAILS validation. If validation is
important then you may need to test pages containing to SWF Tools content to
verify that they are validating properly.

181473 - FlowPlayer support
FlowPlayer support has been added.

233375 - Upgrade to 6.0
Here it is!

186896 - Wijering player w/playlist shows up on IE, not on FF or Opera
Have not been able to recreate this error, but seems to be ok under all tests
during develop of SWF Tools 6, so assuming can be closed.


File

CHANGELOG.txt
View source
  1. 02 February 2010
  2. ----------------
  3. #589326 - PHP 5.3 causes passing by reference through module_invoke() to throw
  4. an error. Custom invoke function created to fix this.
  5. 30 September 2009
  6. -----------------
  7. #564512 - Fixed incorrect use of url() when defining SWFTOOLS_DEFAULT_BG
  8. constant.
  9. #586540 by peximo - fix to show correct path when on the admin/settings/embed
  10. page and a custom player path has been set.
  11. 23 September 2009
  12. -----------------
  13. Bug discovered in playlist function when it is called with a specific action.
  14. 20 September 2009
  15. -----------------
  16. alt text must be suppressed otherwise players are not rendered until they are
  17. activated. In the long run it would be good to support these for player heavy
  18. pages since it minimises the amount of flash loaded, but some clever styling
  19. and scripting is needed to get this working well. For now revert to the old
  20. way of doing things by suppressing alternate text.
  21. 19 September 2009
  22. -----------------
  23. #576470 - In response to problems with the 3.1.3 release of FlowPlayer
  24. support for the flowplayer.js embedding script has been added. This allows the
  25. flowplayer module to over-ride the default embedding setting and use the
  26. embedding script instead. This script can co-exist with SWF Object 2 so mixed
  27. content will still work.
  28. As part of this change support for custom control bars has been added by
  29. allowing a custom name to be specified on the settings page.
  30. Implementing flowplayer.js support means that the code is now pretty much
  31. in place to allow use of other JavaScript extensions, like the embed or
  32. playlist features. It also exposes the API so things like accessible
  33. controls should now be possible in FlowPlayer.
  34. Default player and stream plug-ins updated to 3.1.3 and 3.1.2 respectively.
  35. 16 August 2009
  36. --------------
  37. #525832 - SWFTOOLS_DEFAULT_HTML_ALT should be translatable. As an initial fix
  38. this has been implemented in the constant definition, but some checks are
  39. needed to see if we should be translating at each point of use.
  40. 15 August 2009
  41. --------------
  42. #511682 - Short filter tip changed to show [swf] syntax instead of
  43. syntax.
  44. #450126 - If swfobject2.js isn't available locally then load it by referring
  45. to http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js. Status
  46. pages will report the js as missing, but it won't prevent the method being
  47. used.
  48. 28 April 2009
  49. -------------
  50. #446578 - OnePixelOut players closed incorrectly when flashvars were assigned.
  51. This was due to a glitch in the way the flashvars string was processed to find
  52. the playerID.
  53. 22 April 2009
  54. -------------
  55. #424866 - Wijering 4 module will now check to see if either the viral, or the
  56. non-viral players are present, and it will use either (with preference for
  57. viral). This should make the download process easier since viral is the default
  58. download offered on the longtail video website.
  59. #408072 - JW Image Rotator controls can be set to hidden as a default from the
  60. settings page. It can be over-ridden on a player basis by using shownavigation
  61. in the input filter.
  62. #395854 - Documentation links fixed for FP2 and FP3.
  63. 21 April 2009
  64. -------------
  65. #414708 - Request to add accessible controls to the Wijering player. An example
  66. of how to do this is available at
  67. www.longtailvideo.com/support/tutorials/Making-Video-Accessible, which uses
  68. anchor tags to trigger some JavaScript to render the player accessible. I've
  69. done a rough and ready implementation of this just to check it works. The
  70. feature is enabled from the Wijering 4 settings page, and it relies on using
  71. SWF Object 2 for embedding the content since it has to know the player id.
  72. 21 April 2009
  73. -------------
  74. #432188 - Modified code to automatically stop other onepixelout players if
  75. there are multiple players on a page. The code from onepixelout has been
  76. adapted to avoid using a fairly inelegant use of setInterval to keep triggering
  77. the registration of players.
  78. 20 April 2009
  79. -------------
  80. Discovered simpleviewer had stopped working. The filepaths in the xml were
  81. wrong as they included the partial path to the files directory. Not sure if
  82. this was introduced by the fix on March 30. Patched to make it work again, but
  83. should probably follow up March 30 change in more detail to check. Checked -
  84. the issue was that CCK passes a partial path (sites/default/files/image.jpg)
  85. and this is what causes the error. A filter construct (files="image.jpg") was
  86. ok. So the fix is good since it is necessary to support CCK.
  87. 19 April 2009
  88. -------------
  89. #424378 - When using the CCK formatters it is now possible to specify an
  90. alternate handler for the case of a single file being passed to a playlist.
  91. This is primarily of use when handling images where a single image can now be
  92. displayed as a plain image, instead of being placed in a slideshow.
  93. FlowPlayer3 setteings changed so cache is only cleared if new settings are
  94. submitted.
  95. 18 April 2009
  96. -------------
  97. #411348 - FlowPlayer3 canvas size is now configurable on the settings page
  98. and can also be set through an input filter.
  99. The available embedding methods are now cached, rather than having to be built
  100. from scratch. This should improve performance quite a bit, especially when
  101. JavaScript is being added to every page.
  102. Caches now flushed when FlowPlayer3 settings page is seen so that changes to
  103. player configuration are reflected.
  104. 31 March 2009
  105. -------------
  106. #418254 by Mark Theunissen: Fix generation of unique id in lutman.module.
  107. Try #351725 by glorinand in order to fix #401140.
  108. 30 March 2009
  109. -------------
  110. #418550 - Fix spelling of initialize to use US English.
  111. #404076 - Added support for turning multiple CCK fields in to a playlist.
  112. Fixed a bug that became apparent in swftools_playlist_prepare_data() function
  113. that could result in incorrect filepaths being built.
  114. 28 March 2009
  115. -------------
  116. Fix error in regex that was used by filters that prevented [] being used in
  117. place of <>.
  118. 20 March 2009
  119. -------------
  120. Added integrated support for CCK filefield. Based on #404076 and patches from
  121. stormsweeper (/user/131571) and Amitaibu (/user/57511). Enables a formatter
  122. that attaches to filefields to allow the content to be rendered via SWF Tools.
  123. 19 March 2009
  124. -------------
  125. Bring back modified admin form that sets an error and provides the path if a
  126. JavaScript embedding file can't be found (#394276).
  127. 18 March 2009
  128. -------------
  129. #405498 - Background gradient for control bar was missing from settings page.
  130. 17 March 2009
  131. -------------
  132. In response to #348437 reported by stormsweeper two changes are implemented.
  133. Added status report to main Drupal status page, and SWF Tools status, to give
  134. a warning if the zlib library isn't present. This library is needed to read
  135. height and width data from compressed swf files. Secondly, player modules now
  136. report a default height and width, so if all else fails we can fall back on
  137. those so that media content will display correctly. As part of this the sizing
  138. function has been separated in to a new swftools_set_size() function to try and
  139. clarify the code.
  140. 16 March 2009
  141. -------------
  142. Migrated enhanced color chooser from HEAD. You need to refresh the theme cache
  143. to activate this. Easiest way is go to Administer > Site building > Modules,
  144. don't change anything, and hit Save configuration.
  145. Brought in support for playslists based on streamed media from HEAD. All media
  146. has to be on the same stream - at present you can't mix streamed and non-
  147. streamed content.
  148. Brought in support for a splash image with FlowPlayer3 - use image="image.jpg"
  149. in the input filter (as for Wijering4).
  150. Added support for product key for commercial FlowPlayers.
  151. Disabled relative urls - more work is needed to confirm that this feature is
  152. working properly. In the interim go back to full paths.
  153. 15 March 2009
  154. -------------
  155. FlowPlayer module was merging $vars->othervars in to the configuration array
  156. for the FlowPlayer. This may be contributory in the broken content that was
  157. reported in #401888.
  158. 11 March 2009
  159. -------------
  160. Reverse code added recently that produces relative urls - it doens't work
  161. correctly for sites that aren't using clean urls. Tackle this properly as part
  162. of the rewrite of url building that is planned, and that will need to try and
  163. address this, plus international sites.
  164. 08 March 2009
  165. -------------
  166. #394858 - Autodetection of action was broken as a result of an intended
  167. optimisation. Gone back to the old method.
  168. #394486 - FlowPlayer3 default player set to latest version.
  169. 06 March 2009
  170. -------------
  171. Quick fix for #384876 until I can come up with a better solution (prevents the
  172. SWF Tools playlist cache clear from deleting everything in the root of the file
  173. system!)
  174. 06 March 2009
  175. -------------
  176. Code for obtaining available methods simplified further - simply calls
  177. module_invoke_all('swftools_methods') to trigger all modules reporting.
  178. RTMP plugin for FlowPlayer3 now configurable on settings page.
  179. colorpicker.js and colorpicker.css prefixed with flowplayer3_ to avoid any
  180. (unlikely) namespace clashes.
  181. FlowPlayer3 commented heavily to try and make this a good reference point for
  182. future modules. Comments could probably be extracted to developer documentation
  183. at some future point to slim down code.
  184. 05 March 2009
  185. -------------
  186. VERY early support for streaming of single flv files via JW4 and FlowPlayser3
  187. players. More a proof of concept at this point as I haven't researched it! At
  188. the moment the playes don't support playlists, but they seem ok for single
  189. files (testing locally using Red5).
  190. swf() function changed to support this - the file assignment for the filename
  191. to a flashvar no longer uses the $file_url which remains internal to SWF Tools,
  192. it now references $vars->othervars['file_url'] as this can be manipulated by
  193. player modules. This is necessary to put the data in the right format for JW4
  194. player. Player modules that don't manipulate that variable should be
  195. unaffected.
  196. File existence checks skipped for streaming files as they could be on a very
  197. different path to the Drupal file system, so we'll not worry.
  198. To use streaming with FlowPlayer3 the streaming plugin must be added to the
  199. FlowPlayer3 shared folder.
  200. 28 February 2009
  201. ----------------
  202. Lots of tidying up of code done, and added many more comments. Added a number
  203. of docblocks to try and describe what functions do.
  204. Changed swftools_[player]_playlist function to be more consistent with Drupal
  205. hooks so they are now [module]_[player]_swftools_playlist. This change appears
  206. in all player modules. While minor it should make code a little easier to read.
  207. Changed calls to such hooks to use module_hook as this is a bit clearer.
  208. Moved code that defines the methods of SWF Tools itself in to a new function
  209. swftools_swftools_methods(). This is more logical since it is actually a hook in
  210. all other modules, so there is no reason SWF Tools should be any different.
  211. Also moved code that merges the generic player methods to this function since
  212. it makes the code that then assembles the available methods cleaner.
  213. Modified swf() so that you can call it with an array of filenames, in which
  214. case it will automatically prepare a playlist and return the markup - should be
  215. easier for end users, although the old system of calling
  216. swftools_prepare_playlist_data() and then swf_list() will still work.
  217. Deleted swftools_swftools_flashvars() as this hook didn't do anything.
  218. Refactored swftools_methods_available() as it didn't really need so many if /
  219. else if constructs.
  220. Added new function swftools_strip_base_root() that will try to strip the
  221. $base_root part out of path. What this means is that local files are given a
  222. relative path, rather than an absolute path. Not sure if this gives any real
  223. speed gain, but it looks a bit neater, and if swf isn't working it would help
  224. to highlight where an absolute path is being set.
  225. 26 February 2009
  226. ----------------
  227. Experimental - why have swf() and swf_list()? The swf() function can simply
  228. detect if an array of filenames was passed, and if it was then it can call
  229. swftools_prepare_playlist_data() and do what swf_list() does.
  230. 25 February 2009
  231. ----------------
  232. Initialise arrays in swf_list() function to suppress notice errors that are
  233. generated when function is called without passing all settings.
  234. 23 February 2009
  235. ----------------
  236. Fix coding in swftools.admin.status.inc so it doesn't generate multiple
  237. notice errors when rendering status report.
  238. Admin form changed to use the constant FLOWPLAYER3_MEDIAPLAYER, which makes it
  239. more consistent with code elsewhere.
  240. Support for allowscriptaccess parameter added (in response to #380580)
  241. 22 February 2009
  242. ----------------
  243. Issue with patch #371615 identified as an issue with flash node and the way
  244. Drupal handles null when writing to the database (converts to (int)0).
  245. Flash node updated to fix this issue, so patch #371615 can be reinstated.
  246. 19 Feburary 2009
  247. ----------------
  248. Reverse part of patch #371615 as it breaks flash node auto detection of mp3
  249. and flv files as flash node passes a zero, rather than empty.
  250. 17 February 2009
  251. ---------------
  252. Fix reset configuration options on Wijering and FlowPlayer.
  253. 16 Feburary 2009
  254. ----------------
  255. Minor fix to swftools_url_parse() to eliminate notice error when processing
  256. strings of parameters.
  257. swftools_flowplayer3_mediaplayer_playlist() simplified as it is not really
  258. necessary to produce a valid xml file.
  259. Tidy up use of . in concatanation of strings
  260. 12 February 2009
  261. ----------------
  262. #371735 - Fixed - incorrect construction of id tag in HTML.
  263. #371615 by KarenS - fix lines that result in PHP errors when parameters are
  264. not defined.
  265. 07 October 2008
  266. ---------------
  267. #308515 - Fixed - string used for determining extension was empty when a remote
  268. file is being checked, so code changed to check a more appropriate string.
  269. 06 October 2008
  270. ---------------
  271. Appending the nocache string to filenames seems to have broken content, but
  272. I'm sure it was working before. Recommitting without the cache setting until
  273. I can be sure it is working right.
  274. 03 October 2008
  275. ---------------
  276. #314045 - Constants incorrectly defined - fixed.
  277. 23 September 2008
  278. -----------------
  279. Cumulative changes that address a number of issues.
  280. Identification of default players on the admin screen was wrong.
  281. swftools_get_media_url changed due to bug that resulted in double /
  282. appearing in the file path (#308172).
  283. Auto-detection of sizes changed so that players are always auto
  284. detected even when a remote media url is configured.
  285. Test content added to status page to help identify if SWF Tools is
  286. working.
  287. Missing php from
  288. Path to default background image generated using url() function.
  289. 6 September 2008
  290. ----------------
  291. First official release of SWF Tools for Drupal 6!
  292. Text below describes what was changed as part of this release compared to v5.
  293. swftools.module
  294. ---------------
  295. Menus updated to v6
  296. Use of l() in filter fixed
  297. Settings call backs updated
  298. File checks in swf() modified to better handle local files(?)
  299. _swftools_tf logic modified - was returning wrong values
  300. allowfullscreen parameter added to _swftools_params and embedding generation routine
  301. Text changed to sentence case for consistency with rest of Drupal
  302. Assigning action in swf() occurred twice - one instance deleted
  303. $nocache logic changed so caching string only appended once at the very end (not sure how this works)
  304. swftools_get_media_url changed to use file_create_url - should allow private file system
  305. Suggested fix for encoding in _swftools_get_flashvars_string applied
  306. swftools_theme() added to allow theme function to be registered
  307. Code that attempts to generate a valid base path altered to make a better guess
  308. Base path made compatible with private file system
  309. Fixes as per issue list at end of this document
  310. Parameter list extended to better support macros
  311. SWF Filter changed to be easier to use with other filters ( is replaced
  312. by [swf ] during the prepare phase, so the code isn't stripped by HTML filters.
  313. [swf ] can be used directly when writing a filter. Filters can now be written
  314. using just [swf file=""] or [swf files=""] and filter will use file/files to
  315. determine if a playlist is intended. [swflist ] can still be used so old filter
  316. entries will work as originally planned.
  317. Filter amended to strip

    from around the filter, to allow W3C validation
  318. to pass.
  319. Direct embedding mark-up changed to be standards compliant.
  320. swf() function parameters altered - now works more like the rest of Drupal 6 as
  321. an array of parameters is passed, rather than a series of parameters - pass an
  322. array with (optional) keys params, flashvars, othervars, methods. Params are
  323. passed to the generation code, flashvars becomes the flashvars string,
  324. othervars and method are passed to SWF Tools handlers.
  325. Check for existence of playlist directory (and creation as required) added to
  326. swftools_get_playlist_path() so it is created without having to visit settings
  327. page.
  328. Constant SWFTOOLS_INSTALLED added to make it easier to notify other modules if
  329. SWF Tools is available.
  330. Adding js to every page now defaults to TRUE (and SWFTOOLS_ALWAYS_ADD_JS added
  331. as a constant for code legibility). This means that SWF Tools behaves as
  332. "expected" with filters, without users having to specifically set this option.
  333. More descriptive messages when no player is configured, so users are directed
  334. to the appropriate settings page.
  335. Various drupal_set_messages made translate by use of t() function.
  336. Wording of settings pages changed to make more consistent with rest of Drupal.
  337. When playing media file_url is added to othervars['file_url'] so that player
  338. modules can access the media file path if they need to. This is particularly
  339. required for FlowPlayer to allow the appropriate config string to be built.
  340. swftools_push_js() added to hook_init(), rather than hook_menu() since it is
  341. technically not a menu function!
  342. New code added to direct embedding to assign an object id to the outer (IE6)
  343. object - without this JW Media Player 4 with IE6 causes pages to say they have
  344. an error.
  345. swftools.admin.inc
  346. ------------------
  347. Form creation code adjusted to suit v6 menu call back
  348. Allow full screen parameter added to embed form
  349. Missing files now generate a download link if the download key is set in the
  350. methods array.
  351. Settings page altered slightly to put all file handling options together (some
  352. were under embedding settings). Means embedding settings is now simple for new
  353. users.
  354. Settings moved to sit under Administer > Site configuration > SWF Tools rather
  355. than promoting SWF Tools to a top level below Administer.
  356. Option added to file handling to allow SWF Tools to respond to requests to
  357. access swf, jpg, jpeg, mp3, flv and xml under a private file system.
  358. Cache flushing now calls drupal_flush_all_caches() which clears filters, block
  359. and page caches, so is more likely to ensure changes to flash content are
  360. properly rendered later.
  361. swftools.admin.status.inc
  362. -------------------------
  363. Added a status page that generates reports much like the system status report.
  364. Intent is to provide some diagnostics if an installation isn't working.
  365. At the moment it can report on whether the embedding and playback features
  366. appear to be correctly configured (methods are available, supporting files are
  367. available etc)
  368. Status report is found at admin/reports/swftools.
  369. genericplayers.module
  370. ---------------------
  371. Menu updated to v6
  372. Option to disable autoplay flv disabled as generic player always autoplays.
  373. swfobject.info
  374. --------------
  375. Modified to v6
  376. swftools.info
  377. -------------
  378. Modified to v6
  379. swfobject.module
  380. ----------------
  381. Added a download key to swfobject_swftools_methods() so the admin form can
  382. provide a link to the required files
  383. onepixelout.module
  384. ---------------
  385. Menu updated to v6
  386. Added a download key to onepixelout_swftools_methods() so the admin form
  387. can provide a link to the required files
  388. _swf() and _swflist() functions removed as redundant
  389. wijering.info
  390. -------------
  391. Name string renamed JW Media Player 3 to make explicit to version 4 module.
  392. Description string changed to make explicit this is for JW Player 3.
  393. wijering.module
  394. ---------------
  395. Menu updated to v6
  396. Added a download key to wijering_swftools_methods() so the admin form can
  397. provide a link to the required files
  398. _swf() and _swflist() functions removed as redundant
  399. wijering.admin.inc
  400. ------------------
  401. wijering_admin_form_submit updated to forms API v6
  402. Form routine tweaked to make it look more like a regular system settings form,
  403. ie Reset to default option added to admin form
  404. Confirmation message added to simulate settings form
  405. wijering4.module / wijering4.admin.inc / wijering4.info
  406. -------------------------------------------------------
  407. Initial version of a module to support Wijering media player 4.
  408. Some of the parameters have been renamed, some are gone, and some new ones
  409. have been implemented.
  410. imagerotator.module / imagerotator.admin.in / imagerotator.info
  411. ---------------------------------------------------------------
  412. Image rotator separated out from JW Media Player 3 - logically this is a
  413. different module to the main player module, so it seems sensible to
  414. have this as a separate package. To the end user it makes a logical
  415. distinction between media players and the image cycler. Also, the JW
  416. Image Rotator is still at version 3, so to have Media Player 4 and
  417. Image Rotator 3 would mean enabling Media Player 3 which is counter
  418. intuitive! Internally it still uses the name WIJERING_IMAGEROTATOR
  419. so the existing variables are preserved, even though this is now a
  420. distinct module.
  421. lutman.module
  422. -------------
  423. Added download key to methods array to allow easy download.
  424. lutman.info
  425. -----------
  426. Updated to v6
  427. Is descriptor right? It says lutman is included, but it isn't?
  428. ufo.module
  429. -------------
  430. Added download key to methods array to allow easy download.
  431. Removed alert pop-ups.
  432. ufo.info
  433. -----------
  434. Updated to v6
  435. simpleviewer.module
  436. -------------------
  437. Menu updated to v6.
  438. swfobject2.module / swfobject2.info
  439. -----------------------------------
  440. Support for SWF Object 2 added, and output made standards compliant.
  441. Uses the flashvars in array format, rather than string form, to provide
  442. clearer javascript, and seems to be working ok.
  443. Original version of this module added the js to the page header, but
  444. that causes content generated with filters to break!
  445. js now added to page body, rather than header - remembered that when filter
  446. caching is enabled the js won't get added to the page header!
  447. New code added to assign unique id to the object (using swf followed by the
  448. same id numbers as the div. Without this JW Media Player 4 with IE6 causes
  449. pages to say they have an error.
  450. flowplayer.module / flowplayer.info / flowplayer.admin.inc
  451. ----------------------------------------------------------
  452. Feature request under SWF Tools 5.1 asked for support for FlowPlayer.
  453. This module introduces initial support, but more work needed at the
  454. moment. Adding this module resulted in the changes to swfobject2 to
  455. use the array format, and the addition of the media file path to
  456. the resolved_methods array in SWF Tools itself.
  457. Private file handling
  458. ---------------------
  459. Change to method of generating path seems to allow private files to work.
  460. Tested with playback of a swf, and also an mp3 via generic and Wijering players.
  461. If files are placed on the site via FTP then a SWF Tools option must be set
  462. on the File handling page to allow SWF Tools to grant access to media files.
  463. It allows access to swf, mp3, flv, xml, jpg, jpeg and png formats. If access is
  464. denied by any other module then access is not allowed, so content that is
  465. being protected by a module is not compromised by activating this setting.
  466. The default setting for allowing access to private files is OFF, so to let
  467. SWF Tools allow handling of private files it must be explicitly set by the
  468. user on the settings page (Administer > Site configuration > SWF Tools >
  469. File handling > Private file system).
  470. General
  471. -------
  472. Broken identifier strings replaced with correct format
  473. UFO and SWFObject 1.5 are both superceded by SWFObject 2.0 - new module written
  474. but not tested extensively yet.
  475. Configuration pages moved to sit under Administer > Site configuration > SWF
  476. Tools, rather than having SWF Tools promoted to its own level.
  477. Default HTML alt added as a constant for clarity, and wording made a little
  478. more informative to assist users who don't see the content.
  479. File locations settings moved from embedding page to file handling page. This
  480. is more consistent, and presents new users with fewer options on the first
  481. settings page. Most people probably never change anything other than the
  482. embedding method at first.
  483. Issue queue
  484. -----------
  485. 218326 - Full screen does not work
  486. 166804 - Fullscreen option for JW PLAYER
  487. 153780 - Full Screen Support using Wijering Flash
  488. Full screen now a parameter on the settings page, and passed to flash modules
  489. to enable it.
  490. 191279 - Strange escaping behaviour of ":" and "/" and 1 pixel out Player
  491. 173021 - 1PixelOut - Error Opening File
  492. 154364 - input formats!
  493. 202591 - 1pixelout can't find file
  494. Incorporated the suggested fix to reverse the encoding.
  495. This probably explains "203301 - Error Opening File" as well.
  496. 178283 - Patch to fix bug in "base" parameter for direct embedding
  497. Patch applied - base now properly set when using direct embedding mode.
  498. 179322 - variable_get for Flash Version incorrect
  499. Suggested fix applied.
  500. scale and swliveconnect had similar errors so fixed those too.
  501. 146935 - Menu titles get strange formatting because of surplus white space
  502. Fixed
  503. 157397 - file path for attachment is wrong
  504. Think this is fixed with modified file handling mechanism that was needed as
  505. the "double files" issue occurred with flash node too.
  506. 252956 - Private Uploads and SWFTools
  507. Should be fixed with new code that allows used of private file systems with
  508. SWF Tools. Note - SWF Tools must be allowed to grant access to playlists.
  509. 294163 - Standards Compliant Flash
  510. SWF Tools now produces standards complaint (XHTML 1.0 Strict) using either
  511. direct embedding or via SWF Object 2 *in most cases*. The filter component
  512. has been updated to string the

    that wrap around the
    containing
  513. the flash, but if you use the format in the middle of a paragraph this won't
  514. work properly and you will get code that FAILS validation. If validation is
  515. important then you may need to test pages containing to SWF Tools content to
  516. verify that they are validating properly.
  517. 181473 - FlowPlayer support
  518. FlowPlayer support has been added.
  519. 233375 - Upgrade to 6.0
  520. Here it is!
  521. 186896 - Wijering player w/playlist shows up on IE, not on FF or Opera
  522. Have not been able to recreate this error, but seems to be ok under all tests
  523. during develop of SWF Tools 6, so assuming can be closed.