Skip to main content
Develop Master

The eea.api.dataconnector is a Plone add-on.

Upgrade

12.0 (Breaking) - Logic for plotly visualization was moved to eea.plotly - Install eea.plotly >= 1.x - Use volto-plotlycharts >= 12.x - Enable eea.plotly add-on - Activate EEA-Viz_Plotly behavior - Run any pending upgrades on eea.api.dataconnector

8.0 - Endpoints for @tableau-visualization and @map-visualization are removed. Use volto-eea-map@^3.0.0 and volto-tableau@^7.0.0

Main features

1. Easy to install/uninstall via Site Setup > Add-ons 2. 3.

Connector-data response contract

Successful @connector-data responses expose provider data as an object with results and metadata fields. results is an empty array when no rows exist; metadata remains an object and may contain provider information such as readme. The minimal empty shape is:

{
  "results": [],
  "metadata": {}
}

The response payload is public request-identity metadata, not diagnostic output. volto-datablocks uses its canonical data_query and form to reuse data preloaded during server-side rendering. Authentication credentials must be carried in request headers or cookies and must never be passed as connector form or data-query values.

Virtual pages may attach a transient connector_data preload produced by this package. It is accepted only from the virtual object itself and must match the complete @connector-data envelope: @id, path, data and payload. The envelope is returned unchanged so its payload continues to describe the exact request that produced its data.

Expanded connector data is memoized by provider path, request identity, and provider content revision. Editing a provider configuration or replacing its file therefore changes the cache identity immediately. Changes in external SQL data are bounded by the global CACHE_TTL configured by eea.volto.policy.

Install

Buildout installation

Source code

Eggs repository

Plone versions

It has been developed and tested for Plone 4 and 5. See buildouts section above.

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

13.0 - (2026-08-18)

  • Fix: Invalidate memoized connector data when provider content changes; TTL continues to bound staleness of external data sources. [razvanMiu]

  • Fix: normalize empty connector-data responses and validate virtual-page preload envelopes. [razvanMiu]

  • Change: document connector payload as public SSR request identity metadata. [razvanMiu]

  • Change: Move the global plone.memoize cache policy to eea.volto.policy. [razvanMiu]

12.9 - (2026-07-13)

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

12.8 - (2026-06-09)

  • Fix: return 404 from @connector-data for content without a connector data provider instead of raising ValueError [dobri1408]

12.7 - (2026-05-08)

  • Fix: list index out of range [avoinea - sentry #420262]

12.6 - (2026-04-14)

  • Change: Add unit tests for queryparser and queryfilter modules [avoinea]

12.5 - (2025-12-11)

  • Change: Release [laszlocseh]

12.4 - (2025-11-12)

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

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

12.3 - (2025-08-27)

  • Fix: Broken release

12.2 - (2025-08-27)

  • Change: fix csv file data decoding [razvanMiu]

12.1 - (2025-06-10)

  • Change: Add upgrade steps for version 12.x [razvanMiu]

12.0 - (2025-04-14)

  • Change: Upgrade step to transform Visualizations to use resolveuid in providerurl [dobri1408 - refs #279158]

  • Breaking: Refactor Visualisation [razvanMiu - refs ]

11.5 - (2025-03-06)

  • Change: Don’t remove embed_content block data [razvanMiu]

11.4 - (2025-02-17)

  • Change: Develop [tiberiuichim]

11.3 - (2025-01-31)

  • Change: Disable transforms when serving html for flourish [tiberiuichim]

11.2 - (2025-01-30)

  • Change: Upgrade step to make provider url use resolve uid - refs #279158 [avoinea]

11.1 - (2024-12-06)

  • Change: Add serializer/deserializer for JSONField, ref #281589 [razvanMiu]

11.0 - (2024-10-24)

  • Change: Refactor Visualisation serializers [razvanMiu - refs #274326]

10.6 - (2024-10-21)

  • Change: Add embed_content block serializer [razvanMiu - refs #274326]

10.5 - (2024-09-27)

  • Change: Disable Diazo Theming for flourish browser view [@tiberiuichim]

10.4 - (2024-09-06)

  • Change: Develop [iugin]

10.3 - (2024-06-11)

  • Change: Release [claudiaifrim]

10.2 - (2024-05-08)

  • Change: Release [claudiaifrim]

10.1 - (2024-05-08)

  • Change: Release [claudiaifrim]

9.1 - (2024-03-18)

  • Change: feat: add filters to plotly visualizations [razvanMiu]

9.0 - (2024-01-12)

  • Change: feat: improve plotlychart visualization serialization [razvanMiu]

8.5 - (2024-01-09)

  • Change: fix: don’t break visualizations if selected content is not a viz [razvanMiu]

8.4 - (2023-12-15)

  • Bug fix: Add upgrade step to fix plotly with BOM character ufeff [avoinea - refs #262155]

8.3 - (2023-12-08)

  • Change: fix - default values [claudiaifrim]

8.2 - (2023-12-07)

  • Feature: Add custom add permissions for EEA-Viz content-types [avoinea - refs #257682]

8.1 - (2023-11-24)

  • Change: map-interactive content type [claudiaifrim]

8.0 - (2023-11-22)

  • Change: (feat): Serializer and deserializer for embed tableau and embed eea map [razvanMiu]

7.0 - (2023-11-17)

  • Change: feat: serialize embed_visualization and new embed_map [razvanMiu]

6.3 - (2023-10-31)

  • Change: 257682 toolbar [razvanMiu]

6.2 - (2023-10-06)

  • Change: elasticconnectors support second level aggregations [andreiggr]

6.1 - (2023-09-28)

  • Change: Make figure note available for embed blocks [andreiggr]

6.0 - (2023-09-27)

  • Change: Add Figure Note behavior [andreiggr refs #257682]

5.3 - (2023-08-31)

  • Change: Add ElasticConnector CT [andreiggr]

5.2 - (2023-06-19)

  • Change: Tableau endpoint [andreiggr]

5.1 - (2023-06-16)

  • Change: feat: include data_provenance with map viz data [razvanMiu]

5.0 - (2023-06-13)

  • Change: refact: change field name for tableau visualization [razvanMiu]

4.6 - (2023-05-18)

  • Bug: updated schema definition with default value [alecghica refs #252894]

4.5 - (2023-05-15)

  • Bug: updated schema definition [alecghica refs #252894]

4.4 - (2023-05-09)

  • Change: add eea core metadata to visualization response [razvanMiu]

4.3 - (2023-04-26)

  • Fix: fixed profile import for the File content type [alecghica refs #250426]

4.2 - (2023-04-25)

  • Change: added needed behaviour to the File content type [andreiggr refs #250426]

4.1 - (2023-04-19)

  • Change: Use SQLServer parser for queries [iulianpetchesi refs #250426]

4.0 - (2023-04-06)

  • Change: Change deprecated moz-sql-parser dependency to mo-sql-parsing [iulianpetchesi refs #250426]

3.4 - (2023-03-21)

  • Change: Add missing dependency [alecghica]

3.3 - (2023-03-21)

  • Change: Removed the dependency to eea.restapi [alecghica]

3.2 - (2023-03-21)

  • Change: updated classifiers [alecghica refs #250426]

3.1 - (2022-11-28)

  • Bug fix: add missing file [erral]

  • Feature: registered “Tableau visualization” content-type and behavior. [razvanMiu]

  • Feature: registered “Discodata Connector” and “Visualization” content-types. [alecghica refs #153056]

3.0 - (2022-10-05)

  • Change: Fix query parser [razvanMiu]

2.9 - (2022-09-16)

  • Change: Don’t use collate for ‘in’ and ‘nin’ sql operations [razvanMiu]

2.8 - (2022-08-22)

  • Change: Allow extra conditions [razvanMiu]

2.7 - (2022-08-12)

  • Change: Develop [andreiggr]

2.6 - (2022-08-12)

  • Change: Arcgis Map Visualization Content-type [andreiggr]

2.5 - (2022-07-26)

  • Change: Set default value for data_query [razvanMiu]

2.4 - (2022-06-22)

  • Change: Remove python version requirement [razvanMiu]

2.3 - (2022-03-10)

  • Change: Fix edge case for parsing query [razvanMiu]

2.2 - (2022-02-03)

  • Change: Filter csv by data_query [razvanMiu]

2.1 - (2022-01-31)

  • Change: Patch #1 [razvanMiu]

2.0 - (2022-01-31)

  • Change: Removed caching data in memcached for now [razvanMiu]

1.9 - (2022-01-31)

  • Change: Improved connectors [razvanMiu]

1.8 - (2021-11-25)

  • Change: Modified behavior name and redefined some imports [eugentripon refs #139888]

1.7 - (2021-11-22)

  • Change: Moved dataconnector code from eea.restapi to here [eugentripon refs #139888]

1.6 - (2021-10-06)

  • Change: Fix history [iulianpetchesi refs #139888]

1.5 - (2021-10-04)

  • Change: Use ‘*’ to delimit the table from the parameter [razvanMiu]

1.4 - (2021-06-28)

  • Change: Develop [razvanMiu]

1.3 - (2021-06-23)

  • Change: Removed comments from query before parsing [razvanMiu]

1.2 - (2021-04-26)

  • Change: Set collation for where clauses [razvanMiu]

1.1 - (2021-04-19)

  • Change: Develop [tiberiuichim]

1.0 - (2021-02-15)

  • Change: Automated release [valentinab25]

1.0 - (2021-02-15)

  • Initial release. [eea]

Release files for eea.api.dataconnector 13.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for eea.api.dataconnector 13.0
File Size Uploaded
eea_api_dataconnector-13.0.tar.gz 58.3 kB Details

Release files / eea_api_dataconnector-13.0.tar.gz

Download URL eea_api_dataconnector-13.0.tar.gz
Size 58.3 kB
Tags Source
SHA-256 checksum
How to use checksums
b431194a34a391d956aad4bc8270e03d32509b15b4f573123a9adac55d717cb2
BLAKE2b-256 checksum
How to use checksums
568d1b404fce5c78adab8a396f0ba27db25b0e84a97acae6f806a49f6bb67399
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release history Release notifications | RSS feed

This release

13.0 This release

1 release file

12.9

1 release file

12.8

1 release file

12.7

1 release file

12.6

1 release file

12.5

1 release file

12.4

1 release file

12.0

1 release file

11.5

1 release file

11.4

1 release file

11.3

1 release file

11.2

1 release file

11.1

1 release file

11.0

1 release file

10.6

1 release file

10.5

1 release file

10.4

1 release file

10.3

1 release file

10.2

1 release file

10.1

1 release file

10.0

1 release file

9.0

1 release file

8.5

1 release file

8.4

1 release file

8.3

1 release file

8.2

1 release file

8.1

1 release file

8.0

1 release file

7.0

1 release file

6.3

1 release file

6.2

1 release file

6.1

1 release file

6.0

1 release file

5.3

1 release file

5.2

1 release file

5.1

1 release file

5.0

1 release file

4.6

1 release file

4.5

1 release file

4.4

1 release file

4.3

1 release file

4.2

1 release file

4.1

1 release file

4.0

1 release file

3.4

1 release file

3.3

1 release file

3.2

1 release file

3.1

1 release file

3.0

1 release file

2.9

1 release file

2.8

1 release file

2.7

1 release file

2.6

1 release file

2.5

1 release file

2.4

1 release file

2.3

1 release file

2.2

1 release file

2.1

1 release file

2.0

1 release file

1.9

1 release file

1.8

1 release file

1.7

1 release file

1.6

1 release file

1.5

1 release file

1.4

1 release file

1.3

1 release file

1.2

1 release file

1.1

1 release file

1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page