mikrocontroller.net

Forum: Projekte & Code [WIP] Lagerverwaltung Part-DB 1.0


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Jan B. (do9jhb)
Datum:

Bewertung
3 lesenswert
nicht lesenswert
Hallo alle zusammen,

im Moment arbeite ich an einer neuen Version von Part-DB.
Dies wird ein komplettes Rewrite von Part-DB auf Basis eines modernen 
PHP Frameworks (Symfony 4). Da sie daher inkompatibel zur alten Version 
ist (ein Upgrade der Datenbank ist aber problemlos möglich), ist es 
jetzt Version 1.0 (um sich an Semantic Versioning zu orientieren).

Die Version befindet sich im Moment in Entwicklung, es fehlen aber noch 
viele Funktionen aus der alten Version, weswegen man die Version noch 
nicht als Produktivversion benutzen sollte.

Dieser Thread soll dazu dienen über die neue Version zu diskutieren, um 
den bisherigen Thread nicht mit Diskussionen zu füllen, die für Nutzer 
der alten Version nicht relevant sind.

Der Quellcode (und eine rudimentäre Installationsanleitung) der neuen 
Version findet sich hier: https://github.com/Part-DB/Part-DB-symfony

Eine Demo (immer der aktuelle Entwicklungsstand) findet sich hier: 
https://part-db.herokuapp.com/de/

Autor: Jan B. (do9jhb)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Es gibt aber bereits einige Funktionen, die mit den alten 0.x Versionen 
nicht möglich waren, unteranderem:

* Mehrere Lagerorte für ein Bauteil möglich
* Unterstützung mehrere Währungen
* Möglichkeit "Bauteile" Mengen in z.B. Längen oder Volumen angeben zu 
können (hilfreich für z.B. Kabel)
* Tagsystem für Bauteile
* Zusätzliche Bauteilefelder wie Gewicht, Produktionsstatus, MPN

* Verbesserung der Bauteiletabellen (man kann jetzt dynamisch auswählen 
welche Spalten angezeigt werden sollen), Verbesserte Filterung

und noch viele andere kleine Verbesserungen.

Eine Liste von Features die geplant sind, findet sich hier: 
https://docs.google.com/document/d/1FH9brIEUSZBDE20qEjtjz-GUfOe3hXH01GbZpXxuVG0/edit

Wenn ihr Wünsche habt, könnt ihr das entweder ergänzen oder hier 
schreiben.

Autor: Gerald *. (pyromane)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jan,

an erster Stelle ein dickes Danke für deine Weiterentwicklungen!

Besteht die Möglichkeit das Dateiformat webp bei den Anhängen bzw 
Bildern zu unterstützen?

Grüße
Gerald

Autor: moritzs (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jan,

Ich habe mal probiert das ganze bei mir auf dem Webserver zu 
installieren. Bei mir "Ploppt" aber nach der Installation bei Part-DB 
der Fehler "Site not found!" (404) auf, bei Show Response ist aber alles 
leer. Wenn ich dass Fenster wegdrücke (OK) dann läuft es eine Weile, bis 
es wieder kommt.

Beim Versuch des Login's (wie sind die Standart-Logindaten, ich musste 
bisher nirgendwo welche angeben?) bekomme ich die Fehlermeldung "Die 
Authentifikation konnte wegen eines Systemproblems nicht bearbeitet 
werden." Ich vermute das liegt an der noch leeren Datenbank.. Aber wo 
lege ich den ersten Nutzer an ?

Und bei dem Versuch die Datenbank "Anzulegen" oder "Updaten" mittels 
"php bin/console doctrine:migrations:migrate " bekomme ich auch immer 
wieder Fehler.. Kannst du mir helfen was ich falsch mache?

Autor: Jan B. (do9jhb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moritzs schrieb:
> Hallo Jan,
>
> Ich habe mal probiert das ganze bei mir auf dem Webserver zu
> installieren. Bei mir "Ploppt" aber nach der Installation bei Part-DB
> der Fehler "Site not found!" (404) auf, bei Show Response ist aber alles
> leer. Wenn ich dass Fenster wegdrücke (OK) dann läuft es eine Weile, bis
> es wieder kommt.
>
> Beim Versuch des Login's (wie sind die Standart-Logindaten, ich musste
> bisher nirgendwo welche angeben?) bekomme ich die Fehlermeldung "Die
> Authentifikation konnte wegen eines Systemproblems nicht bearbeitet
> werden." Ich vermute das liegt an der noch leeren Datenbank.. Aber wo
> lege ich den ersten Nutzer an ?
>
> Und bei dem Versuch die Datenbank "Anzulegen" oder "Updaten" mittels
> "php bin/console doctrine:migrations:migrate " bekomme ich auch immer
> wieder Fehler.. Kannst du mir helfen was ich falsch mache?

Die Benutzer werden beim Anlegen der Datenbank erstellt (mit admin und 
Password: admin). Ohne eine korrekt angelegte Datenbank, kommen diese 
Fehlerfenster im Browser (sie sind im produktion modus nicht so 
aussagekräftig).

Die eingentliche Fehlerursache liegt also irgendwo bei der 
Datenbankmigration:

Was für eine MySQL Version benutzt du? MySQL oder MariaDB?

Möglicherweise hilft es die Datenbankversion explizit anzugeben: Du 
fügst eine Zeile DB_VERSION=5.7 in deine .env.local hinzu (wenn du z.B. 
MySQL 5.7 benutzt, oder DB_VERSION=mariadb-10.3.15 wenn du MariaDB in 
der Version benutzt)

Wenn du die Migration nochmal ausführst solltest du vorher die Datenbank 
manuell leeren, sonst können da Fehler passieren, die aus den vorherigen 
fehlgeschlagenen Migrationen entstehen.

Autor: moritzs (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Jan B. schrieb:
> Was für eine MySQL Version benutzt du? MySQL oder MariaDB?
>
> Möglicherweise hilft es die Datenbankversion explizit anzugeben: Du
> fügst eine Zeile DB_VERSION=5.7 in deine .env.local hinzu (wenn du z.B.
> MySQL 5.7 benutzt, oder DB_VERSION=mariadb-10.3.15 wenn du MariaDB in
> der Version benutzt)

Ich nutze MySQL "Server version: 5.7.27-0ubuntu0.18.04.1 (Ubuntu)" auf 
einem Ubuntu-Server.

In der .env.local habe ich "DB_VERSION=5.7" und "DB_VERSION=5.7.27" 
probiert. Anschließen die sämtliche Tabellen in der Datenbank nochmal 
gelöscht. Fehler bleibt aber dann leider der selbe. In der nun 
angelegten Tabelle "groups" das Feld "not_selectable" hat keinen 
Standart Wert. Darauf hin bricht das doctrine ab. Ich vermute folgich 
darauf hin habe ich auch keinen Zugang zu Part-DB, da bei mir irgendwas 
mit der Installation nicht hinhaut.

Hast du noch einen Tipp?

Autor: Jan B. (do9jhb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moritzs schrieb:
> Hast du noch einen Tipp?

Scheinbar benutzt MySQL ab Version 5.7 den sogenannten Strict Mode, wenn 
nicht explizit Default Werte für die Spalten definiert sind. Bei MariaDB 
gibt es das nicht, deswegen ist mir das nicht aufgefallen.

Ich habe die Migrationen mal so angepasst, dass er das ignoriert, das 
ist zwar nicht die perfekte Lösung, es sollte aber funktionieren. (Das 
ist die aktuelle Version auf GitHub).


Ich werde mal schauen ob ich es hinbekomme, dass auf Travis auch die 
Migrationen gegen verschiedene Versionen von MariaDB und MySQL getestet 
werden, dann würde sowas direkt auffallen.

Autor: Moritz S. (moritz9627)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

alles klar. Das erstellen der Datenbank klappt nun einwandfrei. Es sind 
nun auch Einträge in der Tabelle "users". Allerdings bekomme ich nun 
immer bei jeder Aktion auf der Seite einen Fehler "Error getting data 
from Server! Status Code: 500". Kann mich auch nicht Anmelden, wegen des 
Fehlers.

Autor: Jan B. (do9jhb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moritz S. schrieb:
> Moin,
>
> alles klar. Das erstellen der Datenbank klappt nun einwandfrei. Es sind
> nun auch Einträge in der Tabelle "users". Allerdings bekomme ich nun
> immer bei jeder Aktion auf der Seite einen Fehler "Error getting data
> from Server! Status Code: 500". Kann mich auch nicht Anmelden, wegen des
> Fehlers.

Führ mal ein composer install (ohne --no-dev) aus und
ändere in der .env.local die Zeile APP_ENV=prod zu APP_ENV=dev.
Dann befindet er sich im Entwicklermodus und zeigt detaillierte 
Fehlermeldungen an.

Ansonsten sollte unter var/log Logdateien zu finden sein, wo der Fehler 
genauer erläutert wird.

Autor: Moritz S. (moritz9627)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

habe nun alles getan was du gesagt hast. Leider keine weiteren 
Erkenntnisse. Durch den dev-Modus erscheint ja von Symphony unten eine 
Leiste. Dort sind die einzigen Fehlermeldungen die Auftauchen, je nach 
aufgerufener Seite, nur Fehler bei "Translation"
These messages are not available for the given locale and cannot be found in the fallback locales. Add them to the translation catalogue to avoid Symfony outputting untranslated contents. 
Die Weißen Fehlermeldungs-PopUps bleiben aber Leer, hier steht kein 
weiterer Hinweis drin.

composer install habe ich auch gemacht. Jetzt fiel mir diesmal auf, am 
Anfang steht hier man soll composer nicht als root/Super User ausführen. 
Liegt hier das Problem ? Ich habs bisher immer als root gemacht. Der 
Webserver läuft aber mit www-data. Wie führe ich den Befehl sonst aus ? 
(Webserver übrigens Apache2->Falls Interessant). In den Logs die ich auf 
der Seite von Symphony finde steht ja nichts besonderes zu meinem Fehler 
drin.

Welche Log-Datei soll ich denn hier überprüfen in /var/log?

Autor: Jan B. (do9jhb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moritz S. schrieb:
> Welche Log-Datei soll ich denn hier überprüfen in /var/log?

Am besten die die deiner eingestellten Umgebung entspricht. Also 
entweder dev.log oder prod.log.

Wenn du darin nix findest, kannst du mir die Logdatei auch schicken, ich 
schau dann ob ich was finde...

Autor: Moritz S. (moritz9627)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

also im Log-File konnte ich jetzt nichts Fehlertechnisches erkennen. Ich 
habe dir wegen des Log-Files eine PN geschrieben. Mir ist nun zusätzlich 
Aufgefallen, dass ich nirgendwo einen Punkt zum Anlegen einer 
Kategorie/Bauteil/etc. habe. Ich habe mal versucht aus der Demo von dir 
die Links zu kopieren, und komme dann auch zum Beispiel zu der Seite wo 
ich eine Kategorie anlegen kann. Wenn ich diese Speichere, zeigt Part-DB 
sie allerings nicht an. Inder Datenbank wird sie aber erstellt.

Autor: Jan B. (do9jhb)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Moritz S. schrieb:
> Moin,
>
> also im Log-File konnte ich jetzt nichts Fehlertechnisches erkennen. Ich
> habe dir wegen des Log-Files eine PN geschrieben. Mir ist nun zusätzlich
> Aufgefallen, dass ich nirgendwo einen Punkt zum Anlegen einer
> Kategorie/Bauteil/etc. habe. Ich habe mal versucht aus der Demo von dir
> die Links zu kopieren, und komme dann auch zum Beispiel zu der Seite wo
> ich eine Kategorie anlegen kann. Wenn ich diese Speichere, zeigt Part-DB
> sie allerings nicht an. Inder Datenbank wird sie aber erstellt.

Deine Probleme kommen vermutlich daher, dass bei dir das URL Rewriting 
(daher dass für die URL /de/test vom Server index.php/de/test aufgerufen 
wird) nicht korrekt funktioniert:

Ich habe mal eine neue Version auf Github hochgeladen, mit der es jetzt 
auch funktionieren sollte wenn kein URL Rewriting verfügbar ist (wenn es 
auf Anhieb nicht klappt, musst du evtl. die Zeile 
"NO_URL_REWRITE_AVAILABLE=true" zu deiner .env.local hinzufügen.

Du solltest aber vielleicht versuchen das URL Rewriting korrekt zum 
funktionieren zu bekommen, denn dann sind die URL deutlich schöner. Das 
rührt meistens davon her, dass mod_rewrite nicht aktiviert ist, oder 
dass die globale Apache Config das überschreiben von Optionen verhindert 
(siehe https://stackoverflow.com/a/21658877)

Autor: Moritz S. (moritz9627)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Hallo Jan,

vielen Dank. Nachdem ich das URL-Rewriting zum laufen bekommen habe, 
läuft Part-DB auch super. Keine Probleme bisher gefunden. Die neue 
Version von Github habe ich jetzt noch nicht ausprobiert. Es lag nur an 
der Konfig vom Web-Server.


Ich bedanke mich vielmals für deine Hilfe!

Autor: Gerald *. (pyromane)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jan,

wäre es möglich beim Hochlanden von Dateianhänge mehrere vom gleichen 
Type(zb Bilder oder Datenblätter) gleichzeitig auszuwählen und dann auch 
gleichzeitig hochzuladen?

Grüße
Gerald

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.