The playlist module's sorting feature depends on the Scriptaculous/Protoype javascript library, which apparantly should not be stored on CVS because it is under the MIT License and not GPL. There is a way around this, but I propose migrating to jQuery for future versions.
The temporary workaround could be to make the 4.7 playlist module dependent upon the SPAJAX module, which provides a way to deal with properly incorporating this library. Again SPAJAX's readme file states:
Due to licensing difference between Drupal and Scriptaculous/Protoype,
*** YOU NEED TO DOWNLOAD THE SCRIPTACULOUS LIBRARY SEPERATELY. ***
I propose migrating from Scriptaculous/Protoype to jQuery -- especially now that a new module just came out for working with jQuery in 4.7
Drupal 5.0 will include the fab JavaScript library jQuery. But where does that leave us poor slobs who need to develop on 4.7? Out in the cold, that's where. Sadly, Drupal 4.7's own JavaScript package conflicts with jQuery in a number of places, preventing easy including of the jQuery library in contributed modules.
Enter jquery47, a slightly hacked version of jQuery, compatible with Drupal's own JS files. By invoking jquery_add_js('path/to/your/file.js') you can reap the benefits of jQuery while wrapped warmly in the bosom of Drupal 4.7
Also, there is an Interface Elements Extension pack for jQuery split licensed under MIT & GPL that adds draggable sorting.
To download click on "Sortables," which will download the "Sortables, Draggables and Droppables" extension packs.
Ayman incorporated some drag and drop functionality into the panels module using this extension pack. This might be helpful in figuring out how to incorporate it into the playlist module. Ayman says:
A while ago I posted an article about creating a drag-and-drop interface using Script.aculo.us and Drupal, many were interested in a more functional module especially that Drupal 5.0 provides better JavaScript support with the inclusion of jQuery. Mark recommended integrating this drag/drop functionality into your panels module, I checked the module and indeed I found it to be an excellent backend for my work
Comments
Comment #1
zirafa commentedAh yes. Thanks for the heads up. This is one of the pitfalls of working with external libraries. I agree we should migrate to jquery in the future for our javascript needs as it is more lightweight anyway.
Using SPAJAX is one option to solve our problems, the other is to do away with all Javascript in the 4.7 branch. This is ok because the entire module will degrade nicely (there are already up/down arrows integrated if no JS is present).
I think what will happen is I will remove the Scriptaculous files and make the module operate in non-JS mode for 4.7, unless someone feels up to fixing the 4.7 code. I would really rather spend time developing for 5.0 instead of spending time fixing the 4.7 branch.
Comment #2
zirafa commentedRemoved Scriptaculous library from 4.7 branch. Please open another issue about jquery.
Comment #3
(not verified) commented