Nuclos GDPR: UserProvider delete, PRIVACY_DELETE_SESSIONLOG_AFTER_PERIOD, T_AD_SESSIONS, T_UD_HISTORY, historization, 4.2022.7.

globe with meridians Language: Deutsch · English

light bulb GDPR implementations

GDPR features in the Nuclos core – delete users via API, clean up the session log and control historization.

On this page

To make implementing GDPR requirements easier, several extensions were added to the Nuclos core from version 4.2022.7.

Deleting users via the API

Users can be deleted via org.nuclos.api.provider.UserProvider#delete – e.g. via a job that removes long-locked users:

import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

import org.nuclos.api.context.JobContext;
import org.nuclos.api.exception.BusinessException;
import org.nuclos.api.provider.QueryProvider;
import org.nuclos.api.provider.UserProvider;
import org.nuclos.api.rule.JobRule;
import org.nuclos.api.rule.TransactionalJobRule;
import org.nuclos.system.User;

public class DSGVOGesperrteUserLoeschen implements JobRule, TransactionalJobRule {
	@Override
	public void execute(final JobContext context) throws BusinessException {
		User user = (User) context.getTransactionalObject();
		context.joblog("delete user " + user.getUsername());
		UserProvider.delete(user);
	}

	@Override
	public List<Object> getTransactionalObjects(final JobContext context) {
		Calendar calendar = Calendar.getInstance();
		calendar.add(Calendar.DAY_OF_YEAR, -90); // Letzte Änderung am User ist 90 Tage her
		return new ArrayList<>(QueryProvider.execute(QueryProvider.create(User.class)
				.where(User.Locked.eq(true))
				.and(User.ChangedAt.Lt(calendar.getTime()))));
	}
}

Further extensions

Related pages

gear System tables


System tables.

Open →