The Menu Auto Display module displays the title and description of accessible child menu entries when the parent menu is clicked. The display is generated from the child menu entries and permissions granted to the current user.

This module was inspired by system_admin_menu. It simplifies use of multi-level menus by generating a display for the parent level.

After the module has been enabled, all configuration occurs in the menu.

It is in use on a production website.

Project page: https://www.drupal.org/sandbox/vgriffin/2388337

git clone --branch 7.x-1.x http://git.drupal.org/sandbox/vgriffin/2388337.git menu_auto_display
cd menu_auto_display

Manual reviews of other projects

https://www.drupal.org/node/2179021#comment-9902871
https://www.drupal.org/node/2404635#comment-9912517
https://www.drupal.org/node/2454523#comment-9990069

Comments

PA robot’s picture

Status: Needs review » Needs work

There are some errors reported by automated review tools, did you already check them? See http://pareview.sh/pareview/httpgitdrupalorgsandboxvgriffin2388337git

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.

vgriffin’s picture

Status: Needs work » Needs review

Fixed everything found in robot review.

ashopin’s picture

Automated Review

No issues found

Manual Review

Individual user account
Yes: Follows the guidelines for individual user accounts.
No duplication
Yes: Does not cause module duplication and/or fragmentation.
Master Branch
Yes: Follows the guidelines for master branch.
Licensing
Yes: Follows the licensing requirements.
3rd party assets/code
Yes: Follows the guidelines for 3rd party assets/code.
README.txt/README.md
Yes: Follows the guidelines for in-project documentation and/or the README Template.

I would add that I found the README a bit unclear as to what this module does.

Code long/complex enough for review
Yes: Follows the guidelines for project length and complexity.
Secure code
Yes: Meets the security requirements. Used db_queries.
Coding style & Drupal API usage
  1. Make the module description more clear.
  2. Allow for appending page content below the list of children links

This review uses the Project Application Review Template.

smido’s picture

@ashopin From your post, it is not clear whether or what parts of project need review. Where are the items with + and * signs ? I think you should change the status to either 'Needs work' or 'Reviewed by the community'.

ashopin’s picture

Status: Needs review » Reviewed & tested by the community

@smido: My apologies, I forgot to change the status.

vgriffin’s picture

Issue summary: View changes
vgriffin’s picture

Issue summary: View changes
vgriffin’s picture

Issue summary: View changes
heddn’s picture

Status: Reviewed & tested by the community » Needs work
  1. FILE: ...review/sites/all/modules/menu_auto_display/menu_auto_display.inc
    ----------------------------------------------------------------------
    FOUND 1 ERROR AFFECTING 1 LINE
    ----------------------------------------------------------------------
    98 | ERROR | [x] Doc comment long description must end with a full stop.
  2. Similar to #4.1, I'm not really sure how to use this module. I've enabled it and can't get the content to render to check some security things I like to do. I'm marking as needs work for that reason.
vgriffin’s picture

Thank you for actually installing the module and trying to use it! (Sorry to be so late responding to you. I got sick the day after DrupalCon and today is the first time I've been well enough to get back to this.)

I had thought the first sentence of the description above was sufficient explanation for what the module does and how to invoke it. I've changed the actual project description and added text to the README.txt file. The added explanation should clarify how to display generated pages.

vgriffin’s picture

Status: Needs work » Needs review
vgriffin’s picture

Issue summary: View changes
vgriffin’s picture

Issue tags: +PAreview: review bonus
klausi’s picture

manual review:
project page could be a bit more specific with a use case example and screenshot, see also https://www.drupal.org/node/997024 . I also found it confusing how to get this to work, so could add a recipe with steps like "create node 1" then "create node 2" then create "menu item X" then "add menu link for node 1" etc.

Since most of the code is copied from Drupal core this project on its own is too short to approve you as git vetted user. I'm looking at you other sandboxes now.

gauth_svc_acct:
"variable_get('gauth_svc_acct_email_address', '')": all variables defined by your module must be removed in hook_uninstall().

Have to run now, will continue later.

ajalan065’s picture

Hi vgriffin,
your README.txt may be confusing for many users, especially the newbies.. so please modify your README, and include how to use the module preferably step wise. You may also include snapshots.
You may refer to modules like views_slideshow, admin, etc . which is found quite useful for the users.

Also please modify your project page as is mentioned by klausi.

Coding Style


Most of the modules include hook_info() in their .module file (I know its not complusory), but is definitely a good practice.

According to latest Drupal Coding Standards, function name should follow lowerCamel convention, so if you can comfortably change so, then do the changes. Else you can keep so if you feel it would hamper your module's work.

klausi’s picture

Status: Needs review » Fixed
Issue tags: +PAreview: single application approval

google_calendar_merge:

  1. MyException is really not a good exception name, use somthing specific to your module a re-use a PHP core exception.
  2. "watchdog('_google_calendar_merge_events', $calendar_title . ' ' . $calendar_id . ' found');": this looks vulnerable to XSS exploits. I assume $calendar_title is user provided text and cannot be trusted, so you should use proper placeholders in the watchdog() message with the "%" or "@" placeholder. Make sure to read https://www.drupal.org/node/28984 again. Never concatenate variables into translatable strings for t() or watchdog(), always use placeholders instead.
  3. Also looks like your functions are not prefixed with your module name, so you will get name clashes with others.

I haven't tried to exploit the watchdog() security problem, but you should definitely use the correct placeholders in google_calendar_merge, so that is a blocker right now and the reason why we cannot hand out the git vetted user role yet.

But since this project was RTBC already and the only problem was the explanation how it works I think we can at least do a manual promotion of this project. Please get back to us once you need to promote one of the other projects.

Thanks for your contribution, vgriffin!

I promoted this project for you: https://www.drupal.org/project/menu_auto_display

Now that this experimental project has been promoted, you'll need to update the URL of your remote repository or reclone it.

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.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.