Sprache löschen löscht auch Artikelinhalte?

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
farina
Beiträge: 259
Registriert: Fr 24. Okt 2003, 13:16
Wohnort: Düren
Kontaktdaten:

Sprache löschen löscht auch Artikelinhalte?

Beitrag von farina » Mi 8. Nov 2017, 16:23

Hallo,

ich habe da gerade mal ein Verständnisproblem und leider nichts dazu gefunden.

Werden alle dazugehörigen Datenbankinhalte gelöscht, wenn man eine Sprache löscht?
Ich möchte nämlich nicht, dass ungenutzte Restbestände in der Datenbank bleiben.
Sonst würde ich eher jeden Artikel und jeden Menüpunkt einzeln löschen. :(
Wenns aber zu vermeiden wäre, wäre das super.

Gruß Siggi

Oldperl
Beiträge: 4250
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: Sprache löschen löscht auch Artikelinhalte?

Beitrag von Oldperl » Mi 8. Nov 2017, 19:30

Servus,

grundsätzlich, und von der Logik her, sollten beim Löschen einer Sprache auch alle sprachbezogenen Inhalte in der DB gelöscht werden. Ob das zu 100% in 4.9.x auch so ist bzw. funktioniert entzieht sich meiner Kenntnis, da ich selbst beim Löschen noch nicht den Dump der DB entsprechend betrachtet habe. Es gab bereits in früheren Versionen (4.6.x, 4.8.x) immer mal wieder entsprechende Probleme, am bekanntesten sind da wohl die Geister-Kategorien mit den entsprechenden Auswirkungen. Auch bei Modulen und/oder Plugins kann es möglicherweise zu Karteileichen kommen, da es dafür zwar inzwischen einen Core-Mechanismus bzw. einen Hook/Chain gibt, dieser aber in der Regel nicht genutzt oder nicht bekannt ist.

Solltest Du ein es bei Dir einfach mal versuchen, so wäre ein DB-Dump davor und danach nicht schlecht, um entsprechende Überbleibsel zu suchen, bzw. um überhaupt mal zu schauen ob es entsprechend funktioniert.

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: Sprache löschen löscht auch Artikelinhalte?

Beitrag von rethus » Do 9. Nov 2017, 09:38

Soweit ich weiß, musst du den ganzen Weg zu Fuß gehen.
Das heißt Artikel löschen, Kategorien löschen, Sprache löschen (in dieser Reihenfolge).

Ein rekursives Löschen war zwar schon des öfteren gewünscht, ist aber noch nicht umgesetzt worden.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

farina
Beiträge: 259
Registriert: Fr 24. Okt 2003, 13:16
Wohnort: Düren
Kontaktdaten:

Re: Sprache löschen löscht auch Artikelinhalte?

Beitrag von farina » Do 9. Nov 2017, 10:22

OK, danke für die Hilfe
Siggi

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Sprache löschen löscht auch Artikelinhalte?

Beitrag von homtata » Do 9. Nov 2017, 13:38

Um das zu Verhalten zu testen, könnte man m.E. auch so vorgehen: Sprache löschen. Dann neue Sprache anlegen. Diese erhält in der DB eine höhere fortlaufende Nummer. Diese Nummer händisch auf die gerade gelöschte Sprach-ID zurückstellen. Wenn dann darunter Inhalte aufkreuzen, werden diese offensichtlich nicht gelöscht ;-)

Oldperl
Beiträge: 4250
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: Sprache löschen löscht auch Artikelinhalte?

Beitrag von Oldperl » Do 9. Nov 2017, 14:14

Servus,
rethus hat geschrieben:
Do 9. Nov 2017, 09:38
Soweit ich weiß, musst du den ganzen Weg zu Fuß gehen.
Das heißt Artikel löschen, Kategorien löschen, Sprache löschen (in dieser Reihenfolge).

Ein rekursives Löschen war zwar schon des öfteren gewünscht, ist aber noch nicht umgesetzt worden.
Das ist definitiv falsch! CONTENIDO in Version 4.9 löscht, wenn es denn alles durchläuft, rekursiv alle zur Sprache gehörenden Elemente. Und das sowohl in der DB als auch im Code-Cache. Der Löschprozess ist recht umfangreich programmiert und bezieht sich auf etliche Core-DB-Tabellen.
Es gibt aber kein zurück, auch nicht falls etwas schief läuft oder abbricht. Hier kann man das Löschen nochmal anstoßen, solange der Eintrag in der Tabelle für die Sprachen noch vorhanden ist, und damit Abschnittsweise löschen. Je nachdem an welcher Stelle der Abbruch erfolgte können dabei aber Karteileichen übrig bleiben.
Was jedoch fehlt, so wie ich es gedacht habe, ist eine entsprechende Anbindung von Plugins oder Modulen, bzw. eine Chain, die man entsprechend vorher in eigene Programmteile einbinden könnte. Selbst die eigenen Core-Plugins sind nirgends angebunden. Hier fehlt bisher immer noch eine Art Plugin-Handler im Core, der entsprechende Funktionen anbietet.

Gruß aus Franken

Ortwin

PS: Falls Jemand Unterstützung bei so etwas brauch, mich einfach per PN anschreiben oder mal anrufen. :)
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Sprache löschen löscht auch Artikelinhalte?

Beitrag von Faar » Do 9. Nov 2017, 16:36

Oldperl hat geschrieben:
Do 9. Nov 2017, 14:14
Das ist definitiv falsch! CONTENIDO in Version 4.9 löscht, wenn es denn alles durchläuft, rekursiv alle zur Sprache gehörenden Elemente. Und das sowohl in der DB als auch im Code-Cache. Der Löschprozess ist recht umfangreich programmiert und bezieht sich auf etliche Core-DB-Tabellen.
Es gibt aber kein zurück, auch nicht falls etwas schief läuft oder abbricht. Hier kann man das Löschen nochmal anstoßen, solange der Eintrag in der Tabelle für die Sprachen noch vorhanden ist, und damit Abschnittsweise löschen. Je nachdem an welcher Stelle der Abbruch erfolgte können dabei aber Karteileichen übrig bleiben.
Das kann sich durchaus bei manchen Hostern als Problem erweisen, die ganz gerne mal PHP-Prozesse abbrechen.
Seinerzeit, damals Leipzig-Einunleipzig, habe ich das mit einer Löschtabelle realisiert, denn zuletzt wird (sinnbildlich) der Index gelöscht, also die ID von Daten. Solange die ID in einer löschtabelle vorhanden ist, kann man immer wieder nachträglich löschen bis alles weg ist. Alles weg ist es dann, wenn in der Löschtabelle kein Eintrag mehr ist.
Bei großen Datenmengen lohnt es sich, die Löschtabelle über einen Cronjob laufen zu lassen.

Und Löschtabelle können zur Laufzeit erzeugt und gelöscht werden, die muss nicht bei der Installation schon vorliegen. Es ist ganz einfach, ist keine Löschtabelle bei Anforderung zum Löschen vorhanden, wird eine erzeugt. Ist eine vorhanden, wird unten angefügt und nach alten Einträgen geschaut. Sind Einträge vorhanden, werden die Daten hinter diesen IDs gelöscht. Sind keine Daten mehr vorhanden, wird bei Erfolg (!) der Eintrag aus der Löschtabelle gelöscht. Sind keine Einträge mehr in der Löschtabelle vorhanden, wird diese selbst gelöscht.

Bei wirklich großen Datenmengen habe ich das per Pseudocronjob laufen lassen, also einem PHP-Prozess, der sich selbst auf Existenz prüft.
Der läuft dann 24/7 und prüft ununterbrochen die Löschtabelle auf Einträge. Aber Contenido Projekte haben selten so großen Löschbedarf, dass sich das lohnen würde, da reicht der Hauseigene Cronjob aus.

Unbestreitbarer Vorteil der Löschtabelle ist, dass auch bei Serverausfall keine zu löschende Daten als Datenmüll in der DB zurück bleiben, weil die Tabelle so lange Einträge enthält, so lange es Daten gibt, die zu löschen sind.
Transaktionen mit innoDB sind eine eigene Sache, hierbei gibt es bei Transaktionssicherheit ein Rollbackverfahren. Aber das halte ich für komplexer als eine Löschtabelle, mit der man notfalls auch Daten manuell löschen könnte.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: Sprache löschen löscht auch Artikelinhalte?

Beitrag von rethus » Do 9. Nov 2017, 16:37

Die Idee von homtata find ich gut.
Dann natürlich Feedback fürs Forum nicht vergessen :wink:
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

farina
Beiträge: 259
Registriert: Fr 24. Okt 2003, 13:16
Wohnort: Düren
Kontaktdaten:

Re: Sprache löschen löscht auch Artikelinhalte?

Beitrag von farina » Do 9. Nov 2017, 17:36

Klar, wenn ich das probiere, schreibe ich auch das Ergebnis ins Forum.
Knacke aber im Moment an einem anderen Problem mit der Site

Antworten