Part-DB / Part-DB-legacy

[LEGACY Version] Open Source Electronic Parts Database using PHP and MySQL
GNU General Public License v2.0
158 stars 35 forks source link

Auffälligkeiten beim Bauteile Import #40

Closed christophfroehlich closed 5 years ago

christophfroehlich commented 5 years ago

Hallo! Ich teste gerade erstmals Part-DB (0.6.0-dev, PHP 7.1.23) und prinzipiell gefällt mir das Konzept ganz gut.

Ich habe heute versucht unser bisheriges Inventar in eine aktuelle Installation von Part-DB (0.6.0-dev, PHP 7.1.23) zu importieren. Dabei sind mir folgende Sachen aufgefallen:

jbtronics commented 5 years ago

Das mit dem Problemen mit den großen Dateien, könnte möglicherweise mit einer Upload Grenze des Servers zusammenhängen (In den Einstellungen gibt es einen Eintrag "Maximale Dateigröße beim Upload:", wo man die Grenze anzeigen lassen kann).

Ich befürchte aber eher, dass es irgendwo im Importsystem ein Timeout oder Fehler gibt, und es so zu dem beschriebenem Verhalten kommt. Das Problem ist, dass das Importsystem vermutlich noch aus den aller ersten Part-DB stammt (es ist noch komplett prozedural geschrieben, also stammt es vermutlich aus PHP4 Zeiten), und eigentlich ziemlich broken ist. Die von dir beschriebenen Probleme werden sich also vermutlich nicht so leicht fixen lassen.

Es steht schon seit längerem auf meiner TODO-Liste das Import (und Export) System komplett neuzuschreiben, aber dafür muss ich mindestens noch die internen Umbauten abschließen, an denen ich momentan arbeite.

Das mit den Buttons oberhalb der Daten ist eine ganz gut Idee, das kann ich auch noch leicht umsetzen.

christophfroehlich commented 5 years ago

Die "Maximale Dateigröße beim Upload" sind 256MB, an dem wirds nicht liegen. Die Daten werden auch verarbeitet, weil die Liste ist ausgefüllt bevor ich "Daten übernehmen und prüfen" klicke. Nur danach sinds halt eben weg.

Das mit den Buttons ist nur eine Kleinigkeit. Hab nur beim ersten Mal die Buttons nicht gefunden und wusste nicht, was jetzt passiert ;) Wenn mans dann weiß, ists eh kein wirkliches Problem.

Das mit dem Importsystem hab ich schon bei dem andren Issue zum Baugruppenimport gelesen. Ich warte gespannt auf ein Update :) Mal schauen, ob ich nicht lieber in der Zwischenzeit die Sachen händisch per phpmyadmin importiere.

jbtronics commented 5 years ago

Die "Maximale Dateigröße beim Upload" sind 256MB, an dem wirds nicht liegen. Die Daten werden auch verarbeitet, weil die Liste ist ausgefüllt bevor ich "Daten übernehmen und prüfen" klicke. Nur danach sinds halt eben weg.

Wenn das so ist, liegt das vermutlich an der Variablen beschränkung von PHP (dafür gibt es die Anzeige "Max. Input Vars:" in den Einstellungen). In der PHP.ini gibt es eine Einstellung "max_input_vars", wenn man die hochsetzt wird es vermutlich auch mit größeren Eingabedateien klappen.

Das Problem ist, dass jedes einzelne Feld in der Tabelle, eine einzelne Variable ist, die an den Server übertragen wird, und PHP eben diese Beschränkung hat. Da werde ich mal schauen ob ich eine bessere Methode für finde, wenn ich das import system neu schreibe...

christophfroehlich commented 5 years ago

Max. Input Vars sind bei mir auf 3000 gesetzt, das könnte sich dann in etwa ausgehen.