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
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.
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
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.
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.
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.
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.
$ 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ß
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.
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.
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:> 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 :)
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.
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.
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
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.
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.
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"... ;-)
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.
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
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
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
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
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.
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
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:
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.
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.
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?
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
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.
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
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.
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.
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.
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?
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 :)
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.
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.
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
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:
(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:>
(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.
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