Metadata-Version: 2.1
Name: rer.cookieconsent
Version: 0.4.6
Summary: A cookies consent Plone solution; used for European Cookie Law by Emilia Romagna Region
Home-page: http://github.com/PloneGov-IT/rer.cookieconsent
Author: RedTurtle Technology
Author-email: sviluppoplone@redturtle.it
License: GPL
Keywords: plone plonegov cookie-consent cookie-law cookie privacy
Classifier: Framework :: Plone
Classifier: Framework :: Plone :: 4.2
Classifier: Framework :: Plone :: 4.3
Classifier: Programming Language :: Python
Provides-Extra: test

An add-on to provide a full-featured **cookie consent** solution for your site.
It's mainly target to the recent `European Cookie Law`_ but can be used anywhere if you care about user's privacy.

.. contents:: **Table of contents**

How it works
============

This add-on gives two kind of different features:

* A cookie consent confirmation banner, which should link (but it's not required) the user to a **Privacy Policy**.
* An **opt-out dashboard** for accept/reject single cookies

This add-on is also compatible with internationalized sites (`LinguaPlone`_ supported).

Cookie consent banner
---------------------

This is provided using a slightly modified version of the `Silktide Cookie Consent JavaScript plugin`_

.. image:: https://raw.githubusercontent.com/PloneGov-IT/rer.cookieconsent/master/docs/images/rer.cookieconsent-0.1.0-01.png
   :alt: Cookie consent banner

Apart some accessibility enhancement (see `here`__, `here`__, `here`__ and `here`__) it's content and
behavior can be customized by a control panel. 

__ https://github.com/silktide/cookieconsent2/issues/59
__ https://github.com/silktide/cookieconsent2/issues/60
__ https://github.com/silktide/cookieconsent2/issues/61
__ https://github.com/silktide/cookieconsent2/issues/63

Opt-out dashboard
-----------------

Additionally an opt-out dashboard (a view callable as ``/@@optout-dashboard``) is available to restricts 3rd-party cookies.

The dashboard composition can be configured by the control panel, but is above che scope of this add-on to manage
how those cookies are processed.
Third-party party add-ons must take care of this.

A cookie is always in the form ``NAME-optout`` and can have a value equals to ``true`` or ``false``.

Know add-ons which support opt-out cookies
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Here follow a list of common add-ons that can be used with opt-out cookies:

`sc.social.like`_ (version >= 2.3) - server side
   A cookie named ``social-optout`` valued to ``true`` will automatically activate the
   "*Do not track users*" option for the current user. 
`collective.analyticspanel`_ (version >= 0.5.0) - server side
   If properly configure, a cookie named ``analytics-optout`` valued to ``true`` will not load the analytics code.
   Although the add-on works server side, you are free to provide an analytics code that conditionally load when
   this cookie is present working totally on client side.
`Products.Maps`_ (version >= 0.4) - client side
   If a cookie named ``maps-optout`` is provided valued to ``true`` the Google map is not directly displayed in the page.
`redturtle.video`_ (version >= 1.2.0) - server side
   Not directly RedTurtle Video, but extensions like `collective.rtvideo.youtube`_ (>=0.4.0)
   and `collective.rtvideo.vimeo`_ (>=0.3.0) will not display the video directly if a ``video-optout`` cookie valued
   ``true`` is provided

Configuration
=============

Add-on configuration can be reached from the "*Cookie consent configuration*" entry in the Plone control panel.

Cookie consent banner
---------------------

In the banner configuration you can:

* activate an auto-grant-on-click feature. With this every click on whatever link in the site is interpreted
  as accepting the Privacy Policy  
* Customizing the banner text for every language used in the site (not required if your site use a single language).

.. image:: https://raw.githubusercontent.com/PloneGov-IT/rer.cookieconsent/master/docs/images/rer.cookieconsent-0.1.0-02.png
   :alt: Cookie consent banner - configuration

The banner text will normally contains a link to the Privacy Policy.

Opt-out dashboard
-----------------

The opt-out dashboard configuration is only needed if you are using 3rd party add-ons or external software that
handle opt-out cookies.

Configuring this panel will select which cookies must the available to the user's preferences.

You must provide:

* an application id
* a list of one or more prefix, used for build cookies name
* a title and description for describing to users how this opt-out works if activated.
  Again: you can provide a description for every involed language

.. image:: https://raw.githubusercontent.com/PloneGov-IT/rer.cookieconsent/master/docs/images/rer.cookieconsent-0.1.0-03.png
   :alt: Opt-out dashboard - configuration

Issues/Troubleshooting
======================

Varnish
-------

TODO

Control panel
-------------

TODO

HttpOnly
--------

TODO

JavaScript
----------

TODO: separate cookieconsent library from custom javascript for better upgrade
TODO: remove collective.jsconfiguration dependency moving custom config to a viewlet

Credits
=======

Developed with the support of `Regione Emilia Romagna`__;
Regione Emilia Romagna supports the `PloneGov initiative`__.

__ http://www.regione.emilia-romagna.it/
__ http://www.plonegov.it/

Authors
=======

This product was developed by RedTurtle Technology team.

.. image:: https://avatars1.githubusercontent.com/u/1087171?s=100&v=4
   :alt: RedTurtle Technology Site
   :target: http://www.redturtle.it/


.. _`European Cookie Law`: http://eur-lex.europa.eu/legal-content/EN/TXT/?uri=celex:32009L0136
.. _`LinguaPlone`: https://pypi.python.org/pypi/Products.LinguaPlone
.. _`Silktide Cookie Consent JavaScript plugin`: https://silktide.com/tools/cookie-consent/
.. _`sc.social.like`: https://pypi.python.org/pypi/sc.social.like/
.. _`collective.analyticspanel`: https://pypi.python.org/pypi/collective.analyticspanel
.. _`Products.Maps`: https://pypi.python.org/pypi/Products.Maps
.. _`redturtle.video`: https://plone.org/products/redturtle.video
.. _`collective.rtvideo.youtube`: https://pypi.python.org/pypi/collective.rtvideo.youtube
.. _`collective.rtvideo.vimeo`: https://pypi.python.org/pypi/collective.rtvideo.vimeo

Changelog
=========

0.4.6 (2023-02-08)
------------------

- Fix open redirection.
  [mamico]


0.4.5 (2021-12-30)
------------------

- Fix uninstall profile.
  [cekk]


0.4.4 (2021-03-25)
------------------

- Fix python2 compatiblity on save data.
  [cekk]


0.4.3 (2020-12-14)
------------------

- Fix python2 compatiblity.
  [cekk]


0.4.2 (2020-08-05)
------------------

- Fix bundle configuration.
  [cekk]


0.4.1 (2020-05-11)
------------------

- Add validate_invariants attribute in persistent controlpanel object.
  [cekk]


0.4.0 (2020-03-06)
------------------

- Python 3 compatibility.
  [cekk]


0.3.0 (2018-04-12)
------------------

- German translations
  [tomgross]
- Add uninstall profile
  [tomgross]


0.2.0 (2017/12/21)
------------------

- Move resources to bundle
  [cekk]
- Fix code-quality
  [cekk]
- Add travis config
  [cekk]


0.1.3 (2017-07-03)
------------------

- plone5 compatibility [mamico]
- corrected typo in LC_MESSAGES for the italian language [arsenico13]


0.1.2 (2015-10-16)
------------------

- cookieconsent cookie now expires in 10 years
  [cekk]


0.1.1 (2015-10-14)
------------------

- Add safe_html filter for text configuration
  [cekk]


0.1.0 (2015-09-16)
------------------

- Initial release
