It appears that most (all?) modules use the directory:
sites/all/libraries/jquery.cycle
for the jquery.cycle plugin and some (e.g. Field Slideshow) use:
sites/all/libraries/jquery.jcarousel
for the jquery.jcarousel plugin.
Currently, this module uses:
sites/all/libraries/jcarousel
which requires either a link from one directory name to the other (e.g. symbolic link) or duplicating the jquery plugin codebase which is error-prone.
I don't know if there is a standard convention for this documented on drupal.org, but it would be good to standardize if possible.
Comments
Comment #1
kristen polComment #2
jwilson3Deleted (duplicate post, forgot patch ;)
Comment #3
jwilson3I agree with this.
Our site is using both views_slideshow_jcarousel and field_slideshow, which both depend on the same jcarousel library.
The general consensus for third party library naming (already adopted by field_slideshow module) is "jquery.jcarousel" instead of just "jcarousel".
Please review patch provided.
Comment #4
jwilson3Forgot to clean the path for the patchfile...
Comment #5
jwilson3Comment #6
klonosJust for the record, it's not just Field Slideshow. Other modules use jquesry.x for their required libraries:
/sites/all/libraries/jquery.bgiframe
/sites/all/libraries/jquery.cycle
/sites/all/libraries/jquery.cycle2
/sites/all/libraries/jquery.hoverIntent
Can we get this fixed please?
Comment #7
jwilson3@klonos, to move this forward, can you RTBC the patch?
Comment #8
klonosSure. Sorry, I'm currently mostly AFK till the 18th.
Comment #9
amontero+1 for keeping libraries tidy and update easier.
Comment #9.0
amonteroUpdated issue summary.
Comment #10
netw3rker commentedHi guys, I've jumped in as a co-maintainer for this module for a while and am reviewing all of the issues and breathing some life into this. I'm agree 100% with this issue, but, doing this will break sites when they update, so it will either need to degrade nicely into the old way, or wait till a 2.x version kicks in. Thoughts?
Comment #11
jwilson3Requiring a site builder or dev to rename the library folder after updating the module seems like a trivial enough task that it could be added to the Release notes.
In addition to that, an update script that detects the location and foldername of the library, and attempts to rename the folder, and gracefully fall back to a drupal_set_message if it fails (for whatever reason, eg permissions) that explains that the user needs to update the location.
Comment #12
netw3rker commentedMinor version releases aren't supposed to break things. A site maintainer is allowed to have the reasonable expectation that upgrading from 1.1 to 1.2 of something will not require additional steps, and will not break their site, which this change would do. As for going in and attempting to fix this with an update hook, that is dangerous in and of itself because site may have implemented other custom modules that are depending on this naming convention.
An argument could have be made that there is no formal 1.0 release and this is still 'beta' software, which would be a reasonable enough justification to make this kind of change and add it to the release notes. But, I personally feel that ship sailed a few years ago when the last updates were made. Too many people have now treated this as an informal release to risk going in and breaking it.
I'm totally ok with changing this, but it has to degrade nicely in 1.x, and can be a hard requirement in 2.x. That is pretty easy as well (if not even easier than writing an upgrade hook to force the change), simply check for both locations, and use the more desirable one. thats a couple of lines. We can make a note of the future change in the release notes too.
Comment #13
jwilson3Sounds reasonable. If there are other big issues and changes that you're talking about fixing, then it totally makes sense to just draw the line in the sand and start on 2.x.
Comment #14
netw3rker commentedYeah, there area bunch, namely getting this to support the 0.3 version of jcarousel. Wanna help? :)
Comment #15
jwilson3Thanks for asking! Unfortunately, I'm not in a position to take on any more contrib projects at the moment. I wish you the best of luck wrangling this module together, and thanks for stepping up!