Ankündigung

Einklappen
Keine Ankündigung bisher.

Vault-Datenübertragung nach Update tw. mit Fehlern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Vault-Datenübertragung nach Update tw. mit Fehlern

    Wir haben nach einem Update von X3 auf X4 Fehlermeldungen bei der Vault-Datenübertragung.
    Im Debugger kommt diese Meldung.


    PHP-Code:
    // return if field does not exist
       
    if( !$objDatabase->fieldExists($strField,$strTable) )
     {
      
    System::log('Vault: Field '.$strField.' does not exist in '.$strTable,__METHOD__,\TL_ERROR);
     throw new \
    Exception('Vault:  Field '.$strField.' does not exist in '.$strTable);
    return 
    false;
     }
    // check if target entry exists
     
    $objEntry $objDatabase->prepare("SELECT id FROM ".$strTable." WHERE id=?")->execute($objRow->pid); 

    Was kann dafür ursächlich sein, bzw. wie können wir die Ursache ermitteln?


  • #2
    Es fehlt das Zielfeld für die Übertragung der Daten. Bei einem normalen Inhaltselemente würde der Fehler auslösen wenn tl_content.pct_customelement fehlt.
    Vielleicht ist einfach die Datenbank nicht up to date.
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Es kommt nur bei den CEs vom Typ "Wizard" vor.
      Es handelt sich um CEs innerhalb eines CCs.

      Die Datenbank ist aktuell.

      Kommentar


      • #4
        Die CEs werden in den CC Einträgen sowohl im BE als auch im Frontend korrekt ausgegeben.
        Nur geht diese Vault Meldung nicht weg.
        Können wir das manuell erledigen?

        Kommentar


        • #5
          Ab CC 4.4.x: Das CE-Attribut wird versuchen ein zusätzliches Zielfeld namens ATTRIBUT-ALIAS_data zu erstellen. Dieses Feld wird als Ziel genutzt. Vielleicht den DCA-Cache einmal leeren oder dafür deaktivieren. Event. fehlt die Felddefinition noch im DCA des CCs.
          Zuletzt geändert von Tim; 14.04.2022, 14:27.
          http://www.premium-contao-themes.com

          Kommentar


          • #6
            Habe ich nun alles ausprobiert.

            DCA geleert und deaktiviert.
            Sowohl das CE erneut gespeichert, alle Felder neu abgespeichert.
            Und auch das betreffende CC Feld gespeichert.

            Die Meldung bleibt erhalten und zwar 382x bei jedem Backendaufruf... also für jeden CC Eintrag.

            Kommentar


            • #7
              Wurde das ..._data Feld erstellt?

              Wie alt ist die Installation? Bei sehr alten Installationen kann ggf. eine wichtige Information im Vault-Datensatz fehlen.

              Wenn im Vault Datensatz das Feld "attr_id" nicht die ID des jeweiligen CE-Attributes hat, wird die Feldermittlung scheitern. Bitte prüfe hier auch einmal die tl_pct_customelement_vault Tabelle.
              Zuletzt geändert von Tim; 14.04.2022, 15:01.
              http://www.premium-contao-themes.com

              Kommentar


              • #8
                Ok attr_id ist überall leer bei diesen Elementen

                Ich denke, da gehört dann die ID des CEs und nicht des CE-Attributes rein oder? Der Vault Eintrag beinhaltet ja mehrere Attribute.

                PHP-Code:
                a:9:{s:6:"values";a:7:{s:13:"tu8d48ail906b";s:0:"";s:15:"t6ybklxte8feup3";N;s:14:"emyglvbejjz351";N;s:18:"emyglvbejjz351_alt";s:0:"";s:20:"emyglvbejjz351_title";s:0:"";s:22:"emyglvbejjz351_caption";s:0:"";s:23:"emyglvbejjz351_fullsize";s:0:"";}s:6:"groups";a:1:{i:0;a:4:{s:5:"ident";s:5:"398_0";s:8:"group_id";s:3:"398";s:11:"group_alias";s:6:"inhalt";s:10:"attributes";a:3:{i:0;a:3:{s:4:"uuid";s:13:"tu8d48ail906b";s:2:"id";s:4:"2373";s:5:"alias";s:9:"name_city";}i:1;a:3:{s:4:"uuid";s:15:"t6ybklxte8feup3";s:2:"id";s:4:"2371";s:5:"alias";s:12:"beschreibung";}i:2;a:3:{s:4:"uuid";s:14:"emyglvbejjz351";s:2:"id";s:4:"2370";s:5:"alias";s:5:"image";}}}}s:6:"clones";a:0:{}s:6:"tstamp";s:10:"1547631012";s:5:"alias";s:31:"id_0_kk_touren_beschreibung_ort";s:5:"uuids";a:3:{i:0;s:13:"tu8d48ail906b";i:1;s:15:"t6ybklxte8feup3";i:2;s:14:"emyglvbejjz351";}s:7:"version";s:5:"3.3.0";s:13:"customelement";s:3:"168";s:17:"generic_attribute";s:4:"2372";} 

                Kommentar


                • #9
                  Ok attr_id ist überall leer bei diesen Elementen
                  Das ist schon eine alte Installation, deren CC Datensätze lange nicht gespeichert wurden, oder? Die attr_id wird beim Speichern eines CE-Attributes gesetzt.

                  Für alle Vault-Datensätze, die in einem CC (in einem CE-Attribut) eingesetzt werden: attr_id muss die ID des CE-Attributes tragen.

                  tl_pct_customelement_vault.source = CC-TABELLE
                  tl_pct_customelement_vault.pid = ID-DES-CC-EINTRAGS
                  tl_pct_customelement_vault.attr_id = ID-DES-CE-ATTRIBUTES

                  Wenn Ihr nur ein CE-Attribute in diesem CC habt, wäre attr_id bei den Einträgen überall gleich.



                  http://www.premium-contao-themes.com

                  Kommentar


                  • #10
                    Da kannste mal sehen, wie lange ich mich mit dem Zeug schon rumschlage ;-) wollte sagen es genieße :-D
                    Das hat funktioniert. Es ist etwas mühsam an die attribute-ID des CE elements zu kommen.

                    Ging nur über die DB Suche.
                    Im Backend werden bei den Attributen nur "I" angezeigt.

                    -------------------

                    Leider nochmals ein Nachtrag.
                    Das hat offenbar doch nicht funktioniert. Nach intensiver Suche haben wir nun die folgende Situation:

                    Sämtliche Bild-Daten in dem betreffenden Attribut werden in den CC Einträgen nicht übernommen.

                    Im Vault sind hier zwar Einträge vorhanden, auch mit der richtigen PID=CC-ID (wie oben beschrieben), aber weder im Backend noch im Frontend sind diese Daten vorhanden.

                    Daran ändert auch eine Vault-Datenübertragung nichts.
                    Wir haben hier die entsprechende attr_id des CC_Attributs eingetragen, und auch testweise zusätzlich noch die UUID des Attributs.

                    Bei dem betreffenden Element handelt es sich um ein CE mit folgenden Attributen:
                    • text
                    • textarea
                    • image
                    • checkbox
                    Diese sind in einer Gruppe, die duplizierbar ist.

                    Es wurden die Inhalte aller Attribute übernommen mit Ausnahme der Image Daten (Bild, Alt-Attribut, Title Attribut.)

                    Ich habe mal als Beispiel den Inhalt eines Vault Blobs angehängt.
                    Da es sich um 370 CC Einträge mit jeweils etwa 4-5 Bildern handelt ist auch ein manuelles Nachtragen etwas unverhältnismäßig.
                    Angehängte Dateien
                    Zuletzt geändert von eblick; 16.04.2022, 14:45.

                    Kommentar


                    • #11
                      Unter Contao 4.13 kommt darüberhinaus noch diese Meldung beim Aufruf eines CC-Datensatz mit einen CE-Element:

                      Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Bildschirmfoto 2022-04-16 um 15.30.56.png
Ansichten: 332
Größe: 52,5 KB
ID: 24881
                      Zuletzt geändert von eblick; 16.04.2022, 15:33.

                      Kommentar


                      • #12
                        Zitat von eblick Beitrag anzeigen
                        Unter Contao 4.13 kommt darüberhinaus noch diese Meldung beim Aufruf eines CC-Datensatz mit einen CE-Element:

                        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Bildschirmfoto 2022-04-16 um 15.30.56.png
Ansichten: 332
Größe: 52,5 KB
ID: 24881
                        Diese Meldungen und auch Plugins sagen mir nichts.
                        http://www.premium-contao-themes.com

                        Kommentar


                        • #13
                          Zitat von eblick Beitrag anzeigen
                          Da kannste mal sehen, wie lange ich mich mit dem Zeug schon rumschlage ;-) wollte sagen es genieße :-D
                          Das hat funktioniert. Es ist etwas mühsam an die attribute-ID des CE elements zu kommen.

                          Ging nur über die DB Suche.
                          Im Backend werden bei den Attributen nur "I" angezeigt.

                          -------------------

                          Leider nochmals ein Nachtrag.
                          Das hat offenbar doch nicht funktioniert. Nach intensiver Suche haben wir nun die folgende Situation:

                          Sämtliche Bild-Daten in dem betreffenden Attribut werden in den CC Einträgen nicht übernommen.

                          Im Vault sind hier zwar Einträge vorhanden, auch mit der richtigen PID=CC-ID (wie oben beschrieben), aber weder im Backend noch im Frontend sind diese Daten vorhanden.

                          Daran ändert auch eine Vault-Datenübertragung nichts.
                          Wir haben hier die entsprechende attr_id des CC_Attributs eingetragen, und auch testweise zusätzlich noch die UUID des Attributs.

                          Bei dem betreffenden Element handelt es sich um ein CE mit folgenden Attributen:
                          • text
                          • textarea
                          • image
                          • checkbox
                          Diese sind in einer Gruppe, die duplizierbar ist.

                          Es wurden die Inhalte aller Attribute übernommen mit Ausnahme der Image Daten (Bild, Alt-Attribut, Title Attribut.)

                          Ich habe mal als Beispiel den Inhalt eines Vault Blobs angehängt.
                          Da es sich um 370 CC Einträge mit jeweils etwa 4-5 Bildern handelt ist auch ein manuelles Nachtragen etwas unverhältnismäßig.
                          Die Vault-Übertragung ist ein reines Copy von einem Feld zu einem anderen. Es gehen dabei keine Daten verloren. Bezüglich der Meta-Felder unter 4.13 gab es noch ein CE/CC Update.

                          Wir haben hier die entsprechende attr_id des CC_Attributs eingetragen, und auch testweise zusätzlich noch die UUID des Attributs.
                          Das ist nicht nötig, nur wie oben beschreiben das Feld attr_id mit der ID des CE-Attributs nachträglich befüllen. Die steht oben in der Überschrift der Einstellungen des Datensatzes.
                          Die uuids solltet ihr nirgends ändern. Damit verändert ihr Referenzen, insbesondere bei duplizierten Gruppen.

                          Ich würde empfehlen die Vault-Tabelle wieder zurück zu setzen. Man kann auch einfach wie gewohnt weiterarbeiten. Beim nächsten Speichern eines CEs (auch in CC) wird das CE nicht mehr in den Vault gespeichert.
                          Zuletzt geändert von Tim; 19.04.2022, 08:17.
                          http://www.premium-contao-themes.com

                          Kommentar


                          • #14
                            Hat es nach dem Ergänzen der attr_id geklappt?
                            http://www.premium-contao-themes.com

                            Kommentar


                            • #15
                              Leider nein. Wir habe mal die Original Vault Tabelle aus der Urversion (X3 mit Contao 4.9) in die neue (X4 mit Contao 4.9) kopiert.

                              Schon in dieser Version sind die Bilder des Elements (nebst Metadaten) nicht mehr zu sehen. Die anderen Felder, wie oben beschrieben, sind im Datensatz vorhanden.

                              Die Vault Datenübertragung funktioniert zwar, wenn die attr_id eingetragen wird. Die Liste mit den Vorschlägen ist anschließend leer.
                              Jedoch kommt der Hinweis, dass die Datenübertragung ansteht, nach wie vor.


                              Kommentar

                              Lädt...
                              X