Joomla 3.9 e le nuove API per la Privacy Tool Suite

Joomla 3.9 include una serie di nuove funzionalità denominate Privacy Tool Suite inerenti la gestione della privacy in modo da poter rendere il proprio sito web più conforme con il GDPR (General Data Protection Regulation) senza la necessità di dover ricorrere ad estensioni di terze parti ma sfruttando esclusivamente gli strumenti del core.

Allo stesso tempo introduce una serie di nuove API, pensate per gli sviluppatori di estensioni, che permettono di integrare i vari componenti con la Privacy Tool Suite in diversi modi. Infatti se la propria estensione tratta dati personali o comunque dati sensibili degli utenti, è buona raccomandazione aggiornarla affinchè possa 'lavorare' insieme alla Privacy Tool Suite così da permettere all'amministratore del sito di avere tutto sotto controllo e di reperire tutte le informazioni necessarie inerenti l'utilizzo dei dati degli utenti.

Chiaramente se la propria estensione non tratta in alcun modo la privacy e i dati utente, si pensi ad esempio ad un tool per generare il backup del sito, non servirà compiere nessun aggiornamento o integrazione particolare con le nuove API. In caso contrario è opportuno continuare la lettura dell'articolo per capire come procedere e integrare al meglio le nostre estensioni con Joomla! 3.9.

Essenzialmente abbiamo 3 nuove funzioni gestibili tramite l'utilizzo dei corrispondenti nuovi eventi dei plugin che sono stati introdotti, grazie ai quali è possibile agganciarsi dalle proprie estensioni:

  • onPrivacyCollectAdminCapabilities
  • onPrivacyExportRequest
  • onPrivacyCheckPrivacyPolicyPublished

Ma andiamo a vedere in dettaglio ogni singola funzione in modo da analizzarne lo scopo e l'utilità per cui è stata pensata.

onPrivacyCollectAdminCapabilities

Quando apriamo il nuovo componente Privacy di Joomla! 3.9 possiamo notare che sulla sinistra compare un tab denominato Funzionalità che permette di avere una rapida panoramica delle singole operazioni effettuare dalle estensioni installate che riguardano i dati personali e quindi in qualche modo la privacy degli utenti. Per default vengono visualizzate le funzionalità dei componenti e plugin del core, ma grazie al primo evento dei plugin onPrivacyCollectAdminCapabilities è semplicissimo aggiungere a questa lista ogni singola operazione rilevante ai fini del trattamento dei dati personali che viene compiuta nel componente che abbiamo sviluppato.

Infatti sarà sufficiente restituire un array contenente la descrizione testuale delle singole funzionalità e Joomla le visualizzerà nella relativa sezione assegnata alla nostra estensione; nell'immagine seguente prendiamo come esempio l'estensione GDPR disponibile a questo indirizzo che integrandosi con le nuove API mostra all'amministratore del sito tutte le varie operazioni che è in grado di svolgere riguardo alla gestione della privacy utente.

admincollectcapabilities

 

onPrivacyExportRequest

Joomla 3.9 rende possibile agli utenti di inviare richieste per ricevere i propri dati personali che vengono memorizzati sul proprio sito e database. Tramite il componente Privacy l'amministratore è in grado di gestire le richieste pervenute e provvedere ad esportare nonchè ad inviare i dati richiesti direttamente all'utente in un formato portabile compatibile con la normativa GDPR che è l'XML.

Anche in questo caso se la propria estensione gestisce, aggiunge o modifica o un qualche tipo di informazione personale è molto utile fare in modo che questi dati vengano resi disponibili e inclusi nel file XML che viene generato come documento da inviare all'utente. Il secondo evento dei plugin onPrivacyExportRequest permette proprio questo tramite un'API basata su domini, che rappresentano una tipologia di dati personali, record e campi.

Prendendo sempre come esempio il componente GDPR che aggiunge ulteriori funzionalità alla Privacy Tool Suite di Joomla 3.9, vediamo come nel file XML generato possano essere incluse informazioni addizionali riguardo all'utilizzo dei cookie, ai consensi multipli, ai consensi inviati con estensioni di terze parti ed al sistema di log riguardante la modifica dei dati personali:

onPrivacyExportRequest

onPrivacyCheckPrivacyPolicyPublished

Joomla 3.9 prevede la possibilità di pubblicare una informativa sulla privacy sul proprio sito web tramite la creazione di un articolo dedicato che può essere selezionato dal plugin System - Privacy Consent e che sarà visibile tramite l'etichetta della checkbox per il consenso visualizzata nei vari form. Nel momento in cui l'informativa sulla privacy è selezionata e pubblicata, il componente Privacy visualizza un'etichetta di colore verde e un link diretto per la modifica in modo da informare l'amministratore del sito che questa importante funzionalità è attiva:

onPrivacyCheckPrivacyPolicyPublished

Tuttavia potrebbero esserci casi in cui un'estensione di terze parti gestisca direttamente l'informativa sulla privacy del sito e il plugin nativo di Joomla 3.9 non venga utilizzato; si pensi, ad esempio, alla possibilità di pubblicare un pulsante per aprire l'informativa sulla privacy direttamente all'interno della barra dei cookie oppure all'interno di un popup.

Ancora una volta le API di Joomla 3.9 ci vengono in aiuto, grazie all'evento dei plugin onPrivacyCheckPrivacyPolicyPublished è possibile effettuare un controllo all'interno dell'estensione che abbiamo sviluppato e fornire all'interfaccia del componente Privacy di Joomla le informazioni necessarie a mostrare lo stato dell'informativa sulla privacy gestita direttamente dal proprio componente. L'API prevede di poter restituire lo stato di pubblicazione dell'informativa e il link che rimanda alla pagina di modifica che in questo caso potrà essere una qualsiasi funzione inclusa nella nostra estensione che svolge proprio questo compito.

Conclusioni

In questo articolo abbiamo analizzato 3 aspetti attualmente già disponibili per gli sviluppatori di estensioni in grado di offrire i mezzi necessari ad integrare al meglio le proprie estensioni che trattano dati personali con la Privacy Tool Suite di Joomla 3.9.

Sono già in programma ulteriori sviluppi di questa API in particolare per l'aggiunta di record al Log azioni utenti, anche se non strettamente inerente al GDPR e alla privacy degli utenti, e alla Lista dei consensi benchè già allo stato attuale sia possibile facilmente aggiungere informazioni di questo tipo effettuando delle query direttamente sul database o utilizzando la classe model del componente core com_actionlogs e la classe ActionLogPlugin da cui estendere i propri plugin.

Per scoprire di più sulla Privacy Tool Suite, consultare la pagina riassuntiva su Joomla 3.9.