Closed (fixed)
Project:
Drupal.org security advisory coverage applications
Component:
module
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
5 Feb 2013 at 19:56 UTC
Updated:
30 Aug 2013 at 17:11 UTC
Module providing fields that enable content editors to easily search and embed videos and playlists stored in Ensemble Video. This module is developed and supported by Ensemble Video. We know of no other modules that provide this level of integration with our platform.
Ensemble Video: https://www.ensemblevideo.com/
Project page: http://drupal.org/sandbox/jmpease/1834810
git clone http://git.drupal.org/sandbox/jmpease/1834810.git ensemble_video
For Drupal 7+
Configuration for testing:
Comments
Comment #1
abhijeetkalsi commentedHi,
first of all there are quite a few issues to sort out such as indentation, whitespace.
You can find them all here:
http://ventral.org/pareview/httpgitdrupalorgsandboxjmpease1834810git
Here you can check source code whether it meets drupal coding standards or not, and advise you what to change in your code. You can repeat review after your commits, and can fix those errors. And then change your status again.
Comment #2
jmpease commentedAs mentioned in the note in my description, those two files are included from an upstream project that I maintain. Unfortunately, the nature of those two files makes it impossible to conform to the Drupal formatting standards tested via PAReview.sh. All other project files conform and pass. PAReview.sh is simply a tool, yes?
Changed the status back to 'needs review' with the hope that someone can take a more in-depth look beyond the automated review tool.
Comment #3
rob.barnett commentedHi,
The code looks well written to me. One suggestion to consider is mentioning the use of dataTables jquery plugin on your project page. Sites might already be using the dataTables project. I don't know if version differences could cause conflicts or just that folks might want to be informed ahead of time what external plugins are being used. Perhaps simply adding this to your README file would suffice.
You may want to use drupal_json_decode instead of json_decode. It is Drupal's wrapper for json_decode in D7.
The only other minor issue which is no big deal that coder found is:
ensemble_video.proxy.inc
Line 30: String concatenation should be formatted with a space separating the operators (dot .) and the surrounding terms
$api_url = preg_replace('/http(s)?:\/\//', 'http$1://' . $username . ':' . $password . '@', $api_url);
Overall it looks very good.
Comment #4
jmpease commentedThanks for taking the time to look this over hurley.
Good catch by the way...I overlooked that dataTables dependency. It's no longer in use so I removed that line. I did, however, add a section to the README.txt and project page detailing the lodash and backbone dependencies.
I also took your advice and switched from json_decode to drupal_json_decode...didn't know that existed. PAReview.sh should only catch formatting again with the upstream ev-script js libraries as I cleaned up the ensemble_video.proxy.inc file. Must've missed that in my last commit.
Thanks again!
Comment #5
klausiWe are currently quite busy with all the project applications and I can only review projects with a review bonus. Please help me reviewing and I'll take a look at your project right away :-)
Comment #6
aw030 commentedAutomated review:
PAreview.sh on ventral.org: http://ventral.org/pareview/httpgitdrupalorgsandboxjmpease1834810git gives multiple warnings/errors in multiple files ... in the 3rd party scripts
Coder module: Coder found 1 projects, 7 files, 3 normal warnings,... in the 3rd party scripts
Manual review:
It's only a tip (i read your notes in description): The js-files throwing these errors in the automated review scripts seem to be from a third party, should they directly included in the module package? Also the images like ensemblevideo-logo are included. Please be sure that the drupal rules for using thrid party codes is ok for your module in this case.
But therefore all looks very nice.
In a manual code-review i found no issues, but while testing i was not able to find any testing/demo "Ensemble Video Base URL" that worked for me.
Is there an "Ensemble Video Base URL" for testing the configuration? Please provide if there is one...
Comment #6.0
aw030 commentedAdded link to EV website for reference.
Comment #7
aw030 commentedrevert issue status.
Comment #8
jmpease commentedThanks for taking a look at this aw030.
The included script and images are copyright Ensemble Video, as is this module (implicitly anyway, not sure of the proper way to make that clear), so I don't *think* the third-party restrictions apply in this case. Perhaps someone with more insight can clarify.
I added some configuration info to the application description so reviewers interested in testing can do so.
Appreciate the review aw030.
Comment #9
jbloomfield commentedAutomatic Review
Quite a few errors found by ventral.org at http://ventral.org/pareview/httpgitdrupalorgsandboxjmpease1834810git (I take it these are from the 3rd party library)
Manual Review
So no issues found for me other than maybe looking into including the 3rd party JS library using the Libraries API module.
Comment #10
klausiev-script.js: appears to be 3rd party code. 3rd party code is not generally allowed on Drupal.org and should be deleted. This policy is described in the getting involved handbook. It also appears in the terms and conditions you agreed to when you signed up for Git access, which you may want to re-read, to be sure you're not violating other terms. The Libraries API module is a recommended method for adding 3rd party dependencies without directly including the code on Drupal.org.
Comment #11
jmpease commentedThanks for looking at this jbloomfield, klausi.
I've read the policy re inclusion of 3rd party code a few times now, and it's not clear to me yet how the included ev-script library applies. That is a library *I* developed specifically for this integration...although it has since been repurposed for my use elsewhere (integrations that I author as an Ensemble Video employee between Ensemble Video and other systems). There is likely no use for this library within Drupal outside of this module...for that reason we've decided it is not worth the effort to expose this via the Libraries API.
While at some point it would be nice if we could host this via CDN we are not in a position to do so at this time. As such, it makes most sense to distribute within the module (which is entirely useless w/o it...as this script provides the bulk of the functionality).
Folks such as yourselves who've been generous enough to give their time for review have each indicated that this seems to be a third-party script. I'm a bit confused, however, as to what gives that impression despite some failed efforts to indicate otherwise. What am I failing to understand here?
klausi - I completely understand that time is a precious commodity and you're backlogged here...if some becomes available on my end I'll do my best to contribute to the review effort.
Thanks in advance for any clarification you can provide.
Comment #12
jmpease commentedUpdated status based on my understanding of the convention for this process.
Comment #13
jbloomfield commentedHi,
I only assumed it was 3rd party because one of the scripts was minified. If it is your own script then maybe don't minify it as Drupal will aggregate JS files anyway.
Cheers.
Comment #14
aw030 commentedAgain only a suggestion:
I think it's a really good idea to use the Libaries API to include these scripts, when the copyright notations must stay in there. I think when these scripts are also downloadable at github, it could be used well for other platforms to interact with ensemblevideo (if thats the idea of ensemblevideo then the Libaries API would be the solution to stay the "owner" these scripts). Perhaps you find a way to get an exception here (Infos about 3rd party libraries on Drupal.org) if the cases applies to you: http://drupal.org/node/422996 .
Comment #14.0
aw030 commentedAdded configuration instructions to description for testing.
Comment #15
jmpease commentedRemoved minified version of ev-script as per jbloomfields suggestion.
aw030 - you make a good point. I'll look more into the Libraries API for this.
Comment #16
drebroff commentedHi,
During manual test I came to the step when I should add a video through field to node (for example). I click sign "+", enter u:hasp p:hasp
and begin to watch "loading gif". After some time I receive an alert:
Could not find requested resource. This is likely a problem with the configured Ensemble Video base url.I configured base url as: https://cloud-test.ensemblevideo.com
So I could not confirm module working as it should be.
ev-script.js third party file are still in the current branch.
Thank you.
Comment #17
PA robot commentedClosing due to lack of activity. Feel free to reopen if you are still working on this application.
I'm a robot and this is an automated message from Project Applications Scraper.
Comment #18
jmpease commentedReopening. Will work on externally hosting the "third party" script that I wrote for this module.
Comment #18.0
jmpease commentedUpdated description to, hopefully, clarify that I am the author/maintainer of the included ev-script.js library.
Comment #19
jmpease commentedHosting ev-script externally.
Comment #19.0
jmpease commentedUpdated description due to removal of ev-script (hosting externally).
Comment #20
jmpease commentedComment #21
kscheirer3rd party code was removed. You have a couple of errors reported here: http://pareview.sh/pareview/httpgitdrupalorgsandboxjmpease1834810git. You should remove the .gitignore file. It would still be nice if you would use the Libraries API to load the required javascript libraries. I don't think there are any remaining blocking issues though.
----
Top Shelf Modules - Crafted, Curated, Contributed.
Comment #22
jmpease commentedThanks kscheirer.
I fixed the errors reported by the automated review. Removed .gitignore. Removed css and images that should be hosted upstream alongside the ev-script js lib.
Re the Libraries API...if it's not a requirement I'd like to hold off on support for that at this time. I think it's solving a problem that I don't anticipate having (for some time anyway). After all, this module provides integration between Drupal and our licensed Ensemble Video product. We're committed to supporting our clients...and I expect that the support overhead of helping folks install the dependencies, having gone the Libraries API route, would outweigh that of dealing with potential errors caused by js library conflicts.
Comment #23
jmpease commentedReverting unintentional status change.
Comment #24
klausiI'll look at this now in the Project applications sprint
Comment #25
klausiSorry for the delay, but you have not listed any reviews of other project applications in your issue summary as strongly recommended in the application documentation.
manual review:
But that are not critical blockers, so ...
Thanks for your contribution, jmpease!
I updated your account so you can promote this to a full project and also create new projects as either a sandbox or a "full" project.
Here are some recommended readings to help with excellent maintainership:
You can find lots more contributors chatting on IRC in #drupal-contribute. So, come hang out and stay involved!
Thanks, also, for your patience with the review process. Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.
Thanks to the dedicated reviewer(s) as well.
Comment #26.0
(not verified) commentedAlthough preferred for testing, cloud-test is unstable ATM as we finish up our 3.6.0 release...folks can test against cloud in the meantime.