Hallo alle zusammen, es gibt jetzt eine Part-DB 0.5 Release Version, daher hier ein neuer Thread um die Tradition fortzuführen ;) (Damit ist das hier die Fortführung zu diesem Beitrag "Lagerverwaltung Part-DB V0.4.x" Thread) Für alle die Part-DB nicht kennen: Part-DB ist eine open-source, webbasierte Datenbank zur Verwaltung der Lagerbestände von elektronischen Bauteile. Weitere Infos und Details über die Features findet ihr hier [[Part-DB RW - Lagerverwaltung]] , oder direkt auf GitHub (https://github.com/Part-DB/Part-DB). Hier sollen Fragen, Ideen und Anregung zu den Part-DB 0.5er Versionen gestellt werden, sowie Anregungen zur Weiterentwicklung. Eine Übersicht der Änderungen des 0.5er Release zu den vorherigen Versionen ist hier zu finden: https://github.com/Part-DB/Part-DB/blob/master/readme/changelog.md Falls jmd Part-DB einfach mal ausprobieren will, ohne es sich zu installieren, hier ist eine Online-Demo: http://part-db.bplaced.net/startup.php Gruß Jan B.
So es gibt ein Bugfix Release 0.5.1 es behebt unteranderem das von pyromane berichtete Problem mit den Anhangsbildern. Weiterhin funktionier nun die Vorwärts-Taste des Browsers korrekt mit Part-DB. Das Release ist wie immer in GitHub zu finden (https://github.com/Part-DB/Part-DB/releases/tag/v0.5.1). Dort gibt es auch ein Changelog: https://github.com/Part-DB/Part-DB/blob/master/readme/changelog.md Die neuen Versionen werden im Laufe des abends auch in den Demos zu finden sein. Gruß Jan B.
Jan B. schrieb: > es behebt unteranderem das von pyromane berichtete Problem mit den > Anhangsbildern. Weiterhin funktionier nun die Vorwärts-Taste des > Browsers korrekt mit Part-DB. Guten Abend, Problem besteht leider nach wie vor. Getestet mit Opera 56, Chrome 69 und IE11 Grüße Pyro
:
Bearbeitet durch User
Gerald *. schrieb: > Jan B. schrieb: >> es behebt unteranderem das von pyromane berichtete Problem mit den >> Anhangsbildern. Weiterhin funktionier nun die Vorwärts-Taste des >> Browsers korrekt mit Part-DB. > > Guten Abend, > > Problem besteht leider nach wie vor. > Getestet mit Opera 56, Chrome 69 und IE11 > > Grüße > Pyro Ups, da habe ich vergessen die Bugfixes aus dem master-Branch, auch in den 0.5er Branch zu übernehmen... Es gibt jetzt eine 0.5.2er Version, wo das jetzt eindlich funktionieren sollte: https://github.com/Part-DB/Part-DB/releases/tag/v0.5.2 (in der 0.6dev version aus dem master-Branch funktioniert es auch korrekt) Gruß Jan B.
Jan B. schrieb: > Es gibt jetzt eine 0.5.2er Version, wo das jetzt eindlich funktionieren > sollte: https://github.com/Part-DB/Part-DB/releases/tag/v0.5.2 Uns so ist es auch, es funktioniert. Herzlichen Dank für den schnellen Fix! Grüße Pyro
hi, Danke für die Super arbeit. Ich weiss nicht ob das bekannt ist. Wenn ich eine Gruppe erselle die nichts sehen darf, wird trozdem der Eventlog angezeigt. (fehlende auswahl bei den Berechtigungen) Gruß McSchaf
McSchaf schrieb: > hi, > > Danke für die Super arbeit. > > Ich weiss nicht ob das bekannt ist. Wenn ich eine Gruppe erselle die > nichts sehen darf, wird trozdem der Eventlog angezeigt. (fehlende > auswahl bei den Berechtigungen) > > Gruß > McSchaf Bist du sicher, das der Nutzer der diese Gruppe zugeordnet hat, auch einen Strich bei der "Log anzeigen" Berechtigung hat (damit der Nutzer auch die Berechtigung der Gruppe erbt?)? Gruß Jan B.
Hallo, ich möchte meine Widerstände anlegen. D.h. ich habe ca. 50 verschiedenen Bauteile, bei denen sich nur der Wert in der Beschreibung unterscheidet. Gibt es eine schnellere Variante als "/Aktion/Neues Bauteil erfassen", wo man jedes mal scrollen, klicken und wieder scrollen muss?
Grüße, so ich bin auch mal auf die 0.5.2 umgestiegen, soweit so gut aber, wenn ich ein Bauteil hinzufügen möchte, bekomme ich folgende Fehlermeldung siehe Bilder, woran kann das liegen? LG Leubi
:
Bearbeitet durch User
Stefan L. schrieb: > Grüße, > so ich bin auch mal auf die 0.5.2 umgestiegen, soweit so gut aber, > wenn ich ein Bauteil hinzufügen möchte, bekomme ich folgende > Fehlermeldung siehe Bilder, woran kann das liegen? > > LG > Leubi Hast du die Datenbank vollständig auf aktualisiert und war das erfolgreich? Es scheint nämlich als würden da manche Datenbank Spalten noch nicht existient. Gehe mal auf System -> Datenbank und schau mal was er da als aktuelle und benötigte Version angibt, und aktualisiere die Datenbank wenn er das anbietet. Wenn das nicht gehen sollte, kann ich mir wenn du willst, auch ein SQL-Dump deiner Datenbank schicken, dann schaue ich mal was da schief gegangen ist. Gruß Jan B.
Marco S. schrieb: > Hallo, ich möchte meine Widerstände anlegen. D.h. ich habe ca. 50 > verschiedenen Bauteile, bei denen sich nur der Wert in der Beschreibung > unterscheidet. Gibt es eine schnellere Variante als "/Aktion/Neues > Bauteil erfassen", wo man jedes mal scrollen, klicken und wieder > scrollen muss? Bisher leider nicht, weil mir noch keine gute Idee gekommen ist, wie man das besser machen kann... Wenn du eine Idee hast, kann ich aber gern mal schauen ob ich das umgesetzt bekomme... Gruß Jan B.
Stefan L. schrieb: > Moin, > das wird mir angezeigt. > Scheit alles io zu sein. Dann ist das wohl eher ein Bug in den PHP-Dateien... Das tritt nur beim Hinzufügen von Bauteilen auf? Ist es egal zu welcher Kategorie du ein Bauteil hinzufügst, oder tritt das nur bei manchen Kategorien auf? Wärst du bereit mir eine Dump deiner Datenbank zu schicken, das wäre am besten zu debuggen (wenn du willst kannst du vorher noch alle Strings mit $2y$ durch "" ersetzen, dann sind alle gehashten Passwörter nicht mehr im Dump enthalten) Gruß Jan B.
Dieser Fehler kommt immer, egal zu welcher Kategorie. Einen Dump kann ich Dir schicken, wo hin? Könnte auch ein Fehler in den PHP.INIs sein? oder?
:
Bearbeitet durch User
Stefan L. schrieb: > Könnte auch ein Fehler in den PHP.INIs sein? oder? Das unkown index sieht eher nach den Internas von Part-DB aus, aber das werde ich dann sehen, wenn ich es debugge. Stefan L. schrieb: > Dieser Fehler kommt immer, egal zu welcher > Kategorie. > > Einen Dump kann ich Dir schicken, wo hin? > Könnte auch ein Fehler in den PHP.INIs sein? oder? Hab dir eine PN mit meiner Email-Addresse geschickt...
Jan B. schrieb: > Bisher leider nicht, weil mir noch keine gute Idee gekommen ist, wie man > das besser machen kann... > > Wenn du eine Idee hast, kann ich aber gern mal schauen ob ich das > umgesetzt bekomme... Hallo Jan, was ja derzeit schon funktioniert, sind die Export- und Importfunktion. Diese habe ich nun genutzt, um die Daten zu erfassen. Was damit aber nicht einfach geht, ist vorhandene Bauteile zu ändern (z.B. alle Dioden auf einen anderen Lagerplatz legen). Man muss dazu erst exportieren, löschen und dann neu importieren. Am Flexibelsten finde ich genau so eine "editierbare Tabelle", wie Du sie schon in der Importfunktion hast. Dort kann man dann auch sehr schön mit Copy&Paste arbeiten. Das bedeutet im Workflow: 1. Schritt: Bauteil kopieren. Ggf. im Bereich "Aktionen" neben dem Button "neues Bauteil erfassen" eine "Massenerfassung" mit der Möglichkeit, 1-99 anzugeben. Das Bauteil wird dann entsprechend oft kopiert. Die Grundfunktion des Kopierens gibt es ja schon und das funktioniert prima. 2. Schritt: Darstellen der Bauteile einer z.B. Kategorie/Filter in einer editierbaren Tabellenansicht. Letztlich genauso wie in der Importfunktion. Ich glaube, die Bestandteile sind grundsätzlich schon da. Für mich wäre das super hilfreich, andere können sich ja auch noch melden, ob sie sowas brauchen.
Marco S. schrieb: > Jan B. schrieb: >> Bisher leider nicht, weil mir noch keine gute Idee gekommen ist, wie man >> das besser machen kann... >> >> Wenn du eine Idee hast, kann ich aber gern mal schauen ob ich das >> umgesetzt bekomme... > > Hallo Jan, was ja derzeit schon funktioniert, sind die Export- und > Importfunktion. Diese habe ich nun genutzt, um die Daten zu erfassen. > > Was damit aber nicht einfach geht, ist vorhandene Bauteile zu ändern > (z.B. alle Dioden auf einen anderen Lagerplatz legen). Man muss dazu > erst exportieren, löschen und dann neu importieren. > > Am Flexibelsten finde ich genau so eine "editierbare Tabelle", wie Du > sie schon in der Importfunktion hast. Dort kann man dann auch sehr schön > mit Copy&Paste arbeiten. > > Das bedeutet im Workflow: > 1. Schritt: Bauteil kopieren. Ggf. im Bereich "Aktionen" neben dem > Button "neues Bauteil erfassen" eine "Massenerfassung" mit der > Möglichkeit, 1-99 anzugeben. Das Bauteil wird dann entsprechend oft > kopiert. Die Grundfunktion des Kopierens gibt es ja schon und das > funktioniert prima. > > 2. Schritt: Darstellen der Bauteile einer z.B. Kategorie/Filter in einer > editierbaren Tabellenansicht. Letztlich genauso wie in der > Importfunktion. > > Ich glaube, die Bestandteile sind grundsätzlich schon da. Für mich wäre > das super hilfreich, andere können sich ja auch noch melden, ob sie > sowas brauchen. Klingt gut, ich schaue mir das mal an, ob ich das hinbekomme... Marco S. schrieb: > Was damit aber nicht einfach geht, ist vorhandene Bauteile zu ändern > (z.B. alle Dioden auf einen anderen Lagerplatz legen). Man muss dazu > erst exportieren, löschen und dann neu importieren. Zumindest ein bisschen einfacher geht das über die "Multi-verschieben"-Funktion: Du lässt dir alle Dioden anzeigen, und dann wählst du die in der Tabelle aus, die du an einen bestimmten Lagerort verschieben willst. Dann sollte auf der Höhe der Seitenauswahl ein Dialog erscheinen wo du "Verschieben" und daneben den Lagerort an denen du die Bauteile verschieben willst auswählen. Gruß Jan B.
Stefan L. schrieb: > Dieser Fehler kommt immer, egal zu welcher > Kategorie. > > Einen Dump kann ich Dir schicken, wo hin? > Könnte auch ein Fehler in den PHP.INIs sein? oder? Ich habe zwar ein paar andere Fehler gefunden und gefixt, aber das was du beschrieben hast, konnte ich nicht reproduzieren... Was für eine PHP Version benutzt du? Hast du den aktuellen vendor.zip Datei die bei dem Release dabei war, in die Part-DB installation kopiert? Hast du mal den templates_c/ Ordner gelöscht? Gruß Jan B.
Jan B. schrieb: > Stefan L. schrieb: >> Dieser Fehler kommt immer, egal zu welcher >> Kategorie. >> >> Einen Dump kann ich Dir schicken, wo hin? >> Könnte auch ein Fehler in den PHP.INIs sein? oder? > > Ich habe zwar ein paar andere Fehler gefunden und gefixt, aber das was > du beschrieben hast, konnte ich nicht reproduzieren... > > Was für eine PHP Version benutzt du? > Hast du den aktuellen vendor.zip Datei die bei dem Release dabei war, in > die Part-DB installation kopiert? > Hast du mal den templates_c/ Ordner gelöscht? > > Gruß > Jan B. Moin, ich benutze PHP 7.0.32. Ja die aktuelle vendor benutze ich. Das hahatte ich auch ausgeführt "php composer.phar update -o" und den Inhalt von der templates_c habe ich auch schon gelöscht.
Jan B. schrieb: > McSchaf schrieb: >> hi, >> >> Danke für die Super arbeit. >> >> Ich weiss nicht ob das bekannt ist. Wenn ich eine Gruppe erselle die >> nichts sehen darf, wird trozdem der Eventlog angezeigt. (fehlende >> auswahl bei den Berechtigungen) >> >> Gruß >> McSchaf > > Bist du sicher, das der Nutzer der diese Gruppe zugeordnet hat, auch > einen Strich bei der "Log anzeigen" Berechtigung hat (damit der Nutzer > auch die Berechtigung der Gruppe erbt?)? > > Gruß > Jan B. -.- klar habe ich da drauf nicht geachtet ^^ ... Danke schön. Hat geklappt! Dann habe ich aber noch ne frage, wenn ich ein neuen Artikel erstelle in einer Sub Kategorie. Wird immer der neue Artikel der Drauf gehörige Kategorie ausgewählt. Soll das so ? (Bild)
Stefan L. schrieb: > > Moin, > ich benutze PHP 7.0.32. > Ja die aktuelle vendor benutze ich. > Das hahatte ich auch ausgeführt "php composer.phar update -o" > und den Inhalt von der templates_c habe ich auch schon gelöscht. Komisch... Kannst du testhalber Mal Part-DB frisch in einen neuen Ordner kopieren, und dann mit der alten Datenbank verbinden? Wenn das nicht geht gerne auch Mal mit einer leeren. So können wir sehen ob es an der Datenbank oder was anderem liegt. McSchaf schrieb: > Dann habe ich aber noch ne frage, wenn ich ein neuen Artikel erstelle in > einer Sub Kategorie. Wird immer der neue Artikel der Drauf gehörige > Kategorie ausgewählt. Soll das so ? (Bild) Das ist ein Bug, habe ich aber schon behoben, der Fix sollte in dem Release was ich morgen hochlade enthalten sein (im master Branch ist es schon gefixt). Gruß Jan B.
Jan B. schrieb: > > Komisch... Kannst du testhalber Mal Part-DB frisch in einen neuen Ordner > kopieren, und dann mit der alten Datenbank verbinden? Wenn das nicht > geht gerne auch Mal mit einer leeren. So können wir sehen ob es an der > Datenbank oder was anderem liegt. > Moin, so ich habe als Erstes mein Backup v. 0.5.0 wieder eingespielt die Datenbank hatte ich so gelassen, und es geht wieder, dann hatte ich mir eine frische Installation (neues verzeichnis) vorgenommen 0.5.2 mit einer neuen Datenbank und es geht, dann habe ich diese Installation mit meiner vorhandenen Datenbank verknüpft und es geht. Die Webadresse wo ich PART-DB (jetzt mit 0.5.2)immer benutze geht wieder ABER die Test Version, die jetzt unter eine anderen Subdomain habe, da ist, jetzt wieder der gleiche Fehler aufgetaucht mit meiner Originalen Datenbank, mit der neuen Test Datenbank macht er den Fehler nicht hmm... Warum das so ist weiß ich noch nicht bin noch weiter am Testen. Nachtrag so die Test Version geht wieder nach dem ich Sie neu eingerichtet habe mit meiner Aktuellen Datenbank. Aber Meine Originalversion geht jetzt wieder nicht, der gleich Fehler, ich hatte mich in dem Bereich Entwikler-Werkzeuge umgeschaut und dann ging es nicht mehr, ich habe so das gefühl das bei mir irgendetwas im Argen ist, ich könnte Dir mal meine PHPINFO als PDF zukommen lassen, eventuell findest Du da ja was das ich Ändern müsste.
:
Bearbeitet durch User
Stefan L. schrieb: > ich könnte Dir mal meine PHPINFO als PDF zukommen lassen, Ja das wäre ganz gut, dann schau ich mir das Mal an. Interessant wäre auch wenn du einen Ordner mit einer kaputten Version tippen könntest und mir schicken, dann kann ich schauen ob da irgendwas von der "frischen" Version abweicht. Gruß Jan B.
Jan B. schrieb: > Stefan L. schrieb: >> ich könnte Dir mal meine PHPINFO als PDF zukommen lassen, > > Ja das wäre ganz gut, dann schau ich mir das Mal an. > > > Interessant wäre auch wenn du einen Ordner mit einer kaputten Version > tippen könntest und mir schicken, dann kann ich schauen ob da irgendwas > von der "frischen" Version abweicht. > > > Gruß > Jan B. Moin, so ich habe Dir alles auf meinem Server hinterlegt und lasse Dir den Link per Mail zukommen. (ich habe auch meine Datenbanken mit reingeschoben so wie phpinfo und das gepackte Verzeichnis mit dem Fehler) So wie es aussieht liegt es an den Entwikler-Werkzeuge, wenn ich sie aktiviere dann kommt der Fehler zustande. In der 0.5.0 Version habe ich sie nicht aktiviert, und so balt ich es mache igal bei welcher Version oder auch von welcher Installtion aus dann kommt der Fehler bei mir. Ich hatte es jetzt den Ganzen Morgen getestet und immer wierder neu Kopiert.
Moin, so weiter getestet. Wenn ich es neu Installiere und bei der Installation die Daten von der Datenbank eingebe, die ich benutze, dann kommt der Fehler nicht. Jetzt habe ich beide Versionen, die womit ich arbeite und die Testversion auf 0.5.2 und beide haben den Fehler nicht ich traue mich jetzt nicht die Entwickler-Werkzeuge einzuschalten. Auch ein Fehler war irgendwie noch in den Quellcodes die Verlinkung geht nicht bei einer neu installierten Version.
Stefan L. schrieb: > Moin, > so weiter getestet. > Wenn ich es neu Installiere und bei der Installation die Daten von der > Datenbank eingebe, die ich benutze, dann kommt der Fehler nicht. > > Jetzt habe ich beide Versionen, die womit ich arbeite und die > Testversion auf 0.5.2 und beide haben den Fehler nicht ich traue mich > jetzt nicht die Entwickler-Werkzeuge einzuschalten. > > Auch ein Fehler war irgendwie noch in den Quellcodes die Verlinkung geht > nicht bei einer neu installierten Version. So Noch mal Entwickler-Werkzeuge eingeschaltet und dann bin ich auf Werkzeuge gegangen schon kam Fehler 404 Not Found / Part neu geladen und der andere Fehler ist auch wieder da. Deaktivieren ich die Entwickler-Werkzeuge bleibt der Fehler. So wie es aussieht wird irgend etwas in der config verändert ich weiß leider nicht was ich sehe nur einen andere Uhrzeit von der confdatei. Ich schiebe Dir die gepackten Ordner alle jetzt auch noch in das Verzeichnis, damit Du sie auch hast, eventuell siehst Du mehr. Auch eine Sache habe ich noch, wenn ich irgend etwas in der Konfiguration über der Webseite änder möchte, muss ich das immer zweimal machen beim ersten Mal wird es nicht übernommen, erst immer bei dem zweiten Mal.
:
Bearbeitet durch User
Ach hatte ich noch vergessen, wenn Du noch irgend welche Daten und oder Dateien brauchst, dann sage Bescheid, das kann ich Dir, dann leider erst heute abend zu verfügungstellen da ich gleich leider zur Arbeit muss.
Hallo zusammen, kleine Frage zwischendurch... Kann ich part-db aus dem stable-tree einfach mit $ git clone und nachher mit $ git sync bzw. git pull auf dem aktuellen halten? Bei der vendor.zip gilt nach wir vor, per Hand entpacken/updaten? Danke
Hi alle zusammen, es gibt jetzt eine Version Part-DB 0.5.3 (https://github.com/Part-DB/Part-DB/releases/tag/v0.5.3). Da ist jetzt hoffentlich das Problem von leubi behoben. Mister A. schrieb: > Kann ich part-db aus dem stable-tree einfach mit > $ git clone > und nachher mit > $ git sync bzw. git pull > auf dem aktuellen halten? Ja kannst du machen, in den stable-v5 branch finden sich die stabilen 0.5er Versionen. Im master-Branch ist die aktuelleste Entwicklungsversion (momentan 0.6dev) Gruß Jan B.
Jan B. schrieb: > Hi alle zusammen, > > es gibt jetzt eine Version Part-DB 0.5.3 > (https://github.com/Part-DB/Part-DB/releases/tag/v0.5.3). > > Da ist jetzt hoffentlich das Problem von leubi behoben. > > Mister A. schrieb: >> Kann ich part-db aus dem stable-tree einfach mit >> $ git clone >> und nachher mit >> $ git sync bzw. git pull >> auf dem aktuellen halten? > > Ja kannst du machen, in den stable-v5 branch finden sich die stabilen > 0.5er Versionen. Im master-Branch ist die aktuelleste > Entwicklungsversion (momentan 0.6dev) > > Gruß > Jan B. Grüße, so Jan mal eben die neue Version eingerichtet, und siehe da es geht. Ich danke Dir für die tolle Arbeit und Deine Mühen uns doch ein wenig glücklicher zu machen;) Die anderen Sachen brauchst Du nicht mehr von mir? Kann ich sie wieder löschen? LG Leubi
Mister A. schrieb: > Hallo zusammen, > > kleine Frage zwischendurch... > > Kann ich part-db aus dem stable-tree einfach mit > $ git clone > und nachher mit > $ git sync bzw. git pull > auf dem aktuellen halten? > > Bei der vendor.zip gilt nach wir vor, per Hand entpacken/updaten? > > Danke Wäre das nicht eine Möglichkeit, ein Updaten zu intrigieren?
Stefan L. schrieb: > Wäre das nicht eine Möglichkeit, ein Updaten zu intrigieren? Das Problem ist das dafür git auf dem Server installiert sein muss, was auf vielen reinen Webservern nicht der Fall ist... Aber ich schaue mir das Mal an, vielleicht kann man zumindest einen Button integrieren, worüber man ein git pull anstoßen kann. Gruß Jan B.
Jan B. schrieb: > Stefan L. schrieb: >> Wäre das nicht eine Möglichkeit, ein Updaten zu intrigieren? > > Das Problem ist das dafür git auf dem Server installiert sein muss, was > auf vielen reinen Webservern nicht der Fall ist... Aber ich schaue mir > das Mal an, vielleicht kann man zumindest einen Button integrieren, > worüber man ein git pull anstoßen kann. > > Gruß > Jan B. Das ist eine gute Idee, ich kenne sowas von Apachestatus, siehe Bilder. Wenn man dann da drauf drückt, wird eine Aktualisierung durchgeführt.
:
Bearbeitet durch User
$ git pull wäre schon deluxe würde da nicht ein Zweizeiler mit wget und unzip reichen? ggf. vorher noch ein tar/zip für das Backup. Oder gleich nur ein execute-Button für eigenes script.
Bin mir jetzt nicht sicher, ich habe den Verdacht dass neuerdings Einkaufsinformationen fehlen oder teilweise verschluckt werden. Genauer formuliert, bei der EK Preisangabe finde ich immer öfter das Feld Preis und perStück leer. Die Felder Lieferant, Artikelnummer, Bestellnummer sind hingegen noch gefüllt.
Hallo, auf der Suche nach einer passenden Lösung bezüglich einer Lagerverwaltung wurde wir die Software Part-DB vorgeschlagen. Daher habe ich mal die Demoversion ausprobiert und folgenden Punkte gefunden, die man noch verbessern könnte: Beitrag "Re: Wie verwaltet ihr privat Bauteilbestellungen und deren Bestand?"
Da ich ebenso ein gewisses Interesse zu dieser Lagerverwaltungs-Software hege, würde ich gerne mehr über den Stolperstein "Windows" wissen wollen. Stand der Dinge scheint folgendes zu sein. https://www.mikrocontroller.net/articles/Part-DB_RW_-_Lagerverwaltung >> "2.1 Anleitung zum Bau eines PartDB-Servers in einer virtuellen Maschine >> >> Dieser Abschnitt hat noch Baustellenstatus >> 2.1.1 Voraussetzungen >> >> VMware Server 2.0 oder ein ähnliches System ist installiert. (Kann von >> http://downloads.vmware.com/d/info/datacenter_downloads/vmware_server/2_0 V >> kostenlos heruntergeladen werden.)" Offenbar ist VMware Server inzwischen tot, ein ähnliches System wird nicht beschrieben. Welche Alternativen gibt es? Bedingung: Windows 7 Danke und Gruß
:
Bearbeitet durch User
Lötlackl *. schrieb: > Da ich ebenso ein gewisses Interesse zu dieser Lagerverwaltungs-Software > Welche Alternativen gibt es? Docker, Virtualbox (Linux Instanz)
Nano schrieb: > 1. Es lassen sich mehrfach identische Einträge erstellen. Hier würde ich > es besser finden, wenn man darauf hingewiesen wird, ob man den Eintrag > mit dem bestehenden Eintrag zusammenführen möchte. Lagerverwaltungssysteme gibt es wie Sand am Meer, von klein bis groß, von kostenlos bis fett Kohle. Bitte beim Vergleich immer berücksichtigen. Vorwort: Ein Gewerbetreibender benötigt ein riesen wws (Warenwirtschaftssystem) mit Faktura (Eingang, Ausgang, Bestellung, Rechnung etc.). Doppelte Artikelnummern sind tabu. Ein Händler führt eigene Artikelnummern und ist auf Original-, Ersatz- und Alternativnummern angewiesen, der Querverweis ist unverzichbar, doppelte Artikelnummern sind absolut tabu. Ein Servicetechniker/fortgeschrittener Elektroniker legt großen Wert auf die korrekte Lagerverwaltung, schnelle und präzise Lagerorte, Stückzahlen, einfaches Bestellwesen. Ob er nun den gleichen Transistor als TO-92 und TO-220 erfasst, ist eigene Sache. Doppelte Artikelnummern sind Geschmacks- und Toleranzsache. Der kleine Heim- und Hobbyelektroniker möchte wahrscheinlich nur wissen ob er das Teil hat und ob es in Schublade 1 von 6 liegt. Die genaue Ausführung (7805,78L05,L7805,MC7805 etc) sieht er dann. #Ich pers. schreibe die Artikelbezeichnung gerne in dieser Form.# Generell geht es eh nur um eine BOM Liste, sie unkompliziert und schnell zu erstellen um sie beim Lieferanten xyz abzusetzen. Sicherlich wird der Hobbyelektroniker nicht jeden einzelnen Widerstand mit 0,25/0,5/1W pingelig anlegen/ein-/ausbuchen. Abrundend: Das Live-Suchfeld (oben rechts) listet sehr schnell alle Bauteile, in denen der Begriff vorkommt, auf. Ein anklikbarer Filter grenzt den Suchbereich ein. Also ganz gleich ob das Bauteil nun einzeil oder mehrfach vorhanden ist, er wird gefunden. > 2. Wenn man sich in irgendeiner Kategorie befindet und dort ein Bauteil > hinzufügen möchte, dann wird bei der Eintragerstellung nicht die > Kategorie eingetragen, in der man gerade war, sondern die Kategorie > "Akkus/Batterien" wird als Standardwert angenommen. Kann ich nicht bestätigen. In der stable funktioniert es astrein. Die Unterschiede von stable, development, testing in einer Produktivumgebung muss man nicht erläutern? > 3. Ich schätze mal die Bauteilgruppen sind gleichzusetzen mit Projekten. Ja, die Baugruppenverwaltung (unten) auf jeden Fall. Bauteile zuordnen, Bestückungsangaben angeben, fertig is das Bügeleisen :) Ich habe mir in der Bauteilegruppe (oben) auch eine Baugruppen-Kategorie angelegt. Dort lege ich Module, Breakouts, Boards wie z.B. ein Netzteil, Platine ab. Ist sehr hilfreich. > 4. Lagerorte, Kategorien etc. kann man nur einzeln löschen. Hier wäre es > gut, wenn man mehrere auf einmal auswählen und sie in einem Rutsch > löschen könnte. Das gleiche gilt für die Bauteileinträge. warum sollte man das machen? Die Idee mit der Selektion finde ich generell gut. Aber zum Massenvernichten und -bearbeiten lieber mit Export/Import (cvs) arbeiten. > 5. Zum Menü "Zu bestellende Teile". Hier wäre es gut, wenn man den Preis > dort direkt in diesem Menü anpassen könnte, denn vielleicht ist der in > der DB veraltet und der Hersteller hat einen ganz anderen Preis. Ja, macht Sinn. > 6. Wenn man im Menü "Zu bestellende Teile" einbucht. Dann sollte das > meiner Meinung nach aus der Liste der zu bestellenden Teile entfernt > werden, denn man hat es ja bereits bestellt. Ja, auch gut. Bis hier kann ich folgen, der Rest ist mit irgendwie... nicht verständlich. > Ohne diese Funktion ist > diese Lagerverwaltung noch nicht benutzbar, da man dann ja alles selber > händisch nachtragen müsste. > Noch besser wäre es, wenn man Einkaufslisten als "bestellt" markieren > und diese in eine neues Menü namens bspw. "Unterwegs" verschoben werden > würden. Kommen die Sachen dann an, dann sollte man in der "Unterwegs" > Liste, sofern von der Einkaufsliste alles angekommen ist, alles > einbuchen können. Naja, gleich als nicht nutzbar, ist sehr hoch geprügelt. Vielleicht dann eher eine der Deluxe-Lagerverwaltungen in Erwägung ziehen. > Ansonsten finde ich das, was ich bisher gesehen habe schon ziemlich gut. > Aber das mit dem Einbuchen sollte noch gefixt werden, das ist meiner > Meinung nach ein essentiell wichtiges Feature das auch funktionieren > sollte. Für meinen Teil muss ich Part-DB hier und exklusiv in Schutz nehmen :D Es ist klein, sauschnell, optisch ansprechende Multiplatform, Multidevice, aktiv in Entwicklung (Danke @Jan), absolut einfach gestaltet, selbsterklärend und ohne Einarbeitung nutzbar. Gut, einen Satz Stammdaten würde ich mir als kleiner Hobbyelektroniker schon wünschen, aber das ist ein anderes Thema.
Mister A. schrieb: > Lötlackl *. schrieb: >> Da ich ebenso ein gewisses Interesse zu dieser Lagerverwaltungs-Software >> Welche Alternativen gibt es? > Docker, Virtualbox (Linux Instanz) Nachtrag: Du kannst natürlich auch ohne Virtualisierung arbeiten und manuell jeweils einen Apache+PHP+MySQL (=XAMMP) auf dein Windows draufziehen.
Mister A. schrieb: > Der kleine Heim- und Hobbyelektroniker möchte wahrscheinlich nur wissen > ob er das Teil hat und ob es in Schublade 1 von 6 liegt. Die genaue > Ausführung (7805,78L05,L7805,MC7805 etc) sieht er dann. #Ich pers. > schreibe die Artikelbezeichnung gerne in dieser Form.# > Generell geht es eh nur um eine BOM Liste, sie unkompliziert und schnell > zu erstellen um sie beim Lieferanten xyz abzusetzen. > Sicherlich wird der Hobbyelektroniker nicht jeden einzelnen Widerstand > mit 0,25/0,5/1W pingelig anlegen/ein-/ausbuchen. > > Abrundend: Das Live-Suchfeld (oben rechts) listet sehr schnell alle > Bauteile, in denen der Begriff vorkommt, auf. Ein anklikbarer Filter > grenzt den Suchbereich ein. Also ganz gleich ob das Bauteil nun einzeil > oder mehrfach vorhanden ist, er wird gefunden. Ein Beispiel: Angenommen die Bauteilgruppe XY verlangt zwei Optokoppler vom Typ ABC. In der Lagerverwaltung sind zwei identische Einträge dieses Optokopplers vom Typ ABC vorhanden. Der erste Eintrag enthält die Anzahl 1, der zweite den Eintrag 3. Der Nutzer will nun sein Projekt bauen und schaut kurz in die Bauteilgruppe nach, ob alles da ist. Möglichkeit 1: Die Software sagt nein, denn sie sucht nach dem Bauteil ABC bis sie dieses findet. Sie findet den ersten Eintrag und sagt, da fehlt ein Optokoppler, denn die vorhandene Stückzahl ist laut Eintrag nur eins. Der Nutzer soll nachbestellen bzw. kann nicht bauen. oder Möglichkeit 2 (je nach dem, wie das Ding programmiert ist) Die Bauteilgruppe XY ist bezüglich den Bauteiltypen in der SQL Datenbank mit den Primary Keys verbunden, das ist in einer SQL Datenbank eine eindeutige Nummer in einer Tabelle die nur einmal vorkommen kann. Der PK auf den verwiesen wird zeigt in diesem Beispielfall ebenfalls auf den ersten Eintrag, auch hier ist die Anzahl nur 1. Die Software sagt dem Nutzer, du sollst nachbestellen, denn es fehlt 1 Optokoppler. Wenn der Nutzer sich nun Projektlisten angelegt hat, die ihm übersichtlich alle die dafür notwendigen Bauteile anzeigen, benutzt er dann die separate Suchfunktion, wenn er sein Projekt realisieren will und sich einfach den Projekteintrag anschauen müsste? Ich würde mal sagen eher nein, er benutzt also nicht die Suchfunktion. Der Kunde bestellt also Bauteile, obwohl das gar nicht nötig ist. Wenn es gut läuft, merkt er es, wenn er die neuen Bauteile nach der Bestellung in das Fach legen möchte, wo das Bauteil drin sein soll, weil er gerade keine Zeit zum eigentlichen Bauen hat. Er will die neuen Bauteile ins Fach hineinlegen und stellt fest, das da schon 2 drin sind. Er realisiert, dass er gar nichts bestellen hätte müssen. Aber was macht er jetzt? Er geht jetzt nicht etwa davon aus, dass er zwei Einträge in der Datenbank haben könnte, sondern er geht davon aus, dass nur die Bestandsdaten fehlerhaft sind. Das ist der erste Eintrag, der Nutzer weiß oder merkt das aber nicht. Wenn er jetzt diese nicht über die Suchfunktion korrigieren will, sondern das über seine Projektbauteilliste macht, weil er die gerade geöffnet hat oder weil er weiß, dass da das Bauteil auch drin gelistet ist, dann passt er den ersten Eintrag an. D.h. korrigiert die fehlerhafte Anzahl 1 und erhöht sie um das zweite Bauteil, welches er in dem Fach gefunden hat. Den zweiten Eintrag lässt er unverändert. Der Bestand der Datenbank ist somit nicht mehr korrekt. Grundsätzlich gilt. Redundanz sollte in einer Datenbank niemals vorkommen. Wenn das passiert, dann hat man Fehler wie die obigen. Das lernt man in der Vorlesung zum Thema Datenbanken. Deswegen ist die Frage nach dem Zusammenführen der inkonsistenten Daten die einzige richtige Variante. Wenn man aus irgendeinem Grund, möge er noch so unsinnig sein, jetzt doch noch einen eigenen Eintrag haben will, dann kann man ja anbieten die Zusammenführung ja zu verweigern, ob das Sinn macht, das muss dann jeder im Einzelfall selber entscheiden, aber grundsätzlich sollte die Software eher die Möglichkeit des Zusammenführens anbieten, damit die Datenbank keine Redundanzen enthält und inkonsistent wird. Das gilt aus obigen Gründen auch im privaten Bereich. Und was die unterschiedlichen Footprints betrifft, ich sprach ja von identischen Einträgen, da ist also alles identisch, also auch die Footprints. Lediglich die Stückzahl kann anders sein. > >> 2. Wenn man sich in irgendeiner Kategorie befindet und dort ein Bauteil >> hinzufügen möchte, dann wird bei der Eintragerstellung nicht die >> Kategorie eingetragen, in der man gerade war, sondern die Kategorie >> "Akkus/Batterien" wird als Standardwert angenommen. > Kann ich nicht bestätigen. In der stable funktioniert es astrein. > Die Unterschiede von stable, development, testing in einer > Produktivumgebung muss man nicht erläutern? Die Demoversion läuft auf 0.5.2 (stable). Du kannst es aber gerne dort selber ausprobieren, die Demoversion ist im Internet ja zugänglich. Wenn das in 0.5.3 (stable) oder upstream gefixt sein sollte, dann ist das ja toll, mein Test bezieht sich auf die Version auf dem Demoserver, denn der ist zum Ausprobieren da bevor man irgendwas installiert. Hier der Link: http://part-db.bplaced.net/startup.php > > >> 3. Ich schätze mal die Bauteilgruppen sind gleichzusetzen mit Projekten. > Ja, die Baugruppenverwaltung (unten) auf jeden Fall. Bauteile zuordnen, > Bestückungsangaben angeben, fertig is das Bügeleisen :) > Ich habe mir in der Bauteilegruppe (oben) auch eine Baugruppen-Kategorie > angelegt. Dort lege ich Module, Breakouts, Boards wie z.B. ein Netzteil, > Platine ab. Ist sehr hilfreich. Ja, eine Baugruppen Kategorie in der Bauteilgruppe macht Sinn. Ich würde vorschlagen, um Missverständnisse zu vermeiden, die Bauteilgruppenverwaltung einfach Projektverwaltung zu nennen. In der Kategorieverwaltung kann man dann eine Kategorie für Bauteilgruppen, also Module, Boards etc. einfügen. >> 4. Lagerorte, Kategorien etc. kann man nur einzeln löschen. Hier wäre es >> gut, wenn man mehrere auf einmal auswählen und sie in einem Rutsch >> löschen könnte. Das gleiche gilt für die Bauteileinträge. > warum sollte man das machen? > Die Idee mit der Selektion finde ich generell gut. Aber zum > Massenvernichten und -bearbeiten lieber mit Export/Import (cvs) > arbeiten. Die Option zum Löschen der Lageorte, Kategorien etc. ist bereits im administrativen Menübereich "Verwaltung" untergebracht, also da, wo man nicht immer hin kommt und den man mit entsprechenden Benutzerrechten sicherlich auch absichern kann. Da ist es kein Fehler, wenn man eine Option anbietet mehrere Sachen auf einmal zu löschen. Du kannst aber gerne mal auf den Demoserver gehen und die ganzen Fantasielagerorte einzeln löschen, wenn du dann merkst wie umständlich das ist und wie lange das dauert, wirst du mich verstehen. Zwar wird man selbst auf dem eigenen Server sicherlich nicht ständig mit so etwas konfrontiert sein und schon gar keine Fantasielagerorte einführen, aber vielleicht bestellt sich mal jemand einen neuen Schrank mit Fächern und hatte vorher etwas anderes und muss dann nach dem großen umräumen alles ändern und plötzlich muss man vielleicht Löschungen im großen Stil vornehmen. Grundsätzlich gibt es auch keinen Grund sich dagegen zu wehren, nur weil das Feature fehlt. Open Source Projekte gedeihen mit konstruktivem Voranschreiten am besten. XFree86, ein Projekt bei dem man damals neue Features ständig blockiert hat, ist Geschichte und wurde vom Fork X.org überholt. Insofern verstehe ich deine Frage mit unterschwelliger Abwehrhaltung nach dem "Warum sollte man das machen?" nicht. Irgendjemand, der das machen will oder wegen einem Umzug muss, wird man immer finden. Aber gut, vielleicht hast du dich wirklich gefragt warum das vorkommen soll. Ich hoffe das Beispiel mit dem neuen Schrank oder Umzug genügt. Grundsätzlich sollte man so etwas in der GUI für Listen immer anbieten. Ich wette, selbst dein Adressbuch auf dem Smartphone bietet so eine Mehrfachselektion für die Löschung an und das obwohl man mehrere Eintrage im Adressbuch auf einmal eher sehr selten löscht. > >> 5. Zum Menü "Zu bestellende Teile". Hier wäre es gut, wenn man den Preis >> dort direkt in diesem Menü anpassen könnte, denn vielleicht ist der in >> der DB veraltet und der Hersteller hat einen ganz anderen Preis. > Ja, macht Sinn. Danke. > >> 6. Wenn man im Menü "Zu bestellende Teile" einbucht. Dann sollte das >> meiner Meinung nach aus der Liste der zu bestellenden Teile entfernt >> werden, denn man hat es ja bereits bestellt. > Ja, auch gut. > Bis hier kann ich folgen, der Rest ist mit irgendwie... nicht > verständlich. > >> Ohne diese Funktion ist >> diese Lagerverwaltung noch nicht benutzbar, da man dann ja alles selber >> händisch nachtragen müsste. >> Noch besser wäre es, wenn man Einkaufslisten als "bestellt" markieren >> und diese in eine neues Menü namens bspw. "Unterwegs" verschoben werden >> würden. Kommen die Sachen dann an, dann sollte man in der "Unterwegs" >> Liste, sofern von der Einkaufsliste alles angekommen ist, alles >> einbuchen können. > Naja, gleich als nicht nutzbar, ist sehr hoch geprügelt. > Vielleicht dann eher eine der Deluxe-Lagerverwaltungen in Erwägung > ziehen. Das Einbuchen ist halt eine sehr essentielle Funktion einer Lagerverwaltung, du magst das vielleicht anders sehen, aber grundsätzlich soll sie ja Arbeit abnehmen. Wenn du die Sachen also bestellt hast, aber händisch die bestellten Sachen aus der "zu bestellen" Liste entfernen musst und dann noch in den Bestandslisten dann manuell eintragen musst, dann hast du einen manuellen Übertrag, der kostet nicht nur unnötig Zeit, sondern es können sich auch Fehler einschleichen. Und eigentlich ist das alles vermeidbar, da ja prinzipiell schon alle Informationen in der Software bzw. DB vorliegen, sie muss die Bauteile nur noch einbuchen können. Da sind andere Features, wie bspw. die Statistikansicht weit weniger wichtig. >> Ansonsten finde ich das, was ich bisher gesehen habe schon ziemlich gut. >> Aber das mit dem Einbuchen sollte noch gefixt werden, das ist meiner >> Meinung nach ein essentiell wichtiges Feature das auch funktionieren >> sollte. > Für meinen Teil muss ich Part-DB hier und exklusiv in Schutz nehmen :D Und das ist meiner Meinung nach völlig unsinnig, weil es hier keinen Krieg gibt. Es geht darum Vorschläge einzubringen und die Software generell besser zu machen. Das Nichtvorhandensein von Features ist erstmal nicht schlimm, solange alles klar benannt und protokolliert wird, so dass nächste Versionen das enthalten können ist alles in Ordnung. Aber das Fehlen dieser Features zu verteidigen ist nicht logisch, sondern eine rein emotionales psychologisches Verhalten weil du die Software einsetzt und deswegen nicht sein darf, dass in der Software etwas fehlen könnte, denn das wiederum bedeutet für dich allein aus deiner Sicht und nicht aus meiner, denn ich bin ja konstruktiv, dass du ja dann eine schlechte Wahl bezüglich der Software getroffen hättest und deswegen streitest du dann mit mir hier unsinnig herum. Das ist leider ein weit verbreitetes Phänomen in der Open Source Welt und sie ist immer unsinnig, so wie damals die Grabenkämpfe zwischen dem Lager der Atari ST und Amiga User. Außerdem geht sie immer allein von Benutzern aus, Entwickler nehmen die Vorschläge in der Regel an. Wobei es da natürlich bei besonders einfältigen Entwicklern auch Ausnahmen geben kann, aber deren Projekte werden dann in der Regel geforked und verschwinden dann wie XFree86 in der Geschichte. > Es ist klein, sauschnell, optisch ansprechende Multiplatform, > Multidevice, aktiv in Entwicklung (Danke @Jan), absolut einfach > gestaltet, selbsterklärend und ohne Einarbeitung nutzbar. Wenn man es jetzt auf die Waagschale legen würde, dann wäre es nicht sauschnell, aber für den Privatbereich ist es natürlich völlig ausreichend. Wenn du jetzt aber objektiv die Performance auf die Probe stellen wolltest und eine Vielzahl an Nutzern damit arbeiten müssten und der Server vielleicht noch im Internet steht, so wie bspw. der Demoserver, dann kann so eine mit PHP realisierte Software durchaus schneller in die Knie gehen, als eine andere Lösung, die bspw. in Java, Rust oder C++ realisiert wurde. Verglichen mit PHP <= 5 wird die Performance unter PHP 7 natürlich besser. Ebenso wäre ein Compilat aus C++ oder Rust Code kleiner, zumal es auch keine Runtimeumgebung oder Skriptspracheninterpreter benötigen würde. Gleich wetterst du jetzt sicher wieder dagegen, aber wieder unbegründet aus rein emotionalen Beweggründen. Aber beachte hier bitte, ich lege nur eine objektive neutrale Argumentation hin und die ist, ganz wichtig, wertfrei. Optisch ansprechend ist immer Geschmackssache, mir ist das aber definitiv gut genug, ich habe das auch nicht beanstandet. Bezüglich dem Multiplattform und Multidevice gebe ich dir recht. Bezüglich dem Punkt "Selbsterklärend" musste ich wegen den Baugruppen und ob das die Verwaltung für die Projekte sind nachfragen. Intuitiv zugänglich ist die Software aber, man findet schnell heraus was geht und wie es geht. Dass das Projekt aktiv entwickelt wird finde ich ebenfalls gut. Auch hier mein Dank an die Entwickler und deswegen habe ich ja auch gleich Verbesserungsvorschläge eingebracht. Wenn mich das Projekt nicht jucken würde, hätte ich mir die konstruktive mit Vorschlägen bestückte Schreiberrei sicherlich gespart.
Lötlackl *. schrieb: > Offenbar ist VMware Server inzwischen tot, ein ähnliches System wird > nicht beschrieben. > Welche Alternativen gibt es? > > Bedingung: Windows 7 Die Lösung mit der virtuellen Maschine brauchst du eigentlich nicht. Sie hat lediglich einen kleinen Vorteil, wenn du deine Lagerverwaltung vom Internet aus erreichbar halten willst. Wobei hierfür dann noch eine entsprechende Konfiguration in deinem Router notwendig wäre. Um die Lagerverwaltung unter Windows 7 zu nutzen genügt eine XAMPP Installation, sowie natürlich die Lagerverwaltung selbst. https://www.apachefriends.org/de/index.html PS: Perl kannst du bei der Installation von XAMPP abwählen. Auch wenn du die Umgebung nur im privaten Netzwerk nutzt kann es sinnvoll sein für die XAMPP Umgebung ein paar Einstellungen vorzunehmen um die Sicherheit zu erhöhen. In der Standardeinstellung ist XAMPP zum Entwickeln gedacht, da hat man also weitgehend Zugriff auf diverse Features die man so eher nicht zur Verfügung stellen würde. Im Internet findest du sicher ein paar Artikel zum Thema XAMPP absichern. Falls du das ganze dennoch in einer virtuellen Maschine haben willst, bietet sich hierfür Virtualbox von Oracle an. Der Nachteil ist, dass eine Virtualisierung mehr Resourcen benötigt und du die virtualisierte Umgebung nach dem booten von Windows auch noch booten bzw. starten musst. Das lässt sich zwar sicherlich alles automatisieren, kostet aber alles Zeit bis deine Lagerverwaltung verfügbar ist. Noch besser als diese zwei Varianten wäre natürlich die Installation der Lagerverwaltung auf separater Hardware. Aus Kostengründen würde sich hier ein Raspberry Pi 3 anbieten, aber da SD Speicher nicht die besten sind, wäre für den privaten Bereich eine Installation in einer virtualisierten Serverumgebung auf einem NAS, wie den von Synology die elegantere Lösung. Das Network Attached Storage ist auch für noch ganz andere Dinge sehr praktisch und je nach gewählter Version gibt es da auch sparsame Varianten mit geringem Stromverbrauch, so dass man so etwas rund um die Uhr erreichbar laufen lassen kann. Natürlich kannst du für die Lagerverwaltung auch einen alten Rechner verwenden und auf dem eine Debian Distribution installieren. Der Stromverbrauch wäre dann aber sicherlich höher als bei der NAS oder Raspberry Pi Lösung.
@Lötlackl Noch etwas, was ich vergessen habe zu erwähnen oder nicht deutlich genug hervorgehoben habe. Natürlich ist es in den meisten Fällen nicht nötig und auch nicht empfehlenswert, wenn man die Lagerverwaltung auf einem Server installiert, den man vom Internet aus erreichen kann. Eine lokale Lösung im Netzwerk reicht für die meisten privaten Anwender völlig und wenn du das Ding nur auf deinem Windowsrechner benutzen willst und die Lagerverwaltung auch nicht über andere Rechner oder dem Smartphone im lokalen Netzwerk erreichbar sein muss, dann kannst du deine XAMPP Installation auch auf deinen Windowsrechner, also localhost einschränken. Das wäre dann auch die sicherste Einstellung. Wobei ich vermute, dass dies sowieso die Defaulteinstellung ist. Die virtualisierte Lösung erhöht etwas die Sicherheit, wenn die Lagerverwaltung von deinem LAN aus erreichbar sein soll und du diese auf deinem Windows Host System laufen lassen willst.
Nano schrieb: > Deswegen ist die Frage nach dem Zusammenführen der inkonsistenten Daten > die einzige richtige Variante. Wenn man aus irgendeinem Grund, möge er > noch so unsinnig sein, jetzt doch noch einen eigenen Eintrag haben will, > dann kann man ja anbieten die Zusammenführung ja zu verweigern, ob das > Sinn macht, das muss dann jeder im Einzelfall selber entscheiden, aber > grundsätzlich sollte die Software eher die Möglichkeit des > Zusammenführens anbieten, damit die Datenbank keine Redundanzen enthält > und inkonsistent wird. Das gilt aus obigen Gründen auch im privaten > Bereich. > > Und was die unterschiedlichen Footprints betrifft, ich sprach ja von > identischen Einträgen, da ist also alles identisch, also auch die > Footprints. > Lediglich die Stückzahl kann anders sein. Die ideale Lösung zum Zusammenführen von Daten ist dann gegeben, wenn es die Möglichkeit gibt, das ein Bauteil an verschiedenen Lagerorten mit verschiedenen Stückzahlen einzuspeichern. Momentan geht das momentan nicht (das kann die aktuelle Datenbankstruktur nicht abbilden), und viele behelfen sich damit ein Bauteil zwei mal anzulegen, an verschieden Lagerorten abzuspeichern. Nano schrieb: > Das Einbuchen ist halt eine sehr essentielle Funktion einer > Lagerverwaltung, du magst das vielleicht anders sehen, aber > grundsätzlich soll sie ja Arbeit abnehmen. > Wenn du die Sachen also bestellt hast, aber händisch die bestellten > Sachen aus der "zu bestellen" Liste entfernen musst und dann noch in den > Bestandslisten dann manuell eintragen musst, dann hast du einen > manuellen Übertrag, der kostet nicht nur unnötig Zeit, sondern es können > sich auch Fehler einschleichen. > Und eigentlich ist das alles vermeidbar, da ja prinzipiell schon alle > Informationen in der Software bzw. DB vorliegen, sie muss die Bauteile > nur noch einbuchen können. > Da sind andere Features, wie bspw. die Statistikansicht weit weniger > wichtig. Ich benutze die Bestellen Funktion nicht wirklich, daher habe ich dazu noch nix in der Richtung gemacht. Ich denke aber auch das diese Funktion ganz sinnvoll ist, und sie sollte auch ganz gut machbar sein. Nano schrieb: > Wenn du jetzt aber objektiv die Performance auf die Probe stellen > wolltest und eine Vielzahl an Nutzern damit arbeiten müssten und der > Server vielleicht noch im Internet steht, so wie bspw. der Demoserver, > dann kann so eine mit PHP realisierte Software durchaus schneller in die > Knie gehen, als eine andere Lösung, die bspw. in Java, Rust oder C++ > realisiert wurde. Laut Profiler wird die meiste Zeit momentan in Datenbank Queries verbracht, PHP benötigt nur einen Bruchteil der Wartezeit die nötig ist große Bauteilelisten aufzubauen. Momentan macht er leider viele unnötige rekursive Anfragen für Objekte die er bereits abgefragt hat. Ich vermute das man das auf mindestens die Hälfte der aktuellen Wartezeit drücken kann, wenn die Objekte gecacht werden. Das erfordert aber einen komplette Änderung an der Art wie man Elemente im Programmcode erhält, das ist relativ aufwendig, bin ich noch nicht zu gekommen. Mal abgesehen davon ist PHP durchaus auch für häufig abgerufene Websites geeignet, so ist z.B. MediaWiki was Wikipedia benutzt komplett in PHP geschrieben ;) Das mit dem Löschen von vielen Bauteilen auf einmal geht übrigens bereits schon: Klick mal mit gedrückter Strg bzw. Shift Taste auf mehrere Bauteile nacheinander, dann taucht ein entsprechendes Menu aus. Gruß Jan B.
Jan B. schrieb: > Die ideale Lösung zum Zusammenführen von Daten ist dann gegeben, wenn es > die Möglichkeit gibt, das ein Bauteil an verschiedenen Lagerorten mit > verschiedenen Stückzahlen einzuspeichern. Momentan geht das momentan > nicht (das kann die aktuelle Datenbankstruktur nicht abbilden), und > viele behelfen sich damit ein Bauteil zwei mal anzulegen, an verschieden > Lagerorten abzuspeichern. Okay, das erklärt das ganze. > Ich benutze die Bestellen Funktion nicht wirklich, daher habe ich dazu > noch nix in der Richtung gemacht. Ich denke aber auch das diese Funktion > ganz sinnvoll ist, und sie sollte auch ganz gut machbar sein. Im anderen Thread ist mir bezüglich dem Bestellen noch etwas eingefallen, also wie man es noch besser machen könnte. Wenn du die Zeit hast, dann kannst du dir das gerne durchlesen: Beitrag "Re: Wie verwaltet ihr privat Bauteilbestellungen und deren Bestand?" > Laut Profiler wird die meiste Zeit momentan in Datenbank Queries > verbracht, PHP benötigt nur einen Bruchteil der Wartezeit die nötig ist > große Bauteilelisten aufzubauen. Momentan macht er leider viele unnötige > rekursive Anfragen für Objekte die er bereits abgefragt hat. Ich vermute > das man das auf mindestens die Hälfte der aktuellen Wartezeit drücken > kann, wenn die Objekte gecacht werden. Das erfordert aber einen > komplette Änderung an der Art wie man Elemente im Programmcode erhält, > das ist relativ aufwendig, bin ich noch nicht zu gekommen. Danke für die Erläuterung. Ja, die Datenbankabfragen können auch noch ein Nadelöhr sein, daran habe ich jetzt nicht gedacht. Wenn der Profiler das sagt, wird es so sein. > > Das mit dem Löschen von vielen Bauteilen auf einmal geht übrigens > bereits schon: Klick mal mit gedrückter Strg bzw. Shift Taste auf > mehrere Bauteile nacheinander, dann taucht ein entsprechendes Menu aus. Ok, bei den einzelnen Bauteilen geht das. Bei den Lagerorten, Kategorien in der Verwaltung geht es aber noch nicht. Danke noch, das du die Version auf dem Demoserver aktualisiert hast.
@Mister A. und natürlich @Nano Danke für die sehr ausführlichen Antworten.
Mir ist in der aktuellen Demoversion noch ein Bug aufgefallen: Wenn man bei den Projekten bzw. Bauteilgruppen eine Bauteilgruppe zum Bestellen vorgemerkt und hier die Option nur die noch fehlenden Teilen bestellen anklickt, dann werden die Bauteile zwar in die Liste der zu bestellenden Teile eingefügt, aber die Anzahl stimmt nicht. Enthält die Baugruppe bspw. 5 rote LEDs und der Bestand an roten LEDs beträgt 0, dann wird in die Bestellliste zwar die rote LED eingetragen, aber die Anzahl die bestellt werden soll beträgt nur 1, stimmt also nicht. Lediglich unten drunter der Wert in Klammern, der die Mindestmenge enthält, abgekürzt steht da z.B. (mind. 5) drunter ist korrekt. Und ausgetragen wird das Bauteil logischerweise aus der Bestellliste erst dann, wenn diese mind. 5 erreicht wurde. Und damit komme ich zum nächsten Bug bzw. dem eigentlichen Bug warum das mit dem Einbuchen nicht richtig funktioniert. Bezüglich dem Einbuchen habe ich, so denke ich, jetzt auch den Fehler gefunden. Und zwar bestimmt die oben erwähnte Mindestmenge, also das was in der Bestellliste da in Klammern unten drunter als (mind. n) dransteht, ob das Bauteil nach erreichen dieser Anzahl durch das Einbuchen aus der Bestellliste ausgetragen wird. Das funktioniert aber plötzlich nicht mehr, wenn dieser (mind. n) Eintrag den Wert 0 beträgt. Und hier gibt es jetzt zwei Möglichkeiten für den Bug. Entweder der Code der Bestellliste ignoriert grundsätzlich die Bauteile, die bei (mind. n) eine 0 angegeben haben, oder das Problem sitzt tiefer im Code, denn die mind. Anzahl wird nur dann geändert, wenn man bspw. Teile einer Baugruppe bestellt oder die Mindestbestandsmenge nicht stimmt (siehe weiter unten). Denn bei der Bestellung von fehlenden Bauteilen über die Baugruppe bestellen Option ist die Stückzahl die mindestens für eine Baugruppe benötigt wird angegeben. Fügt man ein Bauteil aber manuell über das Kategorienmenü zur Bestellliste hinzu, dann bleibt der mind. Wert bei 0 stehen und wird nicht erhöht. Ebenfalls wird der mind. Wert noch abhängig vom Mindestbestandswert angepasst. Hat man z.B. weniger Stück eines Bauteils im Bestand, als der Mindestbestand vorgibt, dann wird das Bauteil und die fehlende Stückzahl automatisch zur Bestellliste hinzugefügt und dort auch der Wert in Klammern (mind. n) auf die noch fehlende Anzahl angepasst. Die zu bestellende Anzahl ist hier, anders als bei der Bestellungen von Bauteilen über die Bauteilgruppen korrekt. Aber auch hier gilt, dass dieses Bauteil nicht mehr dann aus der Bestellliste entfernt wird, wenn man im Bestand mehr oder gleich viel wie in der Mindestbestandsstückzahl steht hat und man einfach noch manuell ein paar Stück dazu bestellt. Der Fehler liegt somit entweder an der Art, wie die manuell zu bestellenden Bauteile zur Bestellliste hinzugefügt werden oder an dem in der Bestellliste ausgelesenen (mind. n) Eintrag, der bei manuellen Bestellungen nicht angepasst wird und Einträge die hier ein (mind. 0) stehen haben grundsätzlich ignoriert. Nächster Punkt. Dass beim Erstellen eines neuen Bauteils "Neues Teil in dieser Kategorie" anlegen jetzt die Kategorie für das Bauteil gewählt wird, in der man sich zuletzt befunden hat, funktioniert jetzt in der 0.5.3. Allerdings kann man das Anlegen des neuen Bauteils nicht abbrechen. Es gibt keinen Button um das Anlegen abzubrechen oder, ohne das Bauteil zu erstellen, zur alten Kategorie zurückzukehren. Was man lediglich machen kann ist den Zurückbutton des Browsers zu drücken, das geht. Dann landet man wieder wie erwartet im Kategorienmenü in der zuletzt besuchten Kategorie. Schön würde ich übrigens finden, wenn man in der Kategorieansicht die zu Bestellende Menge direkt eingegeben werden könnte und man nicht erst das Untermenü des eigentlichen Bauteils aufrufen müsste. Letzteres ist einfach umständlicher und erfordert mehr Zeit. In gewisser Weise ist es auch recht seltsam, denn den Plus und Minus Button zum Hinzufügen eines Stücks im Lagerbestand ist ja vorhanden, aber diese zwei Buttons wird man eher nur am Anfang benötigen, wenn man die Datenbank überhaupt erst einmal anlegt. In der späteren Benutzung, wenn die Teile also auch bestellt werden müssen, wird das direkte Bestellen und erhöhen des Lagerbestands durch das Bestellen viel wichtiger. Deswegen sollte ein Stückzahl bestellen Button direkt in der Kategorieliste angezeigt werden, so dass man nicht erst das Bauteiluntermenü aufrufen muss. Noch ein weiterer Punkt. Öffnet man die Ansicht show_part_info.php?pid=###, also der Link der auf das Bauteil zeigt, dann erhält man das Bauteiluntermenü wo man einige Sachen einstellen kann. Der Bug ist nun, ganz unten, wird das Icon in dem man das Submenu "Aktionen" aufklappen kann, durch diesen Blauen "Zum Seitenbeginn) verdeckt. Zwar kann man dieses "Aktionen" Submenü auch einfach aufklappen, in dem man irgendwo auf die Leiste klickt, aber rein aus Gewöhnung glaubt man, man müsste dieses Pfeilsymbol anklicken um dies zu tun. Ich würde also vorschlagen, das so zu ändern, dass dieses nicht mehr verdeckt wird. Dann noch etwas, in der Bauteilliste gibt es noch das Bleistiftsymbol das auf edit_part_info.php verweist. Hier würde ich es besser finden, wenn man show_part_info.php, also das mit dem anklickbaren Namenslink und edit_part_info.php zusammenlegt. Die edit_part_info.php ist nämlich schon durch das show_part_info.php Untermenü zugänglich. Einfach um die Usability etwas zu erhöhen. Hier zwei ähnliche Menüs über die Bauteilliste zugänglich zu machen bringt den Nutzer nur durcheinander. Damit hatte schon das Gnome Projekt zu kämpfen, wo man viele gleiche Sachen über verschiedene Submenüs erreichen und verändern konnte. Der Button "Unterkategorien einblenden" ist übrigens nichts sagend. Hier würde ich vorschlagen den in "Bauteile der Unterkategorien einblenden" ändern. Dann ist auch sofort klar, wofür der da ist. Dann gibt es noch den Button "zeige alle Bauteile", der wohl mit dem Button "Unterkategorie einblenden" verwandt ist und die identische Funktion zu erfüllen scheint. Hier würde ich vorschlagen den zu entfernen um die Usability zu erhöhen, denn es gibt ja dafür schon den Button "Unterkategorie einblenden". Korrektur, der Button "Unterkategorien einblenden" blendet nur die direkten Unterkategorien ein, also nicht die Subunterkategorien. Beim Button "zeige alle Bauteile" ist das anders, der blendet alle Bauteile ein, auch die der Subunterkategorien. In dem Fall wäre es sinnvoller, wenn man dem Button "Unterkategorien einblenden" bzw. dem vorgeschlagenen Namen "Bauteile der Unterkategorien einblenden" einen sinnvolleren Namen gibt, also das abgegrenzt wird, dass dieser Button nur die Bauteile der direkten Unterkategorien anzeigt und nicht die der Subunterkategorien. Bei der direkt anspringbaren Seitenanzahl, also den 3 Buttons, würde ich vorschlagen, diese Anzahl von 3 Buttons auf 5 zu erhöhen. Denn Platz ist dafür auf einem normalen Monitor genug vorhanden. Eventuell beim Smartphone könnte das anders sein. So, das wäre es erstmal was ich so gefunden habe und was man verbessern könnte oder ein Bug ist. Falls ich noch etwas finden sollte, sage ich Bescheid.
Okay, noch einen weiteren Bug gefunden. Wenn man für eine Baugruppe die fehlenden Bauteile bestellen möchte und deswegen in der Baugruppe unter "Teile abfassen/einbuchen/vormerken/exportieren" die fehlenden Bauteile dazubestellen möchte, dann wird neben den fehlenden Teilen auch noch die Baugruppe selbst zur Bestellliste hinzugefügt. Das ist natürlich nicht Sinn der Sache, wenn man die Baugruppe aus Einzelteilen selbst zusammenbaut. Hier macht sich die Inkonsistenz bemerkbar zwischen der Bauteile Kategorie, Baugruppen und den Projekten. Die Baugruppen gehören somit eigentlich in die Bauteile Kategorie, so dass diese als Fix und fertig Teile bestellt werden können. Und Projekte, also das, was momentan die Baugruppen sind, müssen ihren separaten Eintrag haben. Erstellt man im Projekt manuell eine Baugruppe, dann kann man von dort ja den Lagerbestand in der Kategorie anpassen. Dadurch umgeht man das Problem, dass in den Projekten bei einer Bestellung sowohl die Einzelteile, als auch die ganze Baugruppe, die man aus den Bauteilen erstellen will, zur Bestellliste hinzugefügt werden. Wenn man über die Bestellliste übrigens alle für eine Baugruppe benötigen Bauteile gekauft und in den Lagerbestand eingebucht hat, dann bleibt die extra Baugruppe in der Bestellliste erhalten. Man muss sie also manuell austragen. Würde man Baugruppen wie Bauteile behandeln, dann gäbe es das Problem gar nicht. Dann könnte man Baugruppen als Baugruppe bestellen. Und mit dem extra Menü Projekte, könnte man dann die für ein Projekt notwendigen Bauteile wie gehabt bestellen.
Wenn man die Anzahl der Teile bei einem Bauteil durch "Teile hinzufügen" oder "Zum Bestellen vormerken" erhöhen will, dann wird die maximale Anzahl auf 999 begrenzt. Die meisten werden vom gleichen Bauteil zwar wohl kaum mehr als 999 Stück benötigen, aber jetzt mal angenommen, es gibt vielfach gebräuchliche Bauteile wie bspw. ein bestimmter Widerstandswert (eventuell 100 Ohm) im Angebot, wenn man 1000 Stück bestellt, dann würde die Software hier einem unnötig den Weg versperren. Zumal die Eingabe von 999 Stück hinzufügen und anschließend noch 1 Stück hinzufügen, so dass man im Bestand 1000 hat, durchaus funktioniert. Die Begrenzung halte ich daher für nicht sinnvoll. Ich würde sie wenigstens auf eine 6 stellige Zahl erhöhen. 999999 Tausend Bauteile zum Preis von 0,01 Cent sind auch nur 9999,99 €. Die maximale Anzahl beträgt übrigens 2^31-1. Einen Überlauf konnte ich bis jetzt noch nicht triggern. Lediglich das Eventlog erweckt den Eindruck, dass die Erhöhung von 2^31-1 auf 2^31 gelungen ist.
Im Eventlog wirkt die Funktion Spalte sortieren übrigens nur auf die aktuelle Seite und nicht auf alle Events aller Seiten. Hier wäre es auch noch schön, wenn man nach Ereignisse filtern könnte. Bis jetzt gibt es nur die allgemeine Filtereinstellung über das Loglevel.
Die Filtereinstellung scheint sich system_log.php übrigens nicht zu merken, wenn man z.B. das Log Level auf "notice" einstellt und die Einträge pro Seite auf 15 reduzieren will. Dann wird wieder das Log Level auf "debug" zurückgesetzt.
Sicherheitslücke gefunden!!! Ich kann das System auslesen und PHP Code einschleusen, in dem ich einfach eine PHP Datei uploade. Inhalt der Datei war: <html> <head> <title>Test</title> </head> <body> <?php echo '<p>Hallo Welt</p>'; phpinfo(); ?> </body> </html> In dem besagten Fall habe ich aber eine zuvor hochgeladene Textdatei überschrieben, ob das der Grund war, dass das nicht abgefangen wurde, habe ich nicht überprüft. Passieren darf bzw. sollte das aber nicht. Beweis: http://part-db.bplaced.net/data/media/aktive_Bauteile/Dioden/Fotodioden/parttest2.php Der Eventlog hat auch einen Fehler gemeldet, als ich versucht habe, ein nicht vorhandenes Datenblatt zu entfernen.
Ich hätte noch einen Vorschlag
> Baugruppe/Projekt/Teile per Name zuordnen
In dieser Ansicht noch die Spalte "Bestand" darstellen.
Die Spalte Hersteller wäre m.M.n. hier überflüssig.
Unterhalb neben dem hinzufügen-Button wäre noch Platz für ein "neues
Bauteil anlegen". Hätte den Vorteil, beim zusammenstellen der Liste,
schnell fehlende Teile anzulegen ohne die Baugruppe/Projekt verlassen zu
müssen.
Denkbar wäre auch, die letzte Zeile vom Suchergebnis, mit leeren Feldern
auszustatten um damit ein Bauteil anzulegen.
Auch die Bezeichnung "Teile per Name zuordnen" würde ich auf "Bauteile
aufnehmen/zuordnen" ändern bzw. kürzen.
Und final (siehe Bild), vvlt. wäre es möglich das ganze etwas kompakter
zu machen? z.B. die Artikelbeschreibung auf 2-3 Zeilen kürzen.
:
Bearbeitet durch User
So es gibt jetzt eine Version 0.5.4 von Part-DB (https://github.com/Part-DB/Part-DB/releases/tag/v0.5.4), wo ich eure gemeldeten Bugs behoben habe und ein paar eurer Anregungen umgesetzt habe. Die Genauen Release Notes können hier gefunden werden (https://github.com/Part-DB/Part-DB/blob/master/readme/changelog.md)
Nano schrieb: > Im Eventlog wirkt die Funktion Spalte sortieren übrigens nur auf die > aktuelle Seite und nicht auf alle Events aller Seiten. > > Hier wäre es auch noch schön, wenn man nach Ereignisse filtern könnte. > Bis jetzt gibt es nur die allgemeine Filtereinstellung über das > Loglevel. Das mit dem Sortieren ist leider bei allen Tabellen so: Die Sortierung geschieht im Browser (sonst wäre es nicht so schnell), der Browser kennt aber nur die Einträge der aktuellen Seite. Möchte man über alle Einträge sortieren, dann muss man sich alle einträge anzeigen lassen (der Button zwischen "letzte Seite" und der Auswahl wie viele Elemente pro Seite angezeigt werden sollen). Da das aber eine ganze Weile dauern kann bis die Seite dann aufgebaut, und sortiert ist, ist das per default nicht so... Zum Zweiten: Doch das geht schon, das hieß bisher "Typ" im Filter, ich habe es aber mal zu "Ereignis" umbenannt, dann sollte das klarer sein. Nano schrieb: > Der Bug ist nun, ganz unten, wird das Icon in dem man das Submenu > "Aktionen" aufklappen kann, durch diesen Blauen "Zum Seitenbeginn) > verdeckt. Zwar kann man dieses "Aktionen" Submenü auch einfach > aufklappen, in dem man irgendwo auf die Leiste klickt, aber rein aus > Gewöhnung glaubt man, man müsste dieses Pfeilsymbol anklicken um dies zu > tun. > Ich würde also vorschlagen, das so zu ändern, dass dieses nicht mehr > verdeckt wird. Hast du einen Vorschläg wie man das ändern kann, weil es dürfte nahezu unmöglich sein, den Button auszublenden, wenn so ein Pfeil darunter ist. Abgesehen erfüllt der Pfeil tatsächlich nur visuelle Zwecke. Der ist nicht einmal im HTML Code vorhanden (das ist ein reines CSS Pseudo Element). Nano schrieb: > In der späteren Benutzung, wenn die Teile also auch bestellt werden > müssen, wird das direkte Bestellen und erhöhen des Lagerbestands durch > das Bestellen viel wichtiger. > Deswegen sollte ein Stückzahl bestellen Button direkt in der > Kategorieliste angezeigt werden, so dass man nicht erst das > Bauteiluntermenü aufrufen muss. Das Hauptproblem besteht darin, dass beim Bestellen, nahezu immer eine Stückzahl angegeben werden. Ich schaue mir das aber mal an, da kann man vermutlich was mit einem Dropdown Menu machen... Nano schrieb: > Wenn man bei den Projekten bzw. Bauteilgruppen eine Bauteilgruppe zum > Bestellen vorgemerkt und hier die Option nur die noch fehlenden Teilen > bestellen anklickt, dann werden die Bauteile zwar in die Liste der zu > bestellenden Teile eingefügt, aber die Anzahl stimmt nicht. > Enthält die Baugruppe bspw. 5 rote LEDs und der Bestand an roten LEDs > beträgt 0, dann wird in die Bestellliste zwar die rote LED eingetragen, > aber die Anzahl die bestellt werden soll beträgt nur 1, stimmt also > nicht. > Lediglich unten drunter der Wert in Klammern, der die Mindestmenge > enthält, abgekürzt steht da z.B. (mind. 5) drunter ist korrekt. > Und ausgetragen wird das Bauteil logischerweise aus der Bestellliste > erst dann, wenn diese mind. 5 erreicht wurde. Ich vermute das das ein gewolltes Verhalten ist, denn mit dem Button "Bestellmengen automatisch setzen" wird das entsprechend angepasst. Wobei ich das ebenfalls etwas komisch finde, zumindest könnte es sinnvoll sein, zumindest die mindestanzahl zu bestellen. Nano schrieb: > Hat man z.B. weniger Stück eines Bauteils im Bestand, als der > Mindestbestand vorgibt, dann wird das Bauteil und die fehlende Stückzahl > automatisch zur Bestellliste hinzugefügt und dort auch der Wert in > Klammern (mind. n) auf die noch fehlende Anzahl angepasst. > Die zu bestellende Anzahl ist hier, anders als bei der Bestellungen von > Bauteilen über die Bauteilgruppen korrekt. > > Aber auch hier gilt, dass dieses Bauteil nicht mehr dann aus der > Bestellliste entfernt wird, wenn man im Bestand mehr oder gleich viel > wie in der Mindestbestandsstückzahl steht hat und man einfach noch > manuell ein paar Stück dazu bestellt. > > Der Fehler liegt somit entweder an der Art, wie die manuell zu > bestellenden Bauteile zur Bestellliste hinzugefügt werden oder an dem > in der Bestellliste ausgelesenen (mind. n) Eintrag, der bei manuellen > Bestellungen nicht angepasst wird und Einträge die hier ein (mind. 0) > stehen haben grundsätzlich ignoriert. Ich denke das dieses Verhalten auch gewünscht ist, weil Bauteilen mit Mindesbestellmenge 0, können ja ausschließlich manuell bestellt werden, und da ist es vorgesehen, dass sie erst aus der Liste verschwinden, wenn für sie der Haken bei "Aus Liste löschen" gesetzt wird... Ob das sinnvoll ist sei mal dahingestellt. Ich stimme dir aber durchaus zu das man an diesem ganzen Bestellen und Einbuchen System einiges überarbeiten könnte. Gruß Jan B.
Jan B. schrieb: > So es gibt jetzt eine Version 0.5.4 von Part-DB > (https://github.com/Part-DB/Part-DB/releases/tag/v0.5.4), wo ich eure > gemeldeten Bugs behoben habe und ein paar eurer Anregungen umgesetzt > habe. Die Genauen Release Notes können hier gefunden werden > (https://github.com/Part-DB/Part-DB/blob/master/readme/changelog.md) Super, ich werde es nachher gleich mal ausprobieren.
Jan B. schrieb: > Das mit dem Sortieren ist leider bei allen Tabellen so: Die Sortierung > geschieht im Browser (sonst wäre es nicht so schnell), der Browser kennt > aber nur die Einträge der aktuellen Seite. Möchte man über alle Einträge > sortieren, dann muss man sich alle einträge anzeigen lassen (der Button > zwischen "letzte Seite" und der Auswahl wie viele Elemente pro Seite > angezeigt werden sollen). Da das aber eine ganze Weile dauern kann bis > die Seite dann aufgebaut, und sortiert ist, ist das per default nicht > so... In dem Fall würde ich vorschlagen dem Browser per REST, SOAP oder WSDL alle Daten der gerade aktuellen und entsprechenden Subkategorie zu schicken und sie dann beim Client mittels Javascript oder Webassembly zu sortieren und dann anzuzeigen. Wenn man die Daten auf dem Server cached, dann muss pro Subkategorie nur eine SQL Abfrage erfolgen. Der Client kriegt dann die Daten unsortiert nach einem der obigen Verfahren, da würde ich ein schlankes Verfahren nehmen, eventuell REST, und die Sortierung erfolgt dann auf dem Client. Wenn der Client die Daten dann für die gesamte Sitzung vorhält, dann muss das nur einmal erfolgen oder wenn sich die Daten geändert haben. > Zum Zweiten: Doch das geht schon, das hieß bisher "Typ" im Filter, ich > habe es aber mal zu "Ereignis" umbenannt, dann sollte das klarer sein. Ah, okay. Ja, die Bezeichnung "Ereignis" finde ich besser, da intuitiver. > Nano schrieb: >> Der Bug ist nun, ganz unten, wird das Icon in dem man das Submenu >> "Aktionen" aufklappen kann, durch diesen Blauen "Zum Seitenbeginn) >> verdeckt. Zwar kann man dieses "Aktionen" Submenü auch einfach >> aufklappen, in dem man irgendwo auf die Leiste klickt, aber rein aus >> Gewöhnung glaubt man, man müsste dieses Pfeilsymbol anklicken um dies zu >> tun. >> Ich würde also vorschlagen, das so zu ändern, dass dieses nicht mehr >> verdeckt wird. > > Hast du einen Vorschläg wie man das ändern kann, weil es dürfte nahezu > unmöglich sein, den Button auszublenden, wenn so ein Pfeil darunter ist. > Abgesehen erfüllt der Pfeil tatsächlich nur visuelle Zwecke. Der ist > nicht einmal im HTML Code vorhanden (das ist ein reines CSS Pseudo > Element). Es gibt zwei Möglichkeiten: 1. Entweder man entfernt den blauen Button. Auf dem Desktop braucht man den wirklich nicht, denn da gibt es eine Leiste und PageUp Und PageDown Keys. Ich könnte mir aber vorstellen, dass der vielleicht bei Smartphones etwas bringt. Ich kann da jetzt allerdings nur für mich alleine sprechen, ich persönlich werde Parts-DB kaum auf dem Smartphone nutzen und bei denen die das tun werden, so denke ich, werden das nur die sein, die für Parts-DB einen vom Desktoprechner unabhängigen Server in ihrem LAN oder im Internet vorhalten werden. Da schrumpft die Gruppe dann noch einmal etwas zusammen. Die meisten dürften wahrscheinlich Parts-DB auf ihrem Desktoprechner in einer XAMPP Umgebung laufen lassen und dann nutzen sie Parts-DB ohnehin gleich über den Computer weil der ohnehin schon läuft. oder 2. Man verändert den Abstand zum Rand. Da die schwarzen Buttons im Hintergrund optisch besser aussehen, wenn diese am Rand sind, würde ich diese da belassen wo sie gerade sind und stattdessen einfach den blauen Navigationsbutton, der nicht so häufig verwendet wird, mehr in die Mitte verschieben oder ganz an den Rand und dann deutlich kleiner, so dass die anderen Buttons nicht verdeckt werden. Oder man macht es für die Smartphoneansicht so, dass die Dateneinträge grundsätzlich immer oberhalb dieses Navi-Buttons sind und der Button dann unterhalb eingeblendet wird. Auf dem PC würde mich so eine Lösung allerdings stören, da er nur Platz wegnimmt und dort überflüssig ist und auf dem Smartphone ist der Platz ohnehin etwas klein für Listen, da wäre es dann auch irgendwo doof, wenn ein Navigationselement hier Platz wegnimmt. Den weiter in die Mitte zu verschieben und nur auf Smartphones anzuzeigen wäre wahrscheinlich der beste Kompromiss. > Nano schrieb: >> In der späteren Benutzung, wenn die Teile also auch bestellt werden >> müssen, wird das direkte Bestellen und erhöhen des Lagerbestands durch >> das Bestellen viel wichtiger. >> Deswegen sollte ein Stückzahl bestellen Button direkt in der >> Kategorieliste angezeigt werden, so dass man nicht erst das >> Bauteiluntermenü aufrufen muss. > > Das Hauptproblem besteht darin, dass beim Bestellen, nahezu immer eine > Stückzahl angegeben werden. Ich schaue mir das aber mal an, da kann man > vermutlich was mit einem Dropdown Menu machen... Ich würde einfach für jedes Bauteil ein Feld für die Stückzahl direkt in der Tabellezeile dauerhaft anzeigen und eventuell rechts daneben noch einen + und - Button, so dass man das direkt ändern kann. Eine Dropdown Lösung finde ich nicht so gut. Aber wenn das nicht anders geht, dann wäre es mir wichtig, dass es nicht das Tabellenlayout zerstört. Also so etwas wie, wenn man auf den Bestellen Drop Down Button drückt und dann die unteren Tabellenzeilen nach unten geschoben werden, damit man etwas eingeben kann, würde ich als sehr störend empfinden. Da verliert man nämlich ständig die Orientierung, vor allem wenn der Browser dann noch durch scrollen dazwischenfunkt. So etwas mag ich gar nicht. Wenn, dann sollte das per Dropdown nur als Overlay funktionieren und zwar so, dass dabei die Tabelle nicht gescrollt wird. Also selbst wenn man ganz unten für den Eintrag in der untersten Zeile etwas bestellen möchte, dann sollte die Tabelle nicht automatisch nach oben gescrollt werden um Platz für das Dropdownmenü zu schaffen. So rein logisch betrachtet finde ich ein Dropdownmenü aber nicht nötig, denn Platz für ein Bestellfeld in der Bauteilzeile ist auf einem Computer durchaus vorhanden. Lediglich bei einem Smartphone müsste man da wahrscheinlich mit einem Drop Down oder Overlay Menu arbeiten. Wo dann genau bestellt wird, bei welchem Händler zu welchem Preis usw. das macht man ja eh alles in der Bestellliste Anzeige. In der normalen Bauteile Kategorien Ansicht muss eigentlich nur die Anzahl erhöht werden können, die man demnächst braucht, also bestellen will. > Nano schrieb: >> Wenn man bei den Projekten bzw. Bauteilgruppen eine Bauteilgruppe zum >> Bestellen vorgemerkt und hier die Option nur die noch fehlenden Teilen >> bestellen anklickt, dann werden die Bauteile zwar in die Liste der zu >> bestellenden Teile eingefügt, aber die Anzahl stimmt nicht. >> Enthält die Baugruppe bspw. 5 rote LEDs und der Bestand an roten LEDs >> beträgt 0, dann wird in die Bestellliste zwar die rote LED eingetragen, >> aber die Anzahl die bestellt werden soll beträgt nur 1, stimmt also >> nicht. >> Lediglich unten drunter der Wert in Klammern, der die Mindestmenge >> enthält, abgekürzt steht da z.B. (mind. 5) drunter ist korrekt. >> Und ausgetragen wird das Bauteil logischerweise aus der Bestellliste >> erst dann, wenn diese mind. 5 erreicht wurde. > > Ich vermute das das ein gewolltes Verhalten ist, denn mit dem Button > "Bestellmengen automatisch setzen" wird das entsprechend angepasst. > Wobei ich das ebenfalls etwas komisch finde, zumindest könnte es > sinnvoll sein, zumindest die mindestanzahl zu bestellen. Ja, das ist das was ich als Nutzer erwarten würde. Der Computer soll einfach bei einem Bauteil die für die Baugruppe notwendige Menge vom Bestand abziehen und dann genau die Menge, die dann noch fehlt in die Bestellliste eintragen. Im Prinzip ist das genau der Wert, der in der Bestellliste unter (mind. 5) steht. Den Button "Bestellmengen automatisch setzen" halte ich für überflüssig. Vor allem besteht die Gefahr, dass man vergisst ihn zu drücken, dann bestellt man das und die Teile kommen an und reichen dann nicht aus, weil die Baugruppe mehr Teile benötigt. > Nano schrieb: >> Hat man z.B. weniger Stück eines Bauteils im Bestand, als der >> Mindestbestand vorgibt, dann wird das Bauteil und die fehlende Stückzahl >> automatisch zur Bestellliste hinzugefügt und dort auch der Wert in >> Klammern (mind. n) auf die noch fehlende Anzahl angepasst. >> Die zu bestellende Anzahl ist hier, anders als bei der Bestellungen von >> Bauteilen über die Bauteilgruppen korrekt. >> >> Aber auch hier gilt, dass dieses Bauteil nicht mehr dann aus der >> Bestellliste entfernt wird, wenn man im Bestand mehr oder gleich viel >> wie in der Mindestbestandsstückzahl steht hat und man einfach noch >> manuell ein paar Stück dazu bestellt. >> >> Der Fehler liegt somit entweder an der Art, wie die manuell zu >> bestellenden Bauteile zur Bestellliste hinzugefügt werden oder an dem >> in der Bestellliste ausgelesenen (mind. n) Eintrag, der bei manuellen >> Bestellungen nicht angepasst wird und Einträge die hier ein (mind. 0) >> stehen haben grundsätzlich ignoriert. > > Ich denke das dieses Verhalten auch gewünscht ist, weil Bauteilen mit > Mindesbestellmenge 0, können ja ausschließlich manuell bestellt werden, > und da ist es vorgesehen, dass sie erst aus der Liste verschwinden, wenn > für sie der Haken bei "Aus Liste löschen" gesetzt wird... Ob das > sinnvoll ist sei mal dahingestellt. Ich halte es nicht für sinnvoll. Ich würde erwarten dass der Eintrag entfernt wird, wenn man auf Bestellen drückt und dabei bei der Bestellung auch die gewünschte Anzahl geordert hat. Nur wenn die wirklich bestellte Anzahl unterhalb der manuell zu Bestellung vorgemerkten Anzahl liegt, sollte der Eintrag in der Bestellliste erhalten bleiben. Das könnte bspw. passieren, weil man vielleicht den Rest später bestellen will und momentan nur 2 Stück für was anderes dringend braucht. > Ich stimme dir aber durchaus zu das man an diesem ganzen Bestellen und > Einbuchen System einiges überarbeiten könnte. Danke und Danke für deine Korrekturen und das Update. Ich werde es mir nachher noch ansehen, jetzt gehe ich erst mal etwas essen.
Zu der neuen Version: Mir ist gerade aufgefallen, das man in der Baugruppen Übersicht keine neuen Baugruppen anlegen kann. Ich weiß nicht ob das in der vorherigen Version noch ging und jetzt nur mit dem Update nicht mehr geht. Zur Änderung bezüglich "show_device_parts.php". Hier würde ich den Button "Bauteile aufnehmen/zuordnen" in "Bauteil hinzufügen" ändern. Auch finde ich, dass diese Funktion in der GUI nicht so ersichtlich ist. Hier wäre vermutlich ein einfacher Button "Bauteil hinzufügen", der dann ein Suchfeld einblendet, inuitivier. Wobei ich allerdings auch zugestehen muss, dass es vom Workflow so wie es momentan ist, besser sein kann. Man müsste hier nur deutlicher machen, dass man hier ein Bauteil hinzufügen kann. Eventuell wäre das auch innerhalb des CSS div Feldbereichs, in der auch die Liste drin steht, besser platziert. Ein "Bauteil Löschen" Button bzw. aus der "Baugruppe entfernen" Button fehlt übrigens noch. Ebenso das Ändern, eventuell ändert sich etwas im Schaltplan oder ein Bauteil ist nicht mehr verfügbar und muss durch eine Alternative ersetzt werden, dann sollte man ein Bauteil in der Baugruppen Ansicht löschen oder ändern können. Wobei bei einer Änderung der Baugruppe vielleicht noch eine Versionierung sinnvoll sein könnte, denn eventuell hat man von der Baugruppe noch eine alte Version im Bestand, ich weiß allerdings nicht, wie man das momentan am besten realisiert. Vielleicht durch anlegen einer neuen Baugruppe oder das es einfach eine Option für verschiedene Revisionen einer Baugruppe gibt. Hierfür muss sicherlich auch die Datenbank angepasst werden. Das wäre dann wohl ein Feature für die nächste Majorversion. ;) Noch ein paar Kleinigkeiten zur Changelog. Securityfixes würde ich als solche Kennzeichnen, also nicht mit einem "Achtung", sondern einfach mit "security fix" und das als englische Bezeichnung. Dadurch lässt sich die Changelog leichter nach Securityfixes mit Programmen wie bspw. grep durchsuchen, da man dann "security" als Suchbegriff verwenden kann. Für einen Begriff wie "Achtung" braucht man immer den Kontext. Es kann auch Sinn machen in der Auflistung Bugfixes von Securityfixes zu trennen. Im Eintrag "Es wird ein Hinweis angezeigt, wenn der Benutzer versucht das Bauteilelimit (2^32) zu überschreiten versucht" steht versucht zweimal drin. Das Bauteillimit müsste 2^32-1 lauten. Das ist die maximale Anzahl für den int Wert, da man ja noch die 0 hat. Mit 2^32 liegt man schon um 1 darüber, das ist binär 1 00000000 00000000 00000000 00000000. Ansonsten sieht die neue Version sehr gut aus. Danke für die Verbesserungen.
Ich bin jetzt auch auf 0.5.3->0.5.4 https://github.com/Part-DB/Part-DB.git verweist immer auf den branch master, somit auf die dev-version. Die stable-v0.5 bekomme ich nicht ge-git-ed. Mache ich was falsch? Die Einkaufsinformationen (Preis/pStk) verschwinden immer noch. Es könnte auch sein, dass ich immer noch die vorher_verschwundenen herausfische. Seit wann das passiert, kann ich nicht genau sagen. Zumindest bei den betroffenen Bauteilen gab es zwischendrin kein Versionsupdate. Ich habe einige Stichproben seit 0.5.2 gemacht. Unmittelbar nach dem Anlegen, eintragen und auch nachträglichem ändern waren sie noch vorhanden. Also irgendwann zwischen später und dem Eintreffen der Ware :) Die Schriftart ist seit 0.5.x komplett in Fett/bold. Es gibt keinen Textschnipsel in der normal Schriftart. Finde ich nicht so schön. Ein paar Eingabefelder sind jetzt so kurz, dass man nur noch die erste Ziffer zusammengequetscht sieht. z.B. bei den Einkaufkonditionen Feld Preis+pStk. Zu den Einkaufsinformation hätte ich noch eine Idee. Wie groß wäre der Aufwand einen Calculator einzubauen? Nein, keinen Taschenrechner mit Algebra, nur einen Währungsumrechner. Beim shoppen sind die Preise meist in US$. Eine zweite Währung durch das gesamte System zu führen muss nicht sein. Obwohl, möglicherweise wäre das sogar einfacher? Bauteil/Dateianhänge, dieses Riesenfeld "drag & drop files here", muss das bei allen (bei den bestehenden) Anhängen sein? Rieeeesenplatzverschwendung. Achja, ich suche vergebens nach einem Donate-Button um da mal draufzudrücken... Du leistest sehr gute Arbeit, Danke! Nano schrieb: > Zur Änderung bezüglich "show_device_parts.php". > Hier würde ich den Button "Bauteile aufnehmen/zuordnen" in "Bauteil > hinzufügen" ändern. geht auch. War nur ein Vorschlag um den Begriff "per Namen..." zu eliminieren :)
:
Bearbeitet durch User
Ihr solltet bei eurer Fehlerbeschreibung auf angeben, von welchen Geräten aus ihr auf die Anwendung zugreift. Ich nehme an, dass das Frontend für Smartphone/Tablet etwas anders aufgebaut ist, als für den Destkop...
Mister A. schrieb: > Die Einkaufsinformationen (Preis/pStk) verschwinden immer noch. Es > könnte auch sein, dass ich immer noch die vorher_verschwundenen > herausfische. Seit wann das passiert, kann ich nicht genau sagen. > Zumindest bei den betroffenen Bauteilen gab es zwischendrin kein > Versionsupdate. Ich habe einige Stichproben seit 0.5.2 gemacht. > Unmittelbar nach dem Anlegen, eintragen und auch nachträglichem ändern > waren sie noch vorhanden. Also irgendwann zwischen später und dem > Eintreffen der Ware :) Hast du mal ein Screenshot wie das aussieht, wenn das verschwunden ist? Wenn du dann auf Bauteil bearbeiten gehst, fehlen die Zahlen dann auch dort in den Einkaufsinformationen? Mister A. schrieb: > Die Schriftart ist seit 0.5.x komplett in Fett/bold. Es gibt keinen > Textschnipsel in der normal Schriftart. Finde ich nicht so schön. > > Ein paar Eingabefelder sind jetzt so kurz, dass man nur noch die erste > Ziffer zusammengequetscht sieht. z.B. bei den Einkaufkonditionen Feld > Preis+pStk. Da wäre ein Screenshot auch ganz schön, insbesondere das erste klingt komisch... (Eigentlich sollten nur die Stellen fett sein, die auch in den 0.4er Versionen fett sind). Hast du mal probiert den templates_c Ordner im Part-DB Verzeichnis zu löschen. Mister A. schrieb: > https://github.com/Part-DB/Part-DB.git verweist immer auf den branch > master, somit auf die dev-version. Die stable-v0.5 bekomme ich nicht > ge-git-ed. Mache ich was falsch? Am einfachsten ist es wenn du nach dem git clone, ein "git checkout stable-v0.5" machst (so kannst du auch zwischen stable und dev hinund her wechseln). Eventuell muss du dann noch ein git pull ausführen (das musst du dann auch jedes mal wenn er sich die neue Version von GitHub ziehen soll). Mister A. schrieb: > Zu den Einkaufsinformation hätte ich noch eine Idee. Wie groß wäre der > Aufwand einen Calculator einzubauen? Nein, keinen Taschenrechner mit > Algebra, nur einen Währungsumrechner. Beim shoppen sind die Preise meist > in US$. Eine zweite Währung durch das gesamte System zu führen muss > nicht sein. Obwohl, möglicherweise wäre das sogar einfacher? Ich hatte geplant, ein System für mehrere Währungen einzubauen. Dann kann man die Preise in der original Währung hinterlegen, und dann rechnet er sie auf Basis von hinterlegten Wechselkursen automatisch in deine lokale Währung um. Das hat dann auch den Vorteil, dass die Preise in der lokalen Währung auch dann noch richtig sind, falls sie die Wechselkurse ändern. Es gibt auch schöne APIs um diese Wechselkurse automatisch abzufragen, dann muss man sie nicht mal selbst raussuchen. Wenn man die Daten erstmal hat, dann kann man auch noch einen kleinen Rechner einbauen, wenn man die Wechselkurse mal manuell umrechnen möchte. Mister A. schrieb: > Bauteil/Dateianhänge, dieses Riesenfeld "drag & drop files here", muss > das bei allen (bei den bestehenden) Anhängen sein? > Rieeeesenplatzverschwendung. Schau ich mir mal an... Mister A. schrieb: > Achja, ich suche vergebens nach einem Donate-Button um da mal > draufzudrücken... Du leistest sehr gute Arbeit, Danke! Ich bin kein großer Fan von Donate-Buttons in der Software selbst. Aber ich hätte einen Paypal Link: paypal.me/do9jhb Gruß Jan B.
Mister A. schrieb: > Ich bin jetzt auch auf 0.5.3->0.5.4 > > https://github.com/Part-DB/Part-DB.git verweist immer auf den branch > master, somit auf die dev-version. Die stable-v0.5 bekomme ich nicht > ge-git-ed. Mache ich was falsch? Wenn du die stable version mit git downloaden willst, dann musst du den Stable branch dafür verwenden, also wenn ich mich nicht irre dieser hier: https://github.com/Part-DB/Part-DB/tree/stable-v0.5 Oder du holst dir das nächste Release einfach als zip File: https://github.com/Part-DB/Part-DB/releases Der Vorteil per git request ist der, dass du genau nachsehen kannst, was sich wo wie geändert hat. Das wird bspw. gerne gemacht, wenn man einem großen Sourcecode Paket nicht vertraut und lieber die einzelnen Änderungen Code Auditen will. In dem Fall sollte man bei der ursprünglichen Grundversion, mit der man angefangen hat, allerdings schon einmal einen Code Audit durchgeführt haben, denn sonst macht es keinen Sinn. PHP Kenntnisse sind dafür allerdings unerlässlich. > Zu den Einkaufsinformation hätte ich noch eine Idee. Wie groß wäre der > Aufwand einen Calculator einzubauen? Nein, keinen Taschenrechner mit > Algebra, nur einen Währungsumrechner. Beim shoppen sind die Preise meist > in US$. Eine zweite Währung durch das gesamte System zu führen muss > nicht sein. Obwohl, möglicherweise wäre das sogar einfacher? Ich würde die Preise immer an den Shop binden. Wenn der Shop die Preise in Dollar führt, dann für diesen Shop eben dann auch in Dollar. Für den anderen Shop aber dann in Euro. Man müsste also nur in der Datenbank irgendwo hinterlegen, ob der Shop Euros oder Dollar oder was anderes verwendet. Beim Preisvergleich wäre eine Funktion sinnvoll, die es einem erlaubt, einen aktuellen Wechselkurs anzugeben.
Ludwig K. schrieb: > Ihr solltet bei eurer Fehlerbeschreibung auf angeben, von welchen > Geräten aus ihr auf die Anwendung zugreift. Ich nehme an, dass das > Frontend für Smartphone/Tablet etwas anders aufgebaut ist, als für den > Destkop... In meinem Fall ist es ausschließlich ein Desktoprechner. Mistert A. scheint den Screenshots zufolge, die er oben gepostet hat, ein Smartphone zu verwenden.
Danke für euere Antworten. Ich schreibe einfach mal ohne Zitate. Umgebung: Primär nutze ich natürlich den Desktop, Linux (Ubuntu+Debian), Firefox. Gelegentlich greife ich auch zum Android Smartphone, Tablett, Fernseher. Windows hat zu Hause seit 10 Jahren Hausverbot :) Alle Anfragen beziehen sich, soweit nicht anders angegeben, immer auf die letzte/vorletzte stable v0.5. Eine dev v0.6 läuft parallel und greift auf die gleiche Datenbank zu. Bei dieser ist $ media -> ../../partdb/data/media auf die stable symlinked. Eine weitere (bisher ungenutze Instanz) liegt im Docker Container. Die Datenbankanbindung sit vorhanden, media-folder nicht angebunden. Und das ganze ist im heimischen LAN, NAS, keine ext. Cloud od. Webspace. Browser: Wie es sich herausstellt, scheint es doch am Browser zu liegen [Screenshots font-*]. Firefox verunstaltet die Schriftart (nur bei Part-DB) als auch die Feldbreite [Screenshots feld-breite-*]. Opera hingegegen verschiebt etwas die Anordnung/Layout, ändert nichts an der Feldbreite. Naja, das Rätsel hätten wir gelöst. Platzverschwendung: [dragdrop-wastespace] gibt es nur beim Desktop. Unter Android ist es angenehm als Durchsuchen-Button. Ich meine es würde völlig reichen, das Feld nur für neue Attachments darzustellen. Bei den vorhandenen (=Anlage ersetzen) finde ich es überflüssig. Bei einer Baugruppe [baugruppe-übersicht] muss ich gerade ganz doll staunen. Da fehlen jetzt massenweise Einkaufsinformationen. In diesem Projekt sollte eigentlich alles zu 95% komplett sein. Nur die Teile der letzten Lieferung [bestellung-ek-vorhanden] habe ich noch nicht eingebucht. Aus diesem Screenshot sieht man beispielsweise dass alle EK-Infos vorhanden sind bzw. waren. Die Ansicht eines Bauteils [bauteil-detail] verrät keine EK-Information zu haben. Hier sieht man auch, dass ich das Teil seit dem Anlegen nicht mehr angefasst (editiert) habe. Ein weiterer check [bauteil-eingebucht] ist das Ergebnis eines 100% komplett sauber angelegtem und eingebuchten Bauteils. Ich weis echt nicht mehr, wo ich ansetzen soll um den Übeltäter (der die EK-Infos frisst) zu entlarven. Ob da irgendwas an den MySQL-Tabellen/Verknüpfungen/Indizes ist, oder eine konpromitierte php-Anweisung... keine Ahnung. Die Anzahl der betroffenen Bauteile nimmt täglich zu. Die DB/Tabellen hab ich schon (myphpadmin) gecheckt, gemeckert oder fehlermoniert wird nichts. Sorry im Moment ist die Laune irgendwie angegriffen.
:
Bearbeitet durch User
Hallo, kann ich das System auch offline mit einem Handscanner nutzen? (z.B. PI + Scanner xyz) Grüße
Bonsi schrieb: > kann ich das System auch offline mit einem Handscanner nutzen? (z.B. PI > + Scanner xyz) Unverbindlich Ja (da ich keine Barcodes nutze). Logisch: Ich sehe unter Verwaltung/Tools/Labelgenerator die Möglichkeit Labels zu drucken. Ebenso in den Suchoptionen/Filter gibt es Barcode. Bei mir ist er ausgeblendet. Entweder woanders deaktiviert oder das ganze ist noch in Vorbereitung. Technisch: würde nichts dagegen sprechen, auf dem RasPi o.ä., den Webserver samt Datenbank zu installieren. Der Scanner macht eh nichts anderes als Striche in Zahlen zu wandeln. Diese an die Suchfunktion übergeben... sollte gehen. Aber vielleicht meldet sich jemand zu Wort, der es im Einsatz hat.
:
Bearbeitet durch User
Bug gefunden: Anführungszeichen Wenn in der Beschreibung (2. Zeile) ein Anführungszeichen/Gänsefüßchen vorkommen, wird der Rest abgeschnitten. Sobald man Kategorie anklickt oder es speichert. Anwendungsfall: Inch, z.B. 3.5" Display -> vorgesetztes Backslash schafft keine Abhilfe -> Alternativ das Hochkomma ' (Shift+Raute) verwenden
:
Bearbeitet durch User
Mister A. schrieb: > > Ich weis echt nicht mehr, wo ich ansetzen soll um den Übeltäter (der die > EK-Infos frisst) zu entlarven. Ob da irgendwas an den > MySQL-Tabellen/Verknüpfungen/Indizes ist, oder eine konpromitierte > php-Anweisung... keine Ahnung. Die Anzahl der betroffenen Bauteile nimmt > täglich zu. > > Die DB/Tabellen hab ich schon (myphpadmin) gecheckt, gemeckert oder > fehlermoniert wird nichts. Ist der RAM fehlerfrei? Worauf werden die Daten gespeichert? Ist es eine Festplatte, SSD oder gar eine SD Karte in einem Raspberry Pi? Wenn letzteres zutrifft, es gibt da so SD Karten, die haben nicht die eigentliche Kapazität, die sie vorgeben zu haben, sondern da wird der vorhandene Platz vereinfacht ausgedrückt nur rotiert und die Daten gehen futsch. Gut, das ist eine SQL Datenbank, da dürften solche Defekte schon eher auffallen, aber ich würde dennoch erstmal das überprüfen, sofern noch nicht geschehen.
Mister A. schrieb: > Technisch: würde nichts dagegen sprechen, auf dem RasPi o.ä., den > Webserver samt Datenbank zu installieren. Doch, der SD Speicher, der ist nicht für häufige Schreibzugriffe ausgelegt. Da müsste man schon eine USB SSD an den Raspi anschließen. Besser wäre aber ein NAS, auf dem man noch einen Webserver laufen lässt. Da kann man dann richtige Festplatten verwenden und hat zu gleich noch eine RAID >= 1 Sicherung.
Bonsi schrieb: > Hallo, > > kann ich das System auch offline mit einem Handscanner nutzen? (z.B. PI > + Scanner xyz) > > Grüße Ja kann man. Zumindest wenn der Scanner die gelesen Barcodes einfach als virtuelle Tastatur ausgibt. Dann wählt man das Suchfeld aus, scannt mit dem Scanner den Barcode und dann sollte er automatisch die entsprechende Bauteileseite aufrufen (zumindest wenn der Barcode Scanner auch automatisch ein Enter nach dem Barcode sendet). Nano schrieb: > Mister A. schrieb: >> Technisch: würde nichts dagegen sprechen, auf dem RasPi o.ä., den >> Webserver samt Datenbank zu installieren. > > Doch, der SD Speicher, der ist nicht für häufige Schreibzugriffe > ausgelegt. > Da müsste man schon eine USB SSD an den Raspi anschließen. Also bei mir läuft Part-DB inklusive MariaDB seit ca. 2 Jahren problemlos auf einem Odroid + SD Karte. Ich denke wenn man da nicht jeden Tag 10000 Schreibvorgänge durchführt dürfte das für die meisten Privatnutzer durchaus funktionieren. Er macht aber auch jede Nacht ein Backup der DB und sichert sie auf BitBucket, da wäre es auch nicht so tragisch wenn die SD Karte defekt wird...
Mister A. schrieb: > Browser: Wie es sich herausstellt, scheint es doch am Browser zu liegen > [Screenshots font-*]. Firefox verunstaltet die Schriftart (nur bei > Part-DB) als auch die Feldbreite [Screenshots feld-breite-*]. Opera > hingegegen verschiebt etwas die Anordnung/Layout, ändert nichts an der > Feldbreite. Naja, das Rätsel hätten wir gelöst. > > Platzverschwendung: [dragdrop-wastespace] gibt es nur beim Desktop. > Unter Android ist es angenehm als Durchsuchen-Button. Ich meine es würde > völlig reichen, das Feld nur für neue Attachments darzustellen. Bei den > vorhandenen (=Anlage ersetzen) finde ich es überflüssig. Da scheint irgendetwas gewaltig schief zu gehen... Was passiert wenn du mit den Browsern die Demo (http://part-db.bplaced.net/startup.php) aufrufst? Sieht es da normal aus oder auch so wie bei dir? Hast du mal probiert den Browser Cache zu löschen, wenn der Browser noch irgendwelche Styles aus der alten Version vorhält, dann könnte es möglicherweise zu diesen Symptomen kommen. Hast du mal testhalber Part-DB frisch in einen neuen Ordner installiert?
Mister A. schrieb: > Wenn in der Beschreibung (2. Zeile) ein Anführungszeichen/Gänsefüßchen > vorkommen, wird der Rest abgeschnitten. Sobald man Kategorie anklickt > oder es speichert. > > Anwendungsfall: Inch, z.B. 3.5" Display > > -> vorgesetztes Backslash schafft keine Abhilfe > -> Alternativ das Hochkomma ' (Shift+Raute) verwenden Seltsam... In der Demo scheint das Problemlos zu gehen: http://part-db.bplaced.net/show_part_info.php?pid=402 Hast du mal deinen Webserver, PHP und MySQL mal neugestartet? Ich hatte mal die Situation wo sich Part-DB absolut unerklärlich verhalten hat, bis ich PHP neu gestartet habe. Was für eine PHP Version benutzt du? Ich bin mir nicht hunderprozentig sicher ob die Abhängigkeiten in der auf GitHub verfügbaren vendor.zip auch mit PHP 5 kompatibel sind (wobei es dann eigentlich fehlermeldungen geben müsste) Was ich mir noch vorstellen könnte, was evtl. helfen könnte, wäre den vendor/ Ordner komplett zu leeren, und mit den Datein von GitHub zu überschreiben. Wärst du bereit mir einen Dump deiner Datenbank zu schicken? vielleicht finde ich etwas, was da nicht in Ordnung ist. Ich befürchte aber eher, das es an etwas anderem liegt, möglicherweise ist tatsächlich etwas an der Hardware defekt, wobei ich nicht weiß wie sich das auf Part-DB auswirken würde. Gruß Jan B.
Jan B. schrieb: > Seltsam... In der Demo scheint das Problemlos zu gehen: > http://part-db.bplaced.net/show_part_info.php?pid=402 ...jetzt nicht mehr, schau mal :) Auch hier die Schriftart in fett. > Hast du mal deinen Webserver, PHP und MySQL mal neugestartet? Ich hatte Jep, bin dabei die syslog/logs durchzukauen. > Was für eine PHP Version benutzt du? Ich bin mir nicht hunderprozentig > sicher ob die Abhängigkeiten in der auf GitHub verfügbaren vendor.zip > auch mit PHP 5 kompatibel sind (wobei es dann eigentlich fehlermeldungen > geben müsste) mratix@crocache:~$ php --version PHP 7.0.30-0+deb9u1 (cli) (built: Jun 14 2018 13:50:25) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies with Zend OPcache v7.0.30-0+deb9u1, Copyright (c) 1999-2017, by Zend Technologies > Was ich mir noch vorstellen könnte, was evtl. helfen könnte, wäre den > vendor/ Ordner komplett zu leeren, und mit den Datein von GitHub zu > überschreiben. seit der 3.x habe ich (bis einschl. 5.0.2) immer schrittweise upgedated. Stets bei der stable geblieben. Die 5.0.3 habe ich ganz frisch (aus der .tar.gz) entpackt, neue vendor.zip drüber, config.php übernommen, media folder zurückkopiert, chown -R www-data durchgezogen. Update 5.0.4 kam wieder aus der .tar.gz., vendor.zip, chown Die 6.0.x habe ich mit git clone geholt, config.php, symlink auf media der 5.0.x stable Oups, da war noch was... composer, den habe ich total vergessen der neuen 5.0.3/5.0.4 zu verpassen. Das einzige was ich seit Anfang mitschleppe ist die Datenbank und der media folder. > Wärst du bereit mir einen Dump deiner Datenbank zu schicken? vielleicht > finde ich etwas, was da nicht in Ordnung ist. klar, gerne, wenn du dafür Zeit hast. > Ich befürchte aber eher, das es an etwas anderem liegt, möglicherweise > ist tatsächlich etwas an der Hardware defekt, wobei ich nicht weiß wie > sich das auf Part-DB auswirken würde. Ich bereite eh schon einen Hardwarewechsel vor und denke bis WoEn es umzuziehen. Das NAS wäre sofort verfügbar, ist etwas vom Traffic überladen, möchte es nicht riskieren. Es wird wieder eine kleine eigenständige Appliance sein. So, nun muss ich bischen mit den Projekten weitermachen. Eagle und KiCad sind schon sauer, dass ich nur noch mit Part-DB herumspiele :)
Jan B. schrieb: > > Also bei mir läuft Part-DB inklusive MariaDB seit ca. 2 Jahren > problemlos auf einem Odroid + SD Karte. Ich denke wenn man da nicht > jeden Tag 10000 Schreibvorgänge durchführt dürfte das für die meisten > Privatnutzer durchaus funktionieren. Er macht aber auch jede Nacht ein > Backup der DB und sichert sie auf BitBucket, da wäre es auch nicht so > tragisch wenn die SD Karte defekt wird... Das Problem an SD karten ist, dass viele, nicht alle, kein Wear Leveling durchführen. D.h. da wird oft die gleiche Zelle beschrieben. Nach ungefähr 1000 Schreibzugriffen ist die Zelle dann hinüber und kann nur noch gelesen, aber nicht mehr beschrieben werden.
Nano schrieb: > Das Problem an SD karten ist, dass viele, nicht alle, kein Wear Leveling > durchführen. D.h. da wird oft die gleiche Zelle beschrieben. > Nach ungefähr 1000 Schreibzugriffen ist die Zelle dann hinüber und kann > nur noch gelesen, aber nicht mehr beschrieben werden. Danke, gut zu wissen. Erklärt einiges, warum günstige SD-Karten genau mit diesem Problem sterben. Ja, das mit SD-Karten und Datenbanken drauf ist schon ein wackeliger Punkt. Ich betreibe auch mein FHEM auf dem RasPi. Anfangs mit sqlite, später dann MySQL/MariaDB. Etwas mulmig ist mir schon dabei. Rein vorsorglich entlaste ich etwas die Karte in dem /var/lib und /var/log in der Ramdisk laufen. Läuft bisher ganz anständig (nur eine SD-Karte in 2 Jahren abgenutzt). Bei so etwas immer an das Backup denken, nicht hinausschieben. Eine andere Möglichkeit wäre, diese "kleinen Terminal PC's" aka LTSP zu verwenden. Etwas i.d.A. wie den FSI Futro. Er ist sehr klein, sparsam, lüfterlos und hat eine Flashdisk. Die Geräte gibt es von allen möglichen Herstellern. Seit dem M$ die Anforderungen für Windows immer weiter hochschraubt bekommt man solche ge-rollout-eten Dinger schon für 25-40€. Ich habe hier 3 Stk im Einsatz. Sie laufen seit bestimmt 3-4 Jahren schon 24/7 durch. Aber zurück zum Thema. Ich glaube @Bonsi möchte eher etwas kleines. Vielleicht so einen pimped Scanner? Möglicherweise gibt es noch kleinere "PC's" die man ggf. in den Scanner verbauen/anbauen könnte.
Bei den SD Karten gibt es SD Karten die extra für z.B. rund um die Uhr Videoüberwachungsaufnahmen gedacht sind. Diese sind dafür vorgesehen, sehr oft und häufig beschrieben zu werden. Bei SanDisk heißen die bspw. "High Endurance Video Monitoring Card". https://www.sandisk.com/home/memory-cards/microsd-cards/high-endurance-microsd So eine kann man verwenden, sofern sie der Raspi lesen kann, was ich noch testen wollte, laut Raspi 3 SD Card Compatibility List soll die aber gehen, weswegen ich die auch gekauft habe, aber für den Test fehlte mir bisher noch die Zeit. Der Preis ist etwas höher als normale SD Karten, aber wenn die dann wie versprochen länger durchhalten, dann ist mir das als Systemplatte für den Raspi 3 wert. Bezüglich der Lagerverwaltung werde ich die wahrscheinlich in einer Jail auf meinem FreeNAS Server laufen lassen. Den verwende ich auch für meine git Repos. Außerdem habe ich auf dem ZFS + ECC RAM und die Platten im RAID Verbund laufen und die Backups laufen zentralisiert ab. Das spart dann Arbeitsaufwand, anstatt für jeden Serverdienst dutzende kleine Rasperry Pis hinzustellen und die zu pflegen, mache ich dann alles über diesen. Meinen Raspberry Pi 3 habe ich zum Basteln, aber man kann ihn natürlich auch für Serversachen einsetzen.
Ich fand Part-DB gerade deshalb so gut, weil man es eben auch auf einem ext. Webserver/Hostingpaket laufen lassen kann, sofern, das Paket die entprechenenden Möglichenkeiten bietet. Und mir persönlich war es wichtig, auch von unterwegs an meinen Datenbestand zu kommen. Lokal habe ich keine Instanz in Benutzung.
Hi, ich habe mal ein paar eurer Featurewünsche (und meiner Ideen) auf GitHub gesammelt: https://github.com/Part-DB/Part-DB/wiki/TODO-List Wenn ihr Meinungen, Ideen dazu habt könnt ihr euch melden... Gruß Jan B.
Planst du eine Part List Plattform für tausende von Nutzern? Diese Features würden zumindest dafür sprechen: - Hochladbare Avatarbilder für Benutzer - Einbindung in Authsysteme wie LDAP oder OpenID (Dann login mit Gmail, Microsoft-Account, etc. möglich) - "Tip of the day" auf Startseite - API für Part-DB, um Mobilapps schreiben zu können Das hier: - Unterstützung von richtigen Bauteileparametern -> parametrische Suche würde bedeuten, dass man die ganze Daten in den Datasheets in jedes Bauteil einpflegt. Das ist ganz schön viel Arbeit, aber mit einer Plattform die tausende Nutzer hat, wäre das in der Tat denkbar. Die Probleme fangen dann an, wenn jeder gleiche Bauteile noch einmal anlegt und die Qualität der Einträge dann unterschiedlich ist. Ich frage nur aus Neugierde. Ich persönlich würde keines dieser Features benötigen, die parametische Suche wäre sinnvoll, aber nur dann wenn die Hersteller sich mal auf maschinell auslesbare Datasheets und Datasheets Standards einigen. Mit einer gepflegten Community Datasheet Sammlung und einem eigenen maschinell verarbeitbarem Datasheet Format wäre das aber durchaus interessant.
Nano schrieb: > Planst du eine Part List Plattform für tausende von Nutzern? Eigentlich nicht (zumindest momentan nicht, und dann müsste man schon noch einige weitere Konzepte einbauen), das waren Ideen die mir gekommen sind, das meiste hat eigentlich keine sonderlich hohe Priorität, da sind andere Dinge wichtiger. OpenID könnte vielleicht für Makerspaces o.Ä. nützlich sein, dann könnten die Benutzer ihre bekannten Konten benutzen. Und mit einer API könnte man Part-DB besser in andere Dinge integrieren, und langfristig vielleicht auch Front und Backend besser zu entkoppeln. Nano schrieb: > Das hier: > - Unterstützung von richtigen Bauteileparametern -> parametrische Suche > > würde bedeuten, dass man die ganze Daten in den Datasheets in jedes > Bauteil einpflegt. Es gibt Platformen wie Octopart, da kann man Bauteileinformationen automatisiert abfragen (z.B. hier https://octopart.com/bc547cbu-on+semiconductor-84324553?r=sp&s=cdt0Gj95RVisgemjZGVdfw). Darüber könnte man dann auch Bauteileparameter abfragen. Die Priorität einer vollständigen parametrischen Suche ist aber auch eher "nice to have"... Gruß Jan B.
Jan B. schrieb: > ich habe mal ein paar eurer Featurewünsche (und meiner Ideen) auf GitHub > gesammelt Wenn der Export/Import erweitert wird, könnten User (Community) ihre Bauteile untereinander tauschen/aktualisieren. Ich denke das würde so ziemlich -Jedem- jede Menge Arbeit abnehmen. Die Datasheets sind ja jetzt schon leicht über die Icons auffindbar. Und wenn wir das Rad noch weiter drehen... Shematics von Bauteilen oder sogar Projekte mit Bauteilen untereinander tauschen. Da könnte man auch ganz simpel mit urls arbeiten, die auf Projekte im Inet verweisen. Jedenfalls käme hierzu das avisierte Feature Tags gut zum Einsatz. In die >Verwaltung/Tools könnte man einen der vielen "Dioden/Transistor-Vergleichs-Ersatztabellen" aufnehmen. Notfalls durch Anlegen eingener Verknüpfungen (als Menüpunkt) auf externe Quellen zulassen.
Achja, noch ein kurzes Feedback zu meine vorherigen Problemen. Mein Werkstatt-InfoPC hat tatsächlichen einen Hardware/Software-Hau, vor allem mit dem Browser. Alle anderen Kisten "funktionieren" richtig, die Darstellung passt auch. Am zentralen Part-DB Hosting-Server habe ich nichts verändert, er läuft weiter, an dem scheint es nicht zu liegen. Wo ich allerdings einen Zusammenhang fand, alle betroffenen Bauteile waren aus irgendeinem Grund als Obsolet markiert. Diese verloren dann nachhinein die Einkaufskonditionen. Wie sich das Häkchen überall einschleichen bzw. festbeissen konnte, ist mir schleierhaft. Ich schiebe es mal auf den defekten Browser. Sorry für die Unruhe.
Jan B. schrieb: > Hi, > > ich habe mal ein paar eurer Featurewünsche (und meiner Ideen) auf GitHub > gesammelt: https://github.com/Part-DB/Part-DB/wiki/TODO-List > > Wenn ihr Meinungen, Ideen dazu habt könnt ihr euch melden... dazu dann lieber je Punkt einen "Issue" auf Github, oder alle in einen, oder lieber hier im Forum? > > Gruß > Jan B.
Mister A. schrieb: > Jan B. schrieb: >> ich habe mal ein paar eurer Featurewünsche (und meiner Ideen) auf GitHub >> gesammelt > > Wenn der Export/Import erweitert wird, könnten User (Community) ihre > Bauteile untereinander tauschen/aktualisieren. Ich denke das würde so > ziemlich -Jedem- jede Menge Arbeit abnehmen. Die Datasheets sind ja > jetzt schon leicht über die Icons auffindbar. Noch besser wäre ein zentraler Bauteileserver, der nicht nur die Datasheets speichert, sondern auch den Inhalt dazu in von Computern verarbeitbarer Form. Dann müsste man nicht mit dutzenden von Bauteillisten, die alle zueinander inkompatibel sind hantieren, sondern hätte eine zentrale Stelle von der man seine notwendigen Bauteile up- und downloaden kann.
Nano schrieb: > Noch besser wäre ein zentraler Bauteileserver, der nicht nur die > Datasheets speichert, sondern auch den Inhalt dazu in von Computern > verarbeitbarer Form. > > Dann müsste man nicht mit dutzenden von Bauteillisten, die alle > zueinander inkompatibel sind hantieren, sondern hätte eine zentrale > Stelle von der man seine notwendigen Bauteile up- und downloaden kann. Wie gesagt sowas gibt es schon: https://octopart.com/ Und die bieten auch eine API an, man könnte also die Werte von da, automatisiert in Part-DB einfließen lassen...
hi, ist das bekannt oder beabsichtigt das beim Hochladen von Dateien nicht der Datei Name übernommen wird und ein Name eingegeben werden muss? Die Max. Preis Eingabe von 9.999€ finde ich persönlich etwas niedrig. Habe den bei mir hoch gesetzt. Wird das bei einen Datenbank update wieder überschrieben ? (Tabelle pricedetails -> Spalte price -> Typ: decimal(9,5) Bekomme ich irgend, welche andere Probleme durch das hochsetzten?
McSchaf schrieb: > Wird das bei einen Datenbank update wieder überschrieben ? > (Tabelle pricedetails -> Spalte price -> Typ: decimal(9,5) > Bekomme ich irgend, welche andere Probleme durch das hochsetzten? Solange nichts an der konkreten Spalte geändert wird, dann sollte das kein Problem darstellen. Ich werde es aber in der nächsten Version für alle hochsetzen (ich denke mal 999.999,99999€, sollte ausreichen, oder?, das wäre dann 1 Byte pro Einkaufsinformation zusätzlich). McSchaf schrieb: > ist das bekannt oder beabsichtigt das beim Hochladen von Dateien nicht > der Datei Name übernommen wird und ein Name eingegeben werden muss? Es ist zumindest kein Bug (dann hätte es mal ohne seperaten Dateinamen funktionieren müssen), ich denke aber mal es sollte kein Problem sein, den Namen für das Attachement auf Grund des angegebenen Dateinamen abzuleiten. Gruß Jan B.
Jan B. schrieb: > Solange nichts an der konkreten Spalte geändert wird, dann sollte das > kein Problem darstellen. Ich werde es aber in der nächsten Version für > alle hochsetzen (ich denke mal 999.999,99999€, sollte ausreichen, oder?, > das wäre dann 1 Byte pro Einkaufsinformation zusätzlich). Bis jetzt ja ^^ Ich nutze Part-DB auch für Größere Produkte die Teuer sind. Danke. > Es ist zumindest kein Bug (dann hätte es mal ohne seperaten Dateinamen > funktionieren müssen), ich denke aber mal es sollte kein Problem sein, > den Namen für das Attachement auf Grund des angegebenen Dateinamen > abzuleiten. > > Gruß > Jan B. Bei der Version: 0.3.1 war es so, das ich nur die Datei ausgewählt habe und beim Hochladen wurde der Dateiname im Feld "Name" übernommen. Dann habe ich noch zwei andere dinge die mir aufgefallen sind, die du dir vielleicht anschauen kannst. Wenn ich bei Baugruppen eine PDF erzeuge, ist der "Ausdruck" abgeschnitten. Aber nur wenn ein Lager Text beim Name/Beschreibung gewählt wurde. Und die Tabelle für die Unterbaugruppen finde ich die Spalte "Name" sehr klein (Bild) . So das ein langer Text nach unten gedrückt wird. Platz für eine längere Zeile wäre ja da.
Was würdet ihr eigentlich davon halten, als Voraussetzung von Part-DB ein PHP 7.1 oder höher zu fordern (zumindest für ein Part-DB 0.6)? Sowohl PHP 5.6 als auch PHP 7.0 werden ab Ende des Jahres nicht mehr offiziell supportet (http://php.net/supported-versions.php), und Part-DB könnte so ein paar Features von PHP7 benutzen, wie strengere Typisierung. Außerdem setzen viel praktische PHP Bibliotheken, wie z.B. Doctrine PHP7.1 voraus, mit denen man dann auch Unterstützung für andere Datenbanktypen wie SQLite, PostgreSQL oder andere Dinge einbauen könnte, und auch den Prozess für das Updaten der Datenbank (der momentan etwas instabil ist) verbessern. Auch viele andere PHP Bibliotheken setzen PHP7 voraus... Daher die Frage, setzt jemand von euch noch PHP7 oder PHP5.6 (oder gar noch älter ein) und kann aus irgendeinem Grund nicht auf PHP7.1 oder höher umsteigen? Gruß Jan B.
Hallo Jan, auf meiner Syno läuft noch PHP 7.0.30-0027 (2018-08-29) Gruss Chris
Ich denke das PHP 7.2 heute Standard ist, bzw. sein sollte. Falls nicht, sollte man dem Portmaintainer mal fragen, wieso hier noch kein Update erfolgt ist. Hier sieht man schön, das PHP 7.1 zum 1.12.2018 aus dem Support fällt und dann nur noch Sicherheitsupdates kommen: http://php.net/supported-versions.php Am besten auf PHP 7.2 gehen.
Würde ich auch so sehen. Eine V0.5 könnte ja als ‚Legacy-Release‘ noch verfügbar bleiben, ggf. noch mit Bugfixes. Neues dann in >= 0.6...
Matthias F. schrieb: > Ich denke das PHP 7.2 heute Standard ist, bzw. sein sollte. > Falls nicht, sollte man dem Portmaintainer mal fragen, wieso hier noch > kein Update erfolgt ist. Wobei PHP7.2, keinerlei neues Feature bietet, was ich jetzt brauchen (das einzige interessante wäre die Möglichkeit mehrere Klassen eines Namespaces auf ein Mal zu Importieren, aber die generiert mir sowieso die IDE). Und solange Part-DB keinerlei Feature braucht die PHP7.1 nicht hat, und auch keine Bibliothek 7.2 benötigt, sehe ich keinen Grund PHP7.2 als Vorraussetzung zu fordern. Man kann es ja trotzdem problemlos auf 7.2 laufen lassen. Gruß Jan B.
Chris K. schrieb: > auf meiner Syno läuft noch PHP 7.0.30-0027 (2018-08-29) Ich hoffe ja Mal das Synology da spätestens zum Ende des Jahres eine aktualisierte Version rausbringt (ab da gibt es keine Sicherheitspatches mehr). Ansonsten gibt es da bestimmt andere Möglichkeiten eine neuere PHP Version drauf zu bekommen... Es wird vermutlich eh eine ganze Weile dauern, bis die Entwicklungsversion von Part-DB einen großen Feature-Vorsprung zu Part-DB 0.5 hat, und bis dahin gibt es denn dann hoffentlich ein Update für dein PHP.
Hallo alle zusammen, ich habe mal eine kleine Umfrage über die Verwendung von Part-DB erstellt: https://docs.google.com/forms/d/e/1FAIpQLSfPn9Fu9Z-h4qftdzzpIhvNUnjH-99SzCrgfraruNNJn_J15Q/viewform?usp=sf_link Die Umfrage ist anonym und alle Fragen sind freiwillig, möchtet ihr also auf eine Frage nicht antworten, müsst ihr keine Angabe treffen. Auf der zweiten Seite wird auch abgefragt, welche PHP Version ihr verwendet, und ob es Gründe gibt, die euch ein Upgrade auf PHP7.1+ verhindern. Wenn eine hinreichende Zahl teilgenommen hat, werde ich die Ergebnisse hier veröffentlichen. Würde mich freuen wenn ihr teilnehmt. Gruß Jan B.
Ich habe mir das heute auch mal installiert und Einiges eingetragen..die Navigation ist teilweise gewöhnungsbedürftig..aber ich werde mich schon dran gewöhnen. Vielen Dank einstweilen! Ich würde mir PostgreSQL als Backend wünschen. Gruß, Holm
Jan B. schrieb: > Was würdet ihr eigentlich davon halten, als Voraussetzung von Part-DB > ein PHP 7.1 oder höher zu fordern (zumindest für ein Part-DB 0.6)? > Sowohl PHP 5.6 als auch PHP 7.0 werden ab Ende des Jahres nicht mehr > offiziell supportet (http://php.net/supported-versions.php), und Part-DB > könnte so ein paar Features von PHP7 benutzen, wie strengere > Typisierung. Das halte ich für eine ausgezeichnete Idee. Der Support von PHP 5.6 läuft sowieso aus, wozu sich also einschränken? Außerdem hat PHP 7 ein paar Optimierungen erfahren, so dass es in einigen Belangen performanter ist als PHP 5.6 und dann ist wären da noch ein paar Aufräumarbeiten die die neue Version dann ohnehin inkompatibel zur alten Version 5.6 machen. Die wenigsten dürften irgend ein uraltes Redhat oder CentOS einsetzten und Debian stable bietet seit Strecht PHP Version 7.0. Wer oldstable nutzt, findet sicher eine aktuelle Version in den Backports. Also nur zu. > Daher die Frage, setzt jemand von euch noch PHP7 oder PHP5.6 (oder gar > noch älter ein) und kann aus irgendeinem Grund nicht auf PHP7.1 oder > höher umsteigen? Debian Stable verwendet PHP 7.0.19, daran würde ich dir auch empfehlen dich zu orientieren, da Debian Stable auch auf einer Vielzahl an Servern eingesetzt wird bei denen man Webspace + PHP 7 bekommt. PHP 7.1 ist also noch zu früh. Das kannst du machen, wenn Debian Testing Buster zu Stable wurde. Das dürfte voraussichtlich irgendwann Mitte oder Ende des Jahres 2019 geschehen.
Matthias F. schrieb: > Ich denke das PHP 7.2 heute Standard ist, bzw. sein sollte. Ist es nicht. Das Maß der Dinge bei günstigen Webserverangeboten ist das, was in Debian Stable dabei ist, daran sollte man sich orientieren. Damit wären wir bei PHP 7.0.19. Damit dürfte die Codebasis auch auf einer Synology laufen. > > Hier sieht man schön, das PHP 7.1 zum 1.12.2018 aus dem Support fällt > und dann nur noch Sicherheitsupdates kommen: > http://php.net/supported-versions.php Sicherheitsupdates reichen. Außerdem haben die Distributionen oftmals noch eigene Supportzeiten. Die Pakete von Debian Stable stretch wird bspw. bis 2020 bzw. 2022 unterstützt. Falls die Manpower nicht ausreicht, dürfte das Paket auf eine neuere Version angehoben werden, dann kann man immer noch für eine neue Version coden.
Jan B. schrieb: > > Und solange Part-DB keinerlei Feature braucht die PHP7.1 nicht hat, und > auch keine Bibliothek 7.2 benötigt, sehe ich keinen Grund PHP7.2 als > Vorraussetzung zu fordern. So sehe ich das auch. In der Entwicklung sollte man sich beim Coden eher daran orientieren was man braucht und was der untere gemeinsame Nenner wäre. Immer das neuste zu verlangen ist keine gute Idee und bringt nichts, da es die meisten Distributionen eh nicht bieten und im Serverbereich ist Debian Stable wichtig und bei den günstigen Hostern sowieso Standard.
Jan B. schrieb: > Chris K. schrieb: >> auf meiner Syno läuft noch PHP 7.0.30-0027 (2018-08-29) > > Ich hoffe ja Mal das Synology da spätestens zum Ende des Jahres eine > aktualisierte Version rausbringt (ab da gibt es keine Sicherheitspatches > mehr). Das läuft genauso wie bei den Distributionen, die werden selbst Sicherheitsupdates liefern, wenn der Aufwand dafür nicht all zu hoch ist. Notfalls muss eben auf eine neue Version umgestellt werden. Schlechte Firmen könnten das auch einfach ignorieren, von Synology habe ich bisher aber nur gutes gehört, weswegen ich mal davon ausgehe, dass die sich darum kümmern werden.
Ich habe jetzt mal nachgesehen wie es bei Debian old Stable (Jessie) aussieht, das scheint in den Backports kein PHP 7 zu haben. Das ist wichtig zu wissen, denn es bedeutet, dass Debian stable (stretch) bei PHP 7.0.19 bleiben wird. Rasbian, das OS für den Raspberry Pi basiert übrigens auch auf Debian stable. Wer also Part-DB auf einem Raspberry Pi einsetzetn will, der wird hier auch froh sein, wenn Part-DB nichts neueres als PHP 7.0.19 voraussetzt, Der Vollständigkeit halber habe ich auch mal nachgesehen, wo Ubuntu 16.04 LTS steht. Diese Distribution ist vereinzelt ebenfalls bei einigen Hostern beliebt und auch wenn es schon 18.04 LTS gibt, dauert der Umstieg auf eine neuere LTS Version im Serverbereich doch länger. Ubuntu 16.04 LTS (xenial) ist bei PHP 7.0.4. Insofern wäre es vielleicht am besten, wenn man sich an PHP 7.0.4 orientiert. Damit hätte man schon eine PHP 7 Sprachversion und könnte die Sprachfeatures von PHP 7 nutzen ohne aber zu viel Support bei Debian Stable, Ubuntu LTS, Rasbian, Synology usw. zu verlieren.
Nano schrieb: > Das Maß der Dinge bei günstigen Webserverangeboten ist das, was in > Debian Stable dabei ist, daran sollte man sich orientieren. > Damit wären wir bei PHP 7.0.19. Das Problem ist, dass die Vorteile von PHP7 nämlich eine konsequente Typisierung, erst wirklich vollständig in Part-DB umgesetzt werden können, wenn Nullable Type Hints gibt (und void für Funktionen ohne Rückgabewert), die gibt es aber erst mit PHP7.1... Ich vermute, dass das auch der Grund ist wieso Symfony und Doctrine, auch mindestens PHP7.1 fordern. Und zumindest die Database Abstraction Layer Bibliothek von Doctrine wäre für Part-DB ganz schön... Ich habe jetzt mal ganz kurz, verschiedene Hosterangebote überflogen, und die bieten alle mindesten PHP7.1 an (und viele schalten PHP7.0 sogar bald ab). Selbst Bplaced, der gratis Hoster, wo die Part-DB Demo liegt, bietet PHP7.2 an. Das mit Debian ist in der Tat ein Problem, aber zumindest für die Homeanwender gibt es auch PHP7.2 Pakete aus den nicht Standard Quellen (die müsst man sogar parallel, zu PHP7.0 installieren können, so dass nur Part-DB die neue PHP Version benutzt). Um es zusammenzufassen: PHP7.2 zu fordern, wäre unnötig, aber wenn man dass mit der Typisierung durchzieht (was langfristig sehr gut wäre), dann braucht man PHP7.1. Mit PHP7.0 kann man leider noch nicht so viel anfangen. Gruß Jan B.
Jan B. schrieb: > Nano schrieb: >> Das Maß der Dinge bei günstigen Webserverangeboten ist das, was in >> Debian Stable dabei ist, daran sollte man sich orientieren. >> Damit wären wir bei PHP 7.0.19. > > Das Problem ist, dass die Vorteile von PHP7 nämlich eine konsequente > Typisierung, erst wirklich vollständig in Part-DB umgesetzt werden > können, wenn Nullable Type Hints gibt (und void für Funktionen ohne > Rückgabewert), die gibt es aber erst mit PHP7.1... Okay, deine Argumentation klingt überzeugend, wenn es nicht anders geht, dann führt an PHP 7.1 wohl kein Weg vorbei. Ich hoffe dann halt nur, dass es mit Debian Buster nicht all zu lange dauert bis diese stable wird. Diese würde PHP 7.2 bieten. Denn davon wird auch Rasbian abhängig sein und das natürlich unter der Annahme, dass man für den Raspberry Pi ein aktualisiertes Rasbian basierend auf Buster bekommen wird. Bis Buster dürfte es wie schon gesagt bis Mitte oder Ende 2019 dauern. Ich persönlich kann durchaus die paar Monate warten, ich weiß halt nicht, wie das bei den anderen ist, aber wenn die Hoster PHP 7.1 bieten, dann wird man da sicher Lösungen finden können. > Das mit Debian ist in der Tat ein Problem, aber zumindest für die > Homeanwender gibt es auch PHP7.2 Pakete aus den nicht Standard Quellen Die nicht Standardquellen sind völlig inoffiziell, das sind nicht einmal Pakete aus den Debian Backports. Vom Sicherheitsrisiko würde ich solche Quellen als "hoch" einstufen, da kann man sich alles mögliche einfangen. Empfehlen würde ich das keinem. Und von php.net scheint es auch nichts offizielles von PHP Seite für Debian stable zu geben, außer eben die tar.gz Dateien. Insofern ist wohl für Debian Stable Nutzer entweder auf Buster zu warten oder das Zeugs manuell von php.net zu installieren, die beste Variante. Letzteres ist halt immer ein großer Aufwand, da man auch den Aufwand für die Sicherheitsupdates alle selber machen muss. Eine weitere Möglichkeit wäre ansonsten noch, sich für eine Aufnahme von PHP 7.1 oder 7.2 in die Debian backports zu bemühen. Die Pakete liegen in Testing und Unstable ja vor, eine Gewisse Arbeit wäre dann schon gemacht.
Jan B. schrieb: > Das mit Debian ist in der Tat ein Problem, aber zumindest für die > Homeanwender gibt es auch PHP7.2 Pakete aus den nicht Standard Quellen > (die müsst man sogar parallel, zu PHP7.0 installieren können, so dass > nur Part-DB die neue PHP Version benutzt). Exakt; "alle Welt" benutzt sury.org, und ein Debian9 auf PHP7.1/2 umzustellen stellt einen "4zeiler" dar, und ist im Normalfall in 2 Minuten erledigt. Wobei "Normalfall" natürlich heisst "nicht verbastelt"... ;-)
1 | wget -q -O- https://packages.sury.org/php/apt.gpg | apt-key add - |
2 | echo "deb https://packages.sury.org/php/ stretch main" | tee /etc/apt/sources.list.d/php.list |
3 | apt-get update |
4 | apt install php7.2 php7.2-cli php7.2-common php7.2-curl php7.2-gd php7.2-json php7.2-mbstring \ |
5 | php7.2-mysql php7.2-opcache php7.2-readline php7.2-xml libapache2-mod-php7.2 |
Jan L. schrieb: > Exakt; "alle Welt" benutzt sury.org, Wäre ich ein Geheimdienst, dann würde ich genau auf so eine Weise meine Trojaner in die Server einschleusen. Der Typ sagt zwar, dass er ein Debian Developer wäre und schon seit Jahren die PHP Pakete in Debian maintained, aber da kommen gleich Fragen auf: 1. Es steht auf der Seite bspw. > "Who am I? > > I am a Debian Developer since year 2000, and I have been packaging PHP for > Debian since PHP 5." Okay, aber nun könnte man Fragen "Wie ist dein Name?" Man beachte, der Name wird nirgends genannt, da steht nirgends "My name is....". In offiziellen Debian Paketen ist aber immer ein Maintainer angegeben. Hier fehlt diese Info, jetzt mal unabhängig davon, was eine whois Abfrage ergeben könnte. 2. Warum bemüht er sich nicht darum, diese PHP Pakete in die Debian Backports einzupflegen, das wäre der richtige Ort dafür? Und da wären wir beim Satz meines Eingangspostings. In den Debian Backports gibt es durchaus noch das Mehraugenprinzip und es wird durchaus noch hin geschaut, was da reinkommt. Hier scheint diese Kontrollinstanz zu fehlen, da kann man durchaus vieles andere in seine Pakete einbauen was man will. Man muss nur das Vertrauen der potentiellen Opfer gewinnen. Und wie macht man das? In dem man noch offiziell bei Debian Maintainer ist. Das glaube ich jetzt mal, aber wenn er das macht, dann könnte er auch seinen Namen angeben, siehe Punkt 1. Aber es muss natürlich jeder wissen was er auf seine Server installiert und jeder stellt hier natürlich andere Anforderungen an die Sicherheit.
Nano schrieb: > Der Typ sagt zwar, dass er ein Debian Developer wäre und schon seit > Jahren die PHP Pakete in Debian maintained, aber da kommen gleich Fragen > auf: Also zumindest die offizielle Debian Seite führt ihn als einen von 2 Maintainern von PHP Packeten (https://packages.debian.org/de/buster/php7.3 unter Betreuern), und er hat auch eine Seite auf der Debian Website: https://qa.debian.org/developer.php?login=ondrej%40debian.org ) Nano schrieb: > 2. Warum bemüht er sich nicht darum, diese PHP Pakete in die Debian > Backports einzupflegen, das wäre der richtige Ort dafür? Das scheint seiner Ansicht nach nicht zu gehen, da es a) keine neuen Major Releases in Backports geben darf (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=893700), und b) einen große Zahl an Backports weiterer abhängiger Pakete nach sich ziehen würde (https://lists.debian.org/debian-backports/2018/10/msg00017.html) Von daher würde ich sein Repo als relativ vertrauenswürdig einschätzen. Und ansonsten kann man sich ja PHP7.1+ immer noch selber kompilieren... Gruß Jan B.
Nano schrieb: > Wäre ich ein Geheimdienst, dann würde ich genau auf so eine Weise meine > Trojaner in die Server einschleusen. geht's hier um "benötige neueres PHP für meine private Hoster-Site", oder um Rahmenbedingungen für "mission critical" Server meines Gewerbes? Letztere wären vermutlich sowieso etwas "anders orientiert". Aluhüte bitte absetzen... :)
Jan B. schrieb: > Also zumindest die offizielle Debian Seite führt ihn als einen von 2 > Maintainern von PHP Packeten > (https://packages.debian.org/de/buster/php7.3 unter Betreuern), und er > hat auch eine Seite auf der Debian Website: > https://qa.debian.org/developer.php?login=ondrej%40debian.org ) Okay, ist aber der Debian Mann auch wirklich der gleiche, der diese Seite betreibt? Würde er seinen Namen auf der Webseite angeben und er wäre nicht dieser Debian Mann, dann könnte der Debian Mann den Seitenbetreiber verklagen. Lässt der Seitenbetreiber einen Namen weg, dann dürfen die Debianleute herumrätseln wer das ist und Klagen sind nicht möglich weil die Angriffsfläche fehlt. Ein Motiv und ein Vorteil den Namen auf der Webseite wegzulassen ist also da. > Nano schrieb: >> 2. Warum bemüht er sich nicht darum, diese PHP Pakete in die Debian >> Backports einzupflegen, das wäre der richtige Ort dafür? > > Das scheint seiner Ansicht nach nicht zu gehen, da es a) keine neuen > Major Releases in Backports geben darf Die Aussage ist für die Backports falsch, denn genau dafür wurden die Backports geschaffen. Von KiCad gibt es in den Backports von Stretch die Major Version 5.x, während in Debian main noch 4.x ist. Was bei den Backports lediglich wichtig ist, ist dass die Version von Testing kommen muss. Gibt's was Neueres als in Testing, dann muss das erst nach Sid, dann nach Testing und erst dann darf es in die Backports. Siehe der Punkt in der FAQ ganz unten: https://backports.debian.org/FAQ/ > und b) einen > große Zahl an Backports weiterer abhängiger Pakete nach sich ziehen > würde (https://lists.debian.org/debian-backports/2018/10/msg00017.html) Das ist einer der Gründe, warum ein Paketversion erst in Testing muss, ehe es in die Backports dürfte. Dort wird nämlich auch der Abhängigkeitenstrang mitgepflegt. Ansonsten gibt's keine Verpflichtung, die ganzen Abhängigkeiten in den Backports wirklich zu liefern. Es ist eine "as-is basis" Philosophie. Siehe dazu unter "about backports": https://backports.debian.org/Instructions/ Im Grunde würde es vom Aufwand betrachtet keinen großen Unterschied machen, ob das jetzt ein PPA ist oder das ganze in den Backports realisiert wird. Er könnte das also problemlos in den Backports realisieren. > Und ansonsten kann man sich ja PHP7.1+ immer noch selber kompilieren... Was zu empfehlen ist.
Jan L. schrieb: > Nano schrieb: >> Wäre ich ein Geheimdienst, dann würde ich genau auf so eine Weise meine >> Trojaner in die Server einschleusen. > > geht's hier um "benötige neueres PHP für meine private Hoster-Site", > oder um Rahmenbedingungen für "mission critical" Server meines Gewerbes? > Letztere wären vermutlich sowieso etwas "anders orientiert". > > Aluhüte bitte absetzen... :) Im Internet haftest du immer für deinen Server, den Aluhut sollte man also immer auf haben, der gehört zur Sicherheitskleidung dazu. Ansonsten kann das schnell mal > 20000 € kosten, wenn dein Server, für den du verantwortlich bist, Amok läuft und bspw. einen DOS auf bspw. einen anderen Firmenserver fährt. Klagen und Gerichtsverfahren dieser Art gab's schon einige. Da ein Hobbyuser seinen Server ohnehin nicht 24h maintainen kann, nimmt er, wenn er klug ist, einen managed Server bzw. einfach nur Webspace, bei dem der Hoster sich um die Pflege der Systemsoftware, einschließlich der PHP Version kümmert. Damit wird dann wenigstens das Risiko lediglich auf den Content und die Software, die auf dem Webserver läuft, reduziert. Als Unternehmen kann man auch eine GmbH gründen und so die Haftungsrisiken vom Privateigentum trennen und auslagern. Als Hobbyuser hat man diese Möglichkeit nicht.
Hi alle zusammen, es gibt mal wieder ein neues Part-DB Release (0.5.5). Es kann wie immer auf GitHub gefunden werden: https://github.com/Part-DB/Part-DB/releases/tag/v0.5.5 Man kann nun Preise bis 999.999,99999€ haben (vorher nur 9.999,99999€), und es ist jetzt möglich für jedes Bauteil einzeln einen Link auf die Herstellerwebsite anzugeben, anstatt vorher nur über einen automatischen Link generiert aus der Herstellerangabe. Das gleiche funktioniert jetzt auch für Bestellseiten (beides war schon lange in der Datenbank vorgesehen, ich habe jetzt nur noch die passenden Felder hinzugefügt). Ansonsten sind noch ein paar Bugs gefixt worden. Detailiertes Changelog gibt es hier: https://github.com/Part-DB/Part-DB/blob/master/readme/changelog.md Gruß Jan B.
Ich habe 'mal eine ganz doofe Frage: Welche Option muss ich setzen, wenn überall in den Lagerorten unter der Labelgenerierung der Button fehlt um neue Bauteile anzulegen? Lagerorte, Lieferanten, Hersteller usw. kann ich anlegen, und auch ein Bauteil importieren, aber halt keines manuell anlegen. Weder als Admin noch mit normalen user-Rechten.
Johannes F. schrieb: > Ich habe 'mal eine ganz doofe Frage: Welche Option muss ich setzen, wenn > überall in den Lagerorten unter der Labelgenerierung der Button fehlt um > neue Bauteile anzulegen? Bisher ist kann man Bauteile nur aus einem Kategorien Menü anlegen. Aus einem Lagerort geht das bisher noch nicht. Wenn ich die Tage mal Zeit habe, baue ich dass aber mal ein, damit das einheitlich ist. Gruß Jan B.
Wie war das mit dem Wald und den Bäumen ... :D Das sieht gut aus, auch wenn es nett wäre im Lager auch zu können, aber "brennt" nicht.
Hi! Ich bin ein neuer Nutzer von partdb (0.6.0-dev, PHP 7.1.23) und muss mich erst noch ein wenig einarbeiten :) Danke jedenfalls für die Arbeit, die da in dem Projekt schon drinnen steckt. Teilweise wurden mir manche Workflows erst mit dem Lesen der topics auf microcontroller.net klar, aber hier gehen solch Infos dann doch ganz leicht unter. Ich hoffe, dass ich da nicht zu viele Fragen dupliziere. Wirkliche Issues habe ich bereits bei github eingetragen, aber ein paar Fragen werden sicherlich noch auftauchen. So zb: 0. Wie werden die Branches in Github verwendet? stable 0.5: "This branch is 55 commits ahead, 34 commits behind master." Beinhaltet der master (0.6.0-dev) also nicht alle commits vom stable? Ganz schlau werde ich aus der git History nicht. Habe das zuvor nicht beachtet und einfach den master auf dem Server installiert. Vielleicht wäre gitflow eine Möglichkeit dies zu strukturieren: https://datasift.github.io/gitflow/IntroducingGitFlow.html 1. Gibt es eine Möglichkeit sich alle Lagerorte anzeigen zu lassen, wo keine Bauteile zugewiesen sind? Szenario: Ich habe 300 einzelne Boxen in einem Kleinteilesortiment und möchte die leeren Positionen mit Bauteile befüllen. 2. Umgekehrt dazu: Wäre es nicht auch sinnvoll Lagerorte optional nur für zb. ein Bauteil zuzulassen? ad 1.: Somit wären ohnehin nur mehr wirklich leere Positionen in der Liste (bei Bauteil bearbeiten) auszuwählen. 3. Welche Auswirkung hat das Flag "voll" bei einem Lagerort? Ich kann mit der Markierung immer noch neue Bauteile einsortieren. 4. Die Auflistung unter Lagerorte: Ein Link zum Bearbeiten sowie die Anzeige des aktuellen Status (voll ja/nein) wäre hilfreich, ohne zuerst auf Verwaltung - Bearbeiten - Baugruppen gehen zu müssen. 5. Wie legt ihr neue Bauteile an? Ich kann zuvor in eine Kategorie klicken (Neues Teil in der Kategorie), nicht jedoch aus der Liste des Lagerorts raus oder ein globales "Bauteil hinzufügen", also mit leeren Feldern, finde ich auch nicht. 6. Ich habe bei der Installation die Anweisung laut Github-Wiki befolgt. Da ich keine Möglichkeit habe den Owner der Datein am Server (gehostet) zu ändern, habe ich zusätzlich "data" auf 775(d) bzw. 664(f) gesetzt. Darüber hinaus musste ich aber gleiches auch bei templates_c machen, da ich sonst zB.die Benutzergruppen nicht bearbeiten konnte:
1 | unable to write file /data/web/FTPUSER/html/partdb/templates_c/wrt5c0e71e97df487_41549775 |
Vielleicht kann man das im Wiki ergänzen?
:
Bearbeitet durch User
Hi alle zusammen, es gibt gibt jetzt eine Part-DB 0.5.6 Version (https://github.com/Part-DB/Part-DB/releases/tag/v0.5.6), wo ich ein paar Bugs behoben habe. Weiterhin kann man jetzt neue Bauteile auch aus den Hersteller, Footprint und Lagerort Listen anlegen, und es gibt einen entsprechenden Punkt unter Verwaltung->Bearbeiten, um auf den Anlegen Dialog springen zu können. Weiterhin vielleicht ganz interessant, ich habe mal die Bilder von Part-DB durch OptiPNG laufen lassen, wodurch wir insgesamt einige MB an Speicherplatz einsparen (und auch Webtraffic), ohne Qualitätsverlust der Bilder. Ein vollständiges Changelog findet sich wie immer hier: https://github.com/Part-DB/Part-DB/blob/master/readme/changelog.md Gruß Jan B.
Christoph F. schrieb: > 0. Wie werden die Branches in Github verwendet? stable 0.5: "This branch > is 55 commits ahead, 34 commits behind master." Beinhaltet der master > (0.6.0-dev) also nicht alle commits vom stable? Ganz schlau werde ich > aus der git History nicht. Habe das zuvor nicht beachtet und einfach den > master auf dem Server installiert. Vielleicht wäre gitflow eine > Möglichkeit dies zu strukturieren: > https://datasift.github.io/gitflow/IntroducingGitFlow.html Ich benutze bereits GitFlow, da aber die ganzen Entwicklungszweige auf einem anderen Commit aufbauen als die stable-Branches, und ich meist nur einzelne Commits in die stable-Branches übertragen möchte, mache ich das meist per git cherry-pick: Dabei wird der Patch des zu übertragenden Commits, auf den aktuellen Zweig angewendet, und ein neuer Commit erstellt, das hat aber zur Folge, dass GitHub nicht weiß, dass die Änderungen eigentlich auch in dem master-Branch existieren, und daher kommt es zu dieser Meldung (das hat aber keine wirkliche relevanz). Der master Branch ist der Hauptzweig, der alles enthält und bestimmte Funktionen oder Bugfixes werden dann per cherry-pick in den stable-Branch übertragen. Daher der master-Zweig enthält alle Funktionen des stable Branches (außer natürlich die Versionsnummeränderungen), umgekehrt gilt dies aber nicht. Christoph F. schrieb: > 2. Umgekehrt dazu: Wäre es nicht auch sinnvoll Lagerorte optional nur > für zb. ein Bauteil zuzulassen? ad 1.: Somit wären ohnehin nur mehr > wirklich leere Positionen in der Liste (bei Bauteil bearbeiten) > auszuwählen. > > 3. Welche Auswirkung hat das Flag "voll" bei einem Lagerort? Ich kann > mit der Markierung immer noch neue Bauteile einsortieren. > > 4. Die Auflistung unter Lagerorte: Ein Link zum Bearbeiten sowie die > Anzeige des aktuellen Status (voll ja/nein) wäre hilfreich, ohne zuerst > auf Verwaltung - Bearbeiten - Baugruppen gehen zu müssen. Soweit ich weiß hat dieser Vollstatus, bisher noch keine auswirkungen... Ich plane für die nächste große Datenbank-Struktur umbau (um mehrere Footprints, Lagerorte, etc. für ein Bauteil zu ermöglichen), auch die Möglichkeit eine Höchstzahl an Bauteilen angeben zu können, die dort gelagert werden können (vielleicht auch ein Gewicht), dann kann man auch mal dieses Voll-Attribut implementieren (Wobei ich leider nicht weiß, was die genaue Intention der ursprünglichen Autoren es war, das Attribut einzubauen). Christoph F. schrieb: > 5. Wie legt ihr neue Bauteile an? Ich kann zuvor in eine Kategorie > klicken (Neues Teil in der Kategorie), nicht jedoch aus der Liste des > Lagerorts raus oder ein globales "Bauteil hinzufügen", also mit leeren > Feldern, finde ich auch nicht. Gibt es jetzt in der aktuellen Version
Hi, Mir ist eben ein Bug aufgefallen der wohl auch im 0.5.6 Branch vorhanden ist. Ich selbst nutze aktuell noch 0.4.5(0.5.0 RC1). Wenn ich nach der ID Suche (Typischerweise Barcode) werde ich direkt auf die Detailansicht geleitet. Browser URL Bleibt ( https://partdb/show_search_parts.php?search_name=true&search_category=true&search_description=true&search_storelocation=true&search_comment=true&search_supplierpartnr=true&keyword=000284 ) Möchte ich dort nun Teile hinzufügen oder entnehmen passiert nichts. Rufe ich die Detailansicht ( https://partdb/show_part_info.php?pid=284 ) für das Bauteil direkt auf kann ich gewohnt Bauteile hinzufügen und entfernen. Aktuell nutze ich wie oben geschrieben noch eine ältere Version. Da ich jedes mal 2-3 Kleine Änderungen vornehme. - Anzeige der Bauteil ID in der Config - Eingabe einer 6 stelligen ID in show_search_part.php, da ich meine Barcodes damals alle 6 Stellig ausgelegt habe - umbenennen des icons Ordner in icon, da die Apache Default Config ein Alias auf den icons Order beinhaltet welcher dafür sorgt dass der /icons Ordner nicht gefunden wird. Gruß Kai
Hallo zusammen, bei der Suche nach einer Bauteileverwaltung, die für mich vor allem auch Etiketten für ein Kleinteile-Magazin drucken können muss, bin ich hier gelandet. Mit der Online-Version habe ich mir die besagten Etiketten erstellen und über PDF-Download ausdrucken können und die sind bis auf Kleinigkeiten so, wie ich sie benötige - also wird das mit etwas Feinschliff funktionieren. Mit den Funktionen und der Bedienbarkeit wird - dem ersten Eindruck nach - das Programm mein Freund werden! Wäre also alles gut - ABER: Wo kann ich EINFACH erklärt nachlesen oder wer kann mir eine einfache Anleitung geben, wie ich das aktuelle Part-DB incl. nötigem Zubehör auf meinen Rechner bekomme? Dazu kann ich zwei Möglichkeiten anbieten: 1) auf einem Windows 7 Rechner 2) auf einem Eigenbau NAS-Laufwerk, auf dem läuft OMV auf einem ASRock J4205-ITX Board von hier: https://www.technikaffe.de/anleitung-404-nas_basic_3.0_mit_passiv_gekuehltem_apollo_lake_4_kern_prozessor Darauf läuft wohl schon PHP. mySql habe ich dort über die "Extras" zumindest installiert. Da ich von Linux Null Ahnung habe, tue ich mich bei beiden Möglichkeiten sehr schwer - bis geht nicht. Ich möchte auch nichts laufendes "zerschießen" Alle Erläuterungen verlieren sich meist in (für mich) derart kryptischen Details, dass sich mehr Fragen als Antworten ergeben. Es darf doch nicht sein, dass der Einsatz von Part-DB nur einigen "Experten" vorbehalten bleibt und dass sich "normale" User abwenden, weil das Aufspielen mangels detaillierter Anleitung "für Dummies" nicht klappt. Grüße aus dem Ruhrpott Klaus
Mir kam eine einfache Idee wie man externe Authentifizierung (LDAP, Kerberos usw.) umsetzen könnte: Auf die Umgebungsvariable vom Apache des Users zugreifen und Apache die Authentifizierung übernehmen lassen. Ist der Login etwas unhübscher, aber dafür bekommt man relativ bequem die Möglichkeit gegen "fast alles" zu authentifizieren. (Ich fände LDAP/Kerberos z.B. schön für SSO gegenüber meiner freeipa-Instanz wo ich versuche Zentral alles an Auth unterzubringen).
Klaus W. schrieb: > 1) auf einem Windows 7 Rechner Also wenn du es nur auf dem Rechner selber benutzen willst (oder vielleicht innerhalb deines sicheren Netzwerkes), kannst du XAMPP benutzen (https://www.apachefriends.org/de/index.html). Da ist PHP und ein MySQL server enthalten, den du über eine grafische Oberfläche starten und stoppen kannst (und das ganze läuft sogar portabel). Du musst dann prinzipiell nur noch die Dateien von Part-DB entpacken (d.h. die Datei aus dem "Source Code (zip)" und die vendor.zip von hier (https://github.com/Part-DB/Part-DB/releases/tag/v0.5.6) in den htdocs Ordner entpacken. Nach dem Start von Apache über das XAMPP control panel kann man im Browser unter localhost/phpMyAdmin eine Datenbank anlegen. Dann hat man eigentlich alles erledigt, und man kann Part-DB aufrufen... Prinzipiell läuft das auf der NAS genauso... Wenn ich die Tage mal zeit habe, dann mache ich vielleicht mal ein Video, wie man Part-DB auf Windows installiert, ich kann aber nix versprechen. Gruß Jan B.
Johannes F. schrieb: > Mir kam eine einfache Idee wie man externe Authentifizierung (LDAP, > Kerberos usw.) umsetzen könnte: Auf die Umgebungsvariable vom Apache des > Users zugreifen und Apache die Authentifizierung übernehmen lassen. > > Ist der Login etwas unhübscher, aber dafür bekommt man relativ bequem > die Möglichkeit gegen "fast alles" zu authentifizieren. > (Ich fände LDAP/Kerberos z.B. schön für SSO gegenüber meiner > freeipa-Instanz wo ich versuche Zentral alles an Auth unterzubringen). Das Problem daran ist, dass die Nutzer verschiedene Berechtigungen haben können (bzw. verschiedenen Gruppen angehören können), was ich aus dem Apache2 Login Prozess nicht so einfach ableiten kann... Langfristig will ich versuchen, das Usersystem besser von der Login Methode zu abstrahieren, dann sollte es (hoffentlich) möglich sein, prinzipiell beliebige Auth-Anbieter anzubinden. Dann könnte man auch eine Art Proxy Provider schreiben, der die eigentliche Authentifizierung Apache überlässt. Dann kann man aber auch direkt einen LDAP Provider schreiben, damit wird es dann Server unabhängig, und man mehr Informationen über das LDAP abrufen (z.B. Name und/oder Email-Addresse)… Dafür wirst du dich allerdings etwas gedulden müssen (oder es selber schreiben müssen), momentan stehen erstmal ein paar Dinge an die ich persönlich für wichtiger halte: Momentan arbeite ich an einem deutlich verbesserten Filtersystem (so das man sich z.B. alle am 24.1.18 angelegten SMD Transistoren, von denen es noch mindestens 200 Stück vorhanden sind, und keine Dateianhänhe haben, anzeigen lassen kann). Und danach steht ein größerer Datenstrukturumbau an, so dass es möglich wird mehrere Footprints und Lagerorte für ein Bauteil haben zu können, Unterstützung für verschiedene Währungen und noch ein paar andere Dinge. Gruß Jan B.
Hallo Jan, erstmal vielen Dank für die Erläuterung der ersten Schritte der Installation. Rückfrage: den Ordner "Part-db" in den Ordner htdocs kopieren und den Ordner "vendor" auch dorthin? So habe ich das gemacht. Oder die einzelnen Dateien? Es scheint aber noch etwas zu fehlen, ich bekomme den Fehler: "localhost hat die Verbindung abgelehnt" bei Aufruf localhost/phpmyadmin und bei Aufruf localhost/part-db möglicherweise ist die Datenbank nicht richtig angelegt - was gibt es da zu beachten? viele Grüße Klaus
Hallo Klaus, hast du bereits geprüft ob der Apache und Mysql bereits korrekt laufen? Mit xampp-control kann nachgeschaut werden ob der Apache und MySQL Dienst läuft. Ebenfalls solltest du auf http://localhost bzw. http://127.0.0.1 zugreifen können und es erscheint normalerweise eine Testseite. Den Part-DB Ordner kann man an eine beliebige Stelle in den htdocs Ordner legen. In den Part-DB Ordner muss dann noch der komplette Ordner "vendor" kopiert werden. bei mir sieht das dann z.B. so aus htdocs/Part-DB/ (alle Dateien und Ordner von Part-DB ) htdocs/Part-DB/vendor/ (Der Ordner der die zusätzlichen Dateien/Ordner beinhaltet) Gruß Kai
Hallo Kai, danke für die Hilfe! xampp-controll zeigt Apache und SQL grün und sagt gestartet. "localhost" führt auf eine Testseite und "localhost/phpmyadmin" ruft eine Seite mit Datenbanken auf. ich denke, dass ich die Datenbank Part-db falsch angelegt oder irgendetwas vergessen habe oder Part DB nicht richtig aufrufe. Grüße Klaus
....... die Platzierung der Ordner hatte ich von Anfang an so gemacht, weil mir das so am stimmigsten vorkam.......
Hallo, bin seit ein paar Tagen dabei meine alte Part-DB Installation zu migrieren. Soweit scheint alles zu funktionieren, da ich aber nginx einsetze wollte ich die htaccess Regeln umschreiben. Setze ich jedoch folgendes in den server Bereich, funktionieren scheinbar POST Requests nicht mehr richtig...
1 | location /data { |
2 | deny all; |
3 | return 403; |
4 | } |
Hat jemand einen Satz mit locations die alle htaccess von Part-DB umsetzen? Danke & viele Grüße Martin
Martin schrieb: > richtig...location /data { > deny all; > return 403; > } Hmmm, webroot vs subfolder... Versuche es mal mit /part-db/data
Kommando zurück. /data müsste so passen, aber check mal den webroot-path Hier ein paar Beispiele: [https://www.digitalocean.com/community/tutorials/understanding-nginx-server-and-location-block-selection-algorithms]
Hi AtiX, Danke für die Antwort. Läuft nun alles wie gedacht...war scheinbar ein Tippfehler drin...war schon zu spät gestern. Viele Grüße Martin
Hallo, nachdem ich Part-DB zum Laufen bekommen habe, versuche ich mich im Moment damit anzufreunden...... Vieles klappt hervorragend, einige Punkte finde ich gewöhnungsbedürftig - nun ja, ist ja auch neu. Aktuell habe ich aber ein kleines Problem: durch die Eingabe einer falschen Zahl haben sich mit der Serienfunktion ca. 1000 Lagerorte erstellt, die so nun garnicht gebraucht werden. Wie werde ich die wieder los? Gibt es irgendwo eine Funktion, mit der man alle am Stück auswählen und löschen kann? Oder kann man eventuell den übergeordneten Lagerort mitsamt den darin befindlichen Unterordnern löschen - ohne dass die sich eine Ebene höher schieben? Wäre für Hilfe dankbar, ansonsten muss ich wohl von vorne anfangen. Falls jemand wissen möchte, wie man ca.1000 Fächer am Stück erstellen kann: Ich habe 10 Kleinteile-Magazine - je 2 Stück übereinander - und habe die in Spalte 1-5 / Reihe 1-2 eingeteilt. Somit kommen die Lagerorte 11 - 12 - 21 - 22 - 31..... 51 - 52 zustande. Die Schubladen unterteilen sich genauso: Spalten und Reihen 11 bis 18 / 21 bis 28 / 31 bis 38 und so fort. Zusammengenommen ergeben sich damit die Lagerorte 1111 - 1118 / 1211 - 1218. Ich habe mit der Serienfunktion immer 8 Fächer auf einmal erstellt und dabei versehentlich bei der ersten Ziffer die nächsthöhere Zahl erwischt. viele Grüße aus dem Ruhrpott Klaus
Hallo, habe einen Versuch unternommen, und die überschüssigen Schubladen direkt in der Datenbank gesucht, gefunden und gelöscht. Ich hoffe, da die "Dinger" ja noch leer waren, dass ich mir damit keinen Ärger eingehandelt habe. Bis jetzt scheint noch alles zu laufen......
Hallo, ich habe bereits mehrfach problemlos Lagerorte direkt in der DB angelegt und habe damit keine Probleme, von daher sollte löschen nichts unerwartetes nach sich ziehen. Grüße Gerald
Hallo Gerald, danke für die aufmunternden Worte! Für mich ist das ganze Paket (Linux / Datenbank / XAMPP und mit allem verbundene Kunfiguriererei) absolutes Neuland und da habe ich auch immer Angst etwas zu verbocken oder anzurichten, was ich nicht mehr gekittet bekomme. Ein riesen Lob an den Erfinder und die Entwickler dieses Programms - vor allem auch an Jan, der das richtig nach vorne schiebt! Grüße aus dem Ruhrpott Klaus
Hallo Jan, Chris K. schrieb: > Hallo Jan, > > auf meiner Syno läuft noch PHP 7.0.30-0027 (2018-08-29) > > Gruss Chris PHP 7.2.13 ist nun auf meiner Synology nun auch verfügbar. Downloadcount des Paketes ist nun 1 ,wenn der Zähler wirklich stimmt. Gruss Chris
:
Bearbeitet durch User
Moin Jan! Ich bin gespannt auf Neuigkeiten. Gibt es was aus der Entwicklungsabteilung zu berichten? ;-)
:
Bearbeitet durch User
Ludwig K. schrieb: > Moin Jan! > Ich bin gespannt auf Neuigkeiten. > Gibt es was aus der Entwicklungsabteilung zu berichten? ;-) Momentan arbeite ich hieran: https://github.com/Part-DB/Part-DB-symfony. Das ist ein kompletter Rewrite von Part-DB auf Basis eines modernen Frameworks (Symfony 4). Der alte Code ist leider aus heutiger sicht doch recht unübersichtlich und schlecht erweiterbar. Daher habe ich mich entschieden das ganze neu zu implementieren (und es geht erstaunlich schnell, einfach weil vieles sehr viel einfacher und kürzer ist als mit dem alten Part-DB). Nebenbei hat das den Nebeneffekt, dass man so viele Funktionen hinbekommt die mit der alten Codebasis nahzu unmöglich waren: Sprachauswahl mit Hilfe der URL (z.B. /de/part/10/info für die Deutsche Version und /en/part/10/info für die Englische Version), funktionierende Übersetzung unter Windows, Unterstützung für andere Datenbanktypen als MySQL (z.B. SQLite oder Postgresql), Absicherung von Eingaben mit Hilfe von CSFR-Token, Konfigurierbarkeit mittels Umgebungsvariablen (wichtig für Docker oder anderes Deployment) oder eine "Remember Me" Funktion beim Einloggen. Bei den Bauteiletabellen sortiert er jetzt auf Serverseite, das hat den Vorteil, dass er beim Sortieren der Spalten tatsächlich alle Bauteile berücksichtigt und nicht nur die die auf der aktuellen Seite aufgeführt sind. Außerdem bietet Symfony Komponenten an, mit Hilfe deren man sehr leicht ein Import und Export System hinbekommen sollte, und man kann ihn quasi automatisch sehr schöne APIs generieren lassen, mit Hilfe deren man die Daten automatisiert vom Server abfragen kann, oder native Mobilapps oder so bauen könnte. Das ganze ist aber recht aufwendig, daher gibt es bisher noch nicht viel zu sehen (und die Oberfläche wird sich fürs erste auch nicht großartig von den alten Part-DB Versionen unterscheiden). Bis das in einem Zustand ist, dass es die alten Part-DB Version ersetzen können wird (also alle Features der alten Version hat), wird aber vermutlich noch eine ganze Weile dauern... Gruß Jan B.
Hallo Jan, danke für deinen Einsatz und das Statusupdate! Grüße Gerald
Wollte es jetzt installiert, aber es funktioniert nicht. Fehler HTTP 500: Interner Fehler error.log:
1 | [Tue Apr 23 22:01:32.082200 2019] [php7:error] [pid 6572:tid 976] [client ::1:50550] PHP Fatal error: Uncaught Error: Class 'PartDB\\Database' not found in D:\\Daten\\htdocs\\Part-DB\\inc\\lib.start_session.php:291\nStack trace:\n#0 [internal function]: exception_handler(Object(Error))\n#1 {main}\n thrown in D:\\Daten\\htdocs\\Part-DB\\inc\\lib.start_session.php on line 291, referer: http://localhost/ |
PHP 7.1.9 MariaDB 10.2.8 Zeile 291:
1 | $database = new Database(); |
Gottfried schrieb: > Wollte es jetzt installiert, aber es funktioniert nicht. > Uncaught Error: Class 'PartDB\\Database' not found Natürlich funktioniert es nicht. Die Datenbank wurde nicht angelegt oder der Konfiguration mitgeteilt. Installationsanleitung gelesen, befolgt?
Installation gelesen, Datenbank angelegt und Benutzer angelegt. Von Konfiguration steht nichts in der Installationsanleitung, ich schau mal die php Dateien durch, wo die Konfiguration eingestellt wird
wann benötigt man die Datenbank? Ich hatte es nur entzipt, gestartet und mal Testweise Bauteile eingepflegt. Ich hatte es mir bis heute nicht angesehen, da ich immer dachte, man müsste extra eine Db haben...und das wollte ich nicht..aber ein eigenes Db Format ist super
Installationsanleitung befolgt: Paket in htdocs entzipt (Ordner Part-DB) In Part-DB/vendor entzipt und reinkopiert Aufrufen der Seite http://localhost/Part-DB/ -> Fehler HTTP 500: Interner Serverfehler. Apache/2.4.27 (Win64) PHP/7.1.9 mysqlnd 5.0.12-dev - 20150407 Es laufen auch noch andere Sachen mit MariaDB, ohne Probleme.
ach sorry, verwechsle das wohl gerade mit der anderen Lagerverwaltung Elela oder wie die heißt.. Mit Datenbank wund Installation etc. wäre mri das sowieso zu blöd für so eine Anwendung
:
Bearbeitet durch User
Gottfried schrieb: > Aufrufen der Seite http://localhost/Part-DB/ -> Fehler HTTP 500: > Interner Serverfehler. Und, mal ins Apache-Log gesehen?
Gottfried schrieb: > Installationsanleitung befolgt: ...allerdings gibt's da ja auch noch den Abschnitt "vorausgesetzte Infrastruktur" bzw. "Anforderungen" - die sind eher allgemein und stark vom Zielsystem abhängig. Z.b. heisst das nötige PHP-Paket für die DB bei mir "php-mysqlnd"... Jedenfalls - sieht so aus, als würde ein Pfad nicht passen, bzw. "Database.php" nicht included. In der Datei "start_session.php" gibt's so um Zeil 170 herum diesen Kommentar: "for debugging uncomment these lines". Das würde ich mal machen, und schauen, ob das dort ausgegebene stimmig ist.
Gottfried schrieb: > Wollte es jetzt installiert, aber es funktioniert nicht. > Fehler HTTP 500: Interner Fehler > error.log:[Tue Apr 23 22:01:32.082200 2019] [php7:error] [pid 6572:tid > 976] [client ::1:50550] PHP Fatal error: Uncaught Error: Class > 'PartDB\\Database' not found in > D:\\Daten\\htdocs\\Part-DB\\inc\\lib.start_session.php:291\nStack > trace:\n#0 [internal function]: exception_handler(Object(Error))\n#1 > {main}\n thrown in > D:\\Daten\\htdocs\\Part-DB\\inc\\lib.start_session.php on line 291, > referer: http://localhost/ Scheint als gäbe es da Probleme mit dem autoloading... Kannst du Mal in einer Kommandozeile "php composer.phar dump-autoload -o" ausführen? Dann sollte er die autoloading files neu generieren...
ah, der Meister ist anwesend :) - nutze ich mal für einen kleinen Hinweis für die, die sich Part-DB mit den aktuellsten "master.zip" installieren (oder updaten) wollen. Liefert (zumindest unter PHP7.2) den Fehler:
1 | PHP Fatal error: Uncaught TypeError: Return value of PartDB\User::getLoggedInID() must be of the type integer, string returned in /site/Part-DB-master/lib/User.php:853 |
2 | Stack trace: |
3 | #0 /site/Part-DB-master/lib/User.php(867): PartDB\User::getLoggedInID()
|
4 | #1 /site/Part-DB-master/lib/Log.php(125): PartDB\User::getLoggedInUser(Object(PartDB\Database), Object(PartDB\Log))
|
5 | #2 /site/Part-DB-master/inc/lib.start_session.php(292): PartDB\Log->__construct(Object(PartDB\Database))
|
6 | #3 [internal function]: exception_handler(Object(TypeError))
|
7 | #4 {main}
|
8 | thrown in /site/Part-DB-master/lib/User.php on line 853 |
Quickfix: habe in lib/User.php in Zeile 853 auf int gecasted:
1 | return (int)$_SESSION['user']; |
Die benötigten Pakete hab ich: in PHP: php_mysqli.dll php_mbstring.dll pdo mit oci, odbc, pgsql und sqlite php_gettext.dll Die Datei "Database.php" finde ich nirgends im Verzeichnis.
1 | D:\Daten\htdocs\Part-DB>C:\PHP\php.exe composer.phar dump-autoload -o |
2 | |
3 | |
4 | [Composer\Exception\NoSslException] |
5 | The openssl extension is required for SSL/TLS protection but is not available. If you can not enable the openssl ex |
6 | tension, you can disable this error, at your own risk, by setting the 'disable-tls' option to true. |
7 | |
8 | |
9 | dump-autoload [--no-scripts] [-o|--optimize] [-a|--classmap-authoritative] [--apcu] [--no-dev] |
Ich lese mir noch die Anforderungen genau durch
Hab vergessen in der php.ini die libraries vergessen zu laden: extension=php_gettext.dll extension=php_openssl.dll C:\PHP\php.exe composer.phar install -o --no-dev hat jetzt 4 Pakete geupdated.
1 | D:\Daten\htdocs\Part-DB>C:\PHP\php.exe composer.phar dump-autoload -o |
2 | Generating optimized autoload files |
Es funktioniert noch immer nicht. Immer noch der selbe Fehler 'PartDB\\Database' not found
Gottfried schrieb: > Die Datei "Database.php" finde ich nirgends im Verzeichnis Muss unter lib/database.php liegen. Hast du Mal probieren Part-DB neu runterzuladern und zu entpacken?
Heute nach dem Neustarten des Rechners funktioniert es nun. Jetzt kommt die Einstellungsseite. Hatte wohl der Apache gestreikt? :)
Jan B. schrieb: > Momentan arbeite ich hieran: https://github.com/Part-DB/Part-DB-symfony. > > Das ist ein kompletter Rewrite von Part-DB auf Basis eines modernen > Frameworks (Symfony 4). Der alte Code ist leider aus heutiger sicht doch > recht unübersichtlich und schlecht erweiterbar. Daher habe ich mich > entschieden das ganze neu zu implementieren (und es geht erstaunlich > schnell, einfach weil vieles sehr viel einfacher und kürzer ist als mit > dem alten Part-DB). Falls ihr dass mal ausprobieren wollt, gibt es hier (https://part-db.herokuapp.com/de/) eine Demo von der Symfony Version, die immer aus dem GitHub Deployt wird. Beim initialen Laden kann es eine Weile dauern, bei der kostenlosen Heroku Version, wird der Server nach Inaktivität schlafen geschickt. Die Symfony Version ist noch lange nicht wirklich vollständig, also wundert euch nicht wenn das meiste noch nicht funktioniert. Interessant dürfte momentan insbesondere die Admin Seiten sein (z.B. https://part-db.herokuapp.com/de/attachment_type/new ), oder die Sortierfunktion für die Bauteilelisten (z.B. https://part-db.herokuapp.com/de/parts) Nutzername/Password ist wie in der bplaced demo: user:user
Die Windows-Implementierung von money_format (in lib.functions.php) kann unter bestimmten Bedingungen Exceptions beim Aufruf von iconv werfen. Abhilfe: Die Zeile
1 | $locale[$key] = iconv('Windows-1252', 'UTF-8', $value); |
ersetzen durch
1 | if (is_string($value)) |
2 | $locale[$key] = iconv('Windows-1252', 'UTF-8', $value); |
3 | else |
4 | $locale[$key] = $value; |
Hintergrund: Das hier iterierte "locale"-Array enthält sowohl Strings als auch numerische Werte. Numerische Werte aber lassen sich mit iconv nicht konvertieren (das gibt o.g. Exception), aber das ist auch nicht nötig.
:
Bearbeitet durch User
Hallo, ich habe ein Problem bei der installtion von Version 0.5.6 und suche nach Hilfe bzw. einer Lösung.
1 | 2019/05/03 17:44:52 [error] 268#268: *1 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: Class 'PartDB\Database' not found in /config/www/PartDB/inc/lib.start_session.php:286 |
2 | Stack trace: |
3 | #0 [internal function]: exception_handler(Object(Error)) |
4 | #1 {main} |
5 | thrown in /config/www/PartDB/inc/lib.start_session.php on line 286" while reading response header from upstream, client: XX.XX.XX.XX, server: XXXXXX.de, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "XXXXX.de" |
Server:
1 | NGINX mit PHP Version 7.2.17 |
2 | Linux dd98070beb98 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64 |
Serverkonfig:
1 | location ~ [^/]\.php(/|$) { |
2 | fastcgi_split_path_info ^(.+\.php)(/.+)$; |
3 | fastcgi_pass 127.0.0.1:9000; |
4 | fastcgi_param HTTPS on; |
5 | fastcgi_index index.php; |
6 | include /etc/nginx/fastcgi_params; |
7 | } |
HTTP 500 kommt als Antwort beim Aufruf der index.php. Viele Dank für eure Hilfe.
Eine winzige Kleinigkeit:
> Part-DB, Copyright © 2019 of Jan Böhmer .
Das muss heißen: Part-DB, Copyright © 2019 by Jan Böhmer
Inwieweit ist denn diese Version mit der alten Datenbank kompatibel?
:
Bearbeitet durch User
GerdM schrieb: > 2019/05/03 17:44:52 [error] 268#268: *1 FastCGI sent in stderr: "PHP > message: PHP Fatal error: Uncaught Error: Class 'PartDB\Database' not > found in /config/www/PartDB/inc/lib.start_session.php:286 > Stack trace: > #0 [internal function]: exception_handler(Object(Error)) > #1 {main} > thrown in /config/www/PartDB/inc/lib.start_session.php on line 286" > while reading response header from upstream, client: XX.XX.XX.XX, > server: XXXXXX.de, request: "GET / HTTP/1.1", upstream: > "fastcgi://127.0.0.1:9000", host: "XXXXX.de" Du hast den Inhalt der vendor.zip (aus dem Release Ordner) in deine Installation kopiert oder? (Bzw. ein composer install durchgeführt?). Da scheint ein Fehler aufzutreten, bevor er den Autoloader einbinden kann... Gibt es noch andere Fehlermeldungen? (Möglicherweise in einer seperaten PHP log datei?) Uhu U. schrieb: > Inwieweit ist denn diese Version mit der alten Datenbank kompatibel? Ich implementiere das so, dass die Datenbankstruktur identisch zu den alten Versionen ist. Man kann also im Moment einfach die Zugangsdaten zur alten Datenbank eintragen und es funktioniert (tatsächlich ist das momentan die einzige Möglichkeit, eine lauffähige Version zu erreichen, momentan kann man noch keine leere Datenbank damit anlegen). Im Moment kann man sogar beide Versionen parallel auf der selben Datenbank benutzen (möglicherweise aktuell noch etwas riskant, da die neue Version noch nicht wirklich getestet ist) Langfristig wird es einige Änderungen an der Datenbank geben, da kann man dann aber von der alten Version automatisch migrieren. Sollte man von einer älteren Version als 0.5 updaten, muss man dann erst auf die 0.5 migrieren und dann auf die 1.0... Gruß Jan B.
GerdM schrieb: > ich habe ein Problem bei der installtion von Version 0.5.6 und suche > nach Hilfe bzw. einer Lösung. > 2019/05/03 17:44:52 [error] 268#268: *1 FastCGI sent in stderr: "PHP > message: PHP Fatal error: Uncaught Error: Class 'PartDB\Database' not > found in /config/www/PartDB/inc/lib.start_session.php:286 > Stack trace: > #0 [internal function]: exception_handler(Object(Error)) > #1 {main} > thrown in /config/www/PartDB/inc/lib.start_session.php on line 286" > while reading response header from upstream, client: XX.XX.XX.XX, > server: XXXXXX.de, request: "GET / HTTP/1.1", upstream: > "fastcgi://127.0.0.1:9000", host: "XXXXX.de" Ich hab mal etwas am Exception Handler geändert: Kannst du mal diese (https://github.com/Part-DB/Part-DB/archive/stable-v0.5.zip) version installieren (über die bestehenden Dateien entpacken), und es nochmal probieren? Dann sollte er mit etwas Glück im Browser die eigentliche Fehlermeldung anzeigen.
Die hier gemeldeten Fehler der letzten Tagen kommen aber nicht aus der stable? Und Experimente fließen hoffentlich auch nicht hinein? Ich habe 3 produktive Instanzen an 3 Standorten. Die laufen und laufen... Daher bin ich etwas am Staunen, was hier so aufschlägt. @Jan, könntest du bitte den Thread so gestalten und führen, dass primär auf die stable verwiesen wird, nicht auf aktuelle Entwicklung. Erst Recht nicht auf eine Alpha. Da die Hälfte der Leute mit Begriffen wie mysql und Apache nichts anfangen können, wäre ggf. auch das Docker image erwähnenswert.
:
Bearbeitet durch User
Danke für deine Hilfe !!! Jan B. schrieb: > Du hast den Inhalt der vendor.zip (aus dem Release Ordner) in deine > Installation kopiert oder? (Bzw. ein composer install durchgeführt?). > Da scheint ein Fehler aufzutreten, bevor er den Autoloader einbinden > kann... Gibt es noch andere Fehlermeldungen? (Möglicherweise in einer > seperaten PHP log datei?) Habe die vendor.zip entpackt, der Ordner liegt direkt in webroot. Leider nein, keine anderen Logeinträge/Logdateien zu finden. Jan B. schrieb: > Ich hab mal etwas am Exception Handler geändert: Kannst du mal diese > (https://github.com/Part-DB/Part-DB/archive/stable-v0.5.zip) version > installieren (über die bestehenden Dateien entpacken), und es nochmal > probieren? Dann sollte er mit etwas Glück im Browser die eigentliche > Fehlermeldung anzeigen. Leider keine Fehlermeldung im Browser, der Logeintrag bleibt gleich. Anbei noch die PHP Konfiguration, evtl. liegt ja daran.
Habe die Lösung gefunden. Fehler in der php.ini für den NGINX, php7-gettext und php7-mbstring wurden inkorrekt geladen.
Moin, Jan ich habe da mal eine Frage, kann ich diverse Sachen so einstellen, dass Sie nicht angezeigt werden, wenn ich mich nicht eingeloggt habe? Kategorie - Login - Bestand - Mindest-Bestand - Lagerort - Dateianhänge - - / + Detail Info zu - vorhanden Min. - Bestand - Lagerort - Teile Entnahme - Teile hinzufügen - Übersicht Drucken - Datenblattlinks Und bei der Suche müsste Lagerort, Deakt. Barcode und RegEX Matching weg. Das so nur Teile aufgelistet werden. LG Stefan
Hallo zusammen, hier rührt sich nicht mehr viel. Auf den Demoseiten liegt immer noch die Alpha. Auf github sehe ich ebenso keinen Fortschritt... wurde die Entwicklung eingestellt?
:
Bearbeitet durch User
Mister A. schrieb: > Hallo zusammen, > > hier rührt sich nicht mehr viel. > Auf den Demoseiten liegt immer noch die Alpha. Auf github sehe ich > ebenso keinen Fortschritt... > > wurde die Entwicklung eingestellt? Ich war die letzen Monate Recht beschäftigt (Uni, Klausuren und so) und hatte daher keine Zeit groß was zu machen. Jetzt habe ich wieder mehr Zeit, ich wollte in den kommenden Tagen wieder was machen. Bis die Symfony Version nicht mehr Alpha ist, wird es aber noch eine Weile dauern, da ich das alles neu schreiben muss, und dann dauert es etwas bis es einen produktiv nutzbaren Funktionsumfang hat.
Hallo Jan, Jan B. schrieb: > Ich war die letzen Monate Recht beschäftigt (Uni, Klausuren und so) Aaah, alles klar. Nach wie vor, liebe ich das Teil :) Der Datenbestand wächst und gedeiht... Mit Preis erfasste Bauteile:3176 Wert aller mit Preis erfassten Bauteile:xxx € Anzahl der verschiedenen Bauteile:3226 Anzahl der vorhandenen Bauteile:7886 Anzahl der Kategorien:285 Anzahl der Footprints:259 Anzahl der Lagerorte:123 Anzahl der Lieferanten:27 Anzahl der Hersteller:252 Anzahl der Baugruppen:46 Anzahl der Dateianhänge:5396 Anzahl der Footprint Bilder:1703 Anzahl der Footprint 3D Modelle:1 Anzahl der Hersteller Logos:348 Was ich persönlich, sehr vermisse ist eine feinere Suche. Und der anschließende simple Klick auf "nur im Bestand". Vielleicht kannst du etwas in die Richtung booleschen Operatoren AND/OR/NOT/=/!/+/- einbauen? Muss ja nicht gleich eine Parametriesuche sein. RegEx ist mir zu kompliziert. Vielleicht könnte man damit etwas "Benutzerfreundliches" machen? Jedenfalls bedanke ich mich im voraus und wünsche dir noch viel Glück bei den Prüfungen. ...lass uns bloß nicht sitzen :)
:
Bearbeitet durch User
Moin, ich hab da mal eine Frage. Ich nutze seit einiger noch nihct allzulanger Zeit Part-DB. Nun brauche ich mal eure Frage. Und zwar gibt es die möglich keit ein Bauteil in zwei Unterschiedliche Lagerplätze einzuordnen. Ich habe einmal mein Lager im Büro, und dann diverse Bauteile im Modellbahnkeller. Ausserdem nutzt mein Bruder die Part-DB-Installation nun auch mit, der natürlich bei sich zu Hause auch eigene Lagerboxen hat. Zwei unterschiedliche Lagerplätze pro Bauteil würden mir auch schon ausreichen. Ich habe allerdings noch nihct dazu gefunden. Wisst ihr da was ?
Moritz schrieb: > Wisst ihr da was ? geht nicht, aber zumindest steht dieses Feature auf der "Todoliste": https://github.com/Part-DB/Part-DB/projects Ein Würg-around wäre die Benutzung von "Baugruppen" - denke die "Baugruppe" als "Lagerort", und erstelle dort quasi "Unter-Lagerorte". Bauteile kann man aus der normalen Ansicht dann bequem rüber in den "Baugruppenlagerort" beamen.
Jan L. schrieb: > geht nicht, aber zumindest steht dieses Feature auf der "Todoliste": > https://github.com/Part-DB/Part-DB/projects Das wäre echt eine Super funktion! Jan L. schrieb: > Ein Würg-around wäre die Benutzung von "Baugruppen" - denke die > "Baugruppe" als "Lagerort", und erstelle dort quasi "Unter-Lagerorte". > Bauteile kann man aus der normalen Ansicht dann bequem rüber in den > "Baugruppenlagerort" beamen. Da habe ich auch schon was von gelesen, nur weiß ich nicht so Recht ob man da nicht die Übersicht verliert, da ich die Baugruppenfunktion ja so an sich auch benutze.
Moritz schrieb: > Da habe ich auch schon was von gelesen, nur weiß ich nicht so Recht ob > man da nicht die Übersicht verliert, da ich die Baugruppenfunktion ja so > an sich auch benutze. Nee, dann würde ich da auch von abraten - und auf die neue Version vom anderen Jan hoffen/setzen :) Er schreibt das Teil ja gerade quasi komplett neu, und der „Lagerorte“-Teil sieht imo schon vielversprechend aus: https://part-db.herokuapp.com/de/store_location/new
Moritz schrieb: > gibt es die > möglich keit ein Bauteil in zwei Unterschiedliche Lagerplätze > einzuordnen Nein. Derzeiter Stand kann so etwas nicht. Workaround: Das Bauteil kopieren, am zweiten Lagerort in den Bestand nehmen. Gleiches Vorgehen für unterschiedliche Footprints. Jan L. schrieb: > Ein Würg-around wäre die Benutzung von "Baugruppen" - denke die > "Baugruppe" als "Lagerort", und erstelle dort quasi "Unter-Lagerorte". > Bauteile kann man aus der normalen Ansicht dann bequem rüber in den > "Baugruppenlagerort" beamen. Hää? Welchen Bezug hat die Baugruppe (ergo Projekt) auf einen Lagerort und Bestand? Es kann weder mit a) noch b) was anfangen. Könntest du bitte diesen "Würg-around" aufmalen?
Hat keinen Bezug. Wenn du ein Bauteil angelegt hast, kannst du es in der Baugruppe/Lagerort, verorten. Du musst allerdings den Bestand dort noch einmal eingeben und den Gesamtbestand manuell pflegen. Entnimmst du was aus Lagerort XY ändert sich dadurch leider nicht der Gesamtbestand. Aber ansonsten geht das wunderbar. Diese 1:n Auflösung kann Jan in der akutellen Pard-DB-Version nicht umsetzen. Daher auch die komplette Neuprogrammierung.
Mister A. schrieb: > Hää? Welchen Bezug hat die Baugruppe (ergo Projekt) auf einen Lagerort > und Bestand? Zitat: 'denke die "Baugruppe" als "Lagerort"' Hier hat das schonmal jemand für dich "aufgemalt": Beitrag "Baugruppenfunktion zweckentfremdet." Dass das nicht besonders sinnvoll ist wenn man "Baugruppen" auch regulär benutzen möchte, wurde ansonsten bereits erwähnt. > Es kann weder mit a) noch b) was anfangen. > > Könntest du bitte diesen "Würg-around" aufmalen?
Jan L. schrieb: > Dass das nicht besonders sinnvoll ist wenn man "Baugruppen" auch regulär > benutzen möchte, wurde ansonsten bereits erwähnt. Die Not macht erfinderisch :) Danke. Da finde ich doppelte Bauteile, als Workaround, noch vertretbar.
:
Bearbeitet durch User
Hallo allerseits, ich nehme Part-DB schon mehrere Jahre sehr gerne. Der Bestand an Bauteilen und Baugruppen wächst stetig :-) Ein paar Sachen sind uns aufgefallen: (1) Baugruppen von Baugruppen Nun komme ich öfter in die Verlegenheit, Baugruppen in mehreren Projekten zu verwenden. Dafür wäre es praktisch, Baugruppen in andere Baugruppen einfügen zu können. Geht so etwas, bzw. ist so etwas geplant? Momentan behelfe ich mir damit, dass ich die entsprechenden Baugruppen als Spezial-Bauteil anlege. Elegant ist das nicht ... (2) Bestellt-Status Wenn Teile aufgrund ihrer Mindestbestandsmenge in "Zu bestellende Teile" gelandet sind, kann ich die nicht als "bestellt" markieren - die verschwinden erst wieder, wenn Teile eingebucht sind. Da muss man sehr aufpassen, was schon nachbestellt ist und was nicht. Für manuell zum Bestellen vorgemerkte Teile nehme ich die einfach aus der Liste, sobald sie bestellt sind. (3) Zusammenbau-Status bzw. -Menge für Baugruppen Einfache Frage: Wie viele fertig aufgebaute Baugruppen habe ich da? Sinnvollerweise bräuchten die dann auch noch einen Lagerort. Eine Art Umbuchen-Funktion wäre auch praktisch: Ich montiere 5 Baugruppen, entsprechend erhöht sich der Lagerbestand der Baugruppe, und die Einzelteile werden ausgebucht. Gibt es Erfahrungen für Workarounds (oder Hinweise auf meine Betriebsblindheit ;-) )? Bzw. zukünftig geplante Features? Viele Grüße, Der Samuel
Samuel schrieb: > Hallo allerseits, > > ich nehme Part-DB schon mehrere Jahre sehr gerne. Der Bestand an > Bauteilen und Baugruppen wächst stetig :-) > Ein paar Sachen sind uns aufgefallen: > > (1) Baugruppen von Baugruppen > Nun komme ich öfter in die Verlegenheit, Baugruppen in mehreren > Projekten zu verwenden. Dafür wäre es praktisch, Baugruppen in andere > Baugruppen einfügen zu können. Geht so etwas, bzw. ist so etwas geplant? > > Momentan behelfe ich mir damit, dass ich die entsprechenden Baugruppen > als Spezial-Bauteil anlege. Elegant ist das nicht ... > > (2) Bestellt-Status > Wenn Teile aufgrund ihrer Mindestbestandsmenge in "Zu bestellende Teile" > gelandet sind, kann ich die nicht als "bestellt" markieren - die > verschwinden erst wieder, wenn Teile eingebucht sind. Da muss man sehr > aufpassen, was schon nachbestellt ist und was nicht. > > Für manuell zum Bestellen vorgemerkte Teile nehme ich die einfach aus > der Liste, sobald sie bestellt sind. > > (3) Zusammenbau-Status bzw. -Menge für Baugruppen > Einfache Frage: Wie viele fertig aufgebaute Baugruppen habe ich da? > Sinnvollerweise bräuchten die dann auch noch einen Lagerort. > Eine Art Umbuchen-Funktion wäre auch praktisch: Ich montiere 5 > Baugruppen, entsprechend erhöht sich der Lagerbestand der Baugruppe, und > die Einzelteile werden ausgebucht. > > > Gibt es Erfahrungen für Workarounds (oder Hinweise auf meine > Betriebsblindheit ;-) )? Bzw. zukünftig geplante Features? > > Viele Grüße, > Der Samuel Ja dieses ganze Baugruppen und Bestellsystem ist im Moment eher subideal gelöst. Da wird es in Zukunft für die neue Part-DB Version einige Änderungen geben, auch wenn ich mir noch nicht vollständig sicher bin, wie diese genau aussehen werden. Im Moment plane ich ein System in dem man konkrete Bestellungen anlegen kann, und man kann dann Bauteile diesen zuordnen kann. Den Bestellungen kann man dann Dinge wie Rechnungsnummer, Bestelldatum, Lieferdatum zuordnen, so dass man die Verbindung zu einer konkreten Bestellung beim Lieferanten herstellen kann. Dann sollte es auch einfach möglich sein, die bestellten Bauteile nach Lieferung einzubuchen. Ich habe das mal auf meine Liste von Featureideen für die neue Version geschrieben (https://docs.google.com/document/d/1FH9brIEUSZBDE20qEjtjz-GUfOe3hXH01GbZpXxuVG0/edit#). Wenn ihr auch noch Ideen habt, könnt ihr die gerne hinzufügen (das Dokument sollte von jedem bearbeitbar sein). Da sind auch die Dinge aufgeführt an denen ich im Moment arbeite (unter anderem die Möglichkeit einem Bauteil mehrere Lagerorte zuweisen zu können, und die Unterstützung von verschiedenen Währungen). Gruß Jan B.
Mal ein Statusupdate zu der neuen (Symfony-basierenden) Version: Es ist jetzt möglich einem Bauteil mehrere Lagerorte zuzuweisen (siehe Screenshot), weiterhin gibt es Währungen (für die Preisinformationen), Tags für die Bautile und noch ein paar andere Dinge. Falls ihr es mal selber ausprobieren wollt, gibt es die Demo https://part-db.herokuapp.com/de/part/2/info (Password user:user). Über Feedback über das neue Design und Bedienung der Bauteileseite würde ich mich freuen. Liebe Grüße Jan Böhmer PS: Denkt ihr es macht Sinn einen Thread aufzumachen, um da über die neue Version diskutieren zu können, ohne evtl. hilfesuchende Benutzer der 0.5er Versionen zu verwirren?
Optisch ansprechend, wirkt aufgeräumt, übersichtlich. Statt scrollen ist jetzt klicken angesagt :) Bauteileansicht: Kommentar als Starttab finde ich ganz gut. Auch das Bauteil bearbeiten (rechts) sitzt jetzt perfekt. Die Einführung von Tags macht das ganze lukrativ und eröffnet neue Möglichkeiten. Danke! Vielleicht bekommt man es noch hin, dass beim Tippen bereits vorhandene Tags eingeblendet werden. Die Einkaufsinformationen aka Bestellinformationen sind etwas verhunzt. Die Mindestmenge springt auf 10. Die erste Preiskondition (wenn 2 oder mehr) wird einfach vergessen und verschluckt. Die vielen hinzufügen Buttons iritieren etwas. Auch wenn es weiterhin nur 2+1 sind :) Im Vergleich zum Vorgänger: Ich suche vergebens nach einem "neues Bauteil anlegen" Button. Das schnelle Anlegen (bisher das Feld rechts) vermisse ich sehr. Die -/+ in der Listenansicht vermisse ich gar nicht, es geht auch ohne ganz gut und schafft Platz :) Bauteileansicht - die anklickbaren Hoover-Texte vermisse ich ganz stark. (z.B. schnell zur gleichen Kategorie, Lagerort usw.) Ansonsten sieht es gut aus. Danke. PS: ich habe in deiner Demo-Datenbank ein paar Teile angelegt. I.d.A. wie ich es sonst habe... Suchbegriffe LDO, 18650.
:
Bearbeitet durch User
Hallo, ich habe mir gerade die Part-DB 0.6.0-dev installiert. Tolle Sache, steckt viel Arbeit drin, Respekt! Problem: Import funktioniert nicht, Bauteil wird angezeigt, nach dem Betätigen des Prüfenbuttons erscheint der Übernehmenbutton aber nicht :-( Die Part-DB Demo (0.57) tut mit mit meiner .csv - Datei. Eventlog schreibt: TypeError:Argument 5 passed to PartDB\Category::add() must be of the type integer, null given, called in /var/www/html/part-db/inc/lib.import.php on line 596 [/var/www/html/part-db/lib/Category.php, 556] Konfig: PHP-Version: 7.2.16-1+ubuntu16.04.1+deb.sury.org+1 .htaccess funktioniert: ja Verbindung benutzt HTTPS: ja Max. Input Vars: 10000 Andere Frage: Wie bekomme ich Preisstaffeln über die .csv-Datei eingelesen. Grüße Uwe
Uwe B. schrieb: > Problem: Import funktioniert nicht, Bauteil wird angezeigt, nach dem > Betätigen des Prüfenbuttons erscheint der Übernehmenbutton aber nicht > :-( Sollte jetzt in der neuen "master"-Version gefixt sein. Wäre schön wenn du das verifizieren könntest. Uwe B. schrieb: > Andere Frage: Wie bekomme ich Preisstaffeln über die .csv-Datei > eingelesen. Das ist meiner Kenntnis nach bisher nicht möglich. Mit CSV Dateien ist das aber auch nahezu unmöglich zu realisieren (wenn man nicht eine CSV datei für jedes Bauteil einlesen möchte), da würde sich ein strukturiertes Format wie JSON (oder XML) besser für eignen, das unterstützen aber die alten Part-DB Versionen nicht.
Hallo Jan, Jan B. schrieb: > Sollte jetzt in der neuen "master"-Version gefixt sein. Wäre schön wenn > du das verifizieren könntest. Habe ich getestet, der Bug scheint gefixt. Dankeschön Allerdings bekomme ich folgende Fehlermeldung: Die Daten sind nicht gültig! Fehlermeldung: Nr. 2: Es existiert bereits ein Element auf gleicher Ebene (PartDB\Category::Import) mit gleichem Namen (Widerstände THT)! Es gibt eine Kategorie Passiv mit Unterkat. Widerstände THT So wie ich das verstanden habe müsste das Unterverzeichnis gefunden und die Bauteile dort einsortiert werden (?) Auf dem Demoserver funktioniert das so. > Uwe B. schrieb: >> Andere Frage: Wie bekomme ich Preisstaffeln über die .csv-Datei >> eingelesen. > > Das ist meiner Kenntnis nach bisher nicht möglich. Mit CSV Dateien ist > das aber auch nahezu unmöglich zu realisieren Verstehe ich. Kein Problem. Grüße Uwe
Achja das wichtigste alpha@symfony: Das zurückspringen auf den Starttab ist nicht so gut. Er sollte während dem editieren im gleichen Tab bleiben.
Cool, es geht wieder weiter. Das mit den mehrere Lagerorten ist super! Ich werde die 0.6 demnächst mal ausprobieren. Vorschlag von Jan bzgl. neuen Thread für 0.6(symphony) finde ich sinnvoll. Man kann hier dann ja weiterhin Fragen zur 0.5er Version stellen.
Es gibt jetzt einen eigenen Thread für die Symfony Version (Part-DB 1.0): Beitrag "[WIP] Lagerverwaltung Part-DB 1.0" Wäre schön wenn ihr dort über die neue Version diskutieren könntet, damit dieser Thread für die Nutzer der 0.5 Version frei bleibt.
Hallo Zusmammen Vor langer Zeit hatte ich einmal part-DB ~V0.3.0 im Einsatz. Damals habe ich das ganze etwas umgebaut für meine zwecke. Nun habe ich wieder ein aktuelles part-db (0.5.8) am Start. Jetzt stehe ich wieder vor dem gleichen Problem wie damals. Nur möchte ich nicht wieder ein angepasstes part-db für mich machen. Man möchte ja dan auch mal updaten können. Ich hoffe mit euch mein Problem lösen zu können. Vermutlich gibt es ganz eine einfache Lösung dafür. ^^ Problem: Bis jetzt habe ich die Mouser / digikey ESD Beutel in einen Ordner mit A5 Sichtmappen gepackt. (Siehe Bild Anhang) Dan die jeweiligen Beutel mit der zugehörigen Datenbank ID versehen. Dan kann ich bei jedem Beutel den lagerort Ordner zuweisen. Auf den Ordnerrücken schriebe ich dan ID X bis y an. Dan weis jeder wo er das jeweilige Bauteil findet. Nun ist es mir gelungen in Ansicht die ID einzublenden mit der anpassung der Tabellen. Nur müsste ich auch die ID in den Baugruppen sehen können. Eine suche nach der ID wäre auch praktisch. Könnte man so etwas einbauen bzw. die Möglichkeit schaffen? Oder wie macht ihr das mit dem Einsortieren? Evt. gibt es andere Ansätze? Gruss Oli
Oliver S. schrieb: > Nur müsste ich auch die ID in den Baugruppen sehen können. Das sollte gehen, wenn du diese Zeile in deine 'data/config.php' einfügst:
1 | $config['table']['device_parts']['columns'] = 'hover_picture;id;name_description;quantity_edit;mountnames_edit;footprint;instock;storelocation;suppliers;supplier_partnrs;single_prices;total_prices'; |
(Je nachdem wo du id plazierst, kannst du die Spalte einstellen, wo das erscheint). In 'inc/config_defaults.php' findet man noch mehr Definitionen der Tabellenspalten (alles mit $config['table']). Oliver S. schrieb: > Eine suche nach der ID wäre auch praktisch. Also zumindest im Suchfeld in der Navigationsleiste geht das indem man die Nummern achtstellig eingibt, daher 00000013 . Dann wird das Bauteil mit der ID 13 direkt aufgerufen. Das wird eigentlich dazu benutzt ein Bauteil direkt aufzurufen, nachdem man mit einem Scanner den Barcode auf einem Bauteil eingescannt hat (da stehen die IDs eben als 8 stellige Zahl drin).
Hallo Jan Vielen Dank für deine schnelle Antowrt. Und sorry hat meine Rückmeldung nun so lange gedauert. Jan B. schrieb: > Oliver S. schrieb: >> Nur müsste ich auch die ID in den Baugruppen sehen können. > > Das sollte gehen, wenn du diese Zeile in deine 'data/config.php' > einfügst: >
1 | $config['table']['device_parts']['columns'] = |
2 | > 'hover_picture;id;name_description;quantity_edit;mountnames_edit;footprint;instock;storelocation;suppliers;supplier_partnrs;single_prices;total_prices'; |
3 | > |
(Je nachdem wo du id plazierst, kannst du die Spalte einstellen, > wo das erscheint). > > In 'inc/config_defaults.php' findet man noch mehr Definitionen der > Tabellenspalten (alles mit $config['table']). Logo...da habe ich ja schon damit rumgespielt. Sorry das hätte ich auch selber sehen können. Jan B. schrieb: > Oliver S. schrieb: >> Eine suche nach der ID wäre auch praktisch. > > Also zumindest im Suchfeld in der Navigationsleiste geht das indem man > die Nummern achtstellig eingibt, daher 00000013 . Dann wird das Bauteil > mit der ID 13 direkt aufgerufen. > Das wird eigentlich dazu benutzt ein Bauteil direkt aufzurufen, nachdem > man mit einem Scanner den Barcode auf einem Bauteil eingescannt hat (da > stehen die IDs eben als 8 stellige Zahl drin). Bei mir ist das irgendwie keine 8 Stellige Zahl. ==> 0'00'00'13 (7 stellig) geht bei mir. 8 Stellen gehen auch....dan muss ich aber hinten noch eine 0 anstellen. ==> 00'00'01'30 Nun habe ich noch neue Fragen - Gibt es eine Möglichkeit die ID auch beim Part auf der Detailseite einzublenden? - Komma bzw Punkt als Währungstrennzeichen. Da ich in der Schweiz wohne, würde ich gerne die Eingabe 20.00 ermöglichen. Wird aber nicht angenommen mit der Fehlermeldung "Bitte geben Sie eine Nummer ein" Eingegeben mit Komma, wird dan als Punkt angezeigt.
Irgendwie scheint das mit der ID in den Baugruppen einblenden noch nicht richtig zu funktionieren. Sobald ich mehrere Bauteile aus verscheidenen Kategorien auf einer Baugruppe habe, stimmen die ID's nicht mehr. Habe auf meiner Part-DB Testinstallation (Ich wollt mir nicht meine "Produktive" Umgebung zerschiessen) das Verhalten auch reproduzieren können. Im Anhang die Screenshots.
Hi! Uwe B. schrieb: > Die Daten sind nicht gültig! > Fehlermeldung: Nr. 2: Es existiert bereits ein Element auf gleicher > Ebene (PartDB\Category::Import) mit gleichem Namen (Widerstände THT)! Hab genau das selbe Problem. Gibts dafür einen Workaround? lg, Rob
Guten Morgen, Ich hab mir die neue Version gerade auf meinem Web Space installiert. Nach allem was ich hier sehe kann ich für Bauteile z.B Kondensator die Bauteilwerte nur in die Beschreibung als Text einfügen. Gibts ne Möglichkeit dafür eigene Zellen zu definieren? Grüße Andreas
Andreas G. schrieb: > Nach allem was ich hier sehe kann ich für Bauteile z.B Kondensator die > Bauteilwerte nur in die Beschreibung als Text einfügen. Das ist richtig. Im Moment ist es nur möglich bauteile Eigenschaften über das Beschreibungs oder Kommentarfeld anzugeben. In der neuen Version an der ich arbeite wird es dann die Möglichkeit Eigenschaften seperat anzugeben (oder von octopart zu importieren), und dann auch hoffentlich danach zu filtern. Aber das dauert noch eine Weile bis das geht
Super, danke für die schnelle Antwort. Dann muss ich mir jetzt überlegen, was ich mit den Angaben mache. Jetzt isses in meiner excel getrennt, nach dem import in die DB hätte ichs in einem String verwurschteln müssen.... Gibts nen Zeithorizont für die Änderung?
Ich habe noch eine Frage zum Excelimport. Ich habe ein Bauteil angelegt, und diesem Bauteile alle möglichen Optionen zugewiesen (also Hersteller, Lagerort, und Supplier mit Links bzw. PDF - Datein). Wenn ich jetzt dieses Bauteil exportiere, werden die zusätzlichen informationen nicht mit exportiert. Wenn ich ein ebensolches Bauteil per CSV inportieren möchte, hab ich in den Beispieldatein keine Felder für Hersteller und Lagerort etc. Gibts nen Trick, wie ich Bauteile auch mit zusätzlichen Metadaten wie Hersteller - Links und Supplier inportieren kann?
Andreas G. schrieb: > Ich habe noch eine Frage zum Excelimport. > > Ich habe ein Bauteil angelegt, und diesem Bauteile alle möglichen > Optionen zugewiesen (also Hersteller, Lagerort, und Supplier mit Links > bzw. PDF - Datein). > > Wenn ich jetzt dieses Bauteil exportiere, werden die zusätzlichen > informationen nicht mit exportiert. > > Wenn ich ein ebensolches Bauteil per CSV inportieren möchte, hab ich in > den Beispieldatein keine Felder für Hersteller und Lagerort etc. > > Gibts nen Trick, wie ich Bauteile auch mit zusätzlichen Metadaten wie > Hersteller - Links und Supplier inportieren kann? Das Import/Export System der aktuellen Part-DB Versionen ist leider eine Katastrophe. Ich hab mich da auch nie wirklich rangetraut, dass zu erweitern, da der entsprechenden Code leider absolut unleserlich ist. Das ist unteranderem einer der Gründe wieso ich mich entschieden habe Part-DB auf Basis eines modernen Frameworks neu zu schreiben (https://github.com/Part-DB/Part-DB-symfony bzw. die Demo https://part-db.herokuapp.com/en/). Da kann man das mit dem Import/Export deutlich einfacher machen. Für die ganzen Datenstrukturen gibt es da schon Import/Export Systeme, für bauteile gibt es da bisher noch nix. Zu deiner Frage: Also Lagerort und hersteller(Name) lassen sich importieren (siehe die Beispieldatein hier: https://github.com/Part-DB/Part-DB/tree/master/documentation/examples/import_parts). Datenblätter und Bauteile links lassen sich meines Kenntnissstandes nach nicht importieren, das ist mit "Flächen" Datenstrukturen, wie CSV Datein auch schwierig abzubilden (da ein Bauteil ja mehrere verknüpfte Datein haben)
Hallo zusammen Ich muss nochmals meinen Beitrag vom letzten Jahr hervorholen. Leider habe ich dazu noch keine Lösung gefunden. jemand anders noch eine Idee? Oliver S. schrieb: > Irgendwie scheint das mit der ID in den Baugruppen einblenden noch > nicht > richtig zu funktionieren. > > Sobald ich mehrere Bauteile aus verscheidenen Kategorien auf einer > Baugruppe habe, stimmen die ID's nicht mehr. > > Habe auf meiner Part-DB Testinstallation (Ich wollt mir nicht meine > "Produktive" Umgebung zerschiessen) das Verhalten auch reproduzieren > können. Im Anhang die Screenshots. Oliver S. schrieb: > - Komma bzw Punkt als Währungstrennzeichen. > Da ich in der Schweiz wohne, würde ich gerne die Eingabe 20.00 > ermöglichen. Wird aber nicht angenommen mit der Fehlermeldung "Bitte > geben Sie eine Nummer ein" > Eingegeben mit Komma, wird dan als Punkt angezeigt.
Nachtrag. Wenn ich mich über phpmyadmin einloge und auf device-parts gehe, sehe ich das Problem. ==> db_nummerierung ==> auto_increment (bei Beiden Baugruppen ID 1/2 ist das selbe Bauteil ID12 angehängt.) Wie kann ich aber in der Tabelle die id_part anzeigen? Wenn ich in der config.php von id auf id_part ändere, wird ein Fehler bei der Anzeige der Baugruppe angezeigt.
:
Bearbeitet durch User
Oliver S. schrieb: > Nachtrag. > Wenn ich mich über phpmyadmin einloge und auf device-parts gehe, > sehe ich das Problem. > > ==> db_nummerierung > ==> auto_increment > > (bei Beiden Baugruppen ID 1/2 ist das selbe Bauteil ID12 angehängt.) > > Wie kann ich aber in der Tabelle die id_part anzeigen? > Wenn ich in der config.php von id auf id_part ändere, wird ein Fehler > bei der Anzeige der Baugruppe angezeigt. Was für eine Fehlermeldung zeigt er genau an? Das mit der Anzeige der internen ID ist ein eher seltener Fall, daher ist der quasi nicht getestet.
Angehängt die Fehlermeldung. Nochmals zum klarstellen: $manual_config['table']['device_parts']['columns'] = 'hover_picture; id ;name_description;quantity_edit;mountnames_edit;footprint;instock;storel ocation;suppliers;supplier_partnrs;single_prices;total_prices'; ==> zeigt die Auto Increment ID an. Und nicht die ID vom jeweiligen Bauteil Nochmals zum klarstellen: $manual_config['table']['device_parts']['columns'] = 'hover_picture; id_part ;name_description;quantity_edit;mountnames_edit;footprint;instock;storel ocation;suppliers;supplier_partnrs;single_prices;total_prices'; ==> Fehlermeldung Warum das ganze: Wenn ich eine Baugruppe habe, und nun auf dieser einen Wert nachbestücken möchte, schaue ich welche ID mein z.B C1 hat. Danach kann ich nur noch im jeweiligen Ornder diesen Cap suchen gehen. Bei Bauteilen die einen "eindeutigen" lagerplatz haben, ist das natürlich nicht nötig.
So ich wollt den Thread wieder mit meinem Währungszeichen problem hervorholen. Wir schweizer verwenden den "." als Trennzeichen. ==> Auf dem Zahlenblock ist auch der Punkt. Etwas mühsam bei der Eingabe von Preisen immer das Komma suchen zu müssen. Edit: Das Problem scheint ein Firefox Problem zu sein. Trotz einstellunge der Sprache de-CH will er einen Punkt nicht akzeptieren. Chrom / Edge funktionieren Problemlos
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.