Eliminar los datos de los usuarios de conformidad con el GDPR
La tarea TableGarbageCollection se introdujo con TYPO3 4.6, muchos años antes de la introducción del GDPR. Esta tarea del programador se puede utilizar para eliminar los registros de datos antiguos de las tablas de bases de datos seleccionadas. Durante mucho tiempo, esta tarea sólo se utilizó para la tabla del sistema sys_log, porque sin la eliminación de datos antiguos, esta tabla podría llegar a ser de muchos gigabytes de tamaño - y por lo tanto perjudicar el rendimiento.
En tiempos de GDPR, esta tarea está recibiendo de nuevo más atención. Recientemente, se ha añadido la tabla sys_history y, si se ha activado indexed_search, la tabla index_stat_search.
Sin embargo, la tarea del planificador también puede ampliarse con tablas adicionales para extensiones propias o de terceros (a través de un SitePackage) utilizando un hook.
Powermail utiliza este hook desde septiembre de 2017 y añade de este modo las tablas tx_powermail_domain_model_answer y tx_powermail_domain_model_mail. Estas tablas contienen datos personales que se introdujeron a través de formularios de Powermail. Por motivos de protección de datos, estos datos deberían eliminarse automáticamente transcurridos 30 días, por ejemplo.
Actualmente hay que crear una tarea separada para cada tabla individual. Por un lado, esto es incómodo, pero por otro lado, puede especificar la antigüedad de los registros de datos antes de que se eliminen para cada tabla.
Para las extensiones personalizadas que almacenan datos personales, la tabla de la base de datos puede incluirse en la tarea del programador de acuerdo con el siguiente esquema en el archivo ext_localconf.php:
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][\TYPO3\CMS\Scheduler\Task\TableGarbageCollectionTask::class]['options']['tables']['my_table_name'] = [
'dateField' => 'tstamp',
'expirePeriod' => 30
];
El dateField se utiliza para especificar qué columna de la tabla se va a utilizar para averiguar qué registros de datos son más antiguos que la especificación de expirePeriod. Curiosamente, cuando se cambia una tabla en la tarea, el valor predeterminado para expirePeriod de esta configuración de gancho también se rellena automáticamente en la tarea.
Si no se requiere una configuración individual para las tablas, se puede activar la casilla Todas las tablas. En este caso, el expirePeriod ya no se puede especificar individualmente para cada tabla. En su lugar, se utiliza el valor por defecto de expirePeriod.
El contenido de esta página se ha traducido automáticamente.