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.2.tar.gz (74.7 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.2-py3-none-any.whl (34.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rer_linkmap-1.0.2.tar.gz
  • Upload date:
  • Size: 74.7 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.2.tar.gz
Algorithm Hash digest
SHA256 1944e5c47a7b4de7cff178688e466d9fcb288e198410bf658a4254699e64a2ab
MD5 7b5658422a3c3701d165ddde04edb0a3
BLAKE2b-256 7429280cfc9cda704595c3eb96a944262e9b9621f7c16fdd962894da515c4a7b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rer_linkmap-1.0.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b895e62238be9bb8a4e408ad5779df9341791866d5f5adebb5f4398a587b47f9
MD5 6ad0a9d04834ed2223938c15bedee17f
BLAKE2b-256 fb5dabc01390d39a41e32d8c5c5181aa7971ee8673609622fd3e1a92ddcb9634

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