Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
This module provides site administrators and content teams an easy, accessible way to display an exit disclaimer when a site visitor clicks on an untrusted link. Other options such as countdown redirect are also available with this module.
Project page: Accessible Exit Disclaimer
Version control: git clone --branch 7.x-1.x https://git.drupal.org/sandbox/alsnyder/2822863.git accessible_exit_disclaimer
Comments
Comment #2
alsnyder CreditAttribution: alsnyder commentedComment #3
PA robot CreditAttribution: PA robot commentedFixed the git clone URL in the issue summary for non-maintainer users.
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.
Comment #4
visabhishek CreditAttribution: visabhishek as a volunteer and at Azri Solutions commentedComment #5
smfsh CreditAttribution: smfsh commentedAutomated Review
[Best practice issues identified by pareview.sh / drupalcs / coder. These test results can be found here and I discussed a few of them below.
Note that perfect adherence to Drupal Coding Standard is NOT a reason to block an application, except for total disregard of them. However, modules should follow them as closely as possible.
Manual Review
If added, please don't remove the security tag, we keep that for statistics and to show examples of security problems.
This review uses the Project Application Review Template.
A couple of other small notes:
Fantastic work and fantastic submission. I might very well use this module in some of my projects.
Comment #6
alsnyder CreditAttribution: alsnyder commentedThank you for taking the time to review the module! I've updated the module with the suggestions/fixes you recommended and pushed it to the repository. In reference to the module duplication item, the Accessible Exit Disclaimer and External Links modules are similar. Last time I used the External Links module it wasn't 508 compliant. The Accessible Exit Disclaimer module is 508 compliant. In addition, there are more customization options such as a countdown redirect and changing the message heard by screen readers in the settings form.
Comment #7
anup.singh CreditAttribution: anup.singh as a volunteer and at Faichi Solutions Pvt Ltd for Faichi Solutions Pvt Ltd commentedHi ,
Still I can see a lot of warning is pareview : https://pareview.sh/node/370, please fix those.
Thanks
anup.singh
Comment #8
alsnyder CreditAttribution: alsnyder commentedHello,
I updated the module with corrections to the warnings and errors listed. Those corrections have been pushed to the repository. I also made the 7.x-1.x branch the default branch.
Comment #9
vaibhavdev CreditAttribution: vaibhavdev commentedAutomated Review:
Review of the 7.x-1.x branch (commit 004ea71):
No automated test cases were found, did you consider writing Simpletests or PHPUnit tests? This is not a requirement but encouraged for professional software development.
Manual Review:
1. In accessible_exit_disclaimer_help function, please define the variable $output outside the switch case, otherwise it will give an error as undefined variable.
2. In the function theme_accessible_exit_disclaimer, I can see you are using the following
if (!path_is_admin(current_path())) {
return $output;
}
But I can see you are defining the output and then not returning the output if the path is admin. You can add this line above the function to avoid processing the output altogether for admin paths.
Comment #10
klausi@vaibhavdev: nice tips, but those alone are surely not application blockers. Anything else that you found or should this be RTBC instead?
Comment #11
vaibhavdev CreditAttribution: vaibhavdev commented@klausi: i think this is not a application blocker and can be moved as RTBC
Comment #12
alsnyder CreditAttribution: alsnyder commented@vaibhavdev I'll add test cases and the items from your review in a later release. Thanks for taking the time to review!
I will move this to RTBC.Comment #13
alsnyder CreditAttribution: alsnyder commentedComment #14
alsnyder CreditAttribution: alsnyder commentedComment #15
alsnyder CreditAttribution: alsnyder commentedSwitched it back to Needs review because I'm not sure if I'm the one to switch the status to RTBC or not. Please confirm.
Comment #16
alsnyder CreditAttribution: alsnyder commentedI pushed the @vaibhavdev's recommendations to the default branch. Please verify everything is working order.
Comment #17
monstrfolk CreditAttribution: monstrfolk commentedHi alsnyder,
I really like this module and will use it as soon as it is fully functional.
My manual review.
1. On settings page.
To reproduce. Install module. Goto admin settings. Leave CSS path empty. Click save.
2. Javascript attaches to all links on page.
3. Links without http or https redirect to Page not found on site.
4. Links with target attribute do not behave as expected. For example target="_blank" does not open the link in a new window.
Comment #18
alsnyder CreditAttribution: alsnyder commentedHi monstrfolk,
Thanks for taking the time to look at the module! I've updated the module to include your recommendations. Listed below are the fixes or explanation why I didn't fix it to each of your items:
Each of these changes can be found in the default branch.
Comment #19
monstrfolk CreditAttribution: monstrfolk commentedAlsnyder,
2. I commented on this because internal links were also triggering the JS. I like the idea of your option to filter that you have added.
3. You could also use the base_url variable and pass that to J's to determine what is an internal vs external URL.
4. Can you make the script still execute, but in a new new tab/window? This is possible with JS and I believe is very useful.
I will review the module again.
Comment #20
alsnyder CreditAttribution: alsnyder commentedmonstrfolk,
I see what you're saying. Yes, the script checks internal links too. Your suggestion to use the base_url variable could prove useful when determining whether or not a link is external. I'll look into it.
As for making the script execute in a new tab/window, I've been considering this as a possible solution for mobile devices. Right now, the modal window displays on mobile devices, but modal windows aren't too user friendly on such small screens. I've been looking into creating a node when the module is installed, then adding the disclaimer information from the configuration form onto the new content node. If I could get this working, I could add an option to force it on desktop too. Is this what you're suggesting when you want the script to execute in a new tab/window?
Comment #21
alsnyder CreditAttribution: alsnyder commentedI'm promoting this to full project. I received the go ahead in a previous comment. I'll implement the feature suggestions in this thread in future releases. Thanks everyone for your help reviewing the code!
Comment #22
apadernoComment #23
PA robot CreditAttribution: PA robot commentedGit clone failed for https://git.drupal.org/sandbox/alsnyder/2822863.git while invoking http://pareview.sh/pareview/httpsgitdrupalorgsandboxalsnyder2822863git
I'm a robot and this is an automated message from Project Applications Scraper.
Comment #24
PA robot CreditAttribution: PA robot commentedClosing 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.