Skip to main content
Develop Master

The eea.geolocation is a Plone add-on

Main features

  1. Configure Google API and Geonames API via Site Setup > Geolocation

  2. RestAPI endpoint @geolocation to get these settings.

Install

  • Add eea.geolocation to your eggs section in your buildout and re-run buildout:

    [buildout]
    eggs +=
      eea.geolocation
  • You can download a sample buildout from:

  • Or via docker:

    $ docker run --rm -p 8080:8080 -e ADDONS="eea.geolocation" plone
  • Install eea.geolocation within Site Setup > Add-ons

Buildout installation

Source code

Eggs repository

Plone versions

It has been developed and tested for Plone 5.2 and 6.0.

How to contribute

See the contribution guidelines (CONTRIBUTING.md).

Funding

EEA - European Environment Agency (EU)

Secret Scanning

This repository uses the Betterleaks GitHub Action to scan the current repository content on every push and pull request. The scan uses the rules in .gitleaks.toml and uploads a betterleaks-report artifact when a finding is detected.

If the optional SMTP secrets are configured, failed scans also send an email to the last commit committer. The workflow expects these repository or organization secrets:

  • SMTP_URL

  • SMTP_PORT (optional, defaults to 25)

  • SMTP_EMAIL

  • SMTP_PASSWORD (optional if the SMTP server does not require authentication)

Port 465 is sent with direct TLS; other ports use the default SMTP handshake. The email includes a short finding summary from the redacted Betterleaks report, including the redacted matched line from each finding.

There are three common outcomes:

  1. Everything is OK. The Betterleaks / Scan for secrets check is green and no action is needed. Regular references to runtime values are OK, for example:

    token_from_cookie = request.cookies.get("auth_token")
  2. A real secret was found. The check is red and the workflow log asks you to download the betterleaks-report artifact. Open the artifact from the GitHub Actions run and check the reported file, line and rule. Remove the committed value, move it to the proper secret store, and rotate it if it was exposed. A report entry looks like this:

    {
      "RuleID": "secret-literal-assignment",
      "File": "src/config.py",
      "StartLine": 12,
      "Secret": "[REDACTED]"
    }
  3. The finding is a false positive. Keep the value only if it is clearly not sensitive, such as a test fixture, placeholder, or public example. Add betterleaks:allow on the same line and include a short explanation in the pull request:

    test_password = "admin"  #betterleaks:allow

Do not add betterleaks:allow to real credentials.

Changelog

4.1 - (2026-07-13)

  • Change: fix: SonarQube report - refs #305404 [avoinea]

4.0 - (2026-06-25)

  • Feature: Add grouped geographic coverage helper methos [tedw87 - refs #296992]

  • Change: Drop Python 2.7 and Plone 4 support. [avoinea - refs #296992]

  • Fix: Replace lossy latin-1 encoding with explicit PATH_SEPARATOR stripping in taxonomy value normalization [avoinea - refs #296992]

  • Feature: Add RAM caching (plone.memoize) to geotags, biotags and country mappings taxonomy parsing [avoinea - refs #296992]

3.0 - (2026-06-17)

  • New: Add EEA40 member states group (EEA38 + Ukraine + Moldova) to geotags taxonomy. Includes upgrade step for existing sites and updated VDEX profile for new installations. [avoinea - refs #304772]

2.8 - (2026-04-14)

  • Change: feat: Add integration tests for @geolocation REST API views [avoinea]

2.7 - (2025-11-18)

  • Change: Replace Python linting to ruff [mihaidobrescu1111 = refs #286821]

  • Change: Add plone6 tests [mihaidobrescu1111 = refs #293593]

2.6 - (2024-03-25)

  • Change: updated profile for the “Biogeographical Regions” taxonomy [alecghica refs #265225]

2.5 - (2022-11-17)

  • Change: Changed restapi encoding from ascii to latin-1 in order to better represent ascii characters [iulianpetchesi refs #153129]

2.4 - (2022-11-15)

  • Change: Restore old encoding for restapi [iulianpetchesi refs #153129]

2.3 - (2022-11-14)

  • Change: Rename controlpanel id to avoid conflicts with plone.formwidget.geolocation [avoinea]

2.2 - (2022-11-02)

  • Change: Changed restapi encoding from ascii to latin-1 in order to better represent ascii characters [iulianpetchesi refs #153129]

2.1 - (2021-11-11)

  • Change: Fixed package classifiers and python_requires [avoinea refs #139888]

2.0 - (2021-06-10)

  • Change: Default language: en for all taxonomies [avoinea]

1.6 - (2021-05-17)

  • Bug fix: Remove z3c.jbot dependency as it conflicts with eea.pdf downloads [avoinea refs #133890]

1.5 - (2021-04-27)

  • Change: Added template override for collective.taxonomy edit template in order to load the javascript via javascript_head_slot [iulianpetchesi refs #131545]

1.4 - (2020-11-25)

  • Change: Added collective.taxonomy dependency in metadata.xml [iulianpetchesi refs #122622]

1.3 - (2020-11-24)

  • Change: Added @geodata RestAPI endpoint [iulianpetchesi refs #122622]

1.2 - (2020-11-23)

  • Change: Modified the structure of the imported xmls [iulianpetchesi refs #122622]

1.1 - (2020-11-10)

  • Change: Added geotags information and a script that imports said information as taxonomies [iulianpetchesi refs #122622]

1.0 - (2020-10-22)

  • Initial release: Configure Google and Geonames via controlpanel and @geolocation RestAPI endpoint [@avoinea refs #122622]

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eea_geolocation-4.1.tar.gz (50.9 kB view details)

Uploaded Source

File details

Details for the file eea_geolocation-4.1.tar.gz.

File metadata

  • Download URL: eea_geolocation-4.1.tar.gz
  • Upload date:
  • Size: 50.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for eea_geolocation-4.1.tar.gz
Algorithm Hash digest
SHA256 2441e3071ff87b2ce2593d586659222f19d6773e7b24cf3cd6e190ffcb51b5b7
MD5 9c867fe116d146d5e038edef9bcb678b
BLAKE2b-256 2e698a54f0ab1195c830318454f1ffc0391b3d7b91a7b01f306ec7c413d383aa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page