Forum: Projekte & Code Lagerverwaltung Part-DB V0.5.x


von Jan B. (do9jhb)


Lesenswert?

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.

von Jan B. (do9jhb)


Lesenswert?

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.

von Gerald *. (pyromane)


Angehängte Dateien:

Lesenswert?

Jan B. schrieb:
> es behebt unteranderem das von pyromane berichtete Problem mit den
> Anhangsbildern. Weiterhin funktionier nun die Vorwärts-Taste des
> Browsers korrekt mit Part-DB.

Guten Abend,

Problem besteht leider nach wie vor.
Getestet mit Opera 56, Chrome 69 und IE11

Grüße
Pyro

: Bearbeitet durch User
von Jan B. (do9jhb)


Lesenswert?

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.

von Gerald *. (pyromane)


Lesenswert?

Jan B. schrieb:
> Es gibt jetzt eine 0.5.2er Version, wo das jetzt eindlich funktionieren
> sollte: https://github.com/Part-DB/Part-DB/releases/tag/v0.5.2

Uns so ist es auch, es funktioniert.
Herzlichen Dank für den schnellen Fix!

Grüße
Pyro

von McSchaf (Gast)


Lesenswert?

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

von Jan B. (do9jhb)


Lesenswert?

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.

von Marco S. (marco_s217)


Lesenswert?

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?

von Stefan L. (leubi)


Angehängte Dateien:

Lesenswert?

Grüße,
so ich bin auch mal auf die 0.5.2 umgestiegen, soweit so gut aber,
wenn ich ein Bauteil hinzufügen möchte, bekomme ich folgende 
Fehlermeldung siehe Bilder, woran kann das liegen?

LG
Leubi

: Bearbeitet durch User
von Jan B. (do9jhb)


Lesenswert?

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.

von Jan B. (do9jhb)


Lesenswert?

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.

von Stefan L. (leubi)


Angehängte Dateien:

Lesenswert?

Moin,
das wird mir angezeigt.
Scheit alles io zu sein.

von Jan B. (do9jhb)


Lesenswert?

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.

von Stefan L. (leubi)


Lesenswert?

Dieser Fehler kommt immer, egal zu welcher
Kategorie.

Einen Dump kann ich Dir schicken, wo hin?
Könnte auch ein Fehler in den PHP.INIs sein? oder?

: Bearbeitet durch User
von Jan B. (do9jhb)


Lesenswert?

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...

von Marco S. (marco_s217)


Lesenswert?

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.

von Jan B. (do9jhb)


Lesenswert?

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.

von Jan B. (do9jhb)


Lesenswert?

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.

von Stefan L. (leubi)


Lesenswert?

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.

von McSchaf (Gast)


Angehängte Dateien:

Lesenswert?

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)

von Jan B. (do9jhb)


Lesenswert?

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.

von Stefan L. (leubi)


Lesenswert?

Jan B. schrieb:

>
> Komisch... Kannst du testhalber Mal Part-DB frisch in einen neuen Ordner
> kopieren, und dann mit der alten Datenbank verbinden? Wenn das nicht
> geht gerne auch Mal mit einer leeren. So können wir sehen ob es an der
> Datenbank oder was anderem liegt.
>
 Moin,
so ich habe als Erstes mein Backup v. 0.5.0 wieder eingespielt die 
Datenbank hatte ich so gelassen, und es geht wieder, dann hatte ich mir 
eine frische Installation (neues verzeichnis) vorgenommen 0.5.2 mit 
einer neuen Datenbank und es geht, dann habe ich diese Installation mit 
meiner vorhandenen Datenbank verknüpft und es geht.

Die Webadresse wo ich PART-DB (jetzt mit 0.5.2)immer benutze geht wieder 
ABER die Test Version, die jetzt unter eine anderen Subdomain habe, da 
ist, jetzt wieder der gleiche Fehler aufgetaucht mit meiner Originalen 
Datenbank, mit der neuen Test Datenbank macht er den Fehler nicht hmm...

Warum das so ist weiß ich noch nicht bin noch weiter am Testen.

Nachtrag
so die Test Version geht wieder nach dem ich Sie neu eingerichtet habe 
mit meiner Aktuellen Datenbank.

Aber

Meine Originalversion geht jetzt wieder nicht, der gleich Fehler, ich 
hatte mich in dem Bereich Entwikler-Werkzeuge umgeschaut und dann ging 
es nicht mehr, ich habe so das gefühl das bei mir irgendetwas im Argen 
ist, ich könnte Dir mal meine PHPINFO als PDF zukommen lassen, eventuell 
findest Du da ja was das ich Ändern müsste.

: Bearbeitet durch User
von Jan B. (do9jhb)


Lesenswert?

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.

von Stefan L. (leubi)


Lesenswert?

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.

von Stefan L. (leubi)


Lesenswert?

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.

von Stefan L. (leubi)


Lesenswert?

Stefan L. schrieb:
> Moin,
> so weiter getestet.
> Wenn ich es neu Installiere und bei der Installation die Daten von der
> Datenbank eingebe, die ich benutze, dann kommt der Fehler nicht.
>
> Jetzt habe ich beide Versionen, die womit ich arbeite und die
> Testversion auf 0.5.2 und beide haben den Fehler nicht ich traue mich
> jetzt nicht die Entwickler-Werkzeuge einzuschalten.
>
> Auch ein Fehler war irgendwie noch in den Quellcodes die Verlinkung geht
> nicht bei einer neu installierten Version.

So Noch mal Entwickler-Werkzeuge eingeschaltet und dann bin ich auf 
Werkzeuge gegangen schon kam Fehler 404 Not Found / Part neu geladen und 
der andere Fehler ist auch wieder da. Deaktivieren ich die 
Entwickler-Werkzeuge bleibt der Fehler. So wie es aussieht wird irgend 
etwas in der config verändert ich weiß leider nicht was ich sehe nur 
einen andere Uhrzeit von der confdatei.

Ich schiebe Dir die gepackten Ordner alle jetzt auch noch in das 
Verzeichnis, damit Du sie auch hast, eventuell siehst Du mehr. Auch eine 
Sache habe ich noch, wenn ich irgend etwas in der Konfiguration über der 
Webseite änder möchte, muss ich das immer zweimal machen beim ersten Mal 
wird es nicht übernommen, erst immer bei dem zweiten Mal.

: Bearbeitet durch User
von Stefan L. (leubi)


Lesenswert?

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.

von Drago S. (mratix)


Lesenswert?

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

von Jan B. (do9jhb)


Lesenswert?

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.

von Stefan L. (leubi)


Lesenswert?

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

von Stefan L. (leubi)


Lesenswert?

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?

von Jan B. (do9jhb)


Lesenswert?

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.

von Stefan L. (leubi)


Angehängte Dateien:

Lesenswert?

Jan B. schrieb:
> Stefan L. schrieb:
>> Wäre das nicht eine Möglichkeit, ein Updaten zu intrigieren?
>
> Das Problem ist das dafür git auf dem Server installiert sein muss, was
> auf vielen reinen Webservern nicht der Fall ist... Aber ich schaue mir
> das Mal an, vielleicht kann man zumindest einen Button integrieren,
> worüber man ein git pull anstoßen kann.
>
> Gruß
> Jan B.

Das ist eine gute Idee, ich kenne sowas von Apachestatus, siehe Bilder.
Wenn man dann da drauf drückt, wird eine Aktualisierung durchgeführt.

: Bearbeitet durch User
von Mr. AtiX (Gast)


Lesenswert?

$ 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.

von Mr. AtiX (Gast)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

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?"

von Lötlackl *. (pappnase) Benutzerseite


Lesenswert?

Da ich ebenso ein gewisses Interesse zu dieser Lagerverwaltungs-Software 
hege, würde ich gerne mehr über den Stolperstein "Windows" wissen 
wollen.
Stand der Dinge scheint folgendes zu sein.

https://www.mikrocontroller.net/articles/Part-DB_RW_-_Lagerverwaltung

>> "2.1 Anleitung zum Bau eines PartDB-Servers in einer virtuellen Maschine
>>
>> Dieser Abschnitt hat noch Baustellenstatus
>> 2.1.1 Voraussetzungen
>>
>> VMware Server 2.0 oder ein ähnliches System ist installiert. (Kann von >> 
http://downloads.vmware.com/d/info/datacenter_downloads/vmware_server/2_0 V >> 
kostenlos heruntergeladen werden.)"

Offenbar ist VMware Server inzwischen tot, ein ähnliches System wird 
nicht beschrieben.
Welche Alternativen gibt es?

Bedingung: Windows 7

Danke und Gruß

: Bearbeitet durch User
von Drago S. (mratix)


Lesenswert?

Lötlackl *. schrieb:
> Da ich ebenso ein gewisses Interesse zu dieser Lagerverwaltungs-Software
> Welche Alternativen gibt es?
Docker, Virtualbox (Linux Instanz)

von Drago S. (mratix)


Lesenswert?

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.

von Drago S. (mratix)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

@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.

von Jan B. (do9jhb)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

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.

von Lötlackl *. (pappnase) Benutzerseite


Lesenswert?

@Mister A. und natürlich @Nano

Danke für die sehr ausführlichen Antworten.

von Nano (Gast)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

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.

von Drago S. (mratix)



Lesenswert?

Ich hätte noch einen Vorschlag

> Baugruppe/Projekt/Teile per Name zuordnen
In dieser Ansicht noch die Spalte "Bestand" darstellen.
Die Spalte Hersteller wäre m.M.n. hier überflüssig.

Unterhalb neben dem hinzufügen-Button wäre noch Platz für ein "neues 
Bauteil anlegen". Hätte den Vorteil, beim zusammenstellen der Liste, 
schnell fehlende Teile anzulegen ohne die Baugruppe/Projekt verlassen zu 
müssen.
Denkbar wäre auch, die letzte Zeile vom Suchergebnis, mit leeren Feldern 
auszustatten um damit ein Bauteil anzulegen.

Auch die Bezeichnung "Teile per Name zuordnen" würde ich auf "Bauteile 
aufnehmen/zuordnen" ändern bzw. kürzen.

Und final (siehe Bild), vvlt. wäre es möglich das ganze etwas kompakter 
zu machen? z.B. die Artikelbeschreibung auf 2-3 Zeilen kürzen.

: Bearbeitet durch User
von Jan B. (do9jhb)


Lesenswert?

So es gibt jetzt eine Version 0.5.4 von Part-DB 
(https://github.com/Part-DB/Part-DB/releases/tag/v0.5.4), wo ich eure 
gemeldeten Bugs behoben habe und ein paar eurer Anregungen umgesetzt 
habe. Die Genauen Release Notes können hier gefunden werden 
(https://github.com/Part-DB/Part-DB/blob/master/readme/changelog.md)

von Jan B. (do9jhb)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

Jan B. schrieb:
> So es gibt jetzt eine Version 0.5.4 von Part-DB
> (https://github.com/Part-DB/Part-DB/releases/tag/v0.5.4), wo ich eure
> gemeldeten Bugs behoben habe und ein paar eurer Anregungen umgesetzt
> habe. Die Genauen Release Notes können hier gefunden werden
> (https://github.com/Part-DB/Part-DB/blob/master/readme/changelog.md)

Super, ich werde es nachher gleich mal ausprobieren.

von Nano (Gast)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

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.

von Drago S. (mratix)


Lesenswert?

Ich bin jetzt auch auf 0.5.3->0.5.4

https://github.com/Part-DB/Part-DB.git verweist immer auf den branch 
master, somit auf die dev-version. Die stable-v0.5 bekomme ich nicht 
ge-git-ed. Mache ich was falsch?

Die Einkaufsinformationen (Preis/pStk) verschwinden immer noch. Es 
könnte auch sein, dass ich immer noch die vorher_verschwundenen 
herausfische. Seit wann das passiert, kann ich nicht genau sagen. 
Zumindest bei den betroffenen Bauteilen gab es zwischendrin kein 
Versionsupdate. Ich habe einige Stichproben seit 0.5.2 gemacht. 
Unmittelbar nach dem Anlegen, eintragen und auch nachträglichem ändern 
waren sie noch vorhanden. Also irgendwann zwischen später und dem 
Eintreffen der Ware :)

Die Schriftart ist seit 0.5.x komplett in Fett/bold. Es gibt keinen 
Textschnipsel in der normal Schriftart. Finde ich nicht so schön.

Ein paar Eingabefelder sind jetzt so kurz, dass man nur noch die erste 
Ziffer zusammengequetscht sieht. z.B. bei den Einkaufkonditionen Feld 
Preis+pStk.

Zu den Einkaufsinformation hätte ich noch eine Idee. Wie groß wäre der 
Aufwand einen Calculator einzubauen? Nein, keinen Taschenrechner mit 
Algebra, nur einen Währungsumrechner. Beim shoppen sind die Preise meist 
in US$. Eine zweite Währung durch das gesamte System zu führen muss 
nicht sein. Obwohl, möglicherweise wäre das sogar einfacher?

Bauteil/Dateianhänge, dieses Riesenfeld "drag & drop files here", muss 
das bei allen (bei den bestehenden) Anhängen sein? 
Rieeeesenplatzverschwendung.

Achja, ich suche vergebens nach einem Donate-Button um da mal 
draufzudrücken... Du leistest sehr gute Arbeit, Danke!

Nano schrieb:
> Zur Änderung bezüglich "show_device_parts.php".
> Hier würde ich den Button "Bauteile aufnehmen/zuordnen" in "Bauteil
> hinzufügen" ändern.
geht auch. War nur ein Vorschlag um den Begriff "per Namen..." zu 
eliminieren :)

: Bearbeitet durch User
von Ludwig K. (hellas)


Lesenswert?

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...

von Jan B. (do9jhb)


Lesenswert?

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.

von Ludwig K. (hellas)


Lesenswert?

Ich war mal so frei... ;-)

von Nano (Gast)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

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.

von Drago S. (mratix)



Lesenswert?

Danke für euere Antworten. Ich schreibe einfach mal ohne Zitate.

Umgebung: Primär nutze ich natürlich den Desktop, Linux (Ubuntu+Debian), 
Firefox. Gelegentlich greife ich auch zum Android Smartphone, Tablett, 
Fernseher. Windows hat zu Hause seit 10 Jahren Hausverbot :)
Alle Anfragen beziehen sich, soweit nicht anders angegeben, immer auf 
die letzte/vorletzte stable v0.5.
Eine dev v0.6 läuft parallel und greift auf die gleiche Datenbank zu. 
Bei dieser ist $ media -> ../../partdb/data/media  auf die stable 
symlinked.
Eine weitere (bisher ungenutze Instanz) liegt im Docker Container. Die 
Datenbankanbindung sit vorhanden, media-folder nicht angebunden.
Und das ganze ist im heimischen LAN, NAS, keine ext. Cloud od. Webspace.

Browser: Wie es sich herausstellt, scheint es doch am Browser zu liegen 
[Screenshots font-*]. Firefox verunstaltet die Schriftart (nur bei 
Part-DB) als auch die Feldbreite [Screenshots feld-breite-*]. Opera 
hingegegen verschiebt etwas die Anordnung/Layout, ändert nichts an der 
Feldbreite. Naja, das Rätsel hätten wir gelöst.

Platzverschwendung: [dragdrop-wastespace] gibt es nur beim Desktop. 
Unter Android ist es angenehm als Durchsuchen-Button. Ich meine es würde 
völlig reichen, das Feld nur für neue Attachments darzustellen. Bei den 
vorhandenen (=Anlage ersetzen) finde ich es überflüssig.

Bei einer Baugruppe [baugruppe-übersicht] muss ich gerade ganz doll 
staunen. Da fehlen jetzt massenweise Einkaufsinformationen. In diesem 
Projekt sollte eigentlich alles zu 95% komplett sein. Nur die Teile der 
letzten Lieferung [bestellung-ek-vorhanden] habe ich noch nicht 
eingebucht. Aus diesem Screenshot sieht man beispielsweise dass alle 
EK-Infos vorhanden sind bzw. waren.

Die Ansicht eines Bauteils [bauteil-detail] verrät keine EK-Information 
zu haben. Hier sieht man auch, dass ich das Teil seit dem Anlegen nicht 
mehr angefasst (editiert) habe.

Ein weiterer check [bauteil-eingebucht] ist das Ergebnis eines 100% 
komplett sauber angelegtem und eingebuchten Bauteils.

Ich weis echt nicht mehr, wo ich ansetzen soll um den Übeltäter (der die 
EK-Infos frisst) zu entlarven. Ob da irgendwas an den 
MySQL-Tabellen/Verknüpfungen/Indizes ist, oder eine konpromitierte 
php-Anweisung... keine Ahnung. Die Anzahl der betroffenen Bauteile nimmt 
täglich zu.

Die DB/Tabellen hab ich schon (myphpadmin) gecheckt, gemeckert oder 
fehlermoniert wird nichts.

Sorry im Moment ist die Laune irgendwie angegriffen.

: Bearbeitet durch User
von Bonsi (Gast)


Lesenswert?

Hallo,

kann ich das System auch offline mit einem Handscanner nutzen? (z.B. PI 
+ Scanner xyz)

Grüße

von Drago S. (mratix)


Lesenswert?

Bonsi schrieb:
> kann ich das System auch offline mit einem Handscanner nutzen? (z.B. PI
> + Scanner xyz)

Unverbindlich Ja (da ich keine Barcodes nutze).

Logisch: Ich sehe unter Verwaltung/Tools/Labelgenerator die Möglichkeit 
Labels zu drucken. Ebenso in den Suchoptionen/Filter gibt es Barcode.
Bei mir ist er ausgeblendet. Entweder woanders deaktiviert oder das 
ganze ist noch in Vorbereitung.

Technisch: würde nichts dagegen sprechen, auf dem RasPi o.ä., den 
Webserver samt Datenbank zu installieren.
Der Scanner macht eh nichts anderes als Striche in Zahlen zu wandeln. 
Diese an die Suchfunktion übergeben... sollte gehen.

Aber vielleicht meldet sich jemand zu Wort, der es im Einsatz hat.

: Bearbeitet durch User
von Drago S. (mratix)


Lesenswert?

Bug gefunden: Anführungszeichen

Wenn in der Beschreibung (2. Zeile) ein Anführungszeichen/Gänsefüßchen 
vorkommen, wird der Rest abgeschnitten. Sobald man Kategorie anklickt 
oder es speichert.

Anwendungsfall: Inch, z.B. 3.5" Display

-> vorgesetztes Backslash schafft keine Abhilfe
-> Alternativ das Hochkomma ' (Shift+Raute) verwenden

: Bearbeitet durch User
von Nano (Gast)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

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.

von Jan B. (do9jhb)


Lesenswert?

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...

von Jan B. (do9jhb)


Lesenswert?

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?

von Jan B. (do9jhb)


Lesenswert?

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.

von Drago S. (mratix)


Angehängte Dateien:

Lesenswert?

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 :)

von Nano (Gast)


Lesenswert?

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.

von Drago S. (mratix)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

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.

von Ludwig K. (hellas)


Lesenswert?

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.

von Jan B. (do9jhb)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

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.

von Jan B. (do9jhb)


Lesenswert?

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.

von Drago S. (mratix)


Lesenswert?

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.

von Drago S. (mratix)


Lesenswert?

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.

von Jan L. (ranzcopter)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

Also so ne Art Wikipedia oder OpenStreetMap für Bauteile.

von Jan B. (do9jhb)


Lesenswert?

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...

von McSchaf (Gast)


Lesenswert?

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?

von Jan B. (do9jhb)


Lesenswert?

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.

von McSchaf (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Jan B. (do9jhb)


Lesenswert?

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.

von Chris K. (kathe)


Lesenswert?

Hallo Jan,

auf meiner Syno läuft noch PHP 7.0.30-0027 (2018-08-29)

Gruss Chris

von Matthias F. (idefix)


Lesenswert?

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.

von Jan L. (ranzcopter)


Lesenswert?

Würde ich auch so sehen. Eine V0.5 könnte ja als ‚Legacy-Release‘ noch 
verfügbar bleiben, ggf. noch mit Bugfixes. Neues dann in >= 0.6...

von Jan B. (do9jhb)


Lesenswert?

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.

von Jan B. (do9jhb)


Lesenswert?

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.

von Jan B. (do9jhb)


Lesenswert?

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.

von Holm T. (Gast)


Lesenswert?

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

von Nano (Gast)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

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.

von Jan B. (do9jhb)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

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.

von Jan L. (ranzcopter)


Lesenswert?

Jan B. schrieb:
> Das mit Debian ist in der Tat ein Problem, aber zumindest für die
> Homeanwender gibt es auch PHP7.2 Pakete aus den nicht Standard Quellen
> (die müsst man sogar parallel, zu PHP7.0 installieren können, so dass
> nur Part-DB die neue PHP Version benutzt).

Exakt; "alle Welt" benutzt sury.org, und ein Debian9 auf PHP7.1/2 
umzustellen stellt einen "4zeiler" dar, und ist im Normalfall in 2 
Minuten erledigt.

Wobei "Normalfall" natürlich heisst "nicht verbastelt"... ;-)
1
wget -q -O- https://packages.sury.org/php/apt.gpg | apt-key add -
2
echo "deb https://packages.sury.org/php/ stretch main" | tee /etc/apt/sources.list.d/php.list
3
apt-get update
4
apt install php7.2 php7.2-cli php7.2-common php7.2-curl php7.2-gd php7.2-json php7.2-mbstring \
5
php7.2-mysql php7.2-opcache php7.2-readline php7.2-xml libapache2-mod-php7.2

von Nano (Gast)


Lesenswert?

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.

von Jan B. (do9jhb)


Lesenswert?

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.

von Jan L. (ranzcopter)


Lesenswert?

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... :)

von Nano (Gast)


Lesenswert?

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.

von Nano (Gast)


Lesenswert?

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.

von Jan B. (do9jhb)


Lesenswert?

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.

von Johannes F. (doppelgrau)


Lesenswert?

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.

von Jan B. (do9jhb)


Lesenswert?

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.

von Johannes F. (doppelgrau)


Lesenswert?

Wie war das mit dem Wald und den Bäumen ...  :D

Das sieht gut aus, auch wenn es nett wäre im Lager auch zu können, aber 
"brennt" nicht.

von Christoph F. (christoph_f844)


Lesenswert?

Hi!

Ich bin ein neuer Nutzer von partdb (0.6.0-dev, PHP 7.1.23) und muss
mich erst noch ein wenig einarbeiten :)
Danke jedenfalls für die Arbeit, die da in dem Projekt schon drinnen
steckt.

Teilweise wurden mir manche Workflows erst mit dem Lesen der topics auf 
microcontroller.net klar, aber hier gehen solch Infos dann doch ganz 
leicht unter. Ich hoffe, dass ich da nicht zu viele Fragen dupliziere.

Wirkliche Issues habe ich bereits bei github eingetragen, aber ein paar
Fragen werden sicherlich noch auftauchen. So zb:
0. Wie werden die Branches in Github verwendet? stable 0.5: "This branch 
is 55 commits ahead, 34 commits behind master." Beinhaltet der master 
(0.6.0-dev) also nicht alle commits vom stable? Ganz schlau werde ich 
aus der git History nicht. Habe das zuvor nicht beachtet und einfach den 
master auf dem Server installiert. Vielleicht wäre gitflow eine 
Möglichkeit dies zu strukturieren: 
https://datasift.github.io/gitflow/IntroducingGitFlow.html

1. Gibt es eine Möglichkeit sich alle Lagerorte anzeigen zu lassen, wo
keine Bauteile zugewiesen sind? Szenario: Ich habe 300 einzelne Boxen in
einem Kleinteilesortiment und möchte die leeren Positionen mit Bauteile
befüllen.

2. Umgekehrt dazu: Wäre es nicht auch sinnvoll Lagerorte optional nur
für zb. ein Bauteil zuzulassen? ad 1.: Somit wären ohnehin nur mehr
wirklich leere Positionen in der Liste (bei Bauteil bearbeiten)
auszuwählen.

3. Welche Auswirkung hat das Flag "voll" bei einem Lagerort? Ich kann
mit der Markierung immer noch neue Bauteile einsortieren.

4. Die Auflistung unter Lagerorte: Ein Link zum Bearbeiten sowie die
Anzeige des aktuellen Status (voll ja/nein) wäre hilfreich, ohne zuerst
auf Verwaltung - Bearbeiten - Baugruppen gehen zu müssen.

5. Wie legt ihr neue Bauteile an? Ich kann zuvor in eine Kategorie
klicken (Neues Teil in der Kategorie), nicht jedoch aus der Liste des
Lagerorts raus oder ein globales "Bauteil hinzufügen", also mit leeren
Feldern, finde ich auch nicht.

6. Ich habe bei der Installation die Anweisung laut Github-Wiki befolgt. 
Da ich keine Möglichkeit habe den Owner der Datein am Server (gehostet) 
zu ändern, habe ich zusätzlich "data" auf 775(d) bzw. 664(f) gesetzt. 
Darüber hinaus musste ich aber gleiches auch bei templates_c machen, da 
ich sonst zB.die Benutzergruppen nicht bearbeiten konnte:
1
unable to write file /data/web/FTPUSER/html/partdb/templates_c/wrt5c0e71e97df487_41549775
Vielleicht kann man das im Wiki ergänzen?

: Bearbeitet durch User
von Jan B. (do9jhb)


Lesenswert?

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.

von Jan B. (do9jhb)


Lesenswert?

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

von Kai B. (kaib) Benutzerseite


Lesenswert?

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

von Klaus W. (overheater)


Lesenswert?

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

von Johannes F. (doppelgrau)


Lesenswert?

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).

von Jan B. (do9jhb)


Lesenswert?

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.

von Jan B. (do9jhb)


Lesenswert?

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.

von Klaus W. (overheater)


Lesenswert?

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

von Kai B. (kaib) Benutzerseite


Angehängte Dateien:

Lesenswert?

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

von Klaus W. (overheater)


Lesenswert?

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

von Klaus W. (overheater)


Lesenswert?

....... die Platzierung der Ordner hatte ich von Anfang an so gemacht, 
weil mir das so am stimmigsten vorkam.......

von Klaus W. (overheater)


Lesenswert?

es läuft!

schreibe nochmal näheres.
Klaus

von Martin (Gast)


Lesenswert?

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

von Mr.AtiX (Gast)


Lesenswert?

Martin schrieb:
> richtig...location /data {
>     deny all;
>     return 403;
> }
Hmmm, webroot vs subfolder...
Versuche es mal mit /part-db/data

von Mr.AtiX (Gast)


Lesenswert?

Kommando zurück.
/data müsste so passen, aber check mal den webroot-path

Hier ein paar Beispiele: 
[https://www.digitalocean.com/community/tutorials/understanding-nginx-server-and-location-block-selection-algorithms]

von Martin (Gast)


Lesenswert?

Hi AtiX,

Danke für die Antwort. Läuft nun alles wie gedacht...war scheinbar ein 
Tippfehler drin...war schon zu spät gestern.

Viele Grüße
Martin

von Klaus W. (overheater)


Lesenswert?

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

von Klaus W. (overheater)


Lesenswert?

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......

von Gerald *. (pyromane)


Lesenswert?

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

von Klaus W. (overheater)


Lesenswert?

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

von Chris K. (kathe)


Lesenswert?

Hallo Jan,

Chris K. schrieb:
> Hallo Jan,
>
> auf meiner Syno läuft noch PHP 7.0.30-0027 (2018-08-29)
>
> Gruss Chris

PHP 7.2.13 ist nun auf meiner Synology nun auch verfügbar.
Downloadcount des Paketes ist nun 1 ,wenn der Zähler wirklich stimmt.

Gruss Chris

: Bearbeitet durch User
von Ludwig K. (hellas)


Lesenswert?

Moin Jan!
Ich bin gespannt auf Neuigkeiten.
Gibt es was aus der Entwicklungsabteilung zu berichten? ;-)

: Bearbeitet durch User
von Jan B. (do9jhb)


Lesenswert?

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.

von Gerald *. (pyromane)


Lesenswert?

Hallo Jan,

danke für deinen Einsatz und das Statusupdate!

Grüße
Gerald

von Gottfried (Gast)


Lesenswert?

Wollte es jetzt installiert, aber es funktioniert nicht.
Fehler HTTP 500: Interner Fehler
error.log:
1
[Tue Apr 23 22:01:32.082200 2019] [php7:error] [pid 6572:tid 976] [client ::1:50550] PHP Fatal error:  Uncaught Error: Class 'PartDB\\Database' not found in D:\\Daten\\htdocs\\Part-DB\\inc\\lib.start_session.php:291\nStack trace:\n#0 [internal function]: exception_handler(Object(Error))\n#1 {main}\n  thrown in D:\\Daten\\htdocs\\Part-DB\\inc\\lib.start_session.php on line 291, referer: http://localhost/

PHP 7.1.9
MariaDB 10.2.8

Zeile 291:
1
        $database           = new Database();

von Drago S. (mratix)


Lesenswert?

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?

von Gottfried (Gast)


Lesenswert?

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

von Thomas M. (Firma: https://img.favpng.com/23/21/3) (thomasmopunkt)


Lesenswert?

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

von Gottfried (Gast)


Lesenswert?

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.

von Thomas M. (Firma: https://img.favpng.com/23/21/3) (thomasmopunkt)


Lesenswert?

ach sorry, verwechsle das wohl gerade mit der anderen Lagerverwaltung 
Elela oder wie die heißt..
Mit Datenbank wund Installation etc. wäre mri das sowieso zu blöd für so 
eine Anwendung

: Bearbeitet durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Gottfried schrieb:
> Aufrufen der Seite http://localhost/Part-DB/ -> Fehler HTTP 500:
> Interner Serverfehler.

Und, mal ins Apache-Log gesehen?

von Jan L. (ranzcopter)


Lesenswert?

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.

von Jan B. (do9jhb)


Lesenswert?

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...

von Jan L. (ranzcopter)


Lesenswert?

ah, der Meister ist anwesend :) - nutze ich mal für einen kleinen 
Hinweis für die, die sich Part-DB mit den aktuellsten "master.zip" 
installieren (oder updaten) wollen.
Liefert (zumindest unter PHP7.2) den Fehler:
1
PHP Fatal error:  Uncaught TypeError: Return value of PartDB\User::getLoggedInID() must be of the type integer, string returned in /site/Part-DB-master/lib/User.php:853
2
Stack trace:
3
#0 /site/Part-DB-master/lib/User.php(867): PartDB\User::getLoggedInID()
4
#1 /site/Part-DB-master/lib/Log.php(125): PartDB\User::getLoggedInUser(Object(PartDB\Database), Object(PartDB\Log))
5
#2 /site/Part-DB-master/inc/lib.start_session.php(292): PartDB\Log->__construct(Object(PartDB\Database))
6
#3 [internal function]: exception_handler(Object(TypeError))
7
#4 {main}
8
  thrown in /site/Part-DB-master/lib/User.php on line 853

Quickfix:
habe in lib/User.php in Zeile 853 auf int gecasted:
1
return (int)$_SESSION['user'];

von Gottfried (Gast)


Lesenswert?

Die benötigten Pakete hab ich:
in PHP:
php_mysqli.dll
php_mbstring.dll
pdo mit oci, odbc, pgsql und sqlite
php_gettext.dll

Die Datei "Database.php" finde ich nirgends im Verzeichnis.
1
D:\Daten\htdocs\Part-DB>C:\PHP\php.exe composer.phar dump-autoload -o
2
3
4
  [Composer\Exception\NoSslException]
5
  The openssl extension is required for SSL/TLS protection but is not available. If you can not enable the openssl ex
6
  tension, you can disable this error, at your own risk, by setting the 'disable-tls' option to true.
7
8
9
dump-autoload [--no-scripts] [-o|--optimize] [-a|--classmap-authoritative] [--apcu] [--no-dev]

Ich lese mir noch die Anforderungen genau durch

von Gottfried (Gast)


Lesenswert?

Hab vergessen in der php.ini die libraries vergessen zu laden:
extension=php_gettext.dll
extension=php_openssl.dll

C:\PHP\php.exe composer.phar install -o --no-dev
hat jetzt 4 Pakete geupdated.
1
D:\Daten\htdocs\Part-DB>C:\PHP\php.exe composer.phar dump-autoload -o
2
Generating optimized autoload files

Es funktioniert noch immer nicht.
Immer noch der selbe Fehler 'PartDB\\Database' not found

von Jan B. (do9jhb)


Lesenswert?

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?

von Gottfried (Gast)


Lesenswert?

Heute nach dem Neustarten des Rechners funktioniert es nun.
Jetzt kommt die Einstellungsseite.

Hatte wohl der Apache gestreikt? :)

von Jan B. (do9jhb)


Lesenswert?

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

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Die Windows-Implementierung von money_format (in lib.functions.php) kann 
unter bestimmten Bedingungen Exceptions beim Aufruf von iconv werfen.

Abhilfe:

Die Zeile
1
$locale[$key] = iconv('Windows-1252', 'UTF-8', $value);

ersetzen durch
1
if (is_string($value))
2
  $locale[$key] = iconv('Windows-1252', 'UTF-8', $value); 
3
else
4
  $locale[$key] = $value;

Hintergrund:
Das hier iterierte "locale"-Array enthält sowohl Strings als auch 
numerische Werte.

Numerische Werte aber lassen sich mit iconv nicht konvertieren (das gibt 
o.g. Exception), aber das ist auch nicht nötig.

: Bearbeitet durch User
von GerdM (Gast)


Lesenswert?

Hallo,

ich habe ein Problem bei der installtion von Version 0.5.6 und suche 
nach Hilfe bzw. einer Lösung.
1
2019/05/03 17:44:52 [error] 268#268: *1 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Error: Class 'PartDB\Database' not found in /config/www/PartDB/inc/lib.start_session.php:286
2
Stack trace:
3
#0 [internal function]: exception_handler(Object(Error))
4
#1 {main}
5
  thrown in /config/www/PartDB/inc/lib.start_session.php on line 286" while reading response header from upstream, client: XX.XX.XX.XX, server: XXXXXX.de, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "XXXXX.de"

Server:
1
NGINX mit PHP Version 7.2.17
2
Linux dd98070beb98 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64

Serverkonfig:
1
location ~ [^/]\.php(/|$) {
2
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
3
    fastcgi_pass 127.0.0.1:9000;
4
    fastcgi_param HTTPS on;
5
    fastcgi_index index.php;
6
    include /etc/nginx/fastcgi_params;
7
}

HTTP 500 kommt als Antwort beim Aufruf der index.php.
Viele Dank für eure Hilfe.

von Uhu U. (uhu)


Lesenswert?

Eine winzige Kleinigkeit:

> Part-DB, Copyright © 2019 of Jan Böhmer .

Das muss heißen: Part-DB, Copyright © 2019 by Jan Böhmer

Inwieweit ist denn diese Version mit der alten Datenbank kompatibel?

: Bearbeitet durch User
von Jan B. (do9jhb)


Lesenswert?

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.

von Jan B. (do9jhb)


Lesenswert?

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.

von Drago S. (mratix)


Lesenswert?

Die hier gemeldeten Fehler der letzten Tagen kommen aber nicht aus der 
stable? Und Experimente fließen hoffentlich auch nicht hinein?

Ich habe 3 produktive Instanzen an 3 Standorten. Die laufen und 
laufen... Daher bin ich etwas am Staunen, was hier so aufschlägt.

@Jan, könntest du bitte den Thread so gestalten und führen, dass primär 
auf die stable verwiesen wird, nicht auf aktuelle Entwicklung. Erst 
Recht nicht auf eine Alpha.

Da die Hälfte der Leute mit Begriffen wie mysql und Apache nichts 
anfangen können, wäre ggf. auch das Docker image erwähnenswert.

: Bearbeitet durch User
von GerdM (Gast)


Angehängte Dateien:

Lesenswert?

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.

von GerdM (Gast)


Lesenswert?

Habe die Lösung gefunden.
Fehler in der php.ini für den NGINX, php7-gettext und php7-mbstring 
wurden inkorrekt geladen.

von Stefan L. (leubi)


Angehängte Dateien:

Lesenswert?

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

von Drago S. (mratix)


Lesenswert?

Hallo zusammen,

hier rührt sich nicht mehr viel.
Auf den Demoseiten liegt immer noch die Alpha. Auf github sehe ich 
ebenso keinen Fortschritt...

wurde die Entwicklung eingestellt?

: Bearbeitet durch User
von Jan B. (do9jhb)


Lesenswert?

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.

von Drago S. (mratix)


Lesenswert?

Hallo Jan,

Jan B. schrieb:
> Ich war die letzen Monate Recht beschäftigt (Uni, Klausuren und so)
Aaah, alles klar.

Nach wie vor, liebe ich das Teil :) Der Datenbestand wächst und 
gedeiht...

Mit Preis erfasste Bauteile:3176
Wert aller mit Preis erfassten Bauteile:xxx €
Anzahl der verschiedenen Bauteile:3226
Anzahl der vorhandenen Bauteile:7886
Anzahl der Kategorien:285
Anzahl der Footprints:259
Anzahl der Lagerorte:123
Anzahl der Lieferanten:27
Anzahl der Hersteller:252
Anzahl der Baugruppen:46
Anzahl der Dateianhänge:5396
Anzahl der Footprint Bilder:1703
Anzahl der Footprint 3D Modelle:1
Anzahl der Hersteller Logos:348

Was ich persönlich, sehr vermisse ist eine feinere Suche. Und der 
anschließende simple Klick auf "nur im Bestand".

Vielleicht kannst du etwas in die Richtung booleschen Operatoren 
AND/OR/NOT/=/!/+/- einbauen?
Muss ja nicht gleich eine Parametriesuche sein. RegEx ist mir zu 
kompliziert. Vielleicht könnte man damit etwas "Benutzerfreundliches" 
machen?

Jedenfalls bedanke ich mich im voraus und wünsche dir noch viel Glück 
bei den Prüfungen.

...lass uns bloß nicht sitzen :)

: Bearbeitet durch User
von Moritz (Gast)


Lesenswert?

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 ?

von Jan L. (ranzcopter)


Lesenswert?

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.

von Moritz (Gast)


Lesenswert?

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.

von Jan L. (ranzcopter)


Lesenswert?

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

von Drago S. (mratix)


Lesenswert?

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?

von meinereiner (Gast)


Lesenswert?

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.

von Jan L. (ranzcopter)


Lesenswert?

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?

von Drago S. (mratix)


Lesenswert?

Jan L. schrieb:
> Dass das nicht besonders sinnvoll ist wenn man "Baugruppen" auch regulär
> benutzen möchte, wurde ansonsten bereits erwähnt.
Die Not macht erfinderisch :)
Danke.

Da finde ich doppelte Bauteile, als Workaround, noch vertretbar.

: Bearbeitet durch User
von Samuel (Gast)


Lesenswert?

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

von Jan B. (do9jhb)


Lesenswert?

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.

von Jan B. (do9jhb)


Angehängte Dateien:

Lesenswert?

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?

von Drago S. (mratix)


Lesenswert?

Optisch ansprechend, wirkt aufgeräumt, übersichtlich.
Statt scrollen ist jetzt klicken angesagt :)

Bauteileansicht: Kommentar als Starttab finde ich ganz gut.
Auch das Bauteil bearbeiten (rechts) sitzt jetzt perfekt.

Die Einführung von Tags macht das ganze lukrativ und eröffnet neue 
Möglichkeiten. Danke! Vielleicht bekommt man es noch hin, dass beim 
Tippen bereits vorhandene Tags eingeblendet werden.

Die Einkaufsinformationen aka Bestellinformationen sind etwas verhunzt. 
Die Mindestmenge springt auf 10. Die erste Preiskondition (wenn 2 oder 
mehr) wird einfach vergessen und verschluckt.
Die vielen hinzufügen Buttons iritieren etwas. Auch wenn es weiterhin 
nur 2+1 sind :)

Im Vergleich zum Vorgänger:
Ich suche vergebens nach einem "neues Bauteil anlegen" Button.
Das schnelle Anlegen (bisher das Feld rechts) vermisse ich sehr.
Die -/+ in der Listenansicht vermisse ich gar nicht, es geht auch ohne 
ganz gut und schafft Platz :)
Bauteileansicht - die anklickbaren Hoover-Texte vermisse ich ganz stark. 
(z.B. schnell zur gleichen Kategorie, Lagerort usw.)

Ansonsten sieht es gut aus. Danke.

PS: ich habe in deiner Demo-Datenbank ein paar Teile angelegt. I.d.A. 
wie ich es sonst habe... Suchbegriffe LDO, 18650.

: Bearbeitet durch User
von Uwe B. (uwebre)


Lesenswert?

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

von Jan B. (do9jhb)


Lesenswert?

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.

von Uwe B. (uwebre)


Lesenswert?

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

von Drago S. (mratix)


Lesenswert?

Achja das wichtigste alpha@symfony:

Das zurückspringen auf den Starttab ist nicht so gut.
Er sollte während dem editieren im gleichen Tab bleiben.

von Ludwig K. (hellas)


Lesenswert?

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.

von Jan B. (do9jhb)


Lesenswert?

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.

von Oliver (nsectfor)


Angehängte Dateien:

Lesenswert?

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

von Jan B. (do9jhb)


Lesenswert?

Oliver S. schrieb:
> Nur müsste ich auch die ID in den Baugruppen sehen können.

Das sollte gehen, wenn du diese Zeile in deine 'data/config.php' 
einfügst:
1
$config['table']['device_parts']['columns']             = 'hover_picture;id;name_description;quantity_edit;mountnames_edit;footprint;instock;storelocation;suppliers;supplier_partnrs;single_prices;total_prices';
 (Je nachdem wo du id plazierst, kannst du die Spalte einstellen, wo das 
erscheint).

In 'inc/config_defaults.php' findet man noch mehr Definitionen der 
Tabellenspalten (alles mit $config['table']).

Oliver S. schrieb:
> Eine suche nach der ID wäre auch praktisch.

Also zumindest im Suchfeld in der Navigationsleiste geht das indem man 
die Nummern achtstellig eingibt, daher 00000013 . Dann wird das Bauteil 
mit der ID 13 direkt aufgerufen.
Das wird eigentlich dazu benutzt ein Bauteil direkt aufzurufen, nachdem 
man mit einem Scanner den Barcode auf einem Bauteil eingescannt hat (da 
stehen die IDs eben als 8 stellige Zahl drin).

von Oliver (nsectfor)


Lesenswert?

Hallo Jan

Vielen Dank für deine schnelle Antowrt.
Und sorry hat meine Rückmeldung nun so lange gedauert.

Jan B. schrieb:
> Oliver S. schrieb:
>> Nur müsste ich auch die ID in den Baugruppen sehen können.
>
> Das sollte gehen, wenn du diese Zeile in deine 'data/config.php'
> einfügst:
>
1
$config['table']['device_parts']['columns']             = 
2
> 'hover_picture;id;name_description;quantity_edit;mountnames_edit;footprint;instock;storelocation;suppliers;supplier_partnrs;single_prices;total_prices';
3
>
 (Je nachdem wo du id plazierst, kannst du die Spalte einstellen,
> wo das erscheint).
>
> In 'inc/config_defaults.php' findet man noch mehr Definitionen der
> Tabellenspalten (alles mit $config['table']).

Logo...da habe ich ja schon damit rumgespielt. Sorry das hätte ich auch 
selber sehen können.

Jan B. schrieb:
> Oliver S. schrieb:
>> Eine suche nach der ID wäre auch praktisch.
>
> Also zumindest im Suchfeld in der Navigationsleiste geht das indem man
> die Nummern achtstellig eingibt, daher 00000013 . Dann wird das Bauteil
> mit der ID 13 direkt aufgerufen.
> Das wird eigentlich dazu benutzt ein Bauteil direkt aufzurufen, nachdem
> man mit einem Scanner den Barcode auf einem Bauteil eingescannt hat (da
> stehen die IDs eben als 8 stellige Zahl drin).

Bei mir ist das irgendwie keine 8 Stellige Zahl.
==>  0'00'00'13 (7 stellig) geht bei mir.
8 Stellen gehen auch....dan muss ich aber hinten noch eine 0 anstellen.
==> 00'00'01'30


Nun habe ich noch neue Fragen
- Gibt es eine Möglichkeit die ID auch beim Part auf der Detailseite 
einzublenden?

- Komma bzw Punkt als Währungstrennzeichen.
Da ich in der Schweiz wohne, würde ich gerne die Eingabe 20.00 
ermöglichen. Wird aber nicht angenommen mit der Fehlermeldung "Bitte 
geben Sie eine Nummer ein"
Eingegeben mit Komma, wird dan als Punkt angezeigt.

von Oliver (nsectfor)


Angehängte Dateien:

Lesenswert?

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.

von R. Holzknecht (Gast)


Lesenswert?

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

von Andreas G. (andreasgs)


Lesenswert?

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

von Jan B. (do9jhb)


Lesenswert?

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

von Andreas G. (andreasgs)


Lesenswert?

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?

von Andreas G. (andreasgs)


Lesenswert?

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?

von Jan B. (do9jhb)


Lesenswert?

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)

von Oliver (nsectfor)


Lesenswert?

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.

von Oliver (nsectfor)


Angehängte Dateien:

Lesenswert?

Nachtrag.
Wenn ich mich über phpmyadmin einloge und auf device-parts gehe,
sehe ich das Problem.

==> db_nummerierung
==> auto_increment

(bei Beiden Baugruppen ID 1/2 ist das selbe Bauteil ID12 angehängt.)

Wie kann ich aber in der Tabelle die id_part anzeigen?
Wenn ich in der config.php von id auf id_part ändere, wird ein Fehler 
bei der Anzeige der Baugruppe angezeigt.

: Bearbeitet durch User
von Jan B. (do9jhb)


Lesenswert?

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.

von Oliver (nsectfor)


Angehängte Dateien:

Lesenswert?

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.

von Oliver (nsectfor)


Angehängte Dateien:

Lesenswert?

So ich wollt den Thread wieder mit meinem Währungszeichen problem 
hervorholen.

Wir schweizer verwenden den "." als Trennzeichen.
==> Auf dem Zahlenblock ist auch der Punkt.
Etwas mühsam bei der Eingabe von Preisen immer das Komma suchen zu 
müssen.

Edit:
Das Problem scheint ein Firefox Problem zu sein.
Trotz einstellunge der Sprache de-CH will er einen Punkt nicht 
akzeptieren.
Chrom / Edge funktionieren Problemlos

: Bearbeitet durch User
von Bernd (Gast)


Lesenswert?

Wenn man die Software lokal und als Single-User verwenden will: Was muß 
ich einstellen, damit ich ohne einzuloggen an alle Funktionen komme?

von Jan B. (do9jhb)


Lesenswert?

Bernd schrieb:
> Wenn man die Software lokal und als Single-User verwenden will:
> Was muß ich einstellen, damit ich ohne einzuloggen an alle Funktionen
> komme?

Als Admin einloggen, und dann unter System->Benutzer dem "Anonymous" 
User alle Rechte geben.

von Drago S. (mratix)


Lesenswert?

Jan B. schrieb:
> Software lokal und als Single-User verwenden
Gibt es eine Möglichkeit das Logging komplett zu deaktiveren?

Ich habe das Gefühl, ganz gleich wie man den loglevel setzt, loggt er 
trotzdem fleißig jedes kleinste und unbedeutendste Event.

Das füllt m.M. nur unnötig die Datenbank.

Vielleicht könnte man stattdessen einen Ringbuffer verwenden?

Interresanter fände ich es, die letzten 3 Änderungen rückgängig zu 
machen. Quasi ein undo, Ctrl-Z.

: Bearbeitet durch User
von Bernd (Gast)


Lesenswert?

Jan B. schrieb:
> Als Admin einloggen, und dann unter System->Benutzer dem "Anonymous"
> User alle Rechte geben.
Danke, das scheint zu funktionieren :-)

von Matthias W. (macho2000)


Lesenswert?

Hallo zusammen,

ich habe lange part-db 3.01 genutzt und nun gerade auf 6.0 hochgezogen. 
Upgrade aht super funktioniert. Danke an die Entwickler...

Ich habe nun noch eine Frage zur Nutzung.

Ich habe mir gerade mal wieder teile bei Reichelt bestellt. Ich würde 
diese gerne über eine csv in die Datenbank laden. Dazu habe ich schon 
die csv Importiert.

Nun meine Fragen:

1.) Ich muss neuerdings scheinbar zwingend schon Kategorien angeben, 
damit ich importieren kann. Ist das abschaltbar so das alle Teile erst 
mal zur Kategorie "unkategorisiert" kommen?

2.) Wie verhält es sich mit Bauteilen die schon in der part-db enthalten 
sind. Wird dort der Bestand automatisch hochgezählt?

3.) Gibt es eine andere Strategie um Bestellungen/Lieferungen 
einzulesen?

Danke

Gruß

Matthias

von Jan B. (do9jhb)


Lesenswert?

Matthias W. schrieb:
> 1.) Ich muss neuerdings scheinbar zwingend schon Kategorien angeben,
> damit ich importieren kann. Ist das abschaltbar so das alle Teile erst
> mal zur Kategorie "unkategorisiert" kommen?
>
> 2.) Wie verhält es sich mit Bauteilen die schon in der part-db enthalten
> sind. Wird dort der Bestand automatisch hochgezählt?
>
> 3.) Gibt es eine andere Strategie um Bestellungen/Lieferungen
> einzulesen?
>
> Danke
>
> Gruß
>
> Matthias

Soweit ich weiß gibt es da keine bessere Methode, es ist leider, so das 
die Import (und Export) Funktion der bisherigen Part-DB Versionen 
relativ unbrauchbar ist.

In der Part-DB 1.0 Version (https://github.com/Part-DB/Part-DB-symfony) 
an der ich arbeite, wird das (hoffentlich) besser, aber ich bin noch 
nicht dazu gekommen, eine Importfunktion für Bauteile einzubauen. Das 
wäre aber so eins der nächsten größeren Funktionalitäten der neuen 
Version, die ich als nächstes angehen würde (zusammen mit einem neuen 
Projektsystem)...

von Markus M. (adrock)


Lesenswert?

Hi,

hatte auch schon per Email gefragt... kann man die neue Version 1.0 
schon benutzen, oder würdest Du eher davon abraten und zur 0.6 raten?

Ist ein Update mit Übernahme aller Daten dann später möglich?

Danke & Gruß
Markus

von Jan B. (do9jhb)


Lesenswert?

Markus M. schrieb:
> Hi,
>
> hatte auch schon per Email gefragt... kann man die neue Version 1.0
> schon benutzen, oder würdest Du eher davon abraten und zur 0.6 raten?
>
> Ist ein Update mit Übernahme aller Daten dann später möglich?
>
> Danke & Gruß
> Markus

Ich antworte dir mal hier, damit alle was davon haben:

Also ich denke schon, dass man die 1.0 Version schon einsetzen kann (ich 
habe bei mir auch nur noch die neue Version laufen), insbesondere da sie 
schon wesentlich angenehmer zu benutzen ist als die 0.6er (bzw. die 
0.5).

Die neue Version ist noch nicht so wahnsinnig ausgiebig getestet, da ich 
nicht nach jeder Änderung wieder alles ausprobiere, daher könnte es 
sein, dass da noch Bugs enthalten sind (wenn du was findest, wäre ein 
Issue auf Github gut).

Im Vergleich zu den alten Versionen fehlen aber noch ein paar 
Funktionen, wie Bauteileimport, Projektsystem und Bestellsystem. Die 
braucht man bei einer reinen Lagerverwaltung weniger und auch in der 
alten Version funktionieren die nur bedingt gut, was auch einer der 
gründe für den rewrite war...

Die alten 0.5er/0.6er Versionen werden von mir auch nicht mehr wirklich 
weiter entwickelt werden, vielleicht noch ein paar Bugfixes, aber ich es 
ist wesentlich effektiver (und auch angenehmer) die neue 1.0 Version 
weiterzuentwickeln.

Ich hoffe, das hilft dir weiter.

Viele Grüße
Jan

von Oliver (nsectfor)


Angehängte Dateien:

Lesenswert?

Hallo zusammen

Ich habe ein Probleme bei der Inbetriebnahme von Part-db 0.5.9.

Mein Problem ist: Ich möchte Part-DB gerne auf einem gemieteten Webspace 
(Nur FTP Zugriff) betreiben, damit die Lagerverwaltung von überall 
erreichbar ist.

Die Datenbank Initialisierung etc. ist alles durchgelaufen.
Nur leider lässt sich nichts "ausklappen".
Die Kategorien lassen sich nicht öffnen, ich kann mich nicht anmelden.
==> Alle drop Down Menus sind "Blockiert".

Angehängt ein Printscreen.

von Gerald *. (pyromane)


Lesenswert?

Hallo Oliver,

schau mal in die EntwicklerKonsole deines Browsers rein und liste evtl. 
vorhandene Fehlermeldungen auf.

Grüße

von Oliver (nsectfor)


Lesenswert?

Hallo Gerald

Vielen Dank für den Denkanstoss.
Folgende Fehler habe ich gefunden. Scheinbar wird das Javascript nicht 
ausgeführt oder Blockiert. Evt. grad Spontan eine Idee was da 
schiefgeht?
1
Die Ressource von "http://xy.ch/part-db/vendor/components/jquery/jquery.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
2
Laden fehlgeschlagen für das <script> mit der Quelle "http://xy.ch/part-db/vendor/components/jquery/jquery.min.js". startup.php:4:1
3
Die Ressource von "http://xy.ch/part-db/js/popper/popper.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
4
Laden fehlgeschlagen für das <script> mit der Quelle "http://xy.ch/part-db/js/popper/popper.min.js". startup.php:4:1
5
Die Ressource von "http://xy.ch/part-db/js/jquery.tristate.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
6
Die Ressource von "http://xy.ch/part-db/js/bootstrap.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
7
Laden fehlgeschlagen für das <script> mit der Quelle "http://xy.ch/part-db/js/bootstrap.min.js". startup.php:4:1
8
Die Ressource von "http://xy.ch/part-db/js/js.cookie-2.2.0.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
9
Die Ressource von "http://xy.ch/part-db/js/bootstrap-treeview.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
10
Die Ressource von "http://xy.ch/part-db/datatables/natural.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
11
Die Ressource von "http://xy.ch/part-db/js/jquery.highlight.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
12
Die Ressource von "http://xy.ch/part-db/vendor/nnnick/chartjs/dist/Chart.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
13
Die Ressource von "http://xy.ch/part-db/js/tempusdominus/moment-with-locales.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
14
Die Ressource von "http://xy.ch/part-db/js/tempusdominus/tempusdominus-bootstrap-4.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
15
Die Ressource von "http://xy.ch/part-db/vendor/kartik-v/bootstrap-fileinput/js/fileinput.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
16
Die Ressource von "http://xy.ch/part-db/templates/nextgen/js/functions.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
17
Die Ressource von "http://xy.ch/part-db/templates/nextgen/js/ajax_ui.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
18
Die Ressource von "http://xy.ch/part-db/javascript/calculator.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
19
Die Ressource von "http://xy.ch/part-db/vendor/jquery-form/form/dist/jquery.form.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
20
Die Ressource von "http://xy.ch/part-db/vendor/snapappointments/bootstrap-select/dist/js/bootstrap-select.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
21
Die Ressource von "http://xy.ch/part-db/datatables/datatables.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
22
Die Ressource von "http://xy.ch/part-db/vendor/snapappointments/bootstrap-select/dist/js/i18n/defaults-de_DE.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
23
Die Ressource von "http://xy.ch/part-db/js/bootstrap3-typeahead.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
24
Die Ressource von "http://xy.ch/part-db/js/jquery.tristate.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
25
Laden fehlgeschlagen für das <script> mit der Quelle "http://xy.ch/part-db/js/jquery.tristate.min.js". startup.php:4:1
26
Die Ressource von "http://xy.ch/part-db/js/js.cookie-2.2.0.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
27
Laden fehlgeschlagen für das <script> mit der Quelle "http://xy.ch/part-db/js/js.cookie-2.2.0.min.js". startup.php:4:1
28
Die Ressource von "http://xy.ch/part-db/datatables/datatables.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
29
Laden fehlgeschlagen für das <script> mit der Quelle "http://xy.ch/part-db/datatables/datatables.min.js". startup.php:11:1
30
Die Ressource von "http://xy.ch/part-db/datatables/natural.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
31
Laden fehlgeschlagen für das <script> mit der Quelle "http://xy.ch/part-db/datatables/natural.min.js". startup.php:11:1
32
Die Ressource von "http://xy.ch/part-db/js/bootstrap-treeview.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
33
Laden fehlgeschlagen für das <script> mit der Quelle "http://xy.ch/part-db/js/bootstrap-treeview.min.js". startup.php:11:1
34
Die Ressource von "http://xy.ch/part-db/js/tempusdominus/moment-with-locales.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
35
Laden fehlgeschlagen für das <script> mit der Quelle "http://xy.ch/part-db/js/tempusdominus/moment-with-locales.min.js". startup.php:11:1
36
Die Ressource von "http://xy.ch/part-db/vendor/nnnick/chartjs/dist/Chart.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
37
Laden fehlgeschlagen für das <script> mit der Quelle "http://xy.ch/part-db/vendor/nnnick/chartjs/dist/Chart.min.js". startup.php:11:1
38
Die Ressource von "http://xy.ch/part-db/js/jquery.highlight.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
39
Laden fehlgeschlagen für das <script> mit der Quelle "http://xy.ch/part-db/js/jquery.highlight.min.js". startup.php:11:1
40
Die Ressource von "http://xy.ch/part-db/js/tempusdominus/tempusdominus-bootstrap-4.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
41
Laden fehlgeschlagen für das <script> mit der Quelle "http://xy.ch/part-db/js/tempusdominus/tempusdominus-bootstrap-4.min.js". startup.php:11:1
42
Die Ressource von "http://xy.ch/part-db/vendor/kartik-v/bootstrap-fileinput/js/fileinput.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
43
Laden fehlgeschlagen für das <script> mit der Quelle "http://xy.ch/part-db/vendor/kartik-v/bootstrap-fileinput/js/fileinput.js". startup.php:11:1
44
Die Ressource von "http://xy.ch/part-db/templates/nextgen/js/functions.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
45
Laden fehlgeschlagen für das <script> mit der Quelle "http://xy.ch/part-db/templates/nextgen/js/functions.min.js". startup.php:11:1
46
Die Ressource von "http://xy.ch/part-db/javascript/calculator.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
47
Laden fehlgeschlagen für das <script> mit der Quelle "http://xy.ch/part-db/javascript/calculator.min.js". startup.php:11:1
48
Die Ressource von "http://xy.ch/part-db/templates/nextgen/js/ajax_ui.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
49
Laden fehlgeschlagen für das <script> mit der Quelle "http://xy.ch/part-db/templates/nextgen/js/ajax_ui.min.js". startup.php:11:1
50
Die Ressource von "http://xy.ch/part-db/vendor/jquery-form/form/dist/jquery.form.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
51
Laden fehlgeschlagen für das <script> mit der Quelle "http://xy.ch/part-db/vendor/jquery-form/form/dist/jquery.form.min.js". startup.php:11:1
52
Die Ressource von "http://xy.ch/part-db/vendor/snapappointments/bootstrap-select/dist/js/bootstrap-select.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
53
Laden fehlgeschlagen für das <script> mit der Quelle "http://xy.ch/part-db/vendor/snapappointments/bootstrap-select/dist/js/bootstrap-select.min.js". startup.php:11:1
54
Die Ressource von "http://xy.ch/part-db/vendor/snapappointments/bootstrap-select/dist/js/i18n/defaults-de_DE.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
55
Laden fehlgeschlagen für das <script> mit der Quelle "http://xy.ch/part-db/vendor/snapappointments/bootstrap-select/dist/js/i18n/defaults-de_DE.js". startup.php:11:1
56
Die Ressource von "http://xy.ch/part-db/js/bootstrap3-typeahead.min.js" wurde wegen eines MIME-Typ-Konfliktes ("text/x-js") blockiert (X-Content-Type-Options: nosniff).startup.php
57
Laden fehlgeschlagen für das <script> mit der Quelle "http://xy.ch/part-db/js/bootstrap3-typeahead.min.js".

Gruss Oliver

von Oliver (nsectfor)


Lesenswert?

Ich bins nochmal. Möglicher Workaround gefunden.

In der .htaccess folgend Zeile rausgelöscht:

==> Header set X-Content-Type-Options "nosniff"

Jetz läufts schonmal besser. Aber habe immer noch warnings drind.
Ein Auszug daraus:
1
Das Skript von "http://xy.ch/part-db/js/popper/popper.min.js" wurde geladen, obwohl sein MIME-Typ ("text/x-js") kein für JavaScript gültiger MIME-Typ ist.
2
show_category_parts.php
3
Das Skript von "http://xy.ch/part-db/js/bootstrap.min.js" wurde geladen, obwohl sein MIME-Typ ("text/x-js") kein für JavaScript gültiger MIME-Typ ist.
4
show_category_parts.php
5
Das Skript von "http://xy.ch/part-db/datatables/datatables.min.js" wurde geladen, obwohl sein MIME-Typ ("text/x-js") kein für JavaScript gültiger MIME-Typ ist.
6
show_category_parts.php
7
Das Skript von "http://xy.ch/part-db/js/jquery.tristate.min.js" wurde geladen, obwohl sein MIME-Typ ("text/x-js") kein für JavaScript gültiger MIME-Typ ist.
8
show_category_parts.php
9
Das Skript von "http://xy.ch/part-db/js/js.cookie-2.2.0.min.js" wurde geladen, obwohl sein MIME-Typ ("text/x-js") kein für JavaScript gültiger MIME-Typ ist.
10
show_category_parts.php
11
Das Skript von "http://xy.ch/part-db/js/tempusdominus/moment-with-locales.min.js" wurde geladen, obwohl sein MIME-Typ ("text/x-js") kein für JavaScript gültiger MIME-Typ ist.
12
show_category_parts.php

von Gerald *. (pyromane)


Lesenswert?

Guten Abend Oliver,

ich habe mit Jan vor ewiger Zeit meine htaccess wie folgt anpassen 
müssen damit es funktionierte:
1
<ifModule mod_headers.c>
2
    Header set Connection keep-alive
3
4
    # Add security and privacy related headers
5
    # Header set X-Content-Type-Options "nosniff"
6
    Header set X-XSS-Protection "1; mode=block"
7
    Header set X-Robots-Tag "none"
8
    Header set X-Download-Options "noopen"
9
    Header set X-Permitted-Cross-Domain-Policies "none"
10
    Header set X-Frame-Options "DENY"
11
    <IfModule mod_env.c>
12
        SetEnv modHeadersAvailable true
13
    </IfModule>
14
</ifModule>
die genaue Erklärung dafür müsste in einem der Vorgänger Threads zu 
finden sein.

Grüße

von Bernd (Gast)


Lesenswert?

Wo finde ich eigentlich den Knopf, um neue Bauteile anzulegen?
Früher (tm) gab es oben über der Tabelle einfach "Neues Bauteil in 
dieser Kategorie anlegen"...

Die Berechtigungen sind m.E. alle freigegeben.

von Bernd (Gast)


Lesenswert?

Jetzt habe ich ein Bauteil hinzugefügt, völlig intuitiv über Verwaltung 
-> Bearbeiten -> Bauteil anlegen, dafür sind jetzt alle Bauteil weg...

von Bronko (Gast)


Lesenswert?

Auf meinem System wurde irgendwas aktualisiert und nun läuft die part-db 
nicht mehr.

Ich habe mit folgendem php-Skript versucht den Fehler zu isolieren:
1
<?php
2
3
use PartDB\Database;
4
5
$database = new Database();
6
7
?>
Beim Zugriff mittels Browser ergibt sich die folgende Fehlermeldung im 
Log von Apache:
1
[Sat Apr 10 13:59:22.206653 2021] [php7:error] [pid 1229161] [client 127.0.0.1:42860] PHP Fatal error:  Uncaught Error: Class 'PartDB\\Database' not found in /home/bronko/Part-DB/test.php:5\nStack trace:\n#0 {main}\n  thrown in /home/bronko/Part-DB/test.php on line 5
An der Part-Db-Installation habe ich eigentlich nichts geändert, nur ein 
'git pull' um zu sehen, ob damit der Fehler verschwindet:
1
$ git pull
2
remote: Enumerating objects: 200, done.
3
remote: Counting objects: 100% (200/200), done.
4
remote: Compressing objects: 100% (134/134), done.
5
remote: Total 200 (delta 64), reused 37 (delta 11), pack-reused 0
6
Empfange Objekte: 100% (200/200), 141.33 KiB | 1.10 MiB/s, fertig.
7
Löse Unterschiede auf: 100% (64/64), abgeschlossen mit 8 lokalen Objekten.
8
Von https://github.com/Part-DB/Part-DB
9
   7d3f88a0..52b8b055  master      -> origin/master
10
   6397e779..c2ea647e  l10n_master -> origin/l10n_master
11
   b879b4a8..846b9462  stable-v0.5 -> origin/stable-v0.5
12
 * [neues Tag]         v0.5.9      -> v0.5.9
13
Aktualisiere 7d3f88a0..52b8b055
14
...

Behandelt PHP plötzlich die Pfade anders? Warum wird Database nicht mehr 
gefunden?

BTW: PHP ist die Version 7.4.16

Vielleicht hat jemand eine Idee, wie ich wieder auf meine Datenbank 
komme.
Danke!

von Bronko (Gast)


Lesenswert?

Ich hab's gefunden!

Bronko schrieb:
> Auf meinem System wurde irgendwas aktualisiert und nun läuft die part-db
> nicht mehr.
Aktuell sind php7 und php8 parallel installiert.

> Behandelt PHP plötzlich die Pfade anders?
> BTW: PHP ist die Version 7.4.16
Ja. php7 wird über /etc/php7/php.ini konfiguriert und da waren einige 
Module nicht aktiviert...

von ;cSchaf (Gast)


Lesenswert?

Hi,

ich würde gerne Barcodes mit der Part-ID verwenden.

Die Suchfunktion ignoriert jedoch die Part-ID. Jemand ne Idee, was ich 
machen kann?

lg

McSchaf

von Kai B. (kaib) Benutzerseite


Lesenswert?

Bei der Version 0.5/0.6 sollte das an sich funktionieren, allerdings 
muss dazu die ID 7/8 Stellig sein also 00000834. Bei mir hatte ich das 
in den PHP Dateien etwas angepasst damit ich auch meine 6 Stellige IDs 
suchen kann, da ich meine Labels nur mit 6 Stellen gedruckt hatte.
Ich habe für mich eine kleine .net Applikation geschrieben die mit Hilfe 
des Brother SDK und Label Templates die unterschiedlichen Etiketten 
erstellt. Und mir ebenfalls das zuordnen zu Lagerplätzen vereinfacht.

von McSchaf (Gast)


Lesenswert?

oh, ja danke ^^
Habe es erst mal nur mit der reinen ID versucht.

von Micha W. (mickiw)


Angehängte Dateien:

Lesenswert?

Hallo liebe Community,

ich habe es nach einigen Schwierigkeiten geschafft auf meiner Synology 
über das Dockerpaket (alles über die GUI) die Version 0.5.8 halbwegs zum 
laufen zu bringen. Doch leider bekomme ich nach der Installation, 
nachdem ich das Admin-Passwort festgelegt habe und die Datenbank 
verbunden habe, keinen Zugriff auf den Admin Account. Es wird mir immer 
mitgeteilt, dass das Passwort falsch wäre. Muss ich bei den 
Umgebungsvariablen noch etwas einstellen oder bei Volume noch Dateien 
oder Ordner hinzufügen (vgl. Screenshots)?

Vielen Dank für eure Unterstützung!

von Honoluluxxx L. (honoluluxxx_l)


Lesenswert?

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://www.9icnet.com/s/LQM18FN1R0M00D.html).
Darüber könnte man dann auch Bauteileparameter abfragen.

Die Priorität einer vollständigen parametrischen Suche ist aber auch
eher "nice to have"...

von Jan B. (do9jhb)


Lesenswert?

Ich würde empfehlen, auf Part-DB 1.3 zu upgraden: 
https://github.com/Part-DB/Part-DB-server

Das ist ein kompletter Rewrite von Part-DB und hat viele neue 
Funktionen. Eine Demo findet sich hier: http://part-db.herokuapp.com/en/

Honoluluxxx L. schrieb:
> OpenID könnte vielleicht für Makerspaces o.Ä. nützlich sein, dann
> könnten die Benutzer ihre bekannten Konten benutzen

In Part-DB 1.3 gibt es eine SAML2.0 Integration, dann kann man sich über 
einen zentralen Authentifizierungsdienst anmelden. Über etwas wie 
Keycloak kann man sich dann auch mit Social Services über OpenID 
verbinden.

Honoluluxxx L. schrieb:
> Die Priorität einer vollständigen parametrischen Suche ist aber auch
> eher "nice to have"...

Parametrische Suche (und ein deutlich verbessertes Filtersystem) gibt es 
dort auch.

von Moriz (untertaucher)


Lesenswert?

Ich habe ein uraltes part-db in einer virtuellen Maschine und möchte 
zunächst auf 0.5 upgraden, das aber in einer neuen VM.

Wo finde ich in der part-db-Installation das Passwort für die Datenbank?

Nachtrag: Problem gelöst…

: Bearbeitet durch User
von Andreas G. (andreasgs)


Lesenswert?

Hi,

Ich lese hiee schon lange mit, und habe auch eine der aller ersten 
releases am server mal installiert.

Meine Bauteile sind in einer recht langen Tabelle organisiert. Bekomme 
ich diese in die Datenbank importiert?

Grüße
Andreas

: Bearbeitet durch User
von Boris F. (skyperhh)


Lesenswert?

Es gibt eine Import Möglichkeit, CSV Dateien und auch andere Formate:

https://docs.part-db.de/usage/import_export.html

Oder die Holzhammermethode, ein Blick auf die SQL-Struktur und sich ein 
Script / Programm schreiben, was die Daten per SQL direkt in die DB 
bringt...

von Moriz (untertaucher)


Lesenswert?

Ich habe eine uralte PartDB-Installation in einer virtuellen Maschine, 
die ich auf die aktuelle Version umstellen will.

Ich habe eine neue VM mit Ubuntu 22.04 aufgesetzt, apache2, mysql und 
php 7.0 installiert entsprechend der Anleitung auf 
https://github.com/Part-DB/Part-DB-legacy/wiki/Installation installiert.

Die Datenbank ist per Dump in mysql geladen und der PartDB-Dateibaum 
nach /var/www per ssh-Zugriff kopiert.

Wenn ich partdb im Browser aufrufe, erhalte ich einen leeren Bildschirm 
und im Apache error.log steht folgende Meldung:
1
PHP Fatal error:  Uncaught Error: Class 'PartDB\\Database' not found in /var/www/partDBlegacy/inc/lib.start_session.php:291\nStack trace:\n#0 [internal function]: exception_handler(Object(Error))\n#1 {main}\n  thrown in /var/www/partDBlegacy/inc/lib.start_session.php on line 291

Das sagt mir leider nicht viel… Wo liegt der Hund begraben?

Andere Frage: gibt es ein Skript, mit dem man unabhängig von der 
Legacy-Version von PartDB die Datenbank konvertieren kann?

: Bearbeitet durch User
von Rick (rick)


Lesenswert?

Moriz schrieb:
> Error: Class 'PartDB\\Database' not found
Da passt irgendwas mit den Namespaces/Pfaden nicht.
Im lib-Verzeichnis müßte die Datei Database.php existieren, die mit
1
namespace PartDB;
anfängt.

Lief den der composer schon fehlerfrei durch?
In composer.json scheint die Verbindung zwischen Verzeichnis und 
namespace konfiguriert zu werden:
1
  "autoload": {
2
    "psr-4": {"PartDB\\": "lib/"}
3
  }

von Moriz (untertaucher)


Lesenswert?

Rick schrieb:
> Im lib-Verzeichnis müßte die Datei Database.php existieren, die
> mitnamespace PartDB;
> anfängt.

Da gibts gar keine lib:
1
-rw-r--r--  1 www-data www-data   3352 Aug 20 22:08 CODE_OF_CONDUCT.md
2
-rw-r--r--  1 www-data www-data   3662 Aug 20 22:08 CONTRIBUTING.md
3
-rw-r--r--  1 www-data www-data   5766 Aug 20 22:08 Dockerfile
4
-rw-r--r--  1 www-data www-data  34522 Aug 20 22:08 LICENSE
5
-rw-r--r--  1 www-data www-data     58 Aug 20 22:08 Procfile
6
-rw-r--r--  1 www-data www-data  10651 Aug 20 22:08 README.md
7
-rw-r--r--  1 www-data www-data    588 Aug 20 22:08 SECURITY.md
8
-rw-r--r--  1 www-data www-data      6 Aug 20 22:09 VERSION
9
drwxr-xr-x  9 www-data www-data   4096 Aug 20 22:08 assets
10
drwxr-xr-x  2 www-data www-data   4096 Aug 20 22:08 bin
11
-rw-r--r--  1 www-data www-data    147 Aug 20 22:08 codecov.yml
12
-rw-r--r--  1 www-data www-data   5621 Aug 20 22:09 composer.json
13
-rw-r--r--  1 www-data www-data 640763 Aug 20 22:09 composer.lock
14
drwxr-xr-x  4 www-data www-data   4096 Aug 20 22:09 config
15
-rw-r--r--  1 www-data www-data    326 Aug 20 22:08 crowdin.yml
16
drwxr-xr-x  5 www-data www-data   4096 Aug 20 22:08 docs
17
-rw-r--r--  1 www-data www-data    765 Aug 20 22:08 ecs.php
18
drwxr-xr-x  2 www-data www-data   4096 Aug 20 22:08 migrations
19
-rw-r--r--  1 www-data www-data   4107 Aug 20 22:09 package.json
20
-rw-r--r--  1 www-data www-data   1643 Aug 20 22:08 phpstan.neon
21
-rw-r--r--  1 www-data www-data   1233 Aug 20 22:08 phpunit.xml.dist
22
-rw-r--r--  1 www-data www-data   1917 Aug 20 22:08 psalm.xml
23
drwxr-xr-x  6 www-data www-data   4096 Aug 20 22:11 public
24
-rw-r--r--  1 www-data www-data   2079 Aug 20 22:08 rector.php
25
drwxr-xr-x 22 www-data www-data   4096 Aug 20 22:08 src
26
-rw-r--r--  1 www-data www-data  22245 Aug 20 22:08 symfony.lock
27
drwxr-xr-x 15 www-data www-data   4096 Aug 20 22:09 templates
28
drwxr-xr-x 15 www-data www-data   4096 Aug 20 22:08 tests
29
drwxr-xr-x  2 www-data www-data   4096 Aug 20 22:09 translations
30
drwxr-xr-x  2 www-data www-data   4096 Aug 20 22:08 uploads
31
drwxrwxr-x  6 www-data www-data   4096 Aug 20 22:11 var
32
drwxrwxr-x 57 www-data www-data   4096 Aug 20 22:11 vendor
33
-rw-r--r--  1 www-data www-data   6793 Aug 20 22:09 webpack.config.js
34
-rw-r--r--  1 www-data www-data 351713 Aug 20 22:09 yarn.lock

von Rick (rick)


Lesenswert?

Ja, was denn nun? legacy oder symfony?
Bei symfony gibt es auch kein 'use PartDB\Database;' in irgendeiner 
php-Datei. Zumindest bei mir nicht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.