Ergebnis 1 bis 13 von 13

Thema: [abidePreview] Problem bei Installation, geht dann aber doch!

  1. #1
    Contao-Nutzer
    Registriert seit
    19.04.2010.
    Ort
    Frankfurt
    Beiträge
    19

    Standard [abidePreview] Problem bei Installation, geht dann aber doch!

    Hallo,

    habe die Erweiterung abidePreview entdeckt und installiert, dabei aber folgendes Problem beim Update der Datenbank entdeckt.
    Nach dem installieren der Dateien soll die Datenbank akutalisert werden. Es wird dabei (wie üblich) gefragt, ob ich folgende Datenbankänderung durchführen möchte:
    ALTER TABLE `tl_session` ADD `abidePreview` text NULL;

    Nach einem Aktualisiern erhalte ich die selbe Frage noch einmal. Beim zweiten mal gibt es aber eine Fehlermeldung, dass dieses Feld schon vorhanden ist.

    Wenn ich dann wieder zurück in die Erweiterungsverwaltung gehen und die Datenbank aktualisiere ist alles OK, die Aktualisierung wurde auch ausgeführt. Das Feld ist in der Datenbank.

    Die Erweiterung funktioniert dann auch super und zeigt mir in der Vorschau die unterschiedlichen Sprachen an, ohne dass ich am Browser mehr was ändern muss. Dieses Feature habe ich bisher vermisst!

    @weke: Feature anfrage:
    1. Man sollte für die Benutzer auch konfigurieren können, dass sie die Auswahlliste nicht sehen und stattdessen immer "automatische Erkennung" gilt.
    2. Kann man diese Auswahlliste nicht auch im Vorschau Fenster anzeigen? Ich denke da an folgendes:
    Wenn kein Admin angemeldet ist, wird deine Auswahlliste angezeigt, bei Admins nicht, sonst wird es bei normalen Auflösungen zu eng.
    Beide Optionen sollten für den Benutzer oder die Benutzergruppe definierbar sein.

    Ich hoffe, das war jetzt hier richtig plaziert?

    styx7

  2. #2
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.558
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von styx7 Beitrag anzeigen
    Nach dem installieren der Dateien soll die Datenbank akutalisert werden. Es wird dabei (wie üblich) gefragt, ob ich folgende Datenbankänderung durchführen möchte:
    ALTER TABLE `tl_session` ADD `abidePreview` text NULL;

    Nach einem Aktualisiern erhalte ich die selbe Frage noch einmal. Beim zweiten mal gibt es aber eine Fehlermeldung, dass dieses Feld schon vorhanden ist.
    Ein ähnliches Verhalten beobachte ich auch seit dem Update auf die Contao Version 2.9.1 in einer meiner lokalen Installationen, konnte aber bisher noch nicht eruieren, was der Grund dafür sein könnte...

    Das "Problem" ist allerdings nicht auf eine bestimmte Erweiterung beschränkt, sondern zeigt sich im Grunde bei sämtlichen Erweiterungen, die nach der Installation Tabellen in der DB anlegen wollen.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  3. #3
    Contao-Nutzer
    Registriert seit
    08.01.2010.
    Beiträge
    109

    Standard

    Hallo styx7 und xchs,

    Danke für die Hinweise.
    Zitat Zitat von styx7 Beitrag anzeigen
    Nach dem installieren der Dateien soll die Datenbank akutalisert werden. Es wird dabei (wie üblich) gefragt, ob ich folgende Datenbankänderung durchführen möchte:
    ALTER TABLE `tl_session` ADD `abidePreview` text NULL;
    Nach einem Aktualisiern erhalte ich die selbe Frage noch einmal. Beim zweiten mal gibt es aber eine Fehlermeldung, dass dieses Feld schon vorhanden ist.
    Zitat Zitat von xchs Beitrag anzeigen
    Ein ähnliches Verhalten beobachte ich auch seit dem Update auf die Contao Version 2.9.1 in einer meiner lokalen Installationen, konnte aber bisher noch nicht eruieren, was der Grund dafür sein könnte...

    Das "Problem" ist allerdings nicht auf eine bestimmte Erweiterung beschränkt, sondern zeigt sich im Grunde bei sämtlichen Erweiterungen, die nach der Installation Tabellen in der DB anlegen wollen.
    Für das Problem beim aktualisieren der Datenbank habe ich zwar eine Lösung gefunden, aber noch keine echte Erklärung. Zudem weiß ich nicht, ob meine Lösung auch allgemeingültig ist. Das sollte auf jeden Fall noch mal geprüft werden!

    Ich konnte zum Glück auf einem Server mit MySQL das Problem nachstellen. Die Lösung fand ich im Datenbank-Treiber. Bei MySQLi und MySQL ist in den Dateien
    /system/drivers/DB_Mysql.php und
    /system/drivers/DB_Mysqli.php
    in der Funktion list_fields() der Datenbankaufruf von execute in query zu ändern.
    PHP-Code:
    protected function list_fields($strTable)     
    {
             
    $arrReturn = array();
             
    $arrFields $this->query(sprintf($this->strListFields$strTable))->fetchAllAssoc();
    [..] 
    Bei der Erklärung hapert es allerdings noch.
    Meine Erweiterung prüft allerdings beim Laden einer Backendseite, ob die Datenbank schon aktualisiert wurde, ergo die neue Spalte existiert.
    Das hat zur Folge, dass beim aktualisieren der Datenbank die list_fields Funktion initial aufgerufen wird. Erst danach wird das ALTER TABLE aufgerufen und dann noch einmal die list_fields Funktion.
    Warum auch immer wird jedoch mit einem execute Aufruf beim zweiten mal das selbe Result zurück geliefert, wie beim ersten Aufruf, also vor ALTER TABLE, ohne die neue Spalte.

    Nachdem ich das auf ein query umgestellt hatte, wurde beim zweiten Aufruf die neue Spalte erkannt.
    Ich kann mir das nur so erklären, dass der PHP-Datenbank-Treiber die Abfrage der Spalten irgendwie cached und noch irgend etwas zusätzliches erwartet um den cache wieder frei zu geben.

    Vielleicht hat ja jemand anderes eine genauere Erklärung und erstellt ein entsprechendes Ticket.

    @styx7: Zu deinen beiden Vorschlägen:

    1. Das hatte ich auch erst überlegt, bin davon aber nicht überzeugt.
      Grund: Die automatische Erkennung kann nicht immer die passende Root-Seite ermitteln. Dann muss dem Anwender die Möglichkeit bleiben, selbst Hand anzulegen.
    2. Auch hier halte ich nichts davon.
      Grund: In der Vorschau ist eigentlich immer ein expliziter Pfad zu einer Seite / Artikel / Element angegeben. Wird dann der Bezug zur Root-Seite geändert führt das fast zwangsläufig zu einem „Page not Found“.
    Mfg weke

    Ein Mensch ist immer das Opfer seiner Wahrheiten. (Albert Camus)

  4. #4
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.558
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo weke,

    wenn Du meinst, das könnte u.U. ein Problem genereller Natur sein, dann wär's vielleicht besser, wenn wir das im Entwickler-Forum nochmals genauer und intensiver zur Sprache bringen; vielleicht kann das auch noch wer anders reproduzieren und ggf. eine mögliche Erklärung dazu liefern.

    NACHTRAG:
    So, hab' jetzt mal die Erweiterung "abidePreview" in einer (fast jungfräulichen) Installation ("Music Academy") lokal unter XAMPP installiert. Was mir dabei aufgefallen ist: Sowohl bei der Installation über den "Erweiterungskatalog" als auch über die Variante "Erweiterungsverwaltung" -> "Erweiterung installieren" wird mir in beiden Fällen NIE der abschließende Punkt "Datenbank aktualisieren" angezeigt. In der Erweiterungsverwaltung scheint die Erweiterung als korrekt installiert auf. Erst sobald man manuell den Link "Datenbank aktualisieren" aufruft, wird man auf die nicht aktuelle Datenbank hingewiesen:
    Neue Spalten anlegen:
    ALTER TABLE `tl_session` ADD `abidePreview` text NULL;
    Geändert von xchs (25.09.2010 um 00:05 Uhr)
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  5. #5
    Contao-Nutzer
    Registriert seit
    08.01.2010.
    Beiträge
    109

    Standard

    Hallo xchs,

    Danke für die Nachtschicht!

    Zitat Zitat von xchs Beitrag anzeigen
    So, hab' jetzt mal die Erweiterung "abidePreview" in einer (fast jungfräulichen) Installation ("Music Academy") lokal unter XAMPP installiert. Was mir dabei aufgefallen ist: Sowohl bei der Installation über den "Erweiterungskatalog" als auch über die Variante "Erweiterungsverwaltung" -> "Erweiterung installieren" wird mir in beiden Fällen NIE der abschließende Punkt "Datenbank aktualisieren" angezeigt. In der Erweiterungsverwaltung scheint die Erweiterung als korrekt installiert auf. Erst sobald man manuell den Link "Datenbank aktualisieren" aufruft, wird man auf die nicht aktuelle Datenbank hingewiesen:
    Jetzt wird es langsam unheimlich. Dieses Verhalten hatte ich bisher noch bei keinem Server. Sofern ich in meiner database.sql keinen Fehler drin habe, sollte das eigentlich nicht passieren.

    Hier scheint mein früher Aufruf von Database->fieldExists so einiges durcheinander zu bringen.

    Ich habe stattdessen die Erkennung, ob die neue Spalte in der Datenbank schon vorhanden ist, von Database->fieldExists auf eine simple query mit try-catch-Block ersetzt. So erkenne ich auch, wenn die Spalte nicht vorhanden ist, aber die Datenbankaktualisierung funktioniert wenigstens.
    Die geänderte Version ist bereits online im ER und kann getestet werden. Hoffe es klappt jetzt auch auf anderen Servern.

    PS: Habe das jetzt auch mit unveränderten Datenbanktreibern ausgetestet. Da klappt es jetzt auch!
    Mfg weke

    Ein Mensch ist immer das Opfer seiner Wahrheiten. (Albert Camus)

  6. #6
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.558
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo weke,

    hab' mir jetzt nochmals lokal im XAMPP eine frische Installation aufgesetzt (Contao 2.9.2 r537, ausgecheckt aus dem SVN), das Webseiten-Template "Music Academy" installiert und dann versucht, Deine aktuelle Erweiterung (v0.3.1 rc2 Build 3) aus dem ER zu installieren - allerdings mit dem selben Ergebnis wie heute Nacht! Erhalte nach Installation der Extension einfach keine Aufforderung zum Aktualisieren der DB; diese muss ich nach wie vor manuell in der "Erweiterungsverwaltung" über "Datenbank aktualisieren" vornehmen. Was sich aber nunmehr geändert hat: Das im OP beschriebene Problem tritt beim Aktualisieren der DB jetzt nicht mehr auf!

    Die Installationen anderer Erweiterungen aus dem Extension Repository funktionieren wie beabsichtigt und ohne Probleme, sprich - das Datenbank-Update wird am Ende korrekt angezeigt und ausgeführt.

    Getestet unter XAMPP 1.7.3 mit PHP 5.3.1 und MySQL 5.1.41
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  7. #7
    Contao-Nutzer
    Registriert seit
    08.01.2010.
    Beiträge
    109

    Standard

    Hi xchs,

    schön zu hören, dass die initial beschriebenen Probleme nicht mehr auftreten.
    Wegen dem von dir beschriebenen Problem habe auf verschiedenen Servern versucht den Fall nach zu stellen, aber bisher ohne Erfolg. Immer wurde mir der Datenbank Update angeboten.
    Auch die Installation von XAMPP 1.7.3 mit Contao 2.9.2 r537 auf einem Win XP SP3 Rechner hat mich immer wieder die Aktualisierung der Datenbank angeboten.

    Ich bin ratlos!

    Nutzt du den MySQL oder den MySQLi Treiber? Habe zwar beide getestet, aber dann könnte ich mich auf eine Version konzentrieren.
    Mfg weke

    Ein Mensch ist immer das Opfer seiner Wahrheiten. (Albert Camus)

  8. #8
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.558
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von weke Beitrag anzeigen
    Auch die Installation von XAMPP 1.7.3 mit Contao 2.9.2 r537 auf einem Win XP SP3 Rechner hat mich immer wieder die Aktualisierung der Datenbank angeboten.
    Schon komisch, ja. Insbesondere auch deshalb, weil sich (scheinbar) alle anderen Erweiterungen problemlos (also auch mit angebotenem DB-Update) installieren lassen. Naja...

    Zitat Zitat von weke Beitrag anzeigen
    Nutzt du den MySQL oder den MySQLi Treiber? Habe zwar beide getestet, aber dann könnte ich mich auf eine Version konzentrieren.
    Den Standard-MySQL-Treiber.

    Aber mach Dir jetzt dazu nicht unnötig Arbeit. Es kann ja auch sein, dass das Problem irgendwo bei meiner Serverkonfiguration zu suchen ist und es deshalb zu diesem Verhalten kommt. Sollte ich online irgendwo noch eine DB frei haben, werde ich die ganze Installation mal auf einen Online-Server schieben und schauen, wie die ganze Sache dort aussieht...
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  9. #9
    Contao-Nutzer
    Registriert seit
    08.01.2010.
    Beiträge
    109

    Standard

    Hallo xchs,

    danke für deine Testen, aber ich glaube der Fehler lag an meiner Installation, ich meine, dass es bei mir Funktionierte. Jetzt kann ich den Fehler nachstellen und frage mich, warum es vorher eigentlich ging?
    Ich brauche während der Installation ein Reload, bei dem aber die POST-Parameter verloren gehen. Das habe ich in der 0.3.1 rc2 bild 4 versucht zu lösen.
    Sollte jetzt eigentlich funktionieren, auch wenn ich mit der Umsetzung noch nicht ganz glücklich bin. Da werde ich wohl noch mal schrauben.
    Mfg weke

    Ein Mensch ist immer das Opfer seiner Wahrheiten. (Albert Camus)

  10. #10
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.558
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von weke Beitrag anzeigen
    Hallo xchs,

    danke für deine Testen, aber ich glaube der Fehler lag an meiner Installation, ich meine, dass es bei mir Funktionierte. Jetzt kann ich den Fehler nachstellen und frage mich, warum es vorher eigentlich ging?
    Ich brauche während der Installation ein Reload, bei dem aber die POST-Parameter verloren gehen. Das habe ich in der 0.3.1 rc2 bild 4 versucht zu lösen.
    Sollte jetzt eigentlich funktionieren, auch wenn ich mit der Umsetzung noch nicht ganz glücklich bin. Da werde ich wohl noch mal schrauben.
    Super! Mit Build 4 funktioniert's einwandfrei.
    (und ich war schon drauf und dran den XAMPP neu zu installieren... )
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  11. #11
    Contao-Nutzer
    Registriert seit
    19.04.2010.
    Ort
    Frankfurt
    Beiträge
    19

    Standard

    Hallo weke,

    habs endlich auch getestet und Build 4 funktioniert bei mir jetzt auch ohne Fehlermeldung.

    Zitat Zitat von weke Beitrag anzeigen
    @styx7: Zu deinen beiden Vorschlägen:

    1. Das hatte ich auch erst überlegt, bin davon aber nicht überzeugt.
      Grund: Die automatische Erkennung kann nicht immer die passende Root-Seite ermitteln. Dann muss dem Anwender die Möglichkeit bleiben, selbst Hand anzulegen.
    2. Auch hier halte ich nichts davon.
      Grund: In der Vorschau ist eigentlich immer ein expliziter Pfad zu einer Seite / Artikel / Element angegeben. Wird dann der Bezug zur Root-Seite geändert führt das fast zwangsläufig zu einem „Page not Found“.
    Danke für die ausführliche Erklärung, dann ziehe ich meine Vorschläge wieder zurück

    Styx7

  12. #12
    Contao-Fan Avatar von thepixture
    Registriert seit
    24.06.2009.
    Ort
    Dresden
    Beiträge
    536

    Standard

    Da muss ich Dich leider enttäuschen.

    Ich hab Deine Erweiterung (0.3.2 rc2 Build 9) jetzt auf einer Contao 2.9.3 installiert und mir wurde keine Datenbankaktualisierung angeboten, sondern bin bei der Aktionszusammenfassung gelandet. Erst ein nachträglicher Klick auf "Datenbank aktualisieren" hat die DB auch aktualisiert.

    Ansonsten eine sehr hilfreiche Erweiterung

  13. #13
    Contao-Fan Avatar von thepixture
    Registriert seit
    24.06.2009.
    Ort
    Dresden
    Beiträge
    536

    Standard

    Hallo,

    das Problem bei der Installation besteht bei der Version 0.4.0 rc2 und Contao 2.10.3 weiterhin. Aktuell habe ich eine Paketinstallation mit bundle_client gemacht, wobei nach dem Installieren der Dateien die Weiterleitung zum Datenbank-Update auf Grund von AbidePreview nicht funktionierte. Das es an AbidePreview lag, erkennt man daran, wenn man auf "weiter" klickt, die Dateien von AbidePreview in der Ansicht aktualisiert wurden. Von den anderen Erweiterungen jedoch nicht.

    Vielleicht kannst Du das nochmal checken. Ich meine, man kann das Datenbank-Update dann auch nochmal über die Erweiterungsverwaltung auslösen, aber wäre schon besser, es würde normal funktionieren
    Grüße
    thepixture

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Antworten: 16
    Letzter Beitrag: 20.11.2016, 22:21
  2. Antworten: 3
    Letzter Beitrag: 27.06.2011, 10:18
  3. Wechsel von eng zu de geht aber nicht umgekehrt
    Von allesroger im Forum changelanguage
    Antworten: 6
    Letzter Beitrag: 14.01.2011, 09:53
  4. Custom-Template wird angenommen, dann aber nicht mehr gefunden
    Von Hendriks im Forum Sonstiges zu Contao
    Antworten: 3
    Letzter Beitrag: 09.07.2010, 19:28
  5. install Passwort richtig, aber es geht nicht weiter
    Von franani im Forum Installation / Update
    Antworten: 13
    Letzter Beitrag: 06.12.2009, 15:10

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •