Zurück zur Startseite

22. Okt 2009

TYPO3 Extensionentwicklung: Datensätze löschen

typo3-ext_daten-loeschen

TYPO3 Datensätze über das Frontend löschen

Ich entwickle gerade ein kleines CRM mit Kunden-, Kontakt-, Webaccount- und Dokumentenverwaltung auf Basis von TYPO3. Als Extension bietet die Anwendung standardmäßig die Pflege der Daten über das Backend. Auf Dauer war mir das zu umständlich und ich habe mit der Entwicklung einer Verwaltung über das Frontend begonnen. Dabei bin ich auf folgenden Grundsatz gestoßen.

„TYPO3 löscht keine Daten!“

Die einschlägige Literatur zum Thema Extensions behandelt das Thema sehr oberflächlich indem häufig nur die API Funktion exec->DELETEquery() kurz aufgelistet wird. Betrachtet man die Datenbanktabellen in TYPO3 näher, stellt man fest, das alle Tabellen das Feld „deleted“ enthalten und auch der Kickstarter legt dieses Feld standardmäßig an. Jeder Datensatz, der in TYPO3 gelöscht wird erhält in diesem Feld den Wert 1. Der Datensatz ist im Backend nicht mehr sichtbar, in der Datenbank aber noch vorhanden. Ich halte diesen Mechanismus für sehr hilfreich, gerade wenn es um wichtige Kundendaten geht.

Deshalb habe ich mich entschlossen, das Löschen über die exec->UPDATEquery Funktion zu realisieren, indem der Wert deleted auf 1 gesetzt wird. Ich erhalte mir so die Möglichkeit, Daten einfach wiederherzustellen.

Die Datenbank wird immer größer

Das ist sicherlich ein Einwand, aber TYPO3 verfährt ja grundsätzlich so, warum sollte man das für seine Eigentwicklung nicht übernehmen? Als letzte Verwaltungsinstanz setze ich daher kj_recycler ein. Diese Extension listet im Backend alle „gelöschten“ Datensätze (deleted = 1) auf und bietet das endgültige Löschen an.

Ext: kj_recycler löscht TYPO3 Datensätze endgültig

Ext: kj_recycler löscht TYPO3 Datensätze endgültig

Wie löst Ihr Aufgabenstellungen, die das Löschen von Daten in TYPO3 beinhalten? Ich bin gespannt auf eure Vorschläge!

Autor: Andreas Kempf, Donnerstag, 22.10.2009 Extensionentwicklung TYPO3

2 Comments  Kontakt

2 Comments to TYPO3 Extensionentwicklung: Datensätze löschen

Flip
19. November 2010

Hallo Andreas,

ich verwalte eine größere Typo3-Plattform und suche offengestanden noch nach einer zufriedenstellenden Lösung für die Wiederherstellung und das endgültige Löschen von Daten/Dateien. Bin jetzt erst auf den Nachfolger des kj_recyclers, den Typo3 Recycler gestoßen und hoffe, dass es hiermit leichter wird. Bin aber noch nicht sicher, ob die Dateien auch wirklich alle von Server gelöscht werden und nicht etwa noch irgendwo Dubletten (Upload-Ordner?) verbleiben.
Beste Grüße
Flip

admin
20. November 2010

Hallo Flip,
ich glaube Du verwechselst da was. Die beiden Recycler löschen keine Dateinen sondern nur Datensätze aus der Datenbank! Das funktioniert zuverlässig, da TYPO3 selbst keine Daten löscht sondern sie im Datenbankfeld „deleted“ auf 1 setzt. Die Recycler löschen alle Datensaätze mit deleted = 1 oder stellen sie wieder her mit deleted = 0.

Zum Löschen von Dateien solltest Du Dir kb_cleanfiles ansehen. Die Extension vergleicht die Inhalte der Ordner mit den Referenzierungen in den dazugehörigen Datenbank Tabellen. Auf einen Blick sieht man Dateien die entfernt werden können. Durch einen weiteren Klick werden diese entfernt.

Gruß Andreas

Schreib einen Kommentar

*


Dieser BLOG

Neben den Aspekten der Website Erstellung mit TYPO3 oder Wordpress vom Webdesign bis zur Extensionentwicklung, behandelt dieser BLOG auch das Thema Vermarktung im Internet. Zum Online Marketing gehören u.a. Lokale Suchmaschinenoptimierung, OnPage SEO, Online PR, Content Marketing, Newslettermarketing, Social Media, Webanalyse und vieles mehr.
Viel Spaß und neue Erkenntnisse wünscht
Andreas Kempf, Web-aktiv

web-aktiv.com  |  Kontakt   |  Impressum Datenschutz

Supporting Member of the TYPO3 Association

Werbung

XOVI