0.9 Prebeta - i-doit.js + style.css
-
Danke für die Freigabe der Prebeta; sieht auf den ersten Blick gut aus.
Allerdings habe ich hiermit das gleiche Problem wie mit der PR3; die TEMP-Dateien ?????_i-doit.js und ?????_style.css werden mit einer Dateigröße von 0 Byte erstellt. Gibt es hierzu inzwischen irgendwelche Erkenntnisse ?
-
Oh, "sehr gut".
Das Problem hatten wir vor kurzem auch schonmal, nur konnten wir die Ursache bis jetzt nicht genau herausfinden. Das Problem mit den Cachedateien ist folgendermaßen: Wir generieren CSS und JS dynamisch und wollten vermeiden, dass bei jeder Anfrage vom Anwender neue Ergebnisse generiert werden müssen. Also haben wir einen internen Cache entwickelt, wo wir diese CSS und JS Dateien sitzungsspezifisch speichern, damit der Client direkt, ohne Berechnung, drauf zugreifen kann. Der Nachteil an dieser Methode ist jedoch, dass wir die Resultate von internen HTTP-Abfragen speichern, sprich wir führen im PHP-Code sowas aus wie:
HTMLInhalt = URL_Open("http://mein-i-doit-server/i-doit/index.php?load=css"); HTMLInhalt.speichern("?????_style.css");
Der Parameter load gibt an, dass die index.php, also die Hauptseite von i-doIT, die CSS-Datei generieren und ausgeben sollen. Wir machen also vom i-doIT Server aus eine HTTP-Anfrage an den i-doIT Server - also lokal. Wenn jedoch nun einige Firewallregeln schräg sind oder es einfach keine vollständige HTTP-Abfrage gibt, greift diese Methode nicht mehr und er erzeugt eine Datei mit leerem Inhalt.
Was ich also nur empfehlen kann: Du solltest versuchen, herauszufinden, warum er die nicht schreiben kann. Eventuell gibt es im Apache Errorlog Hinweise? Oder kannst du herrausfinden, auf welche URL er diesen internen HTTP-Request macht?
Ansonsten, wenn es gar nicht anders gehen sollte, ersetze in der Datei isys_smarty_plugin_http_cachefile.class.php in dem Ordner src/classes/smarty die Zeile 80 durch folgenden Inhalt:
return $p_params["p_strURL"];
Dann macht der Client direkt die Anfragen, wobei bei jedem Browser-Refresh, wie schon vorhin erwähnt, CSS und JS Datei komplett neu generiert werden, was natürlich zu Performance-Einbußen führt.
Ich hoffe, ich konnte damit helfen, für weitere 0.9 - spezifischen Fragen & Fehler haben wir natürlich ein offenes Ohr
-
Hallo André !
Das Problem hatte ich schon einmal gemeldet; daher kam es Dir wahrscheinlich bekannt vor.
Mit Hilfe des Hinweises auf die "self-referencing URL" konnte ich den Fehler inzwischen einkreisen:
i-doit ist auf einem System installiert, auf dem verschiedene virtuelle Hosts laufen. Ursprünglich war der virtuelle Host für i-doit an irgendeiner Stelle der virtuellen Hosts in der httpd.conf. Nachdem ich den Eintrag für i-doit als ersten virtuellen Host definiert habe (also als Master), funktioniert auch die Generierung der Dateien.
Da habe ich dann entweder einen seltsamen Fehler in meiner httpd.conf, oder mein Apache hat einen Bug, oder in den Routinen für die Erstellung der Dateien ist ein kleiner Bug im Zusammenhang mit virtuellen Hosts. Könnt ihr ja vielleicht nochmal prüfen.
Danke !
Christof -
Kleiner Nachtrag: Mit SSL-Seiten funktioniert das auch nicht so richtig….hier werden dann auch die Dateien nicht korrekt erstellt.
-
Dann bräuchte ich alle Konfigurationdateien - bitte per PM/E-Mail: