Skip to main content

A new addon for Plone

Project description

rer.linkmap

PyPI Python Tests License: GPL v2

Plone add-on to manage and expose the "Amministrazione Trasparente" link map required by the AGID/ANAC transparency specification.

Links are configured from a control panel and exposed through dedicated Plone views in JSON and XML format.

Reference specification: https://guida-servizi.anticorruzione.it/it/help/trasparenza/amministrazione-trasparente/#la-mappa-dei-link-della-sezione-at

Features

  • Control panel for configuring all transparency-map URLs.
  • Dedicated outputs at portal root:
    • at_map.json
    • at_map.xml
  • Independent flags to enable/disable JSON and XML exposure.
  • REST API control panel integration (linkmap-settings).

Requirements

  • Plone 6 (tested with Plone 6.2)
  • Python 3.8 - 3.13

Installation

Add rer.linkmap to your Plone environment and install it from the Add-ons control panel.

If you are using a classic buildout-based setup, add it to eggs:

[buildout]
eggs =
		rer.linkmap

Development Setup

This project includes a Makefile workflow based on uv.

make install      # create venv, install deps, generate instance config
make start        # start Plone on localhost:8080
make create-site  # create a fresh Plone site

Useful commands:

make test
make test-coverage
make lint
make format
make i18n

Configuration

After installation, configure the add-on in:

  • Site Setup -> Link map settings (linkmap-settings)

Main options:

  • expose_json: enable/disable @@at_map.json
  • expose_xml: enable/disable @@at_map.xml
  • data_ultima_modifica: date string in GG/MM/AAAA
  • one URL field for each transparency section key

If a format is disabled, the corresponding view returns 404 Not Found.

Output Endpoints

Endpoints are available only on the portal root context:

  • /at_map.json
  • /at_map.xml

JSON example

{
	"at_art2_bis_c1": {
		"amministrazione_trasparente": "https://www.example.org/amministrazione-trasparente",
		"disposizioni_generali": "https://www.example.org/disposizioni-generali"
	},
	"data_ultima_modifica": "17/06/2026"
}

XML example

<?xml version="1.0" encoding="utf-8"?>
<amministrazione_trasparente xmlns="https://guida-servizi.anticorruzione.it/trasparenza">
	<data_ultima_modifica>18/06/2026</data_ultima_modifica>
	<map>
		<at_art2_bis_c1>
			<amministrazione_trasparente>https://www.example.org/at</amministrazione_trasparente>
			<accesso_civico>https://www.example.org/accesso-civico</accesso_civico>
		</at_art2_bis_c1>
	</map>
</amministrazione_trasparente>

REST API Integration

The add-on registers a restapi control panel adapter named linkmap-settings, based on the same schema used by the classic control panel.

Testing

Run tests with:

make test

The suite verifies:

  • install/uninstall profile behavior
  • control panel registration
  • JSON/XML output shape and namespace
  • root-only access to views
  • enable/disable behavior for exposed formats

License

This project is licensed under GPL-2.0-only.

Credits

Developed with the support of Regione Emilia Romagna

Regione Emilia Romagna supports the PloneGov initiative.

Authors

This product was developed by RedTurtle Technology team.

Generated using Cookieplone and cookieplone-templates.

Project details


Download files

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

Source Distribution

rer_linkmap-1.0.3.tar.gz (74.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rer_linkmap-1.0.3-py3-none-any.whl (34.2 kB view details)

Uploaded Python 3

File details

Details for the file rer_linkmap-1.0.3.tar.gz.

File metadata

  • Download URL: rer_linkmap-1.0.3.tar.gz
  • Upload date:
  • Size: 74.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for rer_linkmap-1.0.3.tar.gz
Algorithm Hash digest
SHA256 e94c8bce142f59ee31e557e37000055b501bce68897af98248ea87059e4b65eb
MD5 3aeeef46a84621ac5ca76272589cac5a
BLAKE2b-256 0b98729ec5b1a9b55b9561739ee602bc17be65fe15048b9a00e3fefec2eb06e4

See more details on using hashes here.

File details

Details for the file rer_linkmap-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: rer_linkmap-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 34.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for rer_linkmap-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 12e2a8f57a7a73c5e684725912b364de090ab4992e8cf01262233823078dd2e2
MD5 2464577385e922030acc9c25c39909a6
BLAKE2b-256 f691c6f8cb7abf10b2759c03f15b864205b8944ecd18587308b304b790c1308f

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