Ups, đš Artikel gelöscht? Kein Problem mehr!
Hey! Kennt ihr das? Ein falscher Klick und schwupps. Jemand vermisst einen Artikel oder eine Kategoerie: "Wo ist eigentlich die Seite XY, können Sie mal ebenâŠ" đ± Ja, der Klassiker. In REDAXO bislang mĂŒhsam. Ein komplettes Backup zurĂŒckspielen? - Ne besser nicht! Denn die Reakteur:innen haben zwischenzeitlich weitergearbeitet. Den Artikel mĂŒhsam aus dem Backup extrahieren? đ±đ± - Ne das ist Arbeit die niemand bezahlt.
đ Hier ist Deine Rettung!
Trash fĂ€ngt deine gelöschten Artikel ab, bevor sie ins digitale Nirvana verschwinden. Wie ein treuer Hund đ bringt er dir die weggeworfenen Stöckchen wieder zurĂŒck - wenn du sie brauchst!
- Sofort-RĂŒckgĂ€ngig - Direkt nach dem Löschen ein Hinweis mit Countdown: einmal klicken, Artikel ist zurĂŒck. Kein Umweg ĂŒber den Papierkorb
- Automatische Rettung - Trash schnappt sich jeden gelöschten Artikel blitzschnell
- Volle Power - Alle Inhaltsblöcke, Module und sogar die Arbeitsversion bleiben erhalten
- Original-IDs - Artikel werden wenn möglich unter ihrer ursprĂŒnglichen ID wiederhergestellt
- Meta-Daten Erhaltung - Alle Metafelder von AddOns wie MetaInfo oder YRewrite bleiben erhalten
- Selbstreinigend - Der integrierte Cronjob rĂ€umt alte Artikel automatisch auf (wenn gewĂŒnscht)
- One-Click-Wonder - Artikel mit einem Klick komplett wiederherstellen
- Versionierungs-freundlich - Deine Arbeitsversionen bleiben erhalten (ja, wirklich!)
- Mehrsprachig - Deine Ăbersetzungen sind genauso wichtig wie die Hauptsprache
- AufgerĂ€umt - Ăbersichtliche Liste zum einfachen Finden deiner verlorenen SchĂ€tze
- Einzelne Blöcke - Auch ein versehentlich gelöschter Slice lĂ€sst sich sofort zurĂŒckholen
Einfach wie Kuchen essen:
- "Ups, das war der falsche!" â Der Hinweis steht noch da: RĂŒckgĂ€ngig machen klicken, fertig
- "Oh nein, falscher Artikel gelöscht!" â Ab in den Papierkorb, wiederherstellen, fertig!
- "Der alte Kram kann jetzt wirklich weg" â EndgĂŒltig löschen
- "GroĂreinemachen" â Papierkorb komplett leeren oder einfach den Cronjob fĂŒr dich arbeiten lassen
Seit Version 2.0.0 gibt es zwei Rechte, damit nicht jede Wiederherstellung einen Admin braucht:
| Recht | Erlaubt |
|---|---|
trash[] |
Papierkorb ansehen und wiederherstellen |
trash[delete] |
zusĂ€tzlich endgĂŒltig löschen und den Papierkorb leeren |
Admins haben beides automatisch und sehen den gesamten Papierkorb. Alle anderen sehen ausschlieĂlich, was sie selbst gelöscht haben â fremde gelöschte Inhalte tauchen weder in der Liste auf noch lassen sie sich ĂŒber eine geratene ID erreichen. Das gilt auch fĂŒr das Sofort-RĂŒckgĂ€ngig und fĂŒr âPapierkorb leerenâ, das dann nur die eigenen EintrĂ€ge entfernt.
- Wenn die Elternkategorie weg ist, landet der wiederhergestellte Artikel einfach in der Hauptebene
- Falls die Original-ID bereits vergeben ist, bekommt der wiederhergestellte Artikel automatisch eine neue ID
- Meta-Daten werden nur wiederhergestellt, wenn die entsprechenden AddOns noch installiert sind
- Mit dem Cronjob kannst du festlegen, wie lange Artikel im Papierkorb bleiben sollen (1 Tag bis 1 Jahr)
Seit Version 2.0.0 zeigt Trash direkt nach dem Löschen einen Hinweis mit Countdown und einem RĂŒckgĂ€ngig-Link. Das ist der schnelle Weg fĂŒr den hĂ€ufigsten Fall: einmal falsch geklickt.
Der Unterschied zum Papierkorb ist nur die Bedienung, nicht der Speicher:
Trash legt dafĂŒr nichts zusĂ€tzlich ab. Der Toast ist nur eine AbkĂŒrzung zu Daten, die ohnehin gesichert sind:
| woher die Daten kommen | wie lange | |
|---|---|---|
| Artikel & Kategorien | Papierkorb (dieses AddOn) | unbegrenzt |
| Einzelne Blöcke | Verlauf (structure/history) |
7â30 Tage, je nach Einstellung |
LĂ€uft die 30-Sekunden-Frist ab, ist nichts verloren. Artikel und Kategorien bleiben im Papierkorb, Blöcke im Verlauf des Artikels (Editiermodus âș Verlauf). Der Toast sagt das auch: âdanach ĂŒber den Papierkorb" bzw. âdanach ĂŒber den Verlauf".
Ist das Plugin structure/history nicht installiert, erscheint beim Löschen eines Blocks kein Hinweis â dann gibt es nichts zurĂŒckzuholen, und ein RĂŒckgĂ€ngig-Link wĂ€re ein leeres Versprechen.
Das ZurĂŒcknehmen ist wie der Papierkorb selbst Admins vorbehalten, und die Frist wird serverseitig geprĂŒft â ein alter Link holt nichts zurĂŒck.
Unter System âș Papierkorb âș Einstellungen lĂ€sst sich die Funktion abschalten und die Frist einstellen (5â300 Sekunden, Standard 30).
Trash 2.0.0 enthĂ€lt die Funktion des AddOns undo. Beide gleichzeitig zu betreiben wĂŒrde jede Löschung doppelt sichern, deshalb schlieĂen sie sich gegenseitig aus â REDAXO verhindert die Installation mit einer entsprechenden Meldung.
- Du willst nur das Sofort-RĂŒckgĂ€ngig? Dann installiere weiterhin
undo. Es bleibt eigenstÀndig. - Du willst beides? Dann nimm
trash. Beim Update werden vorhandene undo-EintrĂ€ge automatisch in den Papierkorb ĂŒbernommen.
- ErhÀlt alle REDAXO-Artikel-Daten (Slices, Module, Revisionen)
- Speichert Meta-Daten in JSON-Format fĂŒr einfache Wiederherstellung
- UnterstĂŒtzt das Structure/Version Plugin (falls installiert)
- Saubere Deinstallation mit vollstÀndiger Entfernung aller Tabellen
- Optionaler Cronjob zum automatischen AufrÀumen alter EintrÀge
Der Trash-AddOn nutzt REDAXOs Extension Points, um Artikel und ihre Inhalte vor dem permanenten Löschen zu sichern. Hier ein Ăberblick ĂŒber die technische Architektur und den Datenfluss:
Das AddOn verwendet drei Tabellen:
-
rex_trash_article
- Speichert die Basisinformationen gelöschter Artikel/Kategorien
- Standard-Eigenschaften wie name, parent_id, status etc. direkt als Spalten
- JSON-kodierte Attribute (path, priority, etc.) in der
attributes-Spalte - Meta-Attribute (von anderen AddOns) in der
meta_attributes-Spalte
-
rex_trash_article_slice
- Sichert alle Inhaltsblöcke (Slices) der gelöschten Artikel
- Alle Standard-Felder wie value1-20, media1-10, etc.
- Speichert auch Revisionen fĂŒr Arbeits- und Live-Versionen
-
rex_trash_slice_meta
- Speichert unbekannte/dynamische Felder von Slices
- Verbunden mit
trash_article_sliceĂŒber dietrash_slice_id - JSON-kodierte Meta-Attribute in der
meta_data-Spalte
-
Extension Point abfangen
- Der Papierkorb registriert sich am
ART_PRE_DELETEDExtension Point - Wenn ein Artikel/Kategorie gelöscht wird, greift der Papierkorb ein
- Der Papierkorb registriert sich am
-
Artikel-Daten sichern
- Grunddaten werden in
rex_trash_articlegespeichert - Standard-Meta-Attribute wie SEO-Felder werden identifiziert und als JSON gespeichert
- Datum der Löschung wird festgehalten
- Grunddaten werden in
-
Slices sichern
- Alle Inhaltsblöcke werden in der Tabelle
rex_trash_article_slicegesichert - FĂŒr jede Sprache (clang) und jede Revision (live/Arbeitsversion)
- Standard-Felder direkt kopieren
- Meta-Attribute werden identifiziert und in der Meta-Tabelle gespeichert
- Alle Inhaltsblöcke werden in der Tabelle
-
Artikel wiederherstellen
- PrĂŒfung, ob Original-ID verfĂŒgbar ist
- Falls möglich: Artikel mit Original-ID wiederherstellen
- Falls nicht: Neuen Artikel erstellen und ID-Ănderung protokollieren
- Meta-Attribute zurĂŒckschreiben (nur wenn entsprechende Spalten existieren)
-
Slices wiederherstellen
- Inhaltsblöcke nach Sprache und Revision fĂŒr den Artikel wiederherstellen
- Alle Standard-Felder direkt zurĂŒckschreiben
- Meta-Attribute werden erst nach dem Slice-Insert als separates Update angewendet
-
AufrÀumen
- Daten aus allen drei Papierkorb-Tabellen löschen
- Cache-Invalidierung und Content-Generierung anstoĂen
Ein Cronjob kann konfiguriert werden, um den Papierkorb automatisch zu bereinigen:
-
Zeitgesteuerte Bereinigung
- Artikel Àlter als X Tage werden automatisch entfernt
- Konfigurierbare Zeitspannen (1 Tag bis 1 Jahr)
-
Transaktionssicherheit
- Alle LöschvorgÀnge verwenden Transaktionen
- Entweder werden alle zusammengehörigen Daten gelöscht oder keine
- Garantiert DatenintegritÀt
-
Structure/Version
- Arbeits- und Live-Versionen werden separat gesichert und wiederhergestellt
- Versionierung bleibt nach Wiederherstellung erhalten
-
Meta-Infos und Custom-Felder
- Meta-Informationen von MetaInfo-AddOn werden gesichert
- SEO-/YRewrite-Daten werden erhalten
- Dynamisch hinzugefĂŒgte Felder werden erkannt und gesichert
Friends Of REDAXO
Projektleitung
MIT - Nimm's, nutz's, mach was draus!