![Announcement icon Announcement icon](https://www.drupal.org/files/styles/grid-2-2x-square/public/announcements/drupal-evergreen-logo-280X280px%20%281%29_0.jpg?itok=PHpn6rCb)
Description
This module helps with making your website compliant with the EU Directive on Privacy and Electronic Communications that comes into effect in the UK on 26th May 2012.
This module is intended for use with Drupal 6 and it is similar to the Cookie Control module developed for Drupal 7. The Cookie Control user interface requires a minimum of jQuery 1.4.4 which is not supported for Drupal 6.
The module makes website visitors aware of the fact that cookies are being set by displaying a pop-up. The user may then give his/her consent or move to a page that provides more details.
The module provides a settings page where the pop-up can be customised and template files for the pop-up that can be overridden by your theme.
Project page
http://drupal.org/sandbox/marcin_pajdzik/1538032
Repository
git clone --branch 6.x-1.x marcin_pajdzik@git.drupal.org:sandbox/marcin_pajdzik/1538032.git eu_cookie_compliance
Reviews of other projects:
http://drupal.org/node/1503782#comment-5911112
http://drupal.org/node/1458858#comment-5910152
http://drupal.org/node/1310702#comment-5905992
Comment | File | Size | Author |
---|---|---|---|
EU_Cookie_ Compliance_settings_form.png | 34.8 KB | Miszel |
![Acquia logo](/files/ads/acquia-issue-sponsorship.png)
Comments
Comment #1
patrickd CreditAttribution: patrickd commentedwelcome,
You are working in the "master" branch in git. You should really be working in a version specific branch. The most direct documentation on this is Moving from a master branch to a version branch. For additional resources please see the documentation about release naming conventions and creating a branch in git.
You have to remove the LICENSE file, it will be added automatically later, also all code hosted on drupal.org is under GPL automatically.
As installation and usage instructions are quite important for us to review, please take a moment to make your project page follow tips for a great project page. Also make sure your README.txt follows the guidelines for in-project documentation.
I've seen you were already working on the automated review, just ask if you got problems there
(http://ventral.org/pareview/httpgitdrupalorgsandboxmarcinpajdzik1538032git)
We do really need more hands in the application queue and highly recommend to get a review bonus so we can come back to your application sooner.
regards
Comment #1.0
Miszel CreditAttribution: Miszel commentedChanging the repository branch from master to 6.x-1.x-dev
Comment #2
Miszel CreditAttribution: Miszel commentedThank you for your comments. I have now fixes all issues. Please review again.
Comment #3
scot.hubbard CreditAttribution: scot.hubbard commentedI can confirm that the automated PAReview tool does not return any errors/warnings.
Reading through the code, it all seems to check out.
One recommendation that immediately springs to mind would be to use the '#format' key on the 'eu_cookie_compliance_popup_info' and 'eu_cookie_compliance_popup_agreed' keys on the admin form. Your install file creates these variables and puts HTML in them, so doing this would allow end users to select any input method available to them and therefore enter HTML via the WYSIWYG module (if available).
I would also suggest disabling the pop-up for user-1 (admin) and also for anyone logged in and using the admin pages (though they probably would have already agreed the popup before hitting the admin pages).
Like the way the user is presented with the acceptance though... nicely done.
Comment #3.0
scot.hubbard CreditAttribution: scot.hubbard commentedCorrected repository branch
Comment #4
Heine CreditAttribution: Heine commentedThe name "EU cookie compliance" implicates that the module can be used EU-wide. This appears not to be the case, as it targets UK law. Wouldn't a better name be "UK EU cookie compliance"?
In addition, the site that demos the module sets 6 cookies before the user gives consent. As such, it is not compliant with UK law as far as I understand it, and should perhaps be renamed to something else.
Comment #5
Miszel CreditAttribution: Miszel commentedThank you for your review, Heine.
The EU law will be enforced in all EU countries and hence the module can be used in all EU countries. I have amended the project description to include that information.
The module, as mentioned in the description, does neither do any cookie audit nor does it prevent cookies from being set. It does however provide a javascript function that can be used to conditionally set/unset cookies. As every website will be setting different cookies it is up to the website owner to audit the site, provide information to the user on what cookies his/her website uses and decide which cookies should be set after consent is given.
What is worth noting, however, is that simply installing and configuring the module shows the regulator that the website owner is visibly working towards compliance. That will buy the time required to perform a full audit and then to amend the way cookies are set.
Comment #6
Miszel CreditAttribution: Miszel commentedScot, thank you for your suggestions. I have now added the '#format' key to the textareas. I reckon that this will be quite helpful.
I ma not sure about disabling the pop-up for admin users. If you go to the settings page and enable the module, you would do that as user-1. If I disable it for user-1, you will have to log out to see the pop-up and hence it will be more difficult to adjust settings such as height and width. (unless you use another browser to look at how the pop-up changes).
If I hear other voices saying that it should be disabled for admin users, I will disable it.
Comment #7
aiypz CreditAttribution: aiypz commentedMarcin,Just wanted to say thanks for getting the ball rolling on this for Drupal 6. It would be great if the cookies could be disabled until a user accepts via the popup. However, I understand how busy everyone is (everyone's probably got their heads down in spreadsheets making cookie audits for their sites :-) ). I agree that this at least shows that the website owner is working towards compliance.
Comment #8
Miszel CreditAttribution: Miszel commentedThe problem is that cookies are specific to each website and hence without a proper cookie audit and without changing the application work-flow it seems to be impossible to fully comply with the regulation. I can't think of a way of doing that in a general way in a single module but I am, of course, open to any suggestions.
Expiring all cookies with javascript when a visitor arrives on a site does not seem to be an option because it is difficult to reliably clear all cookies that should not be there. Some cookies, even if they are set on the same domain, can be set on different paths. Third party cookies will be set on other domains. Cookies required for the site to function correctly, such as session cookies, are exempt from the regulation.
For the above reasons I think that each site will have to come up with a solution that will have to take into account its specifics. The aim of this module is to provide cookie notifications to the user and provide functions that can be used by developers to conditionally set cookies if necessary.
Comment #8.0
Miszel CreditAttribution: Miszel commentedAdded review of other projects
Comment #8.1
Miszel CreditAttribution: Miszel commentedAdded another project review
Comment #9
Miszel CreditAttribution: Miszel commentedAdded review bonus tag
Comment #10
luxpaparazzi CreditAttribution: luxpaparazzi commentedReview of the 6.x-1.x branch:
This automated report was generated with PAReview.sh, your friendly project application review script. You can also use the online version to check your project. Get a review bonus and we will come back to your application sooner.
Comment #11
Miszel CreditAttribution: Miszel commentedThe errors were not detected when I ran the code through http://ventral.org/pareview/httpgitdrupalorgsandboxmarcinpajdzik1538032g...
Anyway, it is corrected now. Thanks.
Comment #12
luxpaparazzi CreditAttribution: luxpaparazzi commentedThe code looks clean an nice to me, I would just recommand modifying the following:
Grammar in project application:
do not use any => does not use
is not supported for Drupal 6 => is not supported by Drupal 6
Project page:
I recommand revising this phrase:
bottom of website => bottom of the website
Generally it would be advisable for rechecking grammar and phrasology...
Code:
1) I recommand putting the following code into theme functions or template files (.tpl):
'value' => '<h2>We use cookies on this site to enhance your user experience</h2><p>By clicking any link on this page you are giving your consent for us to set cookies.</p>',
'value' => '<h2>Thank you for accepting cookies</h2><p>You can now hide this message or find out more about cookies.</p>',
2) Pass text to t() function:
Comment #13
luxpaparazzi CreditAttribution: luxpaparazzi commentedComment #13.0
luxpaparazzi CreditAttribution: luxpaparazzi commentedAdding link to a review of other project.
Comment #13.1
Miszel CreditAttribution: Miszel commentedUpdated project page
Comment #14
Miszel CreditAttribution: Miszel commentedI corrected the project application and project pages. Also, I added more details to the project page.
As for changes to the code:
ad 1) As the text appears in the install file to give initial values to drupal variables, I decided now to run the text through the st() function instead of creating a theme function or a template file. This way the administrator will have full control over the HTML through the module settings page
ad 2) I added the recommended t() functions
Comment #15
Miszel CreditAttribution: Miszel commentedComment #16
klausimanual review:
But otherwise this looks RTBC to me. Removing review bonus tag, you can add it again if you have done another 3 reviews of other projects.
Comment #17
mibfire CreditAttribution: mibfire commentedOne more thing: The available variables($message and $link) should be listed in the template files and
is same in the two tpl files.
Apart from this it is RTBC for me too. I have tested and it works well, great module. The d5 backport is done and can be tested soon. Thx Marcin!
Comment #18
Miszel CreditAttribution: Miszel commentedMany thanks guys, I have updated the code with your suggested changes.
Comment #19
patrickd CreditAttribution: patrickd commentedThanks for your contribution, and welcome to the community of project contributors on drupal.org!
I've granted you the git vetted user role which will let you promote this to a full project and also create new projects as either sandbox or "full" projects depending on which you feel is best.
Thanks, also, for your patience with the review process and for your help in the application queue. 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.
As you continue to work on your module, keep in mind: Commit messages - providing history and credit and Release naming conventions.
Thanks to the dedicated reviewer(s) as well.
Comment #20
nnkaya CreditAttribution: nnkaya commentedHello,
Thank you for a nice and useful module.
I have tried this module on my website.
It is working OK when it is set to the default value. However, we I set the message to pop up at the top of the website, it is not completely working.
When I click "Yes I agree" the pup up "Hide this message" option doesn't appear. When I go the a different page on the website then "Hide this message" button appears.
I was wondering if there will be any solution for this.
Thanks
Comment #21
patrickd CreditAttribution: patrickd commented@RezanShilan
this application issue is finished, please create a bug or support issue in the modules issue queue
Comment #22
Miszel CreditAttribution: Miszel commented@RezanShilan
The problem is already reported here: http://drupal.org/node/1560624#comment-5954924
Comment #23.0
(not verified) CreditAttribution: commentedUpdated description