Giter Club home page Giter Club logo

part-db's Introduction

Part-DB

Beschreibung

Part-DB ist eine webbasierte Datenbank zum Verwalten von Elektronischen Bauteilen. Da der Zugriff über den Webbrowser erfolgt, muss Part-DB auf einem Webserver installiert werden. Danach kann die Software mit jedem gängigen Browser und Betriebssystem ohne Installation von Zusatzsoftware benutzt werden.

Funktionen

  • Angabe von Lagerorten, Footprints, Kategorien, Lieferanten, Datenblattern, Preise, Bestellnummern, ...
  • Baugruppenverwaltung
  • Upload von Bauteil Bildern
  • Automatische Anzeige von Footprintbildern
  • Statistik über das gesamte Lager
  • Auflistung von: "Zu bestellende Teile", "Teile ohne Preis" und "nicht mehr erhältliche Teile"
  • Liste von Hersteller-Logos
  • Informationen zu SMD-Beschriftungen von Widerstände, Kondensatoren und Spulen
  • Widerstandsrechner
  • Templatefähig mittels CSS

Anforderungen

  • Webserver mit ca. 10MB Platz (ohne Footprints)
  • PHP >= 5.3.0
  • MySQL Datenbank

Lizenz

Mit Ausnahme des JavaScript-Menü stehen alle Module unter der GPL. Das JavaScript-Menü ist Bierware. Somit ist eine kommerzielle Nutzung nur möglich, wenn es vom Ersteller des Menüs genehmigt wird.

Installationsanleitung & Dokumentation

Die gesamte Dokumentation inkl. Installationsanleitung gibts hier: http://phpbookworm.singollo.de/project/part-db/documentation/dokuwiki/index.php

Online-Demo zum Ausprobieren

Eine Test-Datenbank ist unter http://phpbookworm.singollo.de/project/part-db/ zu finden.

part-db's People

Contributors

ajfre avatar alexanders avatar dlipschinski avatar jankokert avatar jbtronics avatar jusachs avatar sandboxgangster avatar susnux avatar ubruhin avatar weinbauer73 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

part-db's Issues

Bestellnummern mit automatischen Links zur Lieferantenwebseite

Man müsste für jeden Lieferanten einen Link hinterlegen können, welcher anhand einer Bestellnummer direkt zum Artikel auf der Webseite führt. Die Bestellnummer wird im Link einfach als Platzhalter dargestellt.

Danach sollen in den Tabellen usw. die Bestellnummern einen automatischen Link hinterlegt haben, die jeweils direkt zum entsprechenden Artikel auf der Webseite des Lieferanten führen.

Unter Bearbeiten/Footprints kann die PHP max_execution_time überschritten werden

Wenn es in der Datenbank sehr viele Footprints mit ungültigen Dateipfaden zu Bildern gibt, braucht die Seite Bearbeiten/Footprints sehr lange zum Laden, was zum Abbruch aufgrund der PHP Einstellung "max_execution_time" führen kann.

Grund:

  • Für jeden einzelnen, ungültigen Dateipfad wird in den Ordnern img/ und data/media/ nach Vorschlägen gesucht (Dateien mit gleichen/ähnlichen Dateinamen). Das dauert halt seine Zeit.

Mögliche Lösungsansätze:

  • Das Skript effizienter machen (z.B. Ordnerstruktur einmal scannen und dann dort drin nach passenden Dateien suchen)
  • Nach z.B. 20 Footprints abbrechen und dann nur die ersten 20 Footprints anzeigen. Werden diese korrigiert, werden die nächsten 20 angezeigt, bis keine mehr übrig bleiben.

Bugfix sollte in die Version 0.3.1 aufgenommen werden!

Benutzerverwaltung

Von Google Code: https://code.google.com/p/part-db/issues/detail?id=8

-> Es sollen mehrere Benutzer angelegt werden können

-> Beim (erstmaligen?) Aufruf der Seite wird Benutzername+Passwort verlangt

-> Das System sollte genügend sicher sein, damit es auch ohne Bedenken auf einem (öffentlich zugänglichen) Webspace installiert werden kann

-> Viele Details müssen noch ausgearbeitet werden. Grundsätzlich könnte man aber schonmal eine einfache Benutzerverwaltung inkl. Login-Screen einbauen. Dann wäre das System schonmal soweit bereit, dass es auf einem Webspace installiert werden kann. Den vollen Ausbau könnte man dann nach und nach noch ergänzen.

Kommentar von "damaltor":
Übergangslösung: Ich habe die part-db auf öffentlichem Webspace laufen, und habe mit .htpasswd und .htaccess eine Zugriffsbeschränkung eingeführt. So kann ich mehrere Nutzer mit eigenem Passwort autentifizieren, und habe die Sicherheit von Apache2 ohne große Arbeit. Wen Interesse besteht, kann ich gern ein paar Details zu hier aufschreiben.


Für die Benutzerverwaltung müsste man sich überlegen, ob User und/oder Gruppen gewünscht werden. Dann fehlen noch die Rechte und deren Vergabe. Die benutzer- bzw. gruppenspezifischen Einstellungen sind dann schnell erstellt.

Udo


Also ich finde, wenn wir schon eine Benutzerverwaltung einbauen, dann auch gleich richtig :-)

Also mit Benutzer und Gruppen, wie es halt "üblich" ist.

Die möglichen Rechte würde ich recht flexibel gestalten, also viele Optionen anbieten. Es wäre gut möglich dass bestimmte Gruppen zwar den Preis eines Bauteiles verändern dürfen, nicht aber die Beschreibung. Oder andere Gruppen dürfen vielleicht den Preis gar nicht erst sehen, den Lagerbestand ändern ist aber gestattet.

Also ein Leserecht macht vermutlich beim Preis schon am meisten Sinn, ich denke dabei kann man es dann auch belassen.

Oder was meint ihr?


In meinem Branch habe ich die Benutzerverwaltung schonmal zumindest ansatzweise integriert. Es existieren einfach mal Klassen für die Benutzer und die Gruppen, funktionstüchtig ist das aber noch lange nicht.
Ich markiere das Thema hier mal als gestartet, nicht dass sonst noch jemand mit der Benutzerverwaltung beginnt :-)


Zusätzlich zur "normalen" Benutzerverwaltung soll es später auch möglich sein, ein Mehrbenutzersystem zu betreiben. Also dass man Part-DB auf einem Webserver installiert, und auch andere Benutzer sich dann dort registrieren können. Alle Bauteile müssen dann grundsätzlich nur einmal angelegt werden und können von unterschiedlichen Benutzern verwendet werden (jeder Benutzer hat dann seinen eigenen Lagerort, Lagerbestand usw., aber die Lieferanten, Preise usw. sind für alle die selben und müssen daher nur von irgend einem Benutzer gesetzt werden und sind dann für alle anderen Benutzer ebenfalls gültig.)

So können sich viele Benutzer die Pflege der Teiledatenbank teilen, und die Benutzer brauchen keinen eigenen Webserver zu betreiben. Für eine solche Installation wurde bereits die Domain "myparts.info" registriert (Danke an Christian R.!).


Wie gehen wir denn mit folgendem Aspekt um?

Mehmet Kendi schrieb im Beitrag #1278648:

Für mich macht es wenig Sinn, wenn ich
z.Bsp. auf all die tausend Bauteile von Farnell Zugriff haette. Wüsste
echt nicht, was ich damit anfangen sollte.

Ich schrieb dazu im Beitrag #2814390:

Ich denke, es müßte in der Datenbank eine Tabelle geben, die die vom
einzelnen Nutzer verwendeten Bauteile kennzeichnet. Wenn man ein neues
Bauteil anlegen möchte, würde man zunächst in den gemeinsam genutzten
Stammdaten aller Nutzer suchen und das Bauteil quasi für sich
"aktivieren". Nur wenn man es dort nicht findet, legt man es wirklich
neu an und es ist dann auch für andere in den gemeinsamen Stammdaten zu
finden.


Da sehe ich auch keinen Sinn wenn man aufs gesamte Sortiment eines Lieferanten Zugriff hätte. Es geht ja grundsätzlich darum, sein eigenes Lager zu verwalten, und da gehören dann auch nur Teile rein die man auch wirklich hat oder mal hatte. Cool würde ich aber finden wenn man beim Anlegen eines Bauteiles den Lieferant und die Bestellnummer eingeben kann, und dann z.B. die Preise automatisch von der Lieferanten-Seite abgerufen werden. Aber sowas hätte momentan eine sehr niedrige Priorität, es warten noch wichtigere Sachen auf die Umsetzung.

Ziemlich genau so habe ich mir das vorgestellt. Aber trotzdem bleiben noch andere Fragen offen, z.B. ob die Kategorien für alle Benutzer genau gleich sein sollen oder ob man diese auch individuell anlegen können soll. Vielleicht würde es Sinn machen, ein "System-Kategorienverzeichnis" zu haben, in dem erstmal ALLE Bauteile eingeordnet sind. In diesem Systemkategorienverzeichnis kann dann der Benutzer sein gesuchtes Teil suchen und in einem seiner eigenen Kategorie ablegen. (War nur grad ein Gedanke der mir durch den Kopf ging...Alles in Allem wird ziemlich kompliziert und muss noch gut durchdacht werden).

vlib: PHP is not allowed within the template

Manchmal (aber sehr selten) kommt nach einem Aktualisieren irgendeiner Part-DB Seite eine Fehlermeldung von vlib, inklusive dem ganzen PHP Code dieser Seite (siehe Screenshot). Das Problem trat schon bei verschiedensten Seiten auf, ist also nicht nur auf eine Seite beschränkt. Es kann provoziert werden wenn man sehr häufig hintereinander etwas am Template-HTML-Code ändert und die Seite zwischendurch immer wieder aktualisiert. Behoben werden kann es, indem man den Server neu startet (Apache neustarten bringt nichts).

Bin ich der Einzige, der dieses Problem hat?
Server: Ubuntu 12.10 x64, mit PHP, Apache usw. aus dem offiziellen Repo

Wenn es wirklich nur nach dem Ändern des Codes auftritt ist es ja nicht so schlimm, dann betrifft es nur Entwickler. Das Schlimmste vorstellbare Szenario wäre aber, wenn es auch bei Endanwendern auftritt und z.B. die config.php mit dem Datenbankpasswort angezeigt wird...

vlib_bug

Popup Windows durch DIV mit Ajax ersetzen

Wäre es möglich die Popup-Fenster zu ersetzen und die Bearbeitungsfenster direkt in der Seite in einem DIV Bereich zu öffnen? Aktionen dann per Ajax ohne neuladen der Seite?

Frames durch ein moderneres System ersetzen

Von Google Code: https://code.google.com/p/part-db/issues/detail?id=25

Zitat von Udo Neist:

Auch gleich mal daran denken, die Frame-Sache
umzustellen, da diese ja schon seit Jahren als Auslaufmodell gelten und
irgendwann nicht mehr unterstützt werden. Per XMLHttpRequest lässt es
sich leichter arbeiten (GET, POST) und in ein DIV-Element reinschreiben
(Suchbegriff: Ajax)


Udo erwähnte auch noch das dojo-Toolkit:

http://dojotoolkit.org/

Sieht sehr vielversprechend aus finde ich!

Hier sieht man was damit alles so möglich ist:
http://demos.dojotoolkit.org/demos/themePreviewer/demo.html

Grid erweitern

Sortierung innerhalb der Spalten, Filter auf einzelne Werte in den Spalten etc.

Popups funktionieren auf mobilen Geräten nicht

Von Google Code: https://code.google.com/p/part-db/issues/detail?id=32

What steps will reproduce the problem?

  1. Part-db mit Android Tablet benutzen
  2. Auf eine Bauteil Gruppe gehen
  3. Ein Bauteil in der Liste klicken

What is the expected output? What do you see instead?
Detailansicht soll sich öffnen

Leider passiert nichts

What version of the product are you using? On what operating system?
0.2.2

Please provide any additional information below.


Habs gerade auf einem Android Handy getestet. Wenn man keine modalen Dialoge verwendet, funktioniert es bei mir. Mit modalen Dialogen gehts nicht.

Hilft das bei dir auch?

(Modale Dialoge lassen sich in der config.php über das Setzen der Variable "$use_modal_dialog" auf "false" abschalten)

Batch Datenblatt URL import

Hallo zusammen.
Gibt es die Möglichkeite auf einmal viele Datenblatt URL´s zu importieren. Evtl durch Komma getrennt. Oder diese aus einer Datei einzulsen?
Ich kann c und pascal programmieren. Verstehe daher auch den php code. Habe mir edit_part_info angeschaut. Verstehe soweit auch was hier gemacht wird. Da ich aber nicht der Websitenprogrammierer bin, weiß ich nicht, wie ich weitere Editfelder oder andere möglichkeiten Visualisieren kann. Ich könnte evtl mit einem parser dienen, der die urls einliest.
Danke für eure Unterstützung.

Footprints automatisch anlegen lassen

Von Google Code: https://code.google.com/p/part-db/issues/detail?id=36

Es wäre hilfreich, wenn man mit wenigen Klicks sehr viele neue Footprints auf einmal anlegen könnte. Jeden Footprint einzeln zu erzeugen und passende Bilder auszuwählen dauert bei vielen Footprints sehr lange und ist mühsam.

Spontan kommt mir folgende Idee in den Sinn:
Unter "Bearbeiten -> Footprints -> Neuer Footprint hinzufügen" soll ein Link, z.B. "Ganze Footprint-Sortimente hinzufügen", eingebaut werden. Der Link führt dann auf eine neue Seite. Dort kann der Benutzer mit Checkboxen einzelne Sortimente wie z.B. "DIP", "TQFP", "SMD Dioden", "Quarze" usw. auswählen. Mit einem Klick auf "Hinzufügen" werden dann alle Footprints der Datenbank hinzugefügt, inklusive dem Dateipfad zu den Bildern.

So kann jeder Benutzer diejenigen Footprints, die er braucht, sehr schnell zur Datenbank hinzufügen. Einer, der z.B. nur mit bedrahteten Bauteilen arbeitet, braucht keine SMD-Footprints anzuwählen usw.

Vor dem Hinzufügen von neuen Footprints wird aber immer geprüft, ob es noch keinen Footprint mit dem gleichen Namen gibt. Falls doch, wird der Footprint nicht neu angelegt.

Bauteile miteinander verknüpfen: Alternativbauteile

Verknüpfungen von Bauteilen hinzufügen, um gegeneinander austauschbare Bauteile zu kennzeichnen.
z.B. anstatt Elko 100uF 16V kann auch Elko 100uF 25V verwendet werden
Hierzu müßte hinterlegt werden das das zweite Bauteil eine höherwertige Alternative zu Bauteil 1 ist.
Rekursiv angelegtes sollte bei der Anzeige ausgewertet werden:
z.B. Elko 100uF 50V bessere Alternative zu Elko 100uF 25V
z.B. Elko 100uF 25V bessere Alternative zu Elko 100uF 16V

dann wäre es schön als Elko 100uF 16V die beiden anderen angezeigt zu bekommen.

Möglich wäre natürlich auch eine 1:n Beziehung von Alternativbauteilen, je Bauteil

Bauteil-Kategorie geht verloren.

Folgendes Szenario:

Ich habe das Formular "Bauteil bearbeiten" für ein beliebiges Bauteil geöffnet.
Ich ändere die Zahl in "Vorhanden".

Beim Absenden über die Schaltfläche "Änderungen übernehmen" ist alles in Ordnung.
Beim Absenden mit der "Enter-Taste", nachdem ich nur die Zahl in "Vorhanden" geändert habe, geht die Kategorie verloren und wird durch eine neu angelegte Kategorie "Suchen / Hinzufügen" ersetzt.

Das sollte so meiner Meinung nicht sein - ich ändere bei einer Inventur häufig die vorhandene Stückzahl und das Bestätigen mit Enter geht deutlich schneller als mit der Maus.

Viele Grüße,
Tasso Mulzer

Dateianhänge für Baugruppen

Von Google Code: https://code.google.com/p/part-db/issues/detail?id=9

Für Datenblätter, Bilder, Schema, Layout, ...

Hinweis:
Zuerst sollte der Bilderupload zum Dateiupload umfunktioniert werden (siehe entsprechender TODO-Eintrag), es macht keinen Sinn vorher dieses Feature einzubauen.


Wird auch gleich in die Klassen integriert die ich noch am entwickeln bin. Zumindest "hinter den Kulissen" wird es funktionsfähig sein, der Upload-Dialog fehlt aber nach wie vor noch.

Bilderupload durch einen universellen Dateiupload ersetzen

Von Google Code: https://code.google.com/p/part-db/issues/detail?id=14

Bilderupload durch einen universellen Dateiupload ersetzen (keine Einschränkungen bezüglich Dateityp), damit neben Bildern auch andere Dateien einem Bauteil zugeordnet werden können.

-> Die Dateien sollen nach dem Upload, also auf dem Server, den gleichen Dateinamen bekommen wie die originale, hochgeladene Datei (keine "Zufallsnamen"). Optional sollte man aber den Dateinamen auch manuell angeben können.

-> Falls die hochgeladene Datei ein sehr grosses Bild ist, sollte eine Abfrage kommen, ob das Bild automatisch verkleinert werden soll.

-> Als Pfad für eine hochzuladene Datei sollte man auch eine URL auf irgendeine Datei im Internet angeben können, und die Datei soll dann automatisch auf den Server heruntergeladen werden (sehr nützlich z.B. bei einer Bildersuche im Internet, es ist kein Zwischenspeichern auf dem eigenen PC mehr nötig).

-> Ein paar Gedanken zum ganzen Upload-Konzept: http://www.mikrocontroller.net/topic/135284#2659447


-> Es wird ein neuer Ordner "media/" angelegt, der ausschliesslich für hochgeladene Dateien benutzt wird. Alle hochgeladenen Dateien werden in diesem Ordner gespeichert, und sonst nirgens. Auch hochgeladene Footprints landen nicht unter "tools/footprints/", sondern in diesem media-Ordner. Wie das mit den Footprints, die dann auf zwei verschiedene Ordner verteilt sind, funktioniert, ist hier beschrieben: https://code.google.com/p/part-db/issues/detail?id=12

-> Vor dem Dateiupload muss sichergestellt werden, dass nicht schon eine gleichnamige Datei im media-Ordner existiert, auch nicht in einem Unterordner. Das ermöglicht später das automatische Suchen von nicht mehr gültigen Dateipfaden, so wie es bei den Footprints geplant ist: https://code.google.com/p/part-db/issues/detail?id=12


Der Grundstein zu dieser Änderung lege ich schon mit den Klassen. Die komplette Umsetzung erfolgt dann aber erst im Upload-Manager (der bekanntlich noch nicht existiert xD)

Attribute für Bauteile

Von Google Code: https://code.google.com/p/part-db/issues/detail?id=30

Zitat aus http://www.mikrocontroller.net/topic/269289:

Urban B. schrieb:

Spalte "visible" in "parts": Ist nachher ja Sache der Benutzerverwaltung

b.r schrieb:

Ich hatte die Spalte eingeführt, um die Bauteilansicht in
'open/openlist.php' einschränken zu können. Wenn die Benutzerverwaltung
eingeschränkenten Gastzugriff erlaubt, kann das gerne dort mit
einfließen.
Es sollen z.B. in einer Firma nur die 'offiziellen' Bauteile für alle
sichtbar sein.

Urban B. schrieb:

OK dann könnte man theoretisch sogar noch etwas weiter gehen, und
"Attribute" für Bauteile einführen. Dann kann der Benutzer (bzw. der
Admin) festlegen, welche Attribute es geben soll, z.B. "inoffiziell" und
"geheim". Beim Anlegen eines Bauteiles erscheint dann für jedes Attribut
eine Checkbox die man anwählen kann. In der Benutzerverwaltung legt man
dann bei jedem Benutzer fest, auf welche Attribute er Zugriff hat und
auf welche nicht. Momentan gibt es ja auch schon ein Attribut
"obsolete", das man später dann nicht mehr separat behandeln müsste.

Filtermöglichkeit der Suchergebnisse bei den Baugruppen

Von Google Code: https://code.google.com/p/part-db/issues/detail?id=20

Es fehlt noch eine Suchfunktion. Wenn man entsprechend viele Artikel schon eingepflegt hat und will dann über Bauteile einen Artikel hinzufügen muss man sich händisch durch die ganze Auflistung der Artikel druchwuseln. Vielleicht wäre es sinnvoll da die Baumstruktur von der Kategorieliste mit einfliessen zu lassen das wäre ein Anfang.

Gruß Kirkdis


Du meinst bei den Baugruppen, oder?

Also eine Suchfunktion gibt es da ja, aber dir fehlt die Möglichkeit die Suchergebnisse zu filtern so wie ich das verstanden habe.

Vor Vorteil ist es sicher, aber nicht sehr dringend daher markiere ich das hier mal als "Priority-Low".

Einem Bauteil mehrere Lagerorte zuordnen können

Von Google Code: https://code.google.com/p/part-db/issues/detail?id=29

Originalbeitrag: http://www.mikrocontroller.net/topic/135284?goto=2785136#2784534

[Zitat von M.K.:]
Was aber öfters vorkommt ist, das wir 2 Bauteile an 2 Lagerorten haben.
Eine kleine Menge in unseren Schubladenkästen für Prototypen und eine
größere Menge die wir evtl. unseren Bestücker für die erste Serie
beistellen. Manchmal passen die Teile auch nicht in eine Schublade dann
wird das auf 2 oder 3 Schubladen aufgeteilt.
Man kann dafür zwar auch mehrere Bauteile anlegen, wenn sich dann aber
der Preis, Bestellnummer, Datenblatt ändert muss man halt daran denken
bei allen die Änderung durchzuführen.
[Ende Zitat]

Wenn wir das so einbauen würden, müsste man sich aber noch überlegen was beim Einlagern/Abbuchen von Bauteilen geschehen soll (welcher Lagerort betroffen ist). Sofern nur ein Lagerort angegeben ist, ist der Fall klar. Sind mehrere Lagerorte vorhanden, müsste man nachfragen welchen Lagerort man nun meint.

dtree.js nicht gefunden (direkt nach Neuinstallation)

Ich habe den aktuellen master-branch gestern installiert. Die Installation lief problemlos durch, auch die Einrichtung klappte wunderbar, allerdings kann ich nicht auf das Menü zugreifen.

Über die Fehlerconsole im Browser kann ermittelt werden, dass der Zugriff auf den Ordner javascript nicht funktioniert.

GET dtree.js 404 Not Found
GET toggle.js 404 Not Found

Dadurch ist es mir leider unmöglich, auf die Menüs zuzugreifen.
Das Verhalten ist unter Firefox, Chrome und IE nachstellbar.

Rufe ich
https://meine-url/javascript auf, erhalte ich 403 Forbidden.

Gibt es noch eine Besonderheit, die beim Einrichten gesetzt werden muss?

Thumbnails für hochgeladene Bilder verwenden

Von Google Code: https://code.google.com/p/part-db/issues/detail?id=27

schön wäre es wenn man Bilder zu Artikeln hinzufügt, dass diese selbststandig resized werden. aktuell ändere ich die Größe von Fotos auf 640x480 Pixel damit das design nicht zerstört wird in der Artikelbearbeitung und Ansicht.


Lässt sich mittels GD direkt nach dem Upload erledigen: imagecreatetruecolor() -> imagecopyresampled() -> imagepng(). Existierende Bilder einfach mittels convert aus dem ImageMagick-Paket verkleinern.


Ich hätte da folgende Idee:

Beim Upload eines Bildes wird es unverändert so auf dem Server abgelegt.
Zusätzlich werden aber noch zwei verschiedengrosse Thumbnails erstellt.
Einmal ein ganz kleines für das Mini-Bild in den Tabellen, damit Tabellen mit extrem vielen Bauteilen auch noch wirklich schnell geladen werden können.
Und dann noch ein 320x240 oder vielleicht 640x480 grosses Thumbnail für das Hover-Bild in den Tabellen.
Beim Anzeigen eines Bauteiles könnte auch das grössere Thumbnail angezeigt werden, und mit einem Klick auf das Thumbnail würde sich dann das Originalbild in einem Popup öffnen.

Log für Buchungen usw.

Von Google Code: https://code.google.com/p/part-db/issues/detail?id=24

Alle Aktionen, die vom User in Part-DB vorgenommen werden, sollen aufgezeichnet werden. Es kann darüber diskutiert werden wie ausführlich die Aufzeichnung sein soll. Also ob z.B. nur das Abbuchen/Hinzubuchen von Teilen, oder sogar jede Kleinigkeit wie die Umbenennung eines Footprints im Log landen soll.

Im Log wäre es wünschenswert, die gemachten Aktionen auf einen Klick wieder rückgängig machen zu können.

Dieses Feature würde sich sehr gut in die anstehende Benutzerverwaltung integrieren lassen. Es soll im Log also auch stehen WER die Änderung durchgeführt hat. Deshalb gilt auch hier: besser noch abwarten bis die Benutzerverwaltung steht :-)

Popup des Artikels im Hintergrund

Von Google Code: https://code.google.com/p/part-db/issues/detail?id=34

Falls mal ein Artikel aufgerufen wurde (Popup) und der Browser mit der Partdb wieder maximiert wird kann man keine Einstellungen mehr vornehmen. Suche funktioniert auch nicht mehr. Im Grunde ein Bedienfehler aber darauf musste ich damals erstmal kommen an was das liegt und wo der Hund begraben ist.

Ich denke aber in der aktuellen Version ist das nicht anders lösbar,oder?


Ja mit den Popups hatte ich auch schon mehrfach Probleme.
Bei den einen Problemen ist es besser, man aktiviert in den Einstellungen die modalen Popups, bei anderen Problemen sind nicht-modale Popups besser...

Die jetztigen Popups scheinen ja auch auf Android nicht zu funktionieren, das ist natürlich schade.

Geplant ist ja, dass die Popups durch JavaScript-Fenster ersetzt werden, aber das kann halt noch relativ lange dauern.

csv oder Excel Export Möglichkeit für alle Artikel

Wenn man alle Teile mit allen Infos exportieren könnte,
könnte man in z.B. Excel einen zu einem gewissen Datum
eingefrorenen Warenbestand abspeichern. Womit man dann Manipulationen
nachvollziehbar machen könnte (unerlaubte Entnahmen).

Das geht zwar auch mit SQL, aber Excel hätte auch den Vorteil
das man Statistiken besser weiterverarbeiten könnte und eine einfachere Bestellungsbearbeitung hätte.

Vielen Dank Gruß Aaron

Eine Entnahme mit einer Bestellnummer oder Vorgangsnummer verbinden

Es wäre besser nachvollziehbar wo Teile abgeblieben sind wenn man für eine Entnahme eines Teils eine Bestellnummer oder ähnliches eintragen müsste am besten auch welche Seriennummer entnommen wurde.
So das eine Historie im Artikel sichtbar ist.

Beispiel;
Date;Qty;Name;Serial#;Order#;
12.07.2014;1Stk;Wyse Thin Client C10LE;JDF6LKD;ORD9776129;

Gesamtpreis stimmt nicht

Wenn man unter Statistik den gesamt preis nachguckt, stimmt dieser nicht.
Es wird mit dem preis für ein Teil gerechnet.

Beispiel: Ich habe nur ein Bauteil z.b. einen Widerstand, davon habe ich 100 Stück.
Eingetragen ist:
1 Stk: 0.08€
10 Stk: 0.05€
100 Stk: 0.02€

Dann wird mir angezeigt:
Wert aller mit Preis erfassten Bauteile: 8,00 €

Benutzte Version: 0.3.1

Änderung des Password Hashalgorithmus

Part-DB nutzt zur als Hashfunktion für das Admin Passwort SHA256 mit der hash() funktion. Die PHP-Website (http://php.net/manual/de/faq.passwords.php) empfiehlt dies so nicht einzusetzen, sondern z.B. password_hash(), dass momentan mit bcrypt arbeitet, welches als sicherer als SHA256 eingestuft wird.
Bei falsch konfigurierten/nicht funktionierenden .htaccess, könnten Angreifer den Password Hash auslesen und (mit viel Aufwand) das Passwort ermitteln.
Dies ist momentan zwar noch kein monumentales Sicherheitsproblem, sollte aber beachtet werden, vor allem falls ein Usersystem implementiert werden sollte.

Preise nicht auf 2 Stellen nach dem Komma runden

Wenn Bauteile auf einer SMD Rolle bestellt werden, z.B. 5000 Stück für insgesamt 5 EUR, ist der Preis für ein 1 Stück immer 0,00 was natürlich nicht stimmt.

Es wäre schön wenn der Preis mit 4 Stellen nach dem Komma angezeigt wird, dann kann man wieder richtig rechnen.

Obsolete Teile mit Lagerbestand Null in den Tabellen ausblenden

Von Google Code: https://code.google.com/p/part-db/issues/detail?id=35

Aus dem Beitrag http://www.mikrocontroller.net/topic/269289#3177789

Um die Übersichtlichkeit zu erhöhen könnte/sollte man "obsolete
Bauteile" bei denen der Lagerstand auf null gesunken ist aus der
Bauteileübersicht ausblenden und nur mehr unter
Verwaltung / Tools > Zeige > Nicht mehr erhältliche Teile
auflisten. Dadurch wären evtl. verknüpfte Datenblätter im Falle des
Falles weiter verfügbar, nur man stolpert nicht ständig über "Leichen".

Auflistung was alles an einem bestimmten Lagerort sein sollte

Von Google Code: https://code.google.com/p/part-db/issues/detail?id=6

Auflistung was alles an einem bestimmten Lagerort sein sollte
z.B. als Untermenü "Zeige" -> "Teile nach Lagerort"


Wäre ich auch sehr begeistert von. Vielleicht sogar mit Export- bzw Druckfunktion.


Zu diesem Thema hatte ich übrigens noch eine Idee.

Wenn man jetzt im Navigationsfenster bei der zweiten Baumstruktur (momentan "Baugruppen") ermöglichen könnte, statt der Baugruppen auch Lagerorte, Footprints und Lieferanten anzuzeigen, hätten wir gleich noch mehr "Freiheit" geschaffen. Ein kleines dezentes Icon neben dem Titel (so ähnlich wie das Home-Icon bei der Suche), das ein PopupMenü öffnet, würde sich dafür anbieten, um auswählen zu können, was angezeigt werden soll.

Mehrfachauswahl von Bauteilen + Aktionen

Von Google Code: https://code.google.com/p/part-db/issues/detail?id=43

Ich finde, dass folgende Features noch sinnvoll wären:

Wenn ich bestimmte Bauteile aus einer Kategorie löschen möchte, muss ich aktuell in jedes Bauteil einzeln reingehen und löschen.
Es wäre sinnvoll, wenn man das über eine Mehrfachauswahl lösen könnte.
So bräuchte man nicht in jedes Bauteil einzeln reingehen.

Man könnte diese Mehrfachauswahl mit einer Aktion verbinden.
Das heißt:
In der Fußleiste ist eine Kombo-Box mit Aktionen wie "Löschen", "Verschieben" etc. vorhanden.
So kann man z.B. Bauteile von Kategorie A nach Kategorie B verschieben oder einfach alle ausgewählten Bauteile mit wenig Aufwand löschen.

Gemachte Bestellungen (Tabelle "pending_orders")

Von Google Code: https://code.google.com/p/part-db/issues/detail?id=31

Die Tabelle "pending_orders" scheint noch nicht in Gebrauch zu sein.

Zitat aus http://www.mikrocontroller.net/topic/269289:

Meine Vermutung ist, dass die
Tabelle dazu da ist, um Teile als bestellt markieren zu können. Dann
würden sie nicht mehr unter "Zu bestellende Teile" aufgelistet werden,
obwohl der Bestand noch tief genug wäre. Aber implementiert scheint es
noch nicht zu sein, ich habe nichts gefunden wo man Teile als "bestellt"
markieren könnte.

Frage wegen TMPL

Hallo. Komme mit den TMPL Sachen nicht ganz klar. Wo oder wie werden die generiert ? Ich bräuchte in der vlib.table.tmpl ab Zeile 339 (kann bei euch +/- paar sein) eine Abfrage ob der Attachment Type 1 oder 2 ist. In der Tabelle "attachements" stehen ja offensichtlich die Anlagen die dort auch mit type_id 1 oder 2 (bei mir gibt es nur 2 Typen) angelegt sind.
Man könnte beim anlegen der Typen noch eine Spalte Image dazumachen um dann in der Tabelle das Bild anzuzeigen aber derzeit zu weit.
Ich wollte nun in etwa folgendes Umbauen:
<table> {TMPL_LOOP NAME="attachements"} {TMPL_IF TYPE_ID="1"} ????? <td><img src="{TMPL_VAR NAME="filename"}" title='{TMPL_VAR NAME="name"}' style="width:50px;" /></td> {TMPL_ELSE} <td><img src="img/pdf_icon_2.png" title="{TMPL_VAR NAME="filename"}" style="width:40px;"></td> {/TMPL_IF} {/TMPL_LOOP} </table>

Wäre aber zu einfach der wohl mit TYPE_ID nix anfangen kann. Wo finde ich die SQL Abfrage dafür ?

Hinweis beim Anlegen eines bereits existierenden Bauteiles

Von Google Code: https://code.google.com/p/part-db/issues/detail?id=41

Legt man ein neues Bauteil an, soll zuerst überprüft werden ob nicht schon ein Bauteil mit:

  • exakt dem selben Namen
  • dem selben Footprint
  • dem selben Hersteller
    existiert. Falls es so eines gibt, könnte es sein dass der Anwender aus Versehen nicht gemerkt hat, dass dieses Bauteil ja schon in der Datenbank existiert. Dann sollte ein dezenter Hinweis erscheinen, vielleicht mir der Frage ob man gleich das existierende Bauteil anschauen/bearbeiten möchte.

Aus: https://www.mikrocontroller.net/topic/269289#3252505

Eigenschaften zu Bauteilen hinzufügen (z.B. SMD)

jedes Bauteil mit n-selbst erstellbaren Eigenschaften versehen können.
z.B. SMD, 5V, Low Power, Spannungsfestigkeit 40V etc.
am besten je Kategorie einstellbar machen, welche Eigenschaften dort zugeordnet werden können.
Nach diesen Eigenschaften global filtern können

Bauteile-Import: PHP Limit "max_input_vars" wird überschritten

Beim Bauteile-Import wird ziemlich schnell das PHP Limit "max_input_vars" (Standardmässig auf 1'000 eingestellt) überschritten. Der Import funktioniert dann einfach nicht, und es wird keine Fehlermeldung angezeigt.

Da pro Bauteil aktuell 13 Variablen per POST übermittelt werden, funktioniert der Import (bei max_input_vars=1000) nur bis ca. 75 Bauteile. CSV-Dateien mit mehr als ca. 75 Zeilen gehen also nicht mehr.

Fragt sich jetzt, ob man die Ursache des Problems (die vielen übermittelten Variablen) gescheit beheben kann, oder ob man einfach die Anpassung von "max_input_vars" in die .htacces und in die Doku aufnehmen und ggf. im Importer den Fehler noch mit einer Fehlermeldung abfangen soll...

Nach Spalte X sortieren

Von Google Code: https://code.google.com/p/part-db/issues/detail?id=42

Wenn ich alle meine Bauteile einer bestimmten Kategorie aufliste, wäre es hilfreich, wenn man in der aktuellen Anzeige nach einer bestimmten Spalte sortieren könnte.

Dazu müsste es noch zusätzlich eine Konfiguration geben, in der man einstellen kann wie standardmäßig (also nach welcher Spalte) sortiert werden soll.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.