kategorie angelegt - alles weg

chrisk17
Beiträge: 9
Registriert: Mi 16. Mär 2005, 13:46
Kontaktdaten:

kategorie angelegt - alles weg

Beitrag von chrisk17 » Di 4. Nov 2008, 12:44

hi,
habe eben in meinem conti eine neue kategorie einfügen wollen und jetzt sind ist die komplette hauptkategorie verschwunden.
in der datenbank ist noch alles vorhanden, aber conti erkennt das nicht mehr.
was kann das sein??
[04-Nov-2008 12:25:55] PHP Fatal error: Uncaught exception 'InvalidArgumentException' with message 'Idcat to load must be greater than 0!' in /var/www/vhosts/webtischlerei.de/subdomains/orga-com/httpdocs/contenido/classes/Contenido_Category/Contenido_Category.class.php:148
Stack trace:
#0 /var/www/vhosts/webtischlerei.de/subdomains/orga-com/httpdocs/contenido/classes/Contenido_FrontendNavigation/Contenido_FrontendNavigation_Breadcrumb.class.php(150): Contenido_Category->load(0, true, 3)
#1 /var/www/vhosts/webtischlerei.de/subdomains/orga-com/httpdocs/contenido/classes/Contenido_FrontendNavigation/Contenido_FrontendNavigation_Breadcrumb.class.php(86): Contenido_FrontendNavigation_Breadcrumb->getBreadcrumb('148', 0, false)
#2 /var/www/vhosts/webtischlerei.de/subdomains/orga-com/httpdocs/contenido/classes/webtischlerei.class.php(39): Contenido_FrontendNavigation_Breadcrumb->get('148')
#3 /var/www/vhosts/webtischlerei.de/subdomains/orga-com/httpdocs/orga-com/front_content.php(952) : eval()'d code(222): Hauptkategorie->auslesen('148', 1)
#4 /var/www/vho in /var/www/vhosts/webtischlerei.de/subdomains/orga-com/httpdocs/contenido/classes/Contenido_Category/Contenido_Category.class.php on line 148

OliverL
Beiträge: 870
Registriert: Do 28. Jun 2007, 09:28
Kontaktdaten:

Beitrag von OliverL » Di 4. Nov 2008, 13:04

Leg mal einfach eine neue Hauptkategorie an. Dann sollten alle Alten Daten wieder da sein (inkl. neue Hauptkategorie).

Es wird bei dir so sein das die con_cat_tree nicht richtig geschrieben wurde bzw. leer ist.

mfg OliverL

chrisk17
Beiträge: 9
Registriert: Mi 16. Mär 2005, 13:46
Kontaktdaten:

Beitrag von chrisk17 » Di 4. Nov 2008, 14:46

cool danke. 8)
habs jetzt so gemacht das ich mir die hauptkategorie neu angelegt habe und dann in der con_cat_tree die id der neuen hauptkategorie gegen die alte getauscht! und schwup - alles wieder da...

DANKE....

aber eine frage habe ich noch:
wie kann es zu so einem fehler kommen ?

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

Re: kategorie angelegt - alles weg

Beitrag von Faar » Do 10. Jan 2013, 18:54

Ich hatte das gleiche Problem und in der Artikelliste sind die Kategorien noch da gewesen aber unter Kategorien war der Baum verschwunden und nur die letzte Kategorie wurde noch angezeigt. Allerdings war der Seitenbaum in der Artikelliste etwas durcheinander in der Reihenfolge.
Der Tipp mit einer neuen Haupt-Kategorie anlegen half nicht, denn erstens wurde die neue Kategorie nicht angezeigt und zweitens regenerierte sich nichts.

Die Ursache dafür war höchstwahrscheinlich ein voll gelaufenes Error-Log das den Server zu schmierte und die Datenbank am Speichern hinderte oder das PHP keinen Platz mehr hatte.
Jedenfalls ließ sich nach löschen des riesigen Logfiles wieder eine Kategorie anlegen aber die Kategorieansicht regenerierte sich trotzdem nicht mehr.
Und der Baum in der Artikelansicht war noch mehr durcheinander in der Reihenfolge.

Letztlich half nur noch das täglich Backup wieder ein zu spielen.

Gibt es denn eine Möglichkeit, die Kategorien zu regenerieren in solchen Fällen?
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

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

Re: kategorie angelegt - alles weg

Beitrag von Faar » Fr 11. Jan 2013, 18:44

War ein Irrtum, der Fehler bleibt bestehen.
Nach dem Backup einspielen war zwar alles wie zuvor, doch ist es nicht möglich, eine neue Kategorie zu erstellen.
Danach ist der Kategoriebaum in der Kategorieansicht wieder weg und die Frontpage geht nicht mehr, Error 404.

Soll angeblich an der con_cat_tree Tabelle liegen?
Aber irgendwie muss doch dann das Kategorie-Erzeugungs-Programm nicht mehr recht funktionieren, trotz Version 4.8.18 ?

Weiß jemand, was man da machen kann, dass die Kategorie-Erstellung wieder funktioniert?
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: kategorie angelegt - alles weg

Beitrag von Spider IT » Fr 11. Jan 2013, 19:38

Hallo Faar,

hast du schonmal versucht zuvor eine Kategorie zu verschieben?
Hierbei soll der Kategoriebaum geprüft und ggf. repariert werden.

Gruß
René

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

Re: kategorie angelegt - alles weg

Beitrag von Faar » Fr 11. Jan 2013, 20:35

Hallo Rene,

ja, diese Tipps habe ich schon ausprobiert aber die halfen hier nicht.
Denn es war nach dem Auftauchen des Fehlers nur noch eine einzige verwaiste Hauptkategorie ohne Unterkategorien zu sehen.
Das war die Kategorie die eigentlich im Root ganz unten als letztes stand.
Wenn ich dann eine neue erstellt habe, erschien sie nicht.
Habe ich dann nochmal eine neue Kategorie erstellt, war die erstgenannte veraltete Kategorie nicht mehr zu sehen, dafür aber meine beiden gerade erzeugten Kategorien.
Nur alle anderen Kategorien waren immer noch nicht da und die Seite lief immer noch nicht.
Also hat sich da nichts wirklich regeneriert.

Aber ich habe hier etwas gefunden, das dem sehr ähnlich kommt:
http://forum.contenido.org/viewtopic.php?t=10489

Das Problem ist scheints sehr alt und bisher nicht wirklich gelöst.
Nun habe ich die con_cat_tree mal als SQL-Text verglichen und siehe da, in der kaputten con_cat_tree ist als vorletzter Eintrag eine 0 als idcat eingetragen.
Nachdem was ich hier und da gelesen habe, sollte es keinen 0 Eintrag geben dürfen.
Mich wundert ja sowieso, dass die con_cat_tree Tabelle nicht nach clients unterscheidet. Ich habe 3 Mandanten drin, ein 4-ter wurde wohl mal gelöscht vor 2 Jahren.

Der Default-Wert der idcat in dieser Tabelle ist scheints auch 0, also wenn nichts in die Spalte geschrieben wird, steht eben diese ominöse 0 drin.
Könnte das damit zusammenhängen, dass irgendwann einmal ein weiterer Mandant (client) existiert hatte und dieser damals von irgendjemand gelöscht wurde?
Mir viel nämlich bei meiner Seite auf, dass die Mandanten Löschfunktion gerne auch mal die erste Sprache (1) des Hauptmandanten mit löscht!
Und der Beschreibung von Kummer nach scheint beim Kategoriebaum erstellen die Sprache der Mandanten wichtig zu sein.
Falls da nun mal solch Fehler beim Mandanten-Löschen passiert ist, wäre das zumindest ein Hinweis, wodurch diese Fehler provoziert werden.

Kann ich eigentlich die Tabelle komplett leeren (TRUNCATE TABLE con_cat_tree) und werden dann die Inhalte neu erzeugt, wenn ich eine neue Kategorie anlege?

Viele Grüße,
Frank
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

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

Re: kategorie angelegt - alles weg

Beitrag von Faar » Fr 11. Jan 2013, 21:40

Die con_cat_tree enthält von einer Kategorie viele Einträge, über 20 ca.
Das erscheint auch im dortigen Mandanten in der Kategorie-Ansicht: Es sind viele Kategorien der gleichen Kategorie abgebildet (Typ Kategoriebaum).
In der Artikel-Ansicht gibt es diese Kategorie nur einmal im Baum.

Steckt nun das Problem in der con_cat_tree, die viele Versionen von ein und derselben Kategorie enthält oder ist die Ursache noch tiefer versteckt, bei den Kategorien selbst?

Und warum ist in der einen SQL-Sicherung der Kategorie-Baum viel größer als in der anderen, ungeachtet der Duplicate?
In der letzten Sicherung fehlen jede Menge Kategorien in der con_cat_tree.
Darum vermute ich, dass regelmäßig die con_cat_tree nicht mehr richtig erzeugt wird.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

xmurrix
Beiträge: 3149
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: kategorie angelegt - alles weg

Beitrag von xmurrix » Sa 12. Jan 2013, 00:38

Die Tabelle con_cat_tee wird beim Anlegen einer neuen Kategorie und beim Kopieren einer Kategorie neu generiert.

Das kann man auch manuell machen, indem man z. B. in einem Modul folgendes ausführt:

Code: Alles auswählen

cInclude('includes', 'functions.str.php');
strRemakeTreeTable();
Dann werden die Einträge in con_cat_tee für den aktuellen Mandanten neu generiert. Ich würde die con_cat_tee nicht leeren, da sonst alle Einträge, also für alle Mandanten gelöscht werden.

Sehr wahrscheinlich gibt es Probleme in der Tabelle con_cat, wenn da die Werte für parentid, preid und postid nicht stimmen, wird die con_cat_tee dann nicht korrekt für den Mandanten befüllt.

Leider ist es nicht einfach, bei den Feldern parentid, preid und postid gleich zu erkennen, was da nicht stimmt. Zur jeder Kategorie muss man prüfen, ob die Werte richtig sind, und diese gegebenenfalls anpassen.

Was da aber bei den Kategorien jetzt die Ursache für das Problem ist, lässt sich schwer sagen, ich weiß das zumindest nicht. Vielleicht wird im Backend bei Kategorieoperationen unter bestimmten Konstellationen falsche Einträge generiert, ich konnte das aber bisher nicht reproduzieren.

Vielleicht hängt es auch mit der Anzahl der Kategorien und der Anzahl der ausgeführten SQL-Befehle ab oder der SQL-Server verabschiedet sich mittendrin und die Änderungen konnten nicht alle ausgeführt werden.

Gruß
xumrrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

juergen_we
Beiträge: 16
Registriert: Mo 1. Aug 2011, 19:31
Kontaktdaten:

Re: kategorie angelegt - alles weg

Beitrag von juergen_we » So 13. Jan 2013, 13:38

Auch bei mir gab es die Probleme mit der Tabelle con_cat. Die Einträge wurden nach dem Verschieben einer Kategorie in eine tieferliegende teilweise zerstört. Alle Einträge wie xmurrix schreibt manuell in der Tabelle korrigiert, danach liefs wieder, der Fehler konnte auch nicht reproduziert werden. Ein halbes Jahr später der gleiche Fehler wieder.
Bin aus dem Grund zwar jetzt für diesen Mandanten auf ein anderes CMS umgestiegen da eh ein Redesign anstand aber andere sind noch auf Contenido. Vielleicht findet ja doch noch einer den Grund dafür.

Jürgen

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

Re: kategorie angelegt - alles weg

Beitrag von Faar » Mo 14. Jan 2013, 18:52

Danke Xmurrix.

Ich werde morgen die Datentabelle con_cat_tree mal von Hand reparieren und herumtesten, wie sie sich regeneriert und schauen was passiert.
Aber falls der Fehler in den SQL-Anweisungen oder in der con_cat Tabelle liegt, wird das kaum was nützen.
Irgendwie ist hier schade, dass die Tabellen nicht nach Mandanten anhand der Mandanten-ID unterschieden werden.

Hallo Jürgen,
ich hatte letzten Herbst extra das System von 4.8.12 auf 4.8.18 geupdatet weil es irgendwo hieß, dass der Fehler dann behoben sei, weil eben das Problem mit den Kategorien schon davor im Sommer auftrat.
Nun fürchte ich, dass durch Reparatur der con_cat_tree das Problem nicht dauerhaft gelöst sein wird.

VG,
Frank
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: kategorie angelegt - alles weg

Beitrag von Dodger77 » Mo 14. Jan 2013, 21:14

@Faar

Nur zur Sicherheit: evtl. vorhandene Probleme werden nicht durch die con_cat_tree, sondern die con_cat verursacht. Reparieren müsste man dann auch die con_cat.

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

Re: kategorie angelegt - alles weg

Beitrag von Faar » Di 15. Jan 2013, 11:37

Hallo Dodger77,

stimmt, denn die Reparatur nur der con_cat_tree half nichts.

Aber woran erkenne ich, ob die con_cat falsch ist?
Wie ist die Logik?
Was ist mit preid und postid gemeint?
Wann darf eine preid 0 sein und wann eine parentid?
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: kategorie angelegt - alles weg

Beitrag von Dodger77 » Di 15. Jan 2013, 11:45

Schau dir mal hier die Ausführungen an, das sollte es klarer machen:

http://forum.contenido.org/viewtopic.ph ... id#p146996

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

Re: kategorie angelegt - alles weg

Beitrag von Faar » Di 15. Jan 2013, 12:24

Danke.
Das heißt, die Root hat die ID 0 und folglich muss in jedem Mandanten eine Kategorie mindestens eine preid 0 haben und eine parentid 0. Aber zwei davon darf es pro Mandanten nicht geben.
Bin ich da noch richtig in der Annahme?

Interessant in dem Zusammenhang ist die Fehlemeldung des Breadcrumb-Moduls von Rudi Bieller:

Shit happens: Idcat to load must be greater than 0!: .../classes/Contenido_Category/Contenido_Category.class.php at line 147 (#0 .../classes/Contenido_FrontendNavigation/Contenido_FrontendNavigation_Breadcrumb.class.php(146): Contenido_Category->load(0, true, 1) #1 .../classes/Contenido_FrontendNavigation/Contenido_FrontendNavigation_Breadcrumb.class.php(82): Contenido_FrontendNavigation_Breadcrumb->getBreadcrumb(137, 1, false) #2 .../front_content.php(931) : eval()'d code(335): Contenido_FrontendNavigation_Breadcrumb->get(137, 1) #3 .../front_content.php(931): eval() #4 {main})"

Sieht aus als scheint es eine Idcat kleiner als 0 zu geben (vielleicht NULL?).
Und handelt es sich hier um die Idcat 137 ?
Wenn ja, in welcher Tabelle?
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

Gesperrt