This module provides an extra display field for taxonomy fields that allows users with the right permissions to edit the taxonomy terms related to a entity. This makes it easy for visitors to participate and extend your content.

There are 2 different cases:

  • Free tagging: For this field it is possible to let users create new tags
  • Other: These fields just show the standard form to link/unlink existing terms

A typical use case for this module is when you want to extend/complete a large dataset with the help of your visitors. They can help tagging your dataset in the frontend, without needing permissions to change other content.

Sandbox link: Sandbox

Git: git clone --branch 7.x-1.x http://git.drupal.org/sandbox/MarcKwee/2459291.git

Comments

andrdrx’s picture

Hello, MarcKwee!

Manual review

Individual user account - Yes: Application issue contains a link to the project page and a working "git clone" command.
No duplication - Yes: Does not cause module duplication.
Master Branch - Yes: Master branch is set proper to 7.x-1.x
Licensing - Yes: Repository does not contain a ‘LICENSE.txt’ file.
3rd party code/content - No: Repository does not contain any 3rd party code.
Project page docs - Yes: Project page contains not enough information. Please follow this guidelines.
Repository contains a detailed README.txt- Yes: Repository contains a detailed README.txt.
Code contains a well-balanced amount of inline-comments - Yes: Code contains inline comments and function comments.

PAreview.sh review

Please see automated report here :
http://pareview.sh/pareview/httpgitdrupalorgsandboxmarckwee2459291git

Thank You!

PA robot’s picture

We are currently quite busy with all the project applications and we prefer projects with a review bonus. Please help reviewing and put yourself on the high priority list, then 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.

marckwee’s picture

Component: theme » module
marckwee’s picture

Sorry this is a module off course...

immoreel’s picture

Hey there MarcKwee!

Manual Review
Individual user account - Yes: Application issue contains a link to the project page and a working "git clone" command.
No duplication - Yes: Does not cause module duplication.
Master Branch - Yes: Master branch is set proper to 7.x-1.x
Licensing - Yes: Repository does not contain a ‘LICENSE.txt’ file.
3rd party code/content - No: Repository does not contain any 3rd party code.
Project page docs - Yes: Project page contains not enough information. There are some small grammatical issues though
Repository contains a detailed README.txt- Yes: Repository contains a detailed README.txt.
Code contains a well-balanced amount of inline-comments - Yes: Code contains inline comments and function comments.
Also there's a helper function that doesn't start with an underscore (public_tags_get_public_fields)
I also ran codesniffer and it reported the following:

FILE: 2459291/public_tags.info
--------------------------------------------------------------------------------
FOUND 1 ERROR(S) AFFECTING 1 LINE(S)
--------------------------------------------------------------------------------
 6 | ERROR | Files must end in a single new line character
--------------------------------------------------------------------------------
UPGRADE TO PHP_CODESNIFFER 2.0 TO FIX ERRORS AUTOMATICALLY
--------------------------------------------------------------------------------


FILE: 2459291/public_tags.module
--------------------------------------------------------------------------------
FOUND 1 ERROR(S) AND 5 WARNING(S) AFFECTING 6 LINE(S)
--------------------------------------------------------------------------------
 168 | WARNING | Only string literals should be passed to t() where possible
 171 | WARNING | Only string literals should be passed to t() where possible
 179 | WARNING | Only string literals should be passed to t() where possible
 182 | WARNING | Only string literals should be passed to t() where possible
 189 | WARNING | Only string literals should be passed to t() where possible
 222 | ERROR   | There should be no white space before a closing ")"
--------------------------------------------------------------------------------
UPGRADE TO PHP_CODESNIFFER 2.0 TO FIX ERRORS AUTOMATICALLY
--------------------------------------------------------------------------------
mr_infinity’s picture

Hello MarcKwee,

Nice job! Little info down here.

FILE: /Users/infinity/Server/www/Marc/public_tags.module
----------------------------------------------------------------------
FOUND 4 ERRORS AND 5 WARNINGS AFFECTING 9 LINES
----------------------------------------------------------------------
   4 | ERROR   | [x] Doc comment short description must end with a
     |         |     full stop
  19 | ERROR   | [x] Concat operator must be surrounded by a single
     |         |     space
 138 | ERROR   | [x] Concat operator must be surrounded by a single
     |         |     space
 168 | WARNING | [ ] Only string literals should be passed to t()
     |         |     where possible
 171 | WARNING | [ ] Only string literals should be passed to t()
     |         |     where possible
 179 | WARNING | [ ] Only string literals should be passed to t()
     |         |     where possible
 182 | WARNING | [ ] Only string literals should be passed to t()
     |         |     where possible
 189 | WARNING | [ ] Only string literals should be passed to t()
     |         |     where possible
 222 | ERROR   | [x] There should be no white space before a closing
     |         |     ")"
----------------------------------------------------------------------

Time: 168ms; Memory: 10Mb
basvanderheijden’s picture

Status: Needs review » Needs work

Nice! I could think of many use cases where this could be very useful.
Pretty complex module you've written :-) Good job!

My two cents:

See line 179: $form[$field_name][LANGUAGE_NONE]['#title'] = t($settings['label']);
Why are you passing variable names through t(); ?
This could potentially pollute the database. Because if I later decide to change the label (i.e. $settings['label'] receives a new value):
1. my older translations no longer work (because they do not match),
2. the old translation (in the locales_target table) is now orphan.

Furthermore, try to be consistent (i.e. follow Drupal standards) when to use newlines and not. For instance: on line 176 you introduce a newline after an else statement (unnecessary). But you fail to give a newline after the form element definition (between lines 166 and 167).

And one word of advice: try to put all your helper functions in a separate file. The reason for this is twofold: firstly the .module file gets loaded on each requests. But the functionality contained within your helper function is not needed in every request. Secondly: it cleans up and enhances the readability of your module if the module file only contains hook implementations.

Lastly, try to correct the spelling in comments, such as:

Public_tags.module:
Line 294: Because form can be shown multiple times per page.
Line 275: Store all public fields for entity/bundle.

README.txt:
... related to an entity.

PA robot’s picture

Status: Needs work » Closed (won't fix)

Closing due to lack of activity. If you are still working on this application, you should fix all known problems and then set the status to "Needs review". (See also the project application workflow).

I'm a robot and this is an automated message from Project Applications Scraper.