Closed (won't fix)
Project:
Drupal.org security advisory coverage applications
Component:
module
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
10 Apr 2013 at 16:30 UTC
Updated:
8 Oct 2013 at 22:24 UTC
Terms TagIt applies a js version to mask the terms reference autocomplete field utilizing tagit format. This allows the user to quickly identify separate tags and remove them from a single click.
Sandbox:
http://drupal.org/sandbox/jerrylow/1966786
Git:
git clone http://git.drupal.org/sandbox/jerrylow/1966786.git terms_tagit
| Comment | File | Size | Author |
|---|---|---|---|
| terms-tagit.png | 19.87 KB | jerrylow |
Comments
Comment #1
SamChez commentedIssues:
Suggested Future Improvements:
Side Notes:
I really like the module itself, tags by default are a pain to put in and more so if you have a lot of them. The module made typing out tags and removing them a breeze although I have to admit it was exasperating having to delete misspelt tags in order to rewrite them. Over I look forward to the full release of this module.
Comment #2
blazas commentedHi,
first of all there are a few issues - such as identation, whitespace and please remove all old CVS $Id tags, they are not needed anymore.
You can find them all here:
http://ventral.org/pareview/httpgitdrupalorgsandboxjerrylow1966786git
There is great tool to check your source code. All issues find there. Please check the issues on the link above
Review :
1) you have all at master branch - create new custom branch eg: 6.x-1.x, move your code to it, and then delete the master branch.
Comment #3
PA robot commentedWe are currently quite busy with all the project applications and we prefer projects with a review bonus. Please help reviewing and we will take a look at your project right away :-)
Also, you should get your friends, colleagues or other community members involved to review this application. Let them go through the review checklist and post a comment that sets this issue to "needs work" (they found some problems with the project) or "reviewed & tested by the community" (they found no major flaws).
I'm a robot and this is an automated message from Project Applications Scraper.
Comment #4
jerrylow commentedWhat a great tool, didn't even know about it. Cleaned up the code, except for the last few warnings which is popped up around the regex.
I've renamed the branch to 7.x-1.x
@Sam - That was part of the originally functionality, I've updated the minChar in the settings so the drop down kicks in on the third character which actually starts eliminating some options.
I'd love to look into being able to edit the tags down the road but hopefully more in collaboration with the original developer of tagsinput.
This module was originally developed for a client, after doing some user testing the lack of the onblur became problematic. Users often forget to hit enter at the end of their last tag. It'll be really hard to balance between having that functionality or not. Possibly something similar to hoverInt may help.
Comment #5
Matters commentedHi, you wrote nice module. And I have not found any remark.
Comment #6
c_lehel commentedQuick note: follow coding standards.
Here are some that the automated tool found:
http://ventral.org/pareview/httpgitdrupalorgsandboxjerrylow1966786git
Comment #7
jerrylow commented@c_lehel I'm not an expert in regex, that code was by the original developer but I don't think there can be spaces after those characters, no?
Comment #8
kscheirerDon't use hook_init() to load your css/js - this will load them on every Drupal request. Try and load them where they are actually needed, when the user is interacting with a term tagit enabled field. The same with
require_once dirname(__FILE__) . '/terms_tagit.inc';. You should also check to make sure curl() exists before using it, or switching to drupal_http_request() instead.jquery.autocomplete.js and jquery.tagsinput.js appear 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.
----
Top Shelf Modules - Enterprise modules from the community for the community.
Comment #9
jerrylow commentedThanks @kscheirer,
I've moved the css/js and the .inc to the appropriate places.
I am using function_exists() to validate curl()'s existence.
As for the 3rd party scripts. They were both modified to work with Drupal, I'll see if the authors will implement the changes - as they are Drupal specific we'll have to see.
Comment #10
jerrylow commentedBTW should I temporarily removed them?
Comment #11
kscheirerI think you should remove them for now. You could include patches that modify the Javscript libraries directly - that way you'd end up with the same code but not need to include anyone else's library. Instructions for downloading, unpacking, and patching those libraries should then go into your README or INSTALL.txt file.
Please set this issue back to "needs review" when you are ready.
----
Top Shelf Modules - Enterprise modules from the community for the community.
Comment #12
jerrylow commentedThanks Karl,
I've started doing some refactoring work will push soon (next couple of days). Working with the libraries' writers to make it work as well. The next push will drop the libraries from the repo.
Comment #13
jerrylow commentedI've removed the third party libraries, working with jQuery Tags Input and Drupal's jQuery UI this time around. I'm using the non compressed js version of Tags Input because there's some issue with the compressed version not expanding out the boxes properly.
I did some research but could find the best way to sanitize $_GET in Drupal so I just ran it through a preg_replace.
Comment #14
c_lehel commentedGood to see that you corrected coding standard issues[http://ventral.org/pareview/httpgitdrupalorgsandboxjerrylow1966786git]. I've done a manual review, code looks clean. A few minor comments:
These are,of course minor things which are not application blockers.
Also I'll probably post a feature request: it should be awesome to see such UI improvements in a Views exposed filter!
Comment #15
jerrylow commentedThanks Lehel, good catches. I've made the changes accordingly.
I've change the code to load from jQuery-Tags-Input folder now, the library was a different name when I started making this module. This should work better now.
I also agree with the views exposed filters, I've used it for years but only recently started customizing it a lot more.
Comment #16
kscheirerIn terms_tagit_json_view() you're not doing any access checks to make sure the user actually has access to the taxonomy vocabulary. Setting to needs work for that, other this looks ready to me. Thanks for switching to Libraries and removing the 3rd party code.
----
Top Shelf Modules - Crafted, Curated, Contributed.
Comment #17
jerrylow commentedAwesome, I've added a check for ability to edit permissions since adding terms is not a default available permission in D7. I've put this back into the reviewed & tested, not sure if I'm allowed to do this after the edits, correct me on this if this is incorrect.
Comment #18
kscheirerHmm, that's weird, I coulda sworn there were permissions for that. Your solution looks reasonable though, thanks!
Thanks for your contribution, jerrylow!
I updated your account to let you 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 get 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.
----
Top Shelf Modules - Crafted, Curated, Contributed.
Comment #19
kscheirerComment #20
klausihttps://drupal.org/project/autocomplete_deluxe
This sounds like a feature that should live in the existing autocomplete_deluxe project. Module duplication and fragmentation is a huge problem on drupal.org and we prefer collaboration over competition. Please open an issue in the autocomplete_deluxe issue queue to discuss what you need. You should also get in contact with the maintainer(s) to offer your help to move the project forward. If you cannot reach the maintainer(s) please follow the abandoned project process.
You still got the git vetted user role, but I would strongly recommend to consider collaboration with an existing module before promoting yet another module of this kind.
Comment #21
jerrylow commentedOh, let me reach out the the maintainers of that project.
Comment #22
kscheirerIt looks like you're using the jquery library and they have a custom js solution.
Comment #23
jerrylow commentedYes, I've just double checked - other than that there is no difference except for some minor uX things.
Comment #24
PA robot commentedClosing due to lack of activity. Feel free to reopen if you are still working on this application (see also the project application workflow).
I'm a robot and this is an automated message from Project Applications Scraper.