Da ja die Version 0.3.0 der Part-DB mittlerweile draussen ist, habe ich mal einen neuen Thread eröffnet. Ich habe in meinem Branch "part-db-uneist" angefangen, die Frames abzulösen. Anstelle der Frames gibt es zwei DIV-Blöcke "menu" und "content". Die Funktion use_javascript() habe ich lahmgelegt, da alle Scripts jetzt in der javascript/main.js nachgeladen werden. Das Baummenü javascript/dtree.js ist in Teilen schon angepasst, so dass die Ziele per Ajax in das Ziel"frame" "content" geschrieben werden. Die Hilfe wandert in ein IFrame, da sie sonst nicht sauber funktioniert. Ob sie später als neue Webseite oder Popup geöffnet wird, das lasse ich offen. Sobald ich das derzeit ver"gurkte" Design wieder repariert habe, werde ich den Branch aktualisieren.
Revision 699 enthält die erste Version meiner Veränderungen. Der Ordner nbproject sollte eigentlich nicht dabei sein, aber SVN wollte den irgendwie nicht ignorieren. http://code.google.com/p/part-db/source/browse/#svn%2Fbranches%2Fpart-db-uneist
Udo Neist schrieb: > Der Ordner nbproject sollte eigentlich nicht dabei sein, aber SVN wollte > den irgendwie nicht ignorieren. Ja, es ist echt ein Jammer dass es keine ".svnignore" (analog ".gitignore") gibt... Das hat mich bei SVN schon mehrmals genervt dass man die zu ignorierenden Dateien wieder neu definieren muss. Und das ist nur einer von vielen (nützlichen) Vorteilen, welche GIT gegenüber SVN bietet :-) Vielleicht sollte man K.J. mal fragen ob er bereit wäre, Part-DB nach (mMn vorzugsweise) Github zu verschieben? :-) Ab Anfang nächsten Jahres kann man auf Google Code übrigens keine Releases mehr hochladen. Netterweise hat Github genau dieses Feature (ich glaube das war noch in diesem Jahr?) hinzugefügt :-D Nette Strategie von Github... Natürlich liegt die Entscheidung aber alleine bei K.J., ist schliesslich sein Projekt! Ich möchte da nicht reinreden. mfg
K. J. schrieb: > jo könnten wir tun werde mich die tage drum kümmern. cool! Im Internet gibts ja einige Anleitungen wie man ein SVN Repository nach GIT umzieht ohne die History zu verlieren. Gibt halt etwas Arbeit... Ausserdem sollte man bei Gelegenheit auch mal noch die "stable" Demo auf die finale 0.3.0 aktualisieren, jetzt ist nämlich die "unstable" Demo auf der stabilen 0.3.0 und die "stable" Demo auf der unstabilen RC1 :-) Aber das hat alles keine Eile, ich persönlich kann in den nächsten drei Wochen sowieso praktisch nicht an Part-DB weiterarbeiten.
Demo ist Aktualisiert github kommt die Tage muss mich da mal einlesen.
@K.J. Ich denke übrigens man sollte das Projekt bei Google Code dann nicht gleich löschen, da in den Part-DB Installationen ja der RSS Feed noch von dort geholt wird. Ausserdem ist auf der Startseite der Link auf die Google Code Projektseite drin, der dann plötzlich ins Leere laufen würde... ...kam mir nur grad so in den Sinn ;-)
So, die Semesterprüfungen sind vorbei, jetzt habe ich wieder mehr Zeit für die Part-DB :-) @K.J. wie siehts mit dem Umzug auf Github aus, konntest du da schon was machen?
https://github.com/sandboxgangster/Part-DB Stündchen schätze ich dauert der Upload noch muss mich erstmal selber da reinfummeln.
Ja bei mir macht er den Upload, und meldet bei 100% "Broken" ka warum muss mich erstmal in git einlesen hatte das faq von http://rogerdudler.github.io/git-guide/index.de.html versucht. Hab dich auch geadded hoffe das war richtig, auch in github muss ich mich mal einlesen ;-)
Vielleicht habt ihr nen tip ich komme da nicht weiter.
1 | theborg$ git push origin master |
2 | Username for 'https://github.com': sandboxgangster |
3 | Password for 'https://sandboxgangster@github.com': |
4 | Counting objects: 4188, done. |
5 | Delta compression using up to 2 threads. |
6 | Compressing objects: 100% (4106/4106), done. |
7 | error: RPC failed; result=22, HTTP code = 502 9.00 KiB/s |
8 | fatal: The remote end hung up unexpectedly |
9 | Writing objects: 100% (4187/4187), 45.64 MiB | 424.00 KiB/s, done. |
10 | Total 4187 (delta 365), reused 0 (delta 0) |
11 | fatal: The remote end hung up unexpectedly |
12 | Everything up-to-date |
hmm die Fehlermeldung sagt mir jetzt auch nichts (arbeite selber auch noch nicht sehr lange mit Git...) Ich werds selber mal versuchen, bin grad noch dabei das SVN Repository nach Git zu konvertieren.
So, die Dateien sind jetzt auf Github, ich hoffe es hat alles richtig funktioniert. Für das Release 0.3.0 habe ich einen Tag hinzugefügt, jetzt lässt sich das Archiv direkt unter "Releases" runterladen. Ich muss dann nur mal noch die Doku anpassen, weil der Ordner im Archiv jetzt "Part-DB-0.3.0" statt "part-db" heisst. Damit ist die aktuelle Installationsanleitung nicht mehr ganz korrekt... @Udo Kannst du mal deine beiden Branches überprüfen, ob alles korrekt übernommen wurde? Und vielleicht gleich denjenigen Branch löschen, den du nicht mehr brauchst. Das kann man auch gleich auf Github machen, sofern du als Contributor hinzugefügt wurdest.
Ich werde das mal am WE überprüfen, spätestens nächste Woche. Ich muss mich auch noch in git einlesen.
So, ich habe nochmal ein bisschen am neuen Repository gearbeitet (neue Branches, Issues, Meilenstein hinzugefügt). Der Meilenstein ist nur mal so ein Vorschlag von mir, ist nichts verbindliches :-) Die Überbleibsel von Versuchen mit System-Updates und Barcodes habe ich in separate, neue Branches verschoben. Es wird sonst etwas mühsam wenn man Änderungen vom master z.B. in den Branch der 0.3.x mergen möchte. Für zukünftige neue Funktionen und Versuche sollte man jeweils immer einen neuen Branch anlegen (hätte man eigentlich schon immer machen sollen, wurde aber nicht so konsequent umgesetzt, auch nicht von mir ;-) Urban B. schrieb: > Für das Release 0.3.0 habe ich einen Tag hinzugefügt, jetzt lässt sich > das Archiv direkt unter "Releases" runterladen. Ich muss dann nur mal > noch die Doku anpassen, weil der Ordner im Archiv jetzt "Part-DB-0.3.0" > statt "part-db" heisst. Damit ist die aktuelle Installationsanleitung > nicht mehr ganz korrekt... Hat sich erledigt, ich habe gesehen dass man ja selbst Binaries zu einem Release hochladen kann, dann passt alles wieder... ;-)
Also ich denke, wir sollten mal eine Strategie festlegen, wie wir mit den Branches umgehen, damit nicht einfach jeder macht was ihm gerade gefällt :-) Ich habe mir mal folgende Strategie überlegt: Im Branch "master" wird auf die jeweils direkt nächste Version von Part-DB hingearbeitet (momentan auf die 0.3.1). Funktionen, die nicht in diese nächste Version kommen, werden NICHT in den master übernommen. Diese werden stattdessen alle in einem separaten Branch entwickelt. Also z.B. je einen Branch für die Barcodes, Systemupdates, Benutzerverwaltung usw. Für jede Versionslinie X.Y gibt es einen separaten Branch, z.B. für die Versionen 0.3.x gibts momentan den Branch "Part-DB-0.3.x". Änderungen, die die nächste Version (0.3.1) betreffen, können direkt im master gemacht werden und werden dann von Zeit zu Zeit in den Branch der aktuellen Version ("Part-DB-0.3.x") gemerged, das geht sehr einfach wenn man ALLE Commits aus dem master übernehmen möchte. Das heisst dann eigentlich, dass die Branches "master" und "Part-DB-0.3.x" grundsätzlich identisch sind, solange die Version 0.3.x aktuell ist. Sobald aber die 0.3.x-Versionslinie abgeschlossen wird, wird der Branch "Part-DB-0.3.x" links liegengelassen und am master wird auf die 0.4.x hingearbeitet. Ausserdem können die commits vom master auch immer wieder in die anderen Branches (Barcodes, Benutzerverwaltung, ...) übernommen werden, da diese ja auch aktuell gehalten werden sollen. Bis hierhin ist alles sehr einfach, weil immer ALLE Commits aus dem master übernommen werden, es gibt im master keine Commits, die nicht auch in den anderen Branches landen sollen. Sobald man nun das Gefühl hat, die 0.3.x Linie ist abgeschlossen, erstellen wir den neuen Branch "Part-DB-0.4.x". Im master arbeitet man nun auf die 0.4.0 RC1 hin und übernimmt alle Änderungen jeweils auch in den Branch "Part-DB-0.4.x". Alle Branches von Funktionen, die in der 0.4.0 RC1 landen sollen, werden in den master und von da in "Part-DB-0.4.x" übernommen, und die ursprünglichen Branches gelöscht. Dann wird am master gearbeitet bis die 0.4.0 RC1 fertig ist. Und bei jeder veröffentlichten Version wird ein Tag mit einem Namen wie "v0.4.0" gesetzt, denn alle Tags mit so einem Namen werden von Github automatisch erkannt und unter "Releases" aufgelistet. Mir kamen auch andere Strategien in den Sinn. Man könnte z.B. am master auch auf zukünftige Funktionen hin arbeiten, die nicht in der nächsten Version landen sollen. Das hat aber den Nachteil, dass man dann nur ausgewählte Commits in den Branch "Part-DB-0.3.x" mergen darf, das macht die ganze Sache komplizierter und Fehleranfälliger. Meine vorgeschlagene Strategie hat aber auch einen Nachteil. Wenn z.B. die Benutzerverwaltung und die Systemupdates in getrennten Branches entwickelt werden, kann man nie das Zusammenspiel beider neuen Funktionen testen, also ob auch beide Funktionen miteinander funktionieren. Erst wenn man mit der Entwicklung der nächsten Versionslinie beginnt, und alle neuen Funktionen in den master übernimmt, kann das Zusammenspiel beider neuen Funktionen getestet werden. Wenn es wirklich mal eine Situation gibt, in der dies ein Problem darstellen würde, könnte man aber auch mal eine Ausnahme machen und beide Funktionen in den selben Branch stecken und da miteinander weiterentwickeln... Wie seht ihr das? Wenn wir uns auf eine Strategie geeinigt haben, kann ich das in die Doxygen Doku aufnehmen damit das auch festgehalten und für jeden Entwickler jederzeit abrufbar ist. Übrigens haben wir schon den ersten Pull Request auf Github bekommen :-) Vielleicht sollten wir auch noch besprechen, was wir mit diesem (und zukünftigen Pull Requests) machen sollen. In den master mergen würde meiner vorgeschlagenen Strategie widersprechen, da es sich um ein neues Feature handelt und daher nicht in die 0.3.x gehört. Mein Vorschlag wäre, den Pull Request erstmal links liegen zu lassen, und sobald wir im master auf die 0.4.x hin arbeiten, können wir ihn direkt in den master mergen. mfg
Im Prinzip ist der Master immer unverändert dieser wird nur verändert wen eine Funktion getestet würde und dann übernommen wird, ich würde auch jede Funktion in einem eignenden Branch entwickeln und dann in den Master mergen danach kann der master getestet werden und wird dann zu neuen Version.
Ich stimme eher K.J. zu. Das Entwickeln einer Funktion und Mergen in den Master ist durch die Modularisierung viel einfacher geworden. Erst wenn die Ziele eines Releases erfüllt sind, wird der Master zum Release. Wir müssen uns dann überlegen, wer dieses Release weiter betreut. Nur diese Person pflegt die Patches in den Zweig ein. Hierbei würde ich die Hierachie nach
1 | Master -> Release 0.3 -> unstable |
2 | -> 0.3.0 |
3 | -> 0.3.1 |
4 | -> Release 0.4 -> unstable |
5 | -> 0.4.0 |
ordnen. Unstable beinhaltet somit alle Patches für diese Version bis zu einem neuen Release. Natürlich müssten die Patches auch im Master landen, sofern diese dafür relevant sind. Das würde bedeuten, dass neue Funktionen und Patches für den Master im Entwicklerforum angekündigt werden sollten, damit alle Beteiligten aktualisieren können. Wir haben ja keine Instanz, die nur den Master betreuen wird, so ist es für jeden von uns dann etwas mehr Arbeit.
Udo Neist schrieb: > Ich stimme eher K.J. zu. Hmm ich sehe keinen Unterschied von K.J.'s und meiner Beschreibung? :-) Es ist gar nicht so einfach, das Vorgehen zu beschreiben... Ich kann ja mal zwei Beispiele machen: Erstes Beispiel: Aktuell ist die 0.3.0 raus, es wird an der 0.3er Linie weitergearbeitet (also nur noch Bugfixes, keine neuen Funktionen). Die Bugfixes werden jeweils direkt im master getätigt (einen eigenen Branch bringt nichts, sind ja nur kleine Bugfixes). Diese Commits im master werden dann von Zeit zu Zeit in den 0.3.x-Branch und in alle Branches von neuen Funktionen gemerged. Der master und der 0.3.x-Branch sind während dieser Zeit grundsätzlich identisch. Erreicht der master (und damit auch der 0.3.x-Branch) eine stabile Version (z.B. 0.3.1), wird im 0.3.x-Branch ein Tag "v0.3.1" gesetzt, damit dieser Stand festgehalten wird. Der Branch an sich entwickelt sich aber natürlich weiter, zur 0.3.2 usw. Ist die 0.3.x-Linie abgeschlossen, wird dieser Branch so gelassen und ein neuer Branch 0.4.x angelegt. In diesem, und im master, wird nun an der 0.4er Version gearbeitet. Zweites Beispiel: Wieder die gleiche Ausgangslage, Version 0.3.0 ist draussen. In einem separaten Branch wird an der Benutzerverwaltung gearbeitet, die aber erst in der 1.0.0 landen soll. Während der Entwicklung der Benutzerverwaltung werden immer wieder die Commits vom master in diesen Branch gemerged, schliesslich werden auch hier die ganzen Bugfixes usw. benötigt. Erst wenn die letzte Version vor der 1.0.0 abgeschlossen ist, wird im master auf die Version 1.0.0 gewechselt und den Branch der Benutzerverwaltung in den master gemerged (wie auch alle anderen Branches von Funktionen, die in der 1.0.0 landen sollen). Im master wird nun die 1.0.0 getestet, bis schliesslich die stabile Version 1.0.0 in den (neu angelegten) Branch für die 1.0.x-Versionen übernommen wird, und der entsprechende Tag hinzugefügt wird. Ists jetzt verständlicher? ;-)
Vom Entwicklungsmodell unterscheiden wir uns fast gar nicht. In meiner Grafik fehlen nur unsere eigenen Branches zur Entwicklung der Funktionen. Bei mir ist nur der Unstable-Teil dabei, der rein für die Übernahme von Patches gedacht ist, bevor die ebenso im Master landen können. Wenn jemand aus irgendwelchen Gründen (z.B. PHP-Version) noch nicht auf die nächste Version updaten kann, so ist in meinem Modell zumindest für einen gewissen Zeitraum noch die Pflege des älteren Zweiges vorgesehen. Nach einer Zeit würde dann der Support auslaufen. Wenn du nur den Master nimmst und keine Bugfixes für stabile ältere Versionen anbieten willst, geht das auch nach deiner Beschreibung. Wenn wir auch Firmen von Part-DB überzeugen wollen, müssen wir deren längere Laufzeiten von Softwarepaketen bedenken. Den 0.3.x wegen dem Release einer 0.4.0 fallen zu lassen, wäre einfacher, aber meist ein Ausschlusskriterium. Gute IT-Abteilungen testen neue Releases erst, bevor sie diese frei geben. Patches landen dafür meist schneller auf dem System.
Aber die Pflege des 0.3.x Branches ist ja weiterhin möglich, auch wenn im master und im 0.4.x Branch bereits an der 0.4.x gearbeitet wird (oder natürlich auch noch später). Der Branch für die 0.3.x bleibt ja stehen, auch wenn er grundsätzlich nicht mehr benötigt wird. Wenn nun später doch mal noch Bugfixes für die 0.3.x veröffentlicht werden sollen, übernimmt man einfach die entsprechenden Commits, die im master getätigt wurden, in den alten 0.3.x Branch und kann dort eine neue 0.3er Version freigeben. Meinst du mit deiner Grafik, dass es für jede 0.3.x Version einen separaten Branch geben soll? Also einen Branch für "0.3.0", "0.3.1", "0.3.2" usw? Dafür gibt es doch Tags, die machen die ganze Sache viel übersichtlicher. Einen "unstable" Branch ist damit auch nicht nötig, der 0.3.x-Branch an sich entwickelt sich von unstable zu stable, dann wird ein Tag gesetzt. Dann wird er wieder unstable, bis das nächste Tag gesetzt wird usw. Also so:
1 | -> unstable (Entwicklung) -> stable (v0.3.0) -> unstable (Entwicklung) -> stable (v0.3.1) -> usw. |
(wobei "unstable" hier nicht wirklich unstable ist, da die Bugfixes ja vorher im master getestet wurden)
Ich merke, ich muss wohl bei Git umlernen ;-) Nebenbei, hab mich auch mal bei Github angemeldet, um da endlich mal mitreden zu können.
Mein github-Account weinbauer73 (weinbauer@singollo.de) darf nicht auf den Branch filemanager schreiben :( Somit kann ich euch den aktuellen Stand der Integration nicht zur Verfügung stellen.
@Udo Hmm vielleicht hat K.J. dich noch nicht als Contributor eingetragen? Übrigens kannst du in den GitHub Einstellungen deine gmail-Adresse, die du bei SVN verwendet hast, eintragen. Dann werden deine alten Commits auch deinem Benutzerkonto zugeordnet. Leider habe ich keinen Zugriff mehr auf meine gmx-Adresse, die ich bei SVN mal verwendet habe...diese Commits können jetzt halt nicht mehr meinem Benutzerkonto zugeordnet werden ;-) Übrigens, falls Ihr das noch nicht kennt: Man kann in Github den öffentlichen Schlüssel eines eigenen SSH Schlüsselpaares hinterlegen, und das Repository über SSH runterladen. Danach kann man dauerhaft ins Repository schreiben, ohne jedesmal ein Passwort eingeben zu müssen. Das macht die ganze Sache relativ komfortabel :-) Ausserdem habe ich mal eine neue Doxygen Seite geschrieben, die kurz beschreibt wie wir mit den Branches usw. umgehen. Dazu habe ich noch eine Grafik gemacht, die sollte es etwas deutlicher darstellen: https://github.com/sandboxgangster/Part-DB/raw/master/development/doxygen/img/vcs_flow.png Auch gut zu wissen ist, dass man in den Commit-Mitteilungen Verweise auf GitHub Issues machen kann. Steht alles in der neuen Doxygen Seite.
Das mit dem SSH-Key habe ich schon gefunden und aktiviert :-) Das andere war mir bisher nicht bekannt. Aber einfach mal abwarten.
hab dich eingetragen mir fehlte dein benutzername aber jetzt bist drinnen
Schade, auf dem Webpack XL von Hosteurope läuft es nicht, da dort die InnoDB nicht installiert ist. :-( Wäre ja auch zu schön gewesen ...
a. b. schrieb: > Schade, auf dem Webpack XL von Hosteurope läuft es nicht, da dort die > InnoDB nicht installiert ist. :-( Hmm wenn das so ist, ist das natürlich sehr schade. Allerdings lohnt es sich wirklich, InnoDB einzusetzen, denn durch die Unterstützung von Fremdschlüsseln und Transaktionen wird die Datensicherheit sehr stark erhöht. Vor allem dass man fehlgeschlagene, umfangreiche Transaktionen einfach wieder rückgängig machen kann, ist extrem hilfreich und kann einen haufen Ärger ersparen. Daher meine Empfehlung: Such dir einen Anbieter mit InnoDB, es lohnt sich wirklich :-)
Da ich eh etwas "mehr" brauchte, habe ich jetzt für zusätzlich 5 Euro auf Webserver "L" "ge-updated", dort ist InnoDb vorhanden. Bei den reinen Webpacks scheint das wohl zu viel Performance zu brauchen. Na hoffentlich erfüllen sich damit meine Erwartungen an des Prg :-)
Hallo Zuerst einmal ein Lob für die super Software Ich verwende Zuhause auf einem WAMP Server PartDB in der Version 2.2 mit der DB Version 11. Bin auch sehr zufrieden damit. Da ich den Server umgestellt habe würde ich gerne auch PartDB in der neuesten Version verwenden. Kann ich von Version 2.2 auf die neueste Version updaten oder nicht. Wenn ja gibts eine Anleitung Gruß Christoph
Hi, hat schonmal jemand versucht Part-DB mit Altium Designer zu verwenden? Wenn das klappt, könnte man alle Bauteile direkt aus Altium Designer in der Datenbank anlegen lassen und die Bauteile in der DB dann auch verwenden um neue Platinen zu designen. Weiss jemand ob das klappt? Gruß Matthias
:
Bearbeitet durch User
Hallo zusammen, Christoph B. schrieb: > Kann ich von Version 2.2 auf die neueste > Version updaten oder nicht. Wenn ja gibts eine Anleitung Einfach Dateien überschreiben. Vorher sicherheitshalber unbedingt ein Backup des gesamten Systems (Dateien und Datenbank) anlegen. Siehe auch hier: http://www.partdb.grautier.com/svn/documentation/dokuwiki/doku.php?id=installation Matthias Fechner schrieb: > hat schonmal jemand versucht Part-DB mit Altium Designer zu verwenden? Ich kenne den Altium Designer nicht, aber ich schätze mal es gibt zwei Varianten: - Jemand programmiert ein Plugin für den Altium Designer (falls das überhaupt möglich ist?) - Es gibt ein Export-Tool im Altium Designer, um XML oder CSV Dateien zu erstellen, die dann in Part-DB importiert werden können. Ist dann aber mehr halbautomatisch als vollautomatisch... Aber vielleicht hat ja hier jemand Erfahrung mit dem Altium Designer und kann weiterhelfen ;-) mfg
:
Bearbeitet durch User
so habe das Update gemacht. Leider scheint etwas schief gelaufen zu sein
Auf dem Screenshot kann ich keinen Fehler entdecken. Das rot hervorgehobene Kästchen sagt ganz klar aus, dass die Mindestmenge von 2 Stück unterschritten wurde.
:
Bearbeitet durch User
ganz links. Irgendwie 2 Links übereinander. Einer geht einer nicht. Es scheint etwas mit den Footprints nicht zu stimmen. The requested URL /partdb/IC_DPAK-369C was not found on this server.
Er meint wohl eher die fehlenden Bilder ;-) Beim ersten Aufruf nach dem Update sollte der folgende Hinweis eingeblendet worden sein:
1 | Bitte verschieben Sie die folgenden Dateien und Ordner ins Verzeichnis "data": |
2 | "config.php" --> "data/config.php" |
3 | "backup/" --> "data/backup/" |
4 | "media/" --> "data/media/" |
5 | "log/" --> "data/log/" |
6 | |
7 | WICHTIG: |
8 | Kopieren Sie jeweils nur den Inhalt der genannten Ordner, nicht den ganzen Ordner an sich! |
9 | Die Zielordner enthalten bereits (teilweise versteckte) Dateien, die auf keinen Fall überschrieben werden dürfen! |
10 | Kopieren Sie also nur den Inhalt dieser Ordner und löschen Sie danach die alten, leeren Ordner im Hauptverzeichnis. |
Einfach die Anweisungen befolgen, und das Problem sollte behoben sein. EDIT: Ups, das was ich eigentlich erwähnen wollte, steht in dieser Meldung ja gar nicht drin...Und zwar wurden die hochgeladenen Bilder bei der 0.2.2 nach img/ hochgeladen. Diese müssen jetzt nach data/media/ verschoben werden. Ich könnte schwören, diese Meldung hätte auch mal eingeblendet werden müssen, aber ich kann sie grad nicht finden^^
:
Bearbeitet durch User
es kam nur folgende Meldung Bitte verschieben Sie die folgenden Dateien und Ordner ins Verzeichnis "config.php" --> "data/config.php" WICHTIG: Kopieren Sie jeweils nur den Inhalt der genannten Ordner, nicht den ganzen Ordner an sich! Die Zielordner enthalten bereits (teilweise versteckte) Dateien, die auf keinen Fall überschrieben werden dürfen! Kopieren Sie also nur den Inhalt dieser Ordner und löschen Sie danach die alten, leeren Ordner im Hauptverzeichnis. in img/ sind aber nur 4 Bilder. Ich habe nie Eigene Bilder hochgeladen. Nur die Standart Footprints verwendet
:
Bearbeitet durch User
habs gefunden:
1 | ACHTUNG: Für hochgeladene Bilder und andere Dateien gibt es jetzt das Verzeichnis "media" im Unterverzeichnis "data". Falls Sie bereits eigene Dateien im Verzeichnis "img" haben (was für hochgeladene Bilder bisher der Zielordner war), müssen Sie diese nun von Hand in der Ordner "data/media/" verschieben! Achten Sie darauf, dass die versteckte Datei "data/media/.htaccess" nicht gelöscht wird, diese ist wichtig für den sicheren Betrieb von Part-DB. Die Dateipfade werden beim folgenden Datenbankupdate automatisch angepasst. |
Kann es sein, dass du die alte config.php nicht weiterverwendet hast und stattdessen eine neue config.php erzeugen lassen hast? Dann weiss der Update-Mechanismus leider nicht dass du von der 0.2.2 upgedatet hast (er meint dann, es sei eine frische Installation der 0.3.0) und darum wird dieser Hinweis dann nicht angezeigt.
Hast recht Urban, sieht nach den fehlenden Bildern aus. Durch die Überlagerung und noch in der gleichen Farbe erkennt man das nicht auf Anhieb. Man könnte diesen "Fehler" in einer 0.3.1 korrigieren, in dem man prüft, ob die Grafik gefunden wird oder nicht. Nur wenn sie da ist, wird im Template die Grafik aktiv.
Christoph B. schrieb: > Ich habe nie Eigene Bilder hochgeladen. Nur die Standart Footprints > verwendet Ach so, dann stimmen vermutlich einige Pfade bei den Footprints nicht mehr. Dann müsste auf der Startseite eine entsprechende Warnung stehen und wie man dies beheben kann.
nein ich habe alle Dateien bis auf die config.php gelöscht.Die neuen Dateien von Version 3.0 in das Verzeichnis kopiert. Dann kam die Meldung das ich die Config Datei Verschieben soll. Es fehlen aber alle Bilder der Footprints Wenn ich unter Verwaltung Tools Bearbeiten / Footprints anklicke kommt nichts. Unter Verwaltung / Tools Tools Footprints zeigt er alle Footprints an.
:
Bearbeitet durch User
Unter Bearbeiten/Footprints werden doch die Footprints mit defekten Pfaden unter "Footprints mit fehlerhaften Dateinamen" aufgelistet oder? Dort musst du nur noch auf den Button "nur die markierten" klicken, dann sollte schonmal der grösste Teil davon "repariert" worden sein. Dann kannst du noch die restlichen Dateipfade mit den Dropdown-Menüs auswählen und mit dem Button "Alle" übernehmen. Dann sollte alles wieder im Butter sein. Das Problem war eben, dass bei der 0.2.2 anfangs alle Footprint Bilder im gleichen Ordner lagen (ohne Hierarchie). Das hat sich später aber geändert (wegen besserer Übersichtlichkeit), daher stimmen die alten Pfade jetzt nicht mehr. Unter anderem auch deshalb habe ich dieses Tool gebaut, damit man die alten Pfade ganz bequem korrigieren lassen kann. Ich glaube, dieses Problem trat nur bei der ganz alten 0.2.2er Version auf, die SVN-0.2.2er hatte das glaube ich nicht mehr... War das das Problem?
:
Bearbeitet durch User
nein unter Bearbeiten/Footprints ladet der Browser ca 20sec dann ist die Seite weiß.
Christoph B. schrieb: > nein unter Bearbeiten/Footprints ladet der Browser ca 20sec dann ist die > Seite weiß. OK ich glaube es ist wirklich genau das von mir genannte Problem. Wenn bei sehr vielen Footprints die Dateipfade zu den Bildern ungültig sind, kann das Laden dieser Seite ziemlich lange dauern, weil für jeden einzelnen Footprint das Verzeichnis "img" rekursiv durchsucht wird. Bei dir scheint dann wohl das PHP Skript abzubrechen weil es zu lange dauert. Vermutlich wäre es nicht schlecht wenn wir hier ein Limit einbauen würden, so dass z.B. maximal 20 defekte Footprints angezeigt werden, damit sich die PHP Laufzeit in Grenzen hält. Das wär wohl was für die Version 0.3.1... Das Beste wäre für dich, wenn du die PHP Einstellung für "max_execution_time" erhöhst, damit nicht nach so kurzer Zeit schon abgebrochen wird. Dann müsste es klappen. EDIT: Ich habe dazu schonmal ein Issue erstellt: https://github.com/sandboxgangster/Part-DB/issues/25
:
Bearbeitet durch User
so die meisten Bilder gehen nun. ;-) Habe nur noch ein Problem mit z.B IC_SOT23-6 Import → IC_SOT23-8 IC_SOT23-8 (0) Dateiname löschen und später selber von Hand setzen. Ich kann da nichts auswählen. Dazu kommt noch das bestimmte Footprints immer wieder in der Liste auftauchen.
Christoph B. schrieb: > Habe nur noch ein Problem mit z.B IC_SOT23-6 > > Import → IC_SOT23-8 IC_SOT23-8 (0) Dateiname löschen und später > selber von Hand setzen. Es gibt keine Vorschläge, weil es kein Bild mit "IC_SOT23-8" im Dateinamen gibt. Ein "IC_SOT23-6" gibts aber, also kannst du zuerst den Dateinamen von "8" auf "6" ändern, danach sollte das entsprechende Bild gefunden werden. Christoph B. schrieb: > Dazu kommt noch das bestimmte Footprints > immer wieder in der Liste auftauchen. Wenn du auf "nur die markierten" klickst, werden nur diejenigen Footprints markiert, bei denen die Checkbox ganz links aktiviert ist. Wenn du auf "alle" klickst, sollten alle Footprints aus der Liste entfernt werden (wobei bei einigen dann aber der Bilder-Pfad gelöscht wird, weil kein passendes Bild gefunden wurde).
schon klar nur wieso taucht z.B DSUB-25M immer wieder auf. Auch wenn ich auf "nur die markierten" klicke. Auserdem ist jeder dieser Problemfälle doppelt vorhanden
:
Bearbeitet durch User
Also ich verstehe nicht was genau dein Problem ist. Kurze, schmerzlose Frage: Wenn du auf den Button "alle" klickst, werden dann trotzdem wieder Footprints mit fehlerhaften Dateinamen aufgelistet, oder wird dann diese Liste nicht mehr angezeigt? Ein Backup deiner Datenbank von der 0.2.2 hast du hoffentlich gemacht, damit man alles wieder rückgängig machen könnte. Christoph B. schrieb: > Auserdem ist jeder dieser Problemfälle doppelt vorhanden Nicht alle, die unteren sind nur einmal vorhanden. Kann es nicht sein, dass die doppelten Footprints schon vorher doppelt vorhanden waren? Du darfst mir auch gerne deine Datenbank von der Version 0.2.2 per Mail schicken oder hier im Forum posten, dann schaue ich mir das mal an. Einfach einen Export der kompletten Datenbank (Struktur + Daten) in eine *.sql Datei machen, z.B. in phpMyAdmin. Und bitte NICHT von der aktuellen Datenbank, sondern der Stand der Datenbank VOR dem Update auf die 0.3.0. mfg
:
Bearbeitet durch User
Hier die DB in Version 0.2.2 Habe "Alle" ausgewählt. Trotzdem kommen sie immer wieder.
:
Bearbeitet durch User
Ok alles klar, ich konnte das Problem nachvollziehen und habe den Fehler gefunden. Da du extrem viele Footprints hast (knapp 900), und all deren Dateinamen zu den Bildern angepasst werden müssen, wird die Liste extrem lang. Das hat zur Folge, dass durch den Klick auf einen der Buttons zum Absenden, eine riesige Menge an Daten per POST übermittelt werden. Der Server begrenzt jedoch die Grösse, wie auch die Anzahl dieser POST Variablen. Die Grösse wird mit der PHP Einstellung "post_max_size", und die Anzahl der Variablen per "max_input_vars" begrenzt. Vor allem zweiteres dürfte den Flaschenhals darstellen. Durch diese Begrenzung wird leider die Information, dass ein Button gedrückt wurde, abgeschnitten und dadurch lädt die Seite einfach wieder alle Footprints. Nach dem Hochschrauben dieser Einstellungen funktioniert alles korrekt, die Liste der Footprints mit fehlerhaften Dateinamen wird kürzer. Einziges Problem sind jetzt nur noch die doppelten Footprints, die bereits vor dem Update auf die 0.3.3 vorhanden waren (man sieht es in deinem Datenbank-Export). Gleichnamige Footprints auf gleicher Hierarchieebene sind ab der 0.3.3 nicht mehr erlaubt, weshalb es bei den doppelten Footprints zu Fehlermeldungen führt. Du must zuerst die doppelten Footprints löschen, danach kannst du deren Dateipfade auch noch korrigieren lassen. Ich würde dir jetzt also folgendes Vorgehen empfehlen: - PHP Einstellungen "post_max_size" und "max_input_vars" hochschrauben - Unter Bearbeiten/Footprints auf Button "nur die markierten" - Die Fehlermeldungen wegen der Duplikate in einen Texteditor kopieren - (Jetzt ist die Liste schon viel kürzer, die Seite lädt schneller) - Dann anhand der Fehlerliste alle doppelten Footprints einzeln löschen - Jetzt die restlichen Dateinamen korrigieren mit "nur die markierten" - Nun die Pfade der übriggebliebenen Footprints von Hand korrigieren - fertig
:
Bearbeitet durch User
Danke nun Funktioniert alles ;-). Es lag an "max_input_vars". Nun habe ich noch den die "Doppelgänger" in der Datenbank gelöscht. Jetzt läuft Version 3.0 ohne Probleme. Danke nochmals für die Hilfe.
Christoph B. schrieb: > Jetzt läuft Version 3.0 ohne Probleme. Wunderbar :-) > Danke nochmals für die Hilfe. Kein Problem :-) Wir werden dann wohl einen Bugfix mit der Version 0.3.1 rausgeben damit nicht noch mehr Leute dieses Problem haben.
Bin per Web-Suche auf Eure Softwareprojekt gestossen. Mit der Installation usw. hat alles sehr gut geklappt. Habe nun aber ein paar Fragen. 1. Gibt es eine Möglichkeit ein "Master"-Artikel anzulegen den man dann nur verändern muss? z.B bei den Widerständen muss ich jeden einzelnen Wert anlegen und die Einkaufdaten usw. hinterlegen. Mit einem Masterartikel wären die Daten hinterlegt und man müsste nur noch den Wert und den Lagerort anpassen. Habe ich was übersehen oder mache ich es einfach Falsch? 2. Bei den Baugruppen, ist es dort möglich auch Dateien zur Baugruppe abzulegen? z.B. Schaltungs- und Board-Files usw.? Habe dazu nichts gefunden.
ncc1701 schrieb: > 1. Gibt es eine Möglichkeit ein "Master"-Artikel anzulegen den man dann > nur verändern muss? > z.B bei den Widerständen muss ich jeden einzelnen Wert anlegen und die > Einkaufdaten usw. hinterlegen. Nein, sowas gibt es nicht. Wenn du aber einen Artikel anlegst und dann ganz unten auf den Button "Neues Bauteil erfassen" klickst, wird das soeben angelegte Bauteil als Vorlage genommen. Du brauchst dann nur noch kleine Anpassungen zu machen für das neue Bauteil. ncc1701 schrieb: > 2. Bei den Baugruppen, ist es dort möglich auch Dateien zur Baugruppe > abzulegen? z.B. Schaltungs- und Board-Files usw.? > Habe dazu nichts gefunden. Das ist zumindest schonmal geplant: https://github.com/sandboxgangster/Part-DB/issues/4
Urban B. schrieb: > ncc1701 schrieb: >> 1. Gibt es eine Möglichkeit ein "Master"-Artikel anzulegen den man dann >> nur verändern muss? >> z.B bei den Widerständen muss ich jeden einzelnen Wert anlegen und die >> Einkaufdaten usw. hinterlegen. > > Nein, sowas gibt es nicht. Wenn du aber einen Artikel anlegst und dann > ganz unten auf den Button "Neues Bauteil erfassen" klickst, wird das > soeben angelegte Bauteil als Vorlage genommen. Du brauchst dann nur noch > kleine Anpassungen zu machen für das neue Bauteil. So habe ich es gemacht, nur beim Anlegen von xx Widerständen ist es mühsam jedes mal auch die Lieferanten-Daten neu einzugeben. Hatte gedacht vielleicht gibt es einen einfacheren Weg. > ncc1701 schrieb: >> 2. Bei den Baugruppen, ist es dort möglich auch Dateien zur Baugruppe >> abzulegen? z.B. Schaltungs- und Board-Files usw.? >> Habe dazu nichts gefunden. > > Das ist zumindest schonmal geplant: > https://github.com/sandboxgangster/Part-DB/issues/4 Ok, dann warte ich bis das soweit ist :-)
Ich habe von der Version 0.21 auf die 0.3 aktualisiert und war sehr angetan von der guten Benutzerführung (config.php verschieben, Verzeichnisse, Rechte, Datenbankupdate). Toll gemacht! (Bei DB update bin ich etwas erschrocken als lauter rote SQL Zeilen ausgegeben wurden. Könnte man nur Fehler rot ausgeben und den Rest schwarz?) Einen Fehler habe ich nach dem update noch: Die Pfade zu den Anschlusszeichnungen sind falsch: The requested URL /Part-DB/IC_SO08 was not found on this server. Die Bilder werden also direkt im Heimatverzeichniss von part-db gesucht. Ein feines Werk die Part-DB! Axel
Erstmal Danke für das Lob :-) Die Idee mit den anders farbig dargestellten Datenbank-Update ist eine gute Idee. Alle erfolgreichen SQL-Statements sollten in Grün, alle fehlgeschlagenen in Rot erscheinen. Eventuell wäre noch eine gekürzte Ausgabe möglich und über eine Detailan sicht sieht man alle Schritte.
Axel Gartner schrieb: > Einen Fehler habe ich nach dem update noch: Die Pfade zu den > Anschlusszeichnungen sind falsch: > The requested URL /Part-DB/IC_SO08 was not found on this server. > Die Bilder werden also direkt im Heimatverzeichniss von part-db gesucht. Du sprichst schon von den Footprint Bildern, oder? Wird auf der Startseite von Part-DB nicht eine Warnung eingeblendet, dass es fehlerhafte Dateipfade gibt? Es ist normal, dass nach dem Update auf 0.3.0 erstmal die Footprint Bilder nicht mehr gefunden werden, weil die Bilder nun an einem anderen Ort abgelegt sind. Dann wird auf der Startseite ein Hinweis eingeblendet, mit einem Hinweis wie man das Problem behebt. Allerdings erscheint mir die URL "/Part-DB/IC_SO08" schon etwas komisch, ich denke da stimmt noch was anderes nicht. Falls das mit dem automatischen Korrigieren der Dateinamen nicht funktioniert, könnte man notfalls auch direkt in der Datenbank die Pfade anpassen lassen (search & replace). Der Pfad muss korrekterweise etwa so aussehen "%BASE%/img/footprints/foo.png" (%BASE% muss so eingetragen werden, ist ein Platzhalter für das Basisverzeichnis von Part-DB) mfg
:
Bearbeitet durch User
Urban B. schrieb: >> Axel Gartner schrieb: >> Einen Fehler habe ich nach dem update noch: Die Pfade zu den >> Anschlusszeichnungen sind falsch: > Du sprichst schon von den Footprint Bildern, oder? Wird auf der > Startseite von Part-DB nicht eine Warnung eingeblendet, dass es > fehlerhafte Dateipfade gibt? Danke, das war mir leider nicht aufgefallen. Das Umstellen ging problemlos vonstatten. Wirklich gut gemacht! Für einen Hallsensor TLE4905L (http://www.alldatasheet.com/view.jsp?Searchword=TLE4905L) suche ich noch nach dem Footprint. Im Datenblatt heißt das Gehäuse P-SSO-3-2 aber ich finde nichts dergleichen. Axel
Axel Gartner schrieb: > Danke, das war mir leider nicht aufgefallen. Das Umstellen ging > problemlos vonstatten. OK kein Problem, bist nicht der Erste der das übersehen hat :-) Ist bestimmt noch Potential vorhanden, solche Meldungen etwas auffälliger zu gestalten...;-) > Wirklich gut gemacht! Danke :-) Axel Gartner schrieb: > Für einen Hallsensor TLE4905L suche ich noch nach dem Footprint. > Im Datenblatt heißt das Gehäuse P-SSO-3-2 aber ich finde nichts > dergleichen. Die verfügbaren Footprint Bilder haben keinen Anspruch auf Vollständigkeit, es gibt durchaus Footprints von denen wir (noch) keine Bilder haben. Du kannst aber unter Bearbeiten -> Footprints trotzdem einen Footprint mit dem Namen "P-SSO-3-2" anlegen, dann hat es einfach kein Bild. Footprints müssen nicht zwingend auch ein Bild haben. Primär geht es darum, den Bauteilen Footprints zuweisen zu können, ein entsprechendes Bild zu hinterlegen ist nur optional. Du kannst aber auch selbst ein Bild auf den Server hochladen und dann bei einem Footprint den Pfad des Bildes hinterlegen. Momentan ist das noch etwas mühsam, später kommt ein Upload-Manager hinzu um die ganze Sache zu vereinfachen. mfg
:
Bearbeitet durch User
Ich hatte heute mal die V 0.3 neu aufgesetzt. Leider habe ich nun das Problem dass auf der linken Seite keine Menüs funktionieren. An was könnte dies liegen? Danke Juergen
Problem hat sich erledigt. Lag wohl an einer zu alten PHP Version. Mit PHP 5.4 geht es nun.
So, ich habe mal die Version 0.3.1 vorbereitet, liegt im Branch "Part-DB-0.3.x" bereit. Muss aber noch getestet werden. Was sich seit der 0.3.0 verändert hat, steht im Changelog: https://raw.github.com/sandboxgangster/Part-DB/Part-DB-0.3.x/readme/changelog.txt Es ist zwar nicht viel, doch vor allem der Bug mit den falsch gelesenen Dateirechten ist nicht gerade harmlos. Ich weiss zwar nicht wie viele Leute es betrifft (gemeldet hat sich nur einer), aber diejenigen die es betrifft, werden Part-DB wegen diesem Bug nicht installieren können. Daher wäre es vermutlich angebracht, die 0.3.1 bald mal zu veröffentlichen. Übrigens habt ihr vielleicht ja schon gemerkt dass ich in letzter Zeit nicht sehr aktiv an Part-DB weiterentwickle. Das liegt daran, dass ich vor ein paar Wochen die Studienarbeit begonnen habe, und die nimmt relativ viel zusätzliche Zeit in Anspruch...Und nächstes Semester geht es dann gleich mit der Bachelorarbeit weiter ;-) Viel Neues werde ich also vermutlich in dieser Zeit leider nicht programmieren können. Für Bugfixes und keinere Anpassungen sollte es aber eigentlich immer reichen... mfg
:
Bearbeitet durch User
Tachmal... Nachdem ich die partdb dazu gebracht habe mir das modifikations Datum anzuzeigen, (http://wiki.senseye.org/index.php/Datei:Last_modified.png) würde ich noch gerne bei der Suche die letzten veränderten Einträge sehen können. Ich stricke gerade an der show_search_parts.php herum. Soweit auchnoch verständlich. Aber irgendwie/wo um Zeile 1633 in der class.Part.php ist wohl noch ein Fehler drinnen...von mir ;)... Ich bekomms einfach nicht zum laufen. Ich habe einfach ein Auswahlkästchen bei der Suche hinzugefügt, so kann ich einfach das Datum eintragen nach dem gesucht wird. Hier noch ein kl. Beispiel. (http://wiki.senseye.org/images/8/8b/Gdfgdfgdf.png) Schreibe ich bei Zeile 1644 statt parts.name um auf parts.last_modified funktioniert das ganze soweit auch. Wie kann ich nun parts.last_modified über einen eigenen "Schalter" ausgeben? Bin über sämtliche Erklärungen dankbar. Hihi...Das wird mir langsam zu komplizert. Vorallem muss man mal LEFT JOIN verstehen. Man o Man... ;) Vielen Dank!! PS: - Bin auf SVN 699 und konnte eigentlich so keine groben Fehler feststellen. Feine Sache.. Gefällt mir. - Meine Notizen zur Partdb.. http://wiki.senseye.org/index.php/Partdb Vielleicht kann es ja noch wer brauchen.
:
Bearbeitet durch User
Hallo Christopher, So richtig habe ich dein Problem noch nicht verstanden... Christopher K. schrieb: > Schreibe ich bei Zeile 1644 statt parts.name um auf parts.last_modified > funktioniert das ganze soweit auch. Auf Zeile 1644 in der class.Part-php in deinem Wiki sehe ich nur eine geschweifte Klammer ;-) Poste doch mal all deine veränderten Dateien hier im Forum (als Anhang), damit man sie runterladen und einen gescheiten Vergleich machen kann. Christopher K. schrieb: > Wie kann ich nun parts.last_modified über einen eigenen "Schalter" > ausgeben? Kannst du diese Frage und das Wort "Schalter" noch etwas genauer spezifizieren? :-) Christopher K. schrieb: > Bin auf SVN 699 Das war die letzte SVN Version. Hast du mitbekommen dass wir jetzt auf Github sind? https://github.com/sandboxgangster/Part-DB mfg
:
Bearbeitet durch User
Hallo.. Bin glaub ich selbst schon leicht verwirrt, vielleicht klappts ja nun etwas besser.. Haha. Das mit Github hab ich mitbekommen, habe aber von hier aus leider keinen Zugriff drauf. Muss ich zuhause testen. - Schalter sollte Checkbox heißen. :) - Wie auf Bild (bsp-1.png) zu sehen habe ich es geschafft nach dem Datum zu suchen. Soweit schon ganz gut. Ich würde aber gerne meine Checkbox "Datum" dazu verwenden und nicht die Checkbox "Name". - Die Checkbox selbst war ja nur eine kleine Änderung in der vlib_navigation.tmpl. - In der show_search_parts.php habe ich die Variable $search_last_modified hinzugefügt. - In der class.Part.php habe ich mich ab Zeile 1607 versucht. Bei Zeile 1661, stammt der if block von mir.. "$query .= ' OR (parts.last_modified LIKE ?)';" Ändere ich nun "if ($part_name)" zu "if ($part_last_modified)" hat es keine Funktion mehr und ich weiß nicht wie ich diesen if Block dann verwenden kann. Danke für deine Bemühungen. schöne Grüße aus Wien PS. In meinem Wiki habe ich nur getestet Sachen eingetragen, Merke mir das ja selbst nicht. g Hat also jetzt nicht direkt was mit dem Problem zu tuhen. Wollte es aber anderen nicht vorenthalten.
:
Bearbeitet durch User
OK jetzt ist das Problem klarer geworden... Deine Änderungen sehen nicht schlecht aus, allerdings hat es noch folgende Fehler drin: Zeile 25 von vlib_navigation.tmpl muss geändert werden in
1 | <p><input type="checkbox" name="search_last_modified" value="true">Datum</p> |
Durch das unvollständige name="search_" wurde vorher in der show_search_part.php die Variable $search_last_modified gar nie gesetzt. Dann ist das nächste Problem, dass du in der class.Part.php bei der Funktion search_parts() der parameter $part_last_modified mitten in der bereits vorhandenen Parameterliste eingefügt hast. In der show_search_parts.php hast du den neuen Parameter allerdings am Schluss eingebaut (Zeilen 152 und 194), das gibt ein Durcheinander der Parameterwerte. Beim späteren hinzufügen von neuen Parametern, ist es immer am besten wenn man diese am Ende der Parameterliste hinzufügt. Ausserdem hast du den defaultwert für den neuen Parameter auf "true" gesetzt, das würde ich nicht machen. Das hat nur einen Einfluss, wenn die Funktion aufgerufen wird, ohne diesen Parameter zu übergeben. Das ist aber in show_search_parts.php nicht der Fall. Wenn du möchtest, dass standardmässig (ohne das manuelle anwählen der Checkbox "Datum") auch nach Dem Datum gesucht werden soll, dann machst du das besser in der vlib_navigation.tmpl mit dem "value" Attribut, das du ja bereits auf "true" hast. Heisst, deine class.Part.php müsste ab Zeile 1607 so aussehen:
1 | public static function search_parts(&$database, &$current_user, &$log, $keyword, $group_by = '', |
2 | $part_name = true, |
3 | $part_description = true, |
4 | $part_comment = false, |
5 | $footprint_name = false, |
6 | $category_name = false, |
7 | $storelocation_name = false, |
8 | $supplier_name = false, |
9 | $supplierpartnr = false, |
10 | $manufacturer_name = false, |
11 | $part_last_modified = false) // NEU |
Und dann kommt eine neue if-Abfrage hinzu:
1 | if ($part_last_modified) |
2 | { |
3 | $query .= ' OR (parts.last_modified LIKE ?)'; |
4 | $values[] = $keyword; |
5 | } |
So müsste es funktionieren wenn ich nichts vergessen habe. Kann es hier leider gerade nicht testen... mfg
:
Bearbeitet durch User
Hallo, Danke Dir,... da war ich ja gar nicht so falsch mit dem ganzen. Ein paar doofe Fehler die eigentlich nicht passieren sollten wie in der vlib_navigation.tmpl. Ahrg dachte dort wäre es richtig eingetragen. Das mit der Parameterliste wusste ich nicht, dachte die Reihenfolge ist egal. Habe jetzt nachgebessert und siehe.. Es funktioniert super. Ich werde es nun mal testen. Die veränderten Dateien habe ich nochmals im Anhang beigefügt. Und lass dich nicht zu sehr von deiner Studienarbeit ablenken. hahaha ;-) Viel Glück dabei. Grüße aus Wien PS: Ähm wie kann man den hier hochgeladene Files tauschen/löschen/ersetzen?
:
Bearbeitet durch User
Christopher K. schrieb: > Es funktioniert super. puuh...Glück gehabt :-) Christopher K. schrieb: > Und lass dich nicht zu sehr von deiner Studienarbeit ablenken. hahaha > ;-) > Viel Glück dabei. hehe vielen Dank :-) mfg
Hallo, Ich wollte das Programm mal testen und habe mir die Version 0.3.0 installiert. Nach dem Setup dreht hier die Firewall vom Server durch was treibt ihr denn da heimliches? Shorewall:fw2inet:REJECT:IN= OUT=eth0 SRC=a.b.c.d DST=173.194.112.99 PROTO=TCP SPT=41701 DPT=80 Shorewall:fw2inet:REJECT:IN= OUT=eth0 SRC=a.b.c.d DST=173.194.112.101 PROTO=TCP SPT=37977 DPT=80 Shorewall:fw2inet:REJECT:IN= OUT=eth0 SRC=a.b.c.d DST=173.194.112.105 PROTO=TCP SPT=50352 DPT=80 Shorewall:fw2inet:REJECT:IN= OUT=eth0 SRC=a.b.c.d DST=173.194.112.104 PROTO=TCP SPT=46555 DPT=80 Shorewall:fw2inet:REJECT:IN= OUT=eth0 SRC=a.b.c.d DST=173.194.112.110 PROTO=TCP SPT=45544 DPT=80 Shorewall:fw2inet:REJECT:IN= OUT=eth0 SRC=a.b.c.d DST=173.194.112.96 PROTO=TCP SPT=48875 DPT=80 Shorewall:fw2inet:REJECT:IN= OUT=eth0 SRC=a.b.c.d DST=173.194.112.98 PROTO=TCP SPT=57684 DPT=80 Shorewall:fw2inet:REJECT:IN= OUT=eth0 SRC=a.b.c.d DST=173.194.112.100 PROTO=TCP SPT=49575 DPT=80 Shorewall:fw2inet:REJECT:IN= OUT=eth0 SRC=a.b.c.d DST=173.194.112.97 PROTO=TCP SPT=40202 DPT=80 Shorewall:fw2inet:REJECT:IN= OUT=eth0 SRC=a.b.c.d DST=173.194.112.102 PROTO=TCP SPT=48079 DPT=80 Shorewall:fw2inet:REJECT:IN= OUT=eth0 SRC=a.b.c.d DST=173.194.112.103 PROTO=TCP SPT=32772 DPT=80 Braucht man das? Gruß Tim
Hallo Tim, Tim W. schrieb: > was treibt ihr denn da heimliches? Heimlich ist da erstmal gar nichts, sonst wäre die GPL wohl nicht die richtige Lizenz für Part-DB ;-) Das einzige, wozu Part-DB Internetzugang braucht, ist der RSS-Feed auf der Startseite, um dem Anwender die neusten Releases von Part-DB anzuzeigen. Der Feed wird von unserer Projektseite auf Google Code geholt. Das bestätigen auch die von dir geposteten IP-Adressen, da diese zu Google führen. Ab dem nächsten Release wird übrigens Github anstelle von Google benutzt, da wir umgezogen sind. Tim W. schrieb: > Braucht man das? Wenn du den RSS-Feed auf der Startseite nicht brauchst, dann nicht. Lässt sich bequem auf der Konfigurationsseite deaktivieren ("Updateliste (RSS-Feed) auf Startseite verstecken"). mfg
:
Bearbeitet durch User
Hallo, Versteh ich das Issue Attribute für Bauteile auf github richtig: Können dann pro Kategorie Attribute hinzugefügt werden, die zum einen sichtbar oder verdeckt sind. Die Attribute können dann via Browser bearbeitet werden. Z.B kann ein Attribut Grösse bei der Kategorie A sein und bei der Kategorie B ist noch das zusätzliche Attribut Gewicht drin. Können diese dann durch Anklicken der Kategorien auch aufgelistet werden. Oder es kann nach diesem Attribut gesucht werden. Ist dann spezifische Suche wie, alle grösser als 5kg möglich. Gruss Christian
super sache, das Du das ganze Projekt weiterführst. Verwende schon seit langem part-db 0.1c. Bin damit sehr zufrieden, da ich aber gerade meinen Server neu aufbaue dacht ich ich könnte ja mal nach nem Update gucken ;) Hätte da mur die frage in wieweit ich meine "alte" Datenbank von v0.1c in die neuere 0.3+ zu überführen? Möcht halt ungern alle Teile wieder neu eingeben müssen... thnx Helmar
Hallo, Christian schrieb: > Versteh ich das Issue Attribute für Bauteile auf github richtig: [] Nun ja, so oder so ähnlich wäre es geplant. Allerdings geht es momentan nicht wirklich vorwärts mit Part-DB, es kann also noch sehr lange dauern bis so ein Feature eingebaut wird... helmar schrieb: > Hätte da mur die frage in wieweit ich meine "alte" Datenbank von v0.1c > in die neuere 0.3+ zu überführen? Möcht halt ungern alle Teile wieder > neu eingeben müssen... Das Update sollte grundsätzlich kein Problem sein. Ich kann dir jetzt gerade aber nicht mit Sicherheit sagen, ob ein direktes Update von 0.1c auf 0.3.0 möglich ist, da könnte es ev. Probleme geben (die 0.1c ist halt doch schon sehr alt). Wenn es nicht geht, dann versuch es mit der 0.2.2 als Zwischenschritt, also 0.1c -> 0.2.2 -> 0.3.0. Auf jeden Fall solltest du als alles Erstes ein Backup deiner momentanen DB machen, das sollte ja klar sein :-) mfg
:
Bearbeitet durch User
Hallo, Ist es mittlerweile möglich einen Export der Datenbank zu machen? Ich hab alles bei einen freehoster laufen, der bisher exzellent lief aber gerade eine Rundmail schrieb, dass er zum 15 März aufhört. Hat jemand eine Idee wie ich meine Daten da rausbekomme? Danke! Arne
Hast du keinen Webzugriff per phpMyAdmin? Damit kannst du ein Export deiner Datenbank machen.
Kenn mich mit Datenbanken leider gar nicht aus. Werde mit den zwei Sachen mal schauen ob ich's hinbekomme danke für Antworten! Gruß Arne
So ich wieder :) Konnte mit myPHPadmin wohl alles sichern (hoffe ich... konnte wiederherstellen noch nicht testen). Nun bräuchte ich wieder einen free Webspace Anbieter, auf dem ich die einfach laufen lassen kann. Mir ist nämlich aufgefallen das ich ca 70% von unterwegs im Programm war. Das Problem ist, dass ich schon viele durchprobiert habe, bei den meisten läuft nicht InnoDB was part-db wohl braucht und wenn es läuft haben die fix PHP 5.5xx installiert und man kann zu keiner anderen Version wechseln. Das hat das Problem das preg_replace() wohl nicht mehr genutzt werden kann und man wohl preg_replace_callback benutzen soll. Grenzt irgendwie an ein Wunder, dass als ich part-db nur mal eben testen wollte genau einen hatte, bei dem das alles ging! Zuhause mag ich nicht einen Rechner damit die ganze Zeit laufen lassen. Und extra einen Server anmieten ist dafür, auch wenn es ein tolles Programm ist, auch etwas übertrieben. Wenn jemand also einen Anbieter mit PHP < 5.5 auf den auch InnoDB läuft kennt bitte sagen! Dankeschön! Gruß Arne
:
Bearbeitet durch User
nachdem PHP 5.5 ja stabil ist, macht es da nicht mehr Sinn partdb hier entsprechend zu ändern, damit das mit PHP 5.5 auch funktioniert?
Arne M. schrieb: > Das hat das Problem das preg_replace() wohl nicht mehr > genutzt werden kann und man wohl preg_replace_callback benutzen soll. Also laut http://www.php.net/manual/de/function.preg-replace.php ist nur der /e Modifikator deprecated. Siehst du bei den Fehlermeldungen auch auf welche Datei/Zeile die sich beziehen? Die Funktion preg_replace() wird von Part-DB selbst nur wenig benutzt, aber im DokuWiki und dem vLib Template wird sie sehr häufig verwendet.
Was er mir anzeigt ist 3 x die Zeile Deprecated: preg_replace() [function.preg-replace]: The /e modifier is deprecated, use preg_replace_callback instead in /users/armut/www/part-db/lib/vlib/vlibTemplate.php on line 971 Danach kommt nichts mehr, nur diese 3 Zeilen Wenn PHP5.5 funktioniert wird ist es wahrscheinlich bald eh überall drauf sein, da wäre eine Portierung sehr gut! Habe jetzt part-db auf meinen Raspberry Pi am laufen. Da läuft alles wunderbar auch das einspielen der alten Datenbank ging problemlos. Allerdings wenn man mit den bastelt ist es mir öfters schon passiert, dass man am Ende alles neu installieren darf. Also jetzt dauernd backups machen :(
Könntest du mal versuchen in der genannten Datei lib/vlib/vlibTemplate.php die Zeilen 970/971:
1 | $regex.= '/ie'; |
2 | $data = preg_replace($regex,"\$this->_parseTag(array('\\0','\\1','\\2','\\3','\\4','\\5','\\6','\\7','\\8'));",$data); |
durch folgende drei Zeilen ersetzen:
1 | $regex.= '/i'; |
2 | $obj = $this; |
3 | $data = preg_replace_callback($regex, function($m) use($obj) {return $obj->_parseTag($m);}, $data); |
und probieren ob dann Part-DB mit PHP 5.5 läuft? Es gibt zwar noch andere Stellen, die man ersetzen müsste, vorerst sollte aber diese eine Zeile reichen wenn ich mich nicht irre. mfg
:
Bearbeitet durch User
Danke fuer die Hilfe hab es gleich mal getestet nun komm wieder 3 mal: Warning: preg_replace_callback() [function.preg-replace-callback]: Modifier /e cannot be used with replacement callback in /users/armut/www/part-db/lib/vlib/vlibTemplate.php on line 972 Gruß Arne
Arne M. schrieb: > Modifier /e cannot be used with replacement callback Hast du das "e" aus Zeile 970 entfernt wie oben beschrieben? Wenn es nicht klappt, setze ich mal einen Server mit PHP 5.5 auf um es selbst testen zu können...
Mit der geänderten Änderung scheint es jetzt zu laufen. Danke! Also im Moment erst mal ohne Daten, die muss ich dann da auch noch importieren! Aber soweit so gut :) Danke nochmal! Gruß Arne
Hi, ich habe gerade auf Guitarhub ein paar Verbesserungsvorschläge gepostet. Vielleicht kann das Projektteam ja mal darüber schauen. Ich überlege gerade, ggf. davon auch einiges selbst zu implementieren. gruß, sam
Hilfe können wir immer gut gebrauchen :-) Mit Github habe ich so meine Probleme, vielleicht verstehe ich das System dahinter auch nicht wirklich. Subversion war für mich einfacher. Zumindest habe ich in den letzten Monaten die Grundlage (den Javascript-Code) des neuen Filemanagers erweitert, aber noch nicht dort integriert und getestet. Ich brauche das ja auch für andere Projekte ;-) Ich stelle gerne die aktuelle Entwicklungsstufe zur Verfügung, wenn sich jemand darum kümmern möchte. Grüße Udo PS: Die Anmeldung über Google oder Facebook zeigen blöderweise verschiedene Namen an. :/
:
Bearbeitet durch User
Ich habe soeben mal den oben genannten Bugfix für PHP 5.5 hochgeladen, ich hoffe das passt so. Mit PHP 5.5 konnte ich es aber noch nicht testen, muss dazu erstmal einen Server aufsetzen. Wenn die aktuelle Version 0.3.1 getestet wurde, würde ich die dann mal veröffentlichen wenn niemand was dagegen hat :-) Udo Neist schrieb: > Mit Github habe ich so meine Probleme Mit Github oder mit Git? Ich verwende (unter Linux) übrigens das Grafische Git-Tool "SmartGit/HG", das kann ich sehr empfehlen, es macht vieles einfacher. Es gibt sogar direkte Unterstützung für Github mit ein paar netten Features, die ich aber selbst noch gar nicht getestet habe :-) mfg
Habe Part-DB soeben kurz auf PHP 5.5.3 getestet, scheint soweit zu funktionieren... Ausserdem gab es beim IE9 noch einen schlimmen Darstellungsfehler (wegen fehlerhaftem HTML), das sollte jetzt auch behoben sein.
Beim Löschen eines Bauteils erhalten ich der Version: 0.3.0 (stable) folgende Fehlermeldung:
1 | Das Bauteil "IDC 3924 N1" konnte nicht gelöscht werden! |
2 | Grund: Die Einkaufsinformationen konnten nicht gelöscht werden! |
3 | Grund: Datenbankfehler: |
4 | SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`usr_web483_4`.`parts`, CONSTRAINT `parts_order_orderdetails_id_fk` FOREIGN KEY (`order_orderdetails_id`) REFERENCES `orderdetails` (`id`)) |
5 | |
6 | SQL-Query: |
7 | DELETE FROM orderdetails WHERE id=? LIMIT 1 |
Gerald *. schrieb: > Beim Löschen eines Bauteils erhalten ich der Version: 0.3.0 (stable) > folgende Fehlermeldung: Stimmt, das ist ein Bug. Wird in der nächsten Version dann behoben sein. Der Bug tritt auf, wenn man eine Einkaufsinformation eines Bauteiles löscht, die unter "Zu bestellende Teile" mit den Radiobuttons selektiert ist. Oder eben auch wenn man gleich das ganze Bauteil löschen will. Als Workaround kann man unter "Zu bestellende Teile" beim betreffenden Bauteil die Radiobuttons auf "Noch nicht bestellen" setzen. Wenn das Bauteil nicht unter den zu bestellenden Bauteilen aufgelistet ist, muss man es zuerst zum bestellen vormerken, damit es in der Liste auftaucht. mfg
:
Bearbeitet durch User
Da ich gerade Zeit hatte, veröffentlichte ich soeben die Version 0.3.1. Der Bug beim Löschen von Bauteilen ist dort übrigens auch gleich enthalten. Installationsanleitung, Changelog und Download gibts hier: https://github.com/sandboxgangster/Part-DB/releases/tag/v0.3.1 Viel Spass! :-)
Urban B. schrieb: > Der Bug beim Löschen von Bauteilen ist dort übrigens auch gleich > enthalten. Da ist wohl was durcheinander geraten :-) Wollte damit sagen, dass der Bugfix enthalten, bzw. der Bug behoben ist :-)
Hallo, Erst mal vielen vielen Dank für die tolle Arbeit mit Part-db, Anfangs nutzte ich Partdb "nur" für meine Elektronische Bauteile, mittlerweile auch für mein Modellbau Equipment, gibt es eigentlich auch die Möglichkeit bei der Bestellnummer HTTP Links anzeigen zu lassen, ich meine so das wenn ich auf die Bestellnr klicke dann auch dort auf die Seite gelange, ansonsten hilft halt nur Copy & Paste. ich bestelle in letzter Zeit vermehrt im Ausland in verschiedenen Warenhäusern, bei manchen gibt es nicht einmal bestellnummern :) Gruß Martin
Hallo Martin, So eine Funktion gibt es bisher noch nicht, wollte das aber eigentlich schon lange mal einbauen. Vielleicht kann ich das sogar gleich mal noch machen, sollte kein grosser Aufwand sein. Habe es schonmal in unsere ToDo-Liste aufgenommen: https://github.com/sandboxgangster/Part-DB/issues/35 Bei Artikeln die keine Bestellnummer haben, würde das so zwar nicht funktionieren. Man müsste dazu noch eine Möglichkeit haben, den Link für jeden Artikel manuell einzugeben... mfg
Hallo, ich habe mir das Projekt auf den Server geladen und finde es bisher echt super. Mich würde interessieren, ob es so std. Footprints und Hersteller usw. schon fertig gibt? Ich habe gesehen, dass es diverse Hersteller Logos und andere img Dateien gibt, in der Datenbank steht allerdings nichts. Habe ich etwas beim installieren falsch gemacht oder gibts soetwas noch nicht von Werk aus? Gruß
Hallo Christian, Momentan gibt es leider noch keine automatisierte Möglichkeit, um die Datenbank mit den wichtigsten Footprints usw. zu befüllen. Eine solche Funktion ist zwar schon geplant und wurde teilweise auch begonnen, ist aber noch nicht fertig geworden... mfg
Hi, kurze Frage: Anscheinend bin ich zu blöd, aber wie lösche ich ein Bauteil? Die Schaltfläche: Bauteil hinzufügen gibt es ja, aber löschen finde ich nirgends... MfG * Edit: * Ja war zu blöd hab es gefunden^^
:
Bearbeitet durch User
Ich noch mal, ich habe mal eine kurze Frage: Ich "hacke" gerade etwas herrum (labeldrucker-Funktion implementieren). Dabei habe ich das Problem, das zur print_r($all_orderdetails); funktioniert und auch das Array richtig ausgibt, jedoch kann ich nicht auf die Bestell-Nr zugreifen, also echo $all_orderdetails->get_supplierpartnr(); geht nicht. Ich bin im show_part_info.php Mach ich was falsch? Edit Ich weiß zwar immer noch nichts was dran falsch ist, immerhin steht in class orderdetails drinnen dass das ein öffentlicher getter ist, aber naja... Das komische ist kaum frage ich hier komme ich selber drauf^^ Und dabei überlege ich immer vorher lange selber ;) Es geht aber mit: print_r($part->get_supplierpartnrs());
:
Bearbeitet durch User
Hallo, ich bin gerade Dabei einen Button zu implementieren. Er soll in der Teileansicht neben den Inkrement-Button angezeigt werden. (http://www.partdb.grautier.com/partdb/show_category_parts.php?cid=16) rechts neben den + Button Ich möchte ein Licht hinter einen Einschub eines Magazins Ein/Aus schalten um es schneller finden zu können. Mein Problem ist das ich kein Überblick habe, in welchen Dateien ich was ändern muss. Ich habe mich schon einige Stunden damit auseinander gesetzt aber ich scheitere jedes mal. Wir würde ein Button reichen der mir die ID der Entsprechenden "storelocations" ausgibt. Den Rest bekomme ich dann schon hin. Kann mir jemand einen Hinweis geben in welchen Dateien ich schauen muss? LG deko
Sehe ich es nicht oder ist das ganze nur für einen Nutzer ausgelegt? Würde das gerne bei mir auf dem Server laufen lassen und ein paar andern die Möglichkeit geben, sich einzuloggen und ihre eigenen Bauteileverwaltungen zu verwalten ...
deko schrieb: > Hallo, > ich bin gerade Dabei einen Button zu implementieren. > > Er soll in der Teileansicht neben den Inkrement-Button angezeigt werden. > (http://www.partdb.grautier.com/partdb/show_category_parts.php?cid=16) > rechts neben den + Button > (...) > LG > deko Ich hab jetzt nur mal schnell geschaut: Du müsstest den Button in der Datei: https://github.com/sandboxgangster/Part-DB/blob/master/templates/standard/vlib_table.tmpl Hinzufügen, etwa Zeile 55. Und dann in der Datei: https://github.com/sandboxgangster/Part-DB/blob/master/show_category_parts.php Das Skript anpassen. Also irgendwie im Template die Zeile
1 | {TMPL_IF NAME="caption" VALUE="button_lighton"}<td align="center">Licht an</td>{/TMPL_IF} |
hinzufügen und dann das skript so in der Art abändern: (For Schleife Zeile 52)
1 | for($i=0; $i<$table_rowcount; $i++) |
2 | { |
3 | $selected_part_id = isset($_REQUEST['id_'.$i]) ? (integer)$_REQUEST['id_'.$i] : 0; |
4 | |
5 | if (isset($_REQUEST['decrement_'.$i])) |
6 | { |
7 | $action = 'decrement'; |
8 | break; |
9 | } |
10 | |
11 | if (isset($_REQUEST['increment_'.$i])) |
12 | { |
13 | $action = 'increment'; |
14 | break; |
15 | } |
16 | |
17 | if (isset($_REQUEST['button_lighton_'.$i])) |
18 | { |
19 | $action = 'lighton'; |
20 | break; |
21 | } |
22 | } |
Und dann halt irgendwie in der switch abfrage:
1 | case 'lighton': echo $storelocation->get_full_path(); |
Das wird aber so wahrscheinlich nicht direkt gehen, soll nur etwa beschreiben wie ich denke das es gehen könnte... MfG
@Fer T.: Wie verbindest du die Lichter eigentlich mit der part DB? Das PHP Script muss ja dann ein Programm auf dem Server starten, welches wiederum mit die irgendwie angeschlossene Hardware (=LED?) aktiviert. Laeuft die DB bei dir auf nem Raspberry Pi oder aehnlichem?
Hmm? Ich habe keine Lichter ;) Das war an deko gerichtet um ihm vielleicht etwas zu helfen. Ansonsten: Python Skript auf dem Server ausführen? (Rasp. GPIO oder normaler PC Parallel / Seriell Port?) Ich habe selber nur zwei kleine Modifikationen: Barcodes erstellen und Touch Oberfläche für Raspberry (USB Barcodescanner ist dran und Touch Bildschirm). Die Barcode Generator Sachen hab ich hier beschrieben: http://fthiessen.de/part-db-etiketten-drucken/ Aber ziemlich dirty ist es^^ MfG
Hallo Fer T. Das mit dem Barcode ist echt ne schnelle nette Sache. Hab mir das angesehen und ausprobiert. Lauft vom Prinzip her echt fein. ;) Rest kann ich nicht sagen, da ich zu wenig Ahnung von php habe. g Meine Frage dazu, Wie bekomme ein Array in die Ausgabe rein? ich würde mir gerne die Bestellnummern mit ausdrucken lassen. Ich habe mal nen Screeni angehängt. Vielen vielen Dank im Vorraus. lg
Hi, Du scheinst da noch was im Code geändert haben (ist so wie so nicht der schönste), am einfachsten wäre wohl da bei dir bei Hersteller: $part->get_suppliers()[0]->get_name() . '\n' . $part->get_supplierpartnrs()[0]; Das sollte theoretisch den Hersteller und die Best.-Nr. ausgeben. MfG, Fer_T
Hali, also ja ich hab meine partdb verändert und derzeit auch keine "originale" mehr laufen aber wenn ich so sachen wie footprint, storelocation, suppliers nicht auskommentiere bekomme ich in der log diese Meldung:
1 | PHP Parse error: syntax error, unexpected '[', expecting ')' in..show_print.php on line 84 |
Ich werde das später nochmals genauer unter die Lupe nehmen und mich drann versuchen. ;) Vielen Dank auf jeden Fall...
:
Bearbeitet durch User
Hallo, ich habe die Part-DB neu installiert. Ich finde die Kategorieneinteilung auf http://www.partdb.grautier.com/partdb/ schon sinnvoll. Kann man den SQL-Dump der Kategorien-Tabelle mit zur Verfügung stellen, als "Basis" für die Datenbank? Dann erspare ich mir eine Menge Tipparbeit. Danke Gruß, Xsider
Ja kann ich machen, aber nicht mehr heute morgen poste ich den hier
Hab sie jetzt nicht ausortiert, das sind einige murks Sachen drinnen einfach die entsprechenden Zeilen löschen
Hallo allerseits, ich wollte den Etiketendruck auch mal ausprobieren. Momentan scheitere ich an den folgenden Fehlern (aus /var/log/apache2/error.log):
1 | PHP Parse error: syntax error, unexpected '[', expecting ')' in /var/www/part-db/show_print.php on line 82 |
Zeile 82 ist die letzte Zeile der Ausgabe:
1 | $part->get_supplierpartnrs()[0] . ' - ' . $part->get_suppliers()[0]->get_name() |
Wenn ich die auskommentiere, kommt als nächster Fehler:
1 | PHP Catchable fatal error: Object of class Storelocation could not be converted to string in /var/www/part-db/printLib/libPrint.php on line 162 |
Hat jemand einen Tipp, was da schief läuft? Systeminfo: Ubuntu 12.04.4, Kernel: 3.8.0-44-generic x86_64, apache2: 2.2.22-1ubuntu1.7, php5: 5.3.10-1ubuntu3.13
Sooo ... der erste Fehler lag an der PHP-Version: "You need to be running PHP 5.4+ to use shorthand arrays". Ein Upgrade auf 5.4.31 half. Trotzdem verbleibt:
1 | PHP Catchable fatal error: Object of class Storelocation could not be converted to string in /var/www/part-db/printLib/libPrint.php on line 162 |
Kann mir jemand weiterhelfen? Fer_T?
Der Fehler liegt in der Anweisung printLabel(...) in show_print.php. Diese ist sowieso nicht ideal, da vermutlich das Erzeugen von Etiketten gar nicht funktioniert wenn das Bauteil keinen Lagerort, keinen Footprint oder keinen Lieferanten hinterlegt hat(?). Versuch mal das hier:
1 | printLabel("62x40","de",array( |
2 | $part->get_id(), |
3 | $part->get_name(), |
4 | is_object($storelocation) ? $storelocation->get_name() : '', |
5 | is_object($footprint) ? $footprint->get_name() : '', |
6 | $category->get_name(), |
7 | (count($all_orderdetails) > 0) ? $all_orderdetails[0]->get_supplierpartnr() . ' - ' . $all_orderdetails[0]->get_supplier()->get_name() : '' |
8 | )); |
Ich hoffe das passt so, habs selber nicht ausprobiert...
Das passt perfekt, vielen herzlichen Dank! Das Bauteil, mit dem ich immer getestet habe, hat übrigens sowohl Lagerort als auch Footprint und Lieferanten, daran ist es also nicht gescheitert.
Falls noch jemand die ganzen Label-PDFs in einem Rutsch generieren möchte: Im Anhang ein kleines Shell-Script.
Hallo Zusammen, Ich habe bereits schon seit einigen Jahren die Part-DB bei mir laufen .. Was mich noch immer stört, ist dass ich ein Bauteiltyp nicht an mehreren Orten gleichzeitig lagern kann z:Bsp 2 Trafo T14 in Kiste 4 1 Trafo T14 in Kiste 7 3 Trafo T14 in Kiste 9 Hat da Jemand heute eine Idee wie sich das Datenbanktechnisch lösen lassen könnte ... ohne dass ich denselben Artikel mehrmals erstellen muss Gruss Peter
Hallo Zäme, Ist die openlist Funktion deaktiviert worden ? Könnte man ggfs die openlist wieder aktivieren in der part-db ... um Freunden einen kurzen Überblick zu geben , was im Lager liegt Habe gestern versuchsweise die 0.3.1 installiert - funktioniert sehr gut Gruss Peter
Hallo Peter, Peter Müller schrieb: > Was mich noch immer stört, ist dass ich ein Bauteiltyp nicht an mehreren > Orten gleichzeitig lagern kann Das wurde bereits vorgeschlagen: https://github.com/sandboxgangster/Part-DB/issues/12 Es gibt aber immernoch ungeklärte Fragen wie so ein Feature implementiert werden kann/soll. Peter Müller schrieb: > Ist die openlist Funktion deaktiviert worden ? Ja, die gibt es in den neusten Versionen nicht mehr weil durch die grossen internen Umstrukturierungen diese Funktion nicht mehr funktionierte. Man müsste einiges an Arbeit investieren damit sie wieder läuft. Darauf wurde verzichtet, weil eigentlich eine Benutzerverwaltung geplant ist, welche die openlist Funktion überflüssig machen würde. Leider habe ich aber fast keine Zeit mehr um an Part-DB weiterzuarbeiten (Studium beendet). Vor allem die Benutzerverwaltung würde ich eigentlich schon gerne mal noch implementieren, aber das gibt sehr viel Arbeit... mfg
Urban B. schrieb: > Leider habe ich aber fast keine Zeit mehr um an Part-DB weiterzuarbeiten > (Studium beendet). Vor allem die Benutzerverwaltung würde ich eigentlich > schon gerne mal noch implementieren, aber das gibt sehr viel Arbeit... Das denke ich mir. Ich hab meine Verständnisprobleme mit Git, sonst würde da immer mal wieder dran arbeiten :( Grüße Udo
Besten Dank für die Antworten ... werde einfach regelmässig mal vorbeischauen ... Gruss Peter
Udo Neist schrieb: > Das denke ich mir. Ich hab meine Verständnisprobleme mit Git, sonst > würde da immer mal wieder dran arbeiten :( > > Grüße > Udo Naja, du brauchst es ja nicht unbedingt. Du kannst dir ja die aktuelle Version ziehen und dann ohne Git dran arbeiten. Ich bin mir sicher es würde sich jemand finden, der deine gemachten Änderungen dann ab und an commiten würde.
@Udo Hmm die grundlegenden Funktionen pull/commit/push sind ja eigentlich auch nicht komplizierter als bei SVN (?). Bei git hat man einfach noch einen Haufen zusätzlicher Features, aber die muss man ja nicht benutzen. Wenn du "Angst" davor hast, etwas am Repository kaputt zu machen, kannst du einfach auf Github mit einem einzigen Klick Part-DB forken und dann an deinem eigenen Repository weiterarbeiten. Um deine Änderungen ins Part-DB Repository zu übernehmen reicht ein einfacher Pull Request (ebenfalls auf Github). Ich wäre gerne dazu bereit, deine Änderungen dann in Part-DB aufzunehmen. mfg
:
Bearbeitet durch User
Angst habe ich nicht davor, ich muss mich nur mal in Ruhe mit Git auseinander setzen und eventuell mal selbst einen Git-Server zum Spielen aufsetzen, dann wird das sicher auch wieder was :) Werde ich wohl beim nächsten Urlaub angehen. Grüße Udo
Ich habe übrigens bei der Gelegenheit gerade mal noch geschaut ob es Branches gibt, die bereits (mehr oder weniger) fertig programmierte Features enthalten. Habe zwei solcher Branches gefunden und gleich in den master Branch aufgenommen, die neuen Funktionen sind jetzt: 1) Bauteile, die obsolet und nicht mehr an Lager sind, werden jetzt in den Tabellen ausgeblendet (ausser unter "nicht mehr erhältliche Teile") 2) Man kann jetzt bei den Lieferanten eine URL angeben, welche direkt zu einem Artikel auf dessen Webseite führt. Die Bestellnummer (die in der URL natürlich vorkommen muss) wird durch einen Platzhalter dargestellt. Als Ergebnis werden dann alle Artikelnummern von Lieferanten, bei denen eine solche URL hinterlegt ist, als Hyperlink dargestellt, welche direkt zum entsprechenden Artikel im Onlineshop führen. Finde ich sehr praktisch :-) Eine URL kann auch bei den Herstellern definiert werden, allerdings wird diese von Part-DB (noch) nirgens ausgewertet... Ich denke es lohnt sich nicht, extra ein neues Release zu veröffentlichen nur wegen diesen beiden Funktionen. Wer diese Funktionen dennoch bereits nutzen möchte, kann einfach den aktuellen Stand vom master Branch herunterladen... Grüsse Urban
:
Bearbeitet durch User
Halooo wiedermal. Vielen Dank für diese Funktion mit den URLS der Hersteller. Habe upgedatet und es funktioniert wieder alles wie gewohnt. PartDB ist täglich in Verwendung mit ~ 400 Bauteile und 600 Uploads an Datenblättern und Bildern. Einfach ein sehr feines Programm was mir das tägliche Leben hier echt um einiges vereinfacht. DANKE Viele Grüße aus Wien
Hallo Christopher, Vielen Dank für das Feedback! Freut mich zu hören, dass Part-DB im täglichen Einsatz wie gewünscht funktioniert :-) Grüsse aus der Schweiz Urban
Hallo zusammen, ich habe jetzt auch wieder angefangen das Programm zu nutzen um etwas mehr Ordnung zu bekommen. Ich habe folgende Anforderungen/Verbesserungsvorschläge: 1. Einheiten für Bauteile - um z.B. Kabel erfassen zu können - ggf. auch Kommazahlen zulassen, wie z.B. 0,5m (könnte man aber auch über 50cm abbilden, also nicht zwingend notwendig) 2. mehrere Lagerorte für Bauteile - bei manchen Bauteilen hat man größere Mengen, die nicht alle in den Sortimentskasten passen. Hier wäre es nützlich die Mengen aufteilen zu können auf mehrere Lagerorte. In professioneller Software gibt es dann auch noch Nachschubfunktionen, aber das wäre sicherlich zu aufwendig. Aber zumindest mehrere Plätze wären sehr gut. 3. feste Spaltenbreiten - die Tabelle springt bei mir je nach Kategorie hin und her. Hier wären feste, einstellbare Spaltenbreiten schön. 4. Sortierung der Tabellenspalten durch klicken auf die Überschrift - erklärt sich glaube ich selbst und ist inzwischen ja auch Standard 5. Eingabe/Editierfenster der Bauteile mit Ajax im aktiven Fenster machen - aktuell nutze ich das modale Fenster, da der extra Tab immer im Hintergrund "verloren" geht, aber hier wäre es schön es als "Fenster" direkt in der Seite zu öffnen Gruß, Sammy
sammy schrieb: > Hallo zusammen, > > ich habe jetzt auch wieder angefangen das Programm zu nutzen um etwas > mehr Ordnung zu bekommen. > Ich habe folgende Anforderungen/Verbesserungsvorschläge: > > 1. Einheiten für Bauteile > - um z.B. Kabel erfassen zu können > - ggf. auch Kommazahlen zulassen, wie z.B. 0,5m (könnte man aber auch > über 50cm abbilden, also nicht zwingend notwendig) Ohne es jetzt zu testen, geht der Punkt anstelle des Kommas? > 2. mehrere Lagerorte für Bauteile > - bei manchen Bauteilen hat man größere Mengen, die nicht alle in den > Sortimentskasten passen. Hier wäre es nützlich die Mengen aufteilen zu > können auf mehrere Lagerorte. In professioneller Software gibt es dann > auch noch Nachschubfunktionen, aber das wäre sicherlich zu aufwendig. > Aber zumindest mehrere Plätze wären sehr gut. Ist, soviel ich weiß, ein geplantes Feature. > 3. feste Spaltenbreiten > - die Tabelle springt bei mir je nach Kategorie hin und her. Hier wären > feste, einstellbare Spaltenbreiten schön. Das kann man im Template oder im CSS fest definieren. Kein Thema. > 4. Sortierung der Tabellenspalten durch klicken auf die Überschrift > - erklärt sich glaube ich selbst und ist inzwischen ja auch Standard Das wäre etwas für die nächste Version. > 5. Eingabe/Editierfenster der Bauteile mit Ajax im aktiven Fenster > machen > - aktuell nutze ich das modale Fenster, da der extra Tab immer im > Hintergrund "verloren" geht, aber hier wäre es schön es als "Fenster" > direkt in der Seite zu öffnen Ajax steht ziemlich weit oben auf der Liste. Ich habe zwar die Vorarbeiten dazu schon erledigt, aber im Moment mangelt es an Zeit bzw. ich kämpfe mit Git. Grüße Udo
Ich habe mir mal ein eigenes git-Repo auf meinem Server angelegt, um endlich mal git verstehen zu lernen. Netbeans hat sogar gleich erkannt, dass das Projekt eine Kopie vom git-Repo ist und bietet mir passenden Optionen an. Zumal ich auf FB in einer Gruppe eine wirklich einfache Anleitung zum Arbeiten mit git gefunden habe :D
Zum Git lernen, kann ich das Buch empfehlen, das auf der Git Seite verlinkt ist. In deutsch ist die Edition 1, die Edition 2 gibt es nur in englisch: http://git-scm.com/book/de/v1
Hallo, ich habe gerade pardb von github geladen und installiert. Das funktioniert so weit so gut. Dann erstelle ich eine neue Kategorie "Widerstand". Wie ich in der Demo gesehen habe wird die Kategorie dann Links unter Kategorien aufgelistet, was bei mir nicht der Fall ist. Dann sollte man Kategorie auswählen können und ein neues Bauteil anlegen oder? Aber warum werden bei mir die Kategorien nicht aufgelistet? Jemand eine Ahnung was ich falsch mache? Hoffe es kann mir jemand helfen, habe große Erwartungen an dieses Programm^^ Lg, Tropaion
Und unter system_confi kann ja die ganzen Menüpunkte wie System und Tools deaktivieren. Diese werden jedoch von haus aus schon nicht mehr angezeigt, kann mir vll jemand helfen? Hier meine Testeinrichtung: http://www.yakuzasubs.at/labor/ Lg, Tropaion
Habs mir mal angeschaut ist komisch in der HTML Ausgabe sind die Menüs drinnen, hab momentan bis Mitte der nässten Woche nur UMTS damit kann ich nicht anständig schauen, aber ich werde mir das dann mal anschauen.
Vielen Dank! Wäre echt cool wenn das gelöst wird. Sitze schon seit 2 Tage dran, bin aber gar nicht weiter gekommen -.- Habe große Erwartungen daran, die Demo finde ich ziemlich vielversprechend. Lg, Tropaion
Ich bekomme zwei Javascript-Fehler angezeigt: dTree und menue sind nicht definiert. Anscheinend stimmt was nicht mit dtree.js (und bei den anderen JS-Dateien), denn in Firebug sehe ich nur eine lange Zeile und die ist auskommentiert. Firebug: Kein JavaScript auf dieser Seite
:
Bearbeitet durch User
Ich habe die geänderte dtree.js ins Repo hochgeladen. Bitte ausschecken und testen :-)
Udo Neist schrieb: > sammy schrieb: >> Hallo zusammen, >> >> ich habe jetzt auch wieder angefangen das Programm zu nutzen um etwas >> mehr Ordnung zu bekommen. >> Ich habe folgende Anforderungen/Verbesserungsvorschläge: >> >> 1. Einheiten für Bauteile >> - um z.B. Kabel erfassen zu können >> - ggf. auch Kommazahlen zulassen, wie z.B. 0,5m (könnte man aber auch >> über 50cm abbilden, also nicht zwingend notwendig) > > Ohne es jetzt zu testen, geht der Punkt anstelle des Kommas? > >> 2. mehrere Lagerorte für Bauteile >> - bei manchen Bauteilen hat man größere Mengen, die nicht alle in den >> Sortimentskasten passen. Hier wäre es nützlich die Mengen aufteilen zu >> können auf mehrere Lagerorte. In professioneller Software gibt es dann >> auch noch Nachschubfunktionen, aber das wäre sicherlich zu aufwendig. >> Aber zumindest mehrere Plätze wären sehr gut. > > Ist, soviel ich weiß, ein geplantes Feature. > >> 3. feste Spaltenbreiten >> - die Tabelle springt bei mir je nach Kategorie hin und her. Hier wären >> feste, einstellbare Spaltenbreiten schön. > > Das kann man im Template oder im CSS fest definieren. Kein Thema. > >> 4. Sortierung der Tabellenspalten durch klicken auf die Überschrift >> - erklärt sich glaube ich selbst und ist inzwischen ja auch Standard > > Das wäre etwas für die nächste Version. > >> 5. Eingabe/Editierfenster der Bauteile mit Ajax im aktiven Fenster >> machen >> - aktuell nutze ich das modale Fenster, da der extra Tab immer im >> Hintergrund "verloren" geht, aber hier wäre es schön es als "Fenster" >> direkt in der Seite zu öffnen > > Ajax steht ziemlich weit oben auf der Liste. Ich habe zwar die > Vorarbeiten dazu schon erledigt, aber im Moment mangelt es an Zeit bzw. > ich kämpfe mit Git. > > Grüße > Udo Hi Udo, danke für die Antwort. Mengen mit . statt , gehen leider nicht. ein 6. Punkt: Zustand zu Bauteilen speichern: z.B. neu, gebraucht, ausgelötet etc. gruß, sammy
Hi! Ist geplant, dass man bei den Einkaufsinformationen beim Preis mehr als zwei Nachkommastellen angeben kann? Viele Händler rechnen mit Centbruchteilen (u.a. Reichelt, 0,082€ für einen Metallschichtwiderstand). Sind Massenoperationen geplant? Sprich, man kann bestimmte Eigenschaften wie z.B. den Lagerort für mehrere Bauteile gleichzeitig ändern.
Hallo, ich habe ein Script in Python geschrieben, dass die Teile einer Bestellung bei Reichelt automatisch in eine Part-DB importierbare CSV Datei wandelt. Außerdem werden noch die Bilder und alle Datenblätter aller Positionen heruntergeladen und die Dateinamen im Kommentarfeld der CSV referenziert. Geplant ist dass die auch noch automatisch in die Datenbank eingepflegt werden aber da weiß ich noch nicht wie man das am besten hinbekommt (Direkt an der SQL Datenbank rumfrickeln oder über HTTP). Hat hier jemand vllt. eine Idee, wie man das lösen kann? Feedback ist immer wilkommen... ;) Grüße Felix
Hi zusammen, Ich wollte nur mal nachhören wie so der Stand der Dinge ist. Wird noch weiter entwickelt? Ach ja so nebenbei http://partdb.grautier.com/ ist offline. Gruß
Felix C. schrieb: > Hallo, > > ich habe ein Script in Python geschrieben, dass die Teile einer > Bestellung bei Reichelt automatisch in eine Part-DB importierbare CSV > Datei wandelt. Außerdem werden noch die Bilder und alle Datenblätter > aller Positionen heruntergeladen und die Dateinamen im Kommentarfeld der > CSV referenziert. Geplant ist dass die auch noch automatisch in die > Datenbank eingepflegt werden aber da weiß ich noch nicht wie man das am > besten hinbekommt (Direkt an der SQL Datenbank rumfrickeln oder über > HTTP). Hat hier jemand vllt. eine Idee, wie man das lösen kann? > Feedback ist immer wilkommen... ;) > > Grüße > Felix denke am besten wäre es direkt in SQL à la
1 | import MySQLdb |
2 | mysql=MySQLdb.connect('localhost','SQL_TABELLE','BENUTZER','KENNWORT') |
3 | cursor=mysql.cursor() |
4 | |
5 | cursor.execute("INSERT INTO `part-db`.`pricedetails` (`id`, `orderdetails_id`, `price`, `price_related_quantity`, `manual_input`, `last_modified`) VALUES ('"price_id"', '"orderdetails_id"', '"price"', '"price_related_quantity"', '1', CURRENT_TIMESTAMP);") |
So oder so ähnlich...
laberkeks schrieb: > > denke am besten wäre es direkt in SQL à la >
1 | > import MySQLdb |
2 | > mysql=MySQLdb.connect('localhost','SQL_TABELLE','BENUTZER','KENNWORT') |
3 | > cursor=mysql.cursor() |
4 | > |
5 | > cursor.execute("INSERT INTO `part-db`.`pricedetails` (`id`, |
6 | > `orderdetails_id`, `price`, `price_related_quantity`, `manual_input`, |
7 | > `last_modified`) VALUES ('"price_id"', '"orderdetails_id"', '"price"', |
8 | > '"price_related_quantity"', '1', CURRENT_TIMESTAMP);") |
9 | > |
> > So oder so ähnlich... Ja, ich habe mittlerweile noch eine API in PHP für Part-DB zusammengefrickelt, das schien mir auch die sauberste Variante zu sein.
Hallo, Fer T. schrieb: > Wird noch weiter entwickelt? Momentan leider nicht wirklich... Fer T. schrieb: > Ach ja so nebenbei http://partdb.grautier.com/ ist offline. Stimmt, das ist sehr schade. @K.J. Könntest du das wieder zum laufen bringen? Da momentan nicht aktiv weiterentwickelt wird, würde es vorerst ja reichen einfach das letzte Release zu installieren (ohne tägliches git pull). Felix C. schrieb: > Ja, ich habe mittlerweile noch eine API in PHP für Part-DB > zusammengefrickelt, das schien mir auch die sauberste Variante zu sein. Gerade im Zusammenhang mit dem Reichelt Import Script wäre dieses API sicher auch für andere Part-DB Nutzer nützlich. Wenn es einigermassen sauber implementiert ist, kannst du auf Github einen Pull Request machen, dann können wir es offiziell in Part-DB integrieren (unter der GPLv2). mfg
Ich Frage nur nach weil ich ansonsten darauf umsteigen würde. Evtl auch mich in PHP wieder einarbeiten und nen paar bugs fixen ;-)
Falls es mit http://partdb.grautier.com/ nicht klappen sollte, würde ich bei mir eine Subdomain einrichten. Viel Zeit zur Weiterentwicklung habe ich auch nicht, kann aber hier und da bei Problemen helfen. Grüße Udo
hi ja mach ich am WE fertig, irgentwie ist das beim serverweksel abhanden gekommen.
Für die zwischen zeit, falls jemand die Doku braucht: http://fthiessen.de/part-db/doku.php?id=start Sollte K.J. das dann wieder gefixt haben, nehme ich es bei gelegenheit wieder runter ;-) MfG
Hallo zusammen, seit einer weile nutze ich PartDB und bin sehr zufrieden. Da habt Ihr echt was schönes gemacht. Danke schön! Und mit etwas veränderten Theme kann man die Datenbank auch super für andere dinge nutzen (z.B. eine Störungsdatenbank) Aber ein Problem habe ich ... kann die Suchfunktion maximal nur 200 Artikel finden ? Kann man das irgend wie ändern ?
Hi, die Partdb ist dementsprechend nicht begrenzt, ich könnte mir vorstellen das in PHP begrenzt ist, sowas ähnliches hatte ich auch schon weis aber gerade nicht welche Einstellung das war, denkbar wehre die Scriptlaufzeit oder die anzahl der DB abfragen oder eine der Variabel Längenbegrenzung.
Es gibt ein Limit von 200 Einträgen in der Funktion search_parts von class.Part.php. Ich habe das jetzt mal in die Konfiguration verschoben und damit variabler gemacht. Der Default bleibt 200, falls die Variable in der eigenen Konfiguration fehlen sollte. Kleiner Fehler unterlaufen. Eventuell wurde die neue Variable nicht in der Funktion gefunden, da ich ein global vergessen hatte... Ob das Limit eher zum Funktionsaufruf dazu genommen wird oder es so bleibt, das kann ich jetzt noch nicht sagen.
:
Bearbeitet durch User
Hi, Ich hätte nur mal eine Frage zu der Entwicklung von Part-DB: Welches Zeilenende wird denn benutzt? Unix, DOS oder MAC? Weil irgendwie ist es bei jeder Datei anders. Teilweise war es Dos(\n\r), aber in den .php Dateien vorwiegend Unix (\n). Sodass die Diffs immer unnötig groß werden. Ich meine Irgendwo \n\r gelesen zu haben, bin mir aber nicht sicher. Vielleicht sollte man das irgendwo klar definieren und dann einmal alle Dokumente wandeln (unter Linux gibt es die tools unix2dos dos2unix). MfG, Ferdinand
Danke schön für die schnelle Hilfe. Funktioniert prima. Habe auch die änderung von GitHub getestet, geht bei mir auch ohne Proleme. Danke.
Hallo Ferdinand, Es sollen eigentlich überall UNIX Zeilenenden verwendet werden. Ich habe dos2unix mal auf alle Dateien im Repo angewendet und die Code Styleguides ergänzt. Ich hoffe jetzt gibt es keine unnötig grosse diffs mehr... mfg
Vielen Dank für die Klarstellung!
Ich war nur verwirrt durch den Kommentar in dem Commit von Weinbauer:
> "[...]Zeilenumbrüche nach CRLF gewandelt."
(CRLF = Dos, LF = Unix)
MfG
Fer T. schrieb: > Vielen Dank für die Klarstellung! > Ich war nur verwirrt durch den Kommentar in dem Commit von Weinbauer: >> "[...]Zeilenumbrüche nach CRLF gewandelt." Warum ich das damals so gemacht habe, war wohl auf mein damaligen Editor zurück zu führen. Heute setze ich Netbeans ein und dort ist LF eingestellt.
Fer T. schrieb: > Für die zwischen zeit, falls jemand die Doku braucht: > > http://fthiessen.de/part-db/doku.php?id=start Leider ist die Doku und die Demo ja (noch) nicht mehr online, daher zusätzlich zur Doku oben hier meine Demo: http://demo.os-sc.org/ Wird um Mitternacht immer geleert. Dem entsprechend gibt es hier auch die Doku: http://demo.os-sc.org/documentation/dokuwiki/doku.php
:
Bearbeitet durch User
Ups vergessen, natürlich hier die Entwickler Dokumentation. Sollte sie denn einer brauchen: http://demo.os-sc.org/documentation/doxygen/
In letzter Zeit ist ja nicht viel passiert, ich hab aber gerade mal etwas mehr Zeit und daher mal angefangen was zu schreiben, was ich schon länger vorhatte: Ich schreibe gerade für die Part-DB eine REST-API. Was ist REST? Am besten dafür hier gucken: https://de.wikipedia.org/wiki/Representational_State_Transfer Warum? Ich mache das vor allem, um das Backend und das Frontend strickt voneinander zu trennen. Momentan ist es ja so das die HTML Seite vom PHP Teil erzeugt wird. Ich möchte das so weit wie es geht trennen, dann kann man nämlich zum einen das Backend verändern ohne die GUI ändern zu müssen (so lange man die API nicht verändert) und zum anderen ist es durch den Ansatz wesentlich einfacher moderne UIs zu erstellen. Daher die schon länger überfälligen Veränderungen wie weg von iFrames und Popups. Ich schreibe nebenbei zum Testen noch eine - momentan kleinere - Oberfläche mit JS (mit dem DOJO-Framework: http://dojotoolkit.org/ - Bevor die Frage nach JQuery kommt: Ich mag bei dojo den API Aufbau einfach lieber / das Konzept). Die ist aber bei weitem nicht fertig und dient mir momentan nur zum testen der API und "proof of concept" (also ich teste da Sachen wie live-search, ajax, dojo-widgets etc). Sobald ich einigermaßen mit dem Fortschritt zufrieden bin stelle ich meinen Branch natürlich gerne hier zur Verfügung. Momentan hab ich aber nur die Grundlagen umgesetzt und arbeite noch an einigen Controllern. Falls jemand Anregungen dazu hat, oder Fragen oder mir einfach nur sagen will wie doof das doch ist: Gerne ;-) Wie gesagt ich stelle gerne auch alles bei Gelegenheit zur Verfügung, ich nutze den Post hier einfach mal als Ankündigung und um zu gucken ob es Interesse findet, daher ob ich das nicht nur für mich mache. Sicher gibt es dann da auch einiges was noch verbessert werden muss, aber das ist ja immer so. Mit freundlichen Grüßen, Fer
Dojo hatte ich verworfen, weil es mir zu groß geworden ist. Daher hatte ich einen viel einfacheren Ansatz mit Javascript selbst geschrieben (ist im Filemanager zu sehen). Als Template-Engine kommt vlib zum Einsatz, da auch hier kein Schwergewicht verwendet werden sollte. Leider kam ich aus Zeitgründen kaum dazu beide Teile zu verbinden. Grüße Udo
Hallo Fer, Klingt auf jeden Fall interessant, ich kann mir aber noch nicht so richtig vorstellen wie die REST API denn aussehen soll, und was das schlussendlich genau bringt. Eigentlich sind ja jetzt schon Backend und Frontend mehr oder weniger getrennt. Das aktuelle Konzept besteht im Prinzip aus drei Teilen: 1) Die PHP Klassen im "lib" Verzeichnis, welche die Daten in der Datenbank repräsentieren und viele nützliche Methoden anbieten. 2) Die PHP Skripte im Hauptverzeichnis, welche beschreiben welche HTML Seiten es gibt (also quasi die verschiedenen Use-Cases abbilden) und die Daten, welche im Browser angezeigt werden sollen, in Form von (vLib) Strukturen zur Verfügung stellen (Loops und Variablen). 3) Die HTML Seiten, welche nur noch die von den PHP Skripten generierten Daten darstellen. Das Design ist ohne Änderungen an PHP Dateien fast beliebig veränderbar. Auch könnte man für die Anzeige vermutlich ein Framework wie z.B. DOJO einsetzen. Kannst du vielleicht etwas genauer erklären, wie dein Konzept aussehen würde? Gruss, Urban
Im Grunde trenne ich das Backend und das Frontend klar durch die API ab. Daher das backend hat keine Ahnung was der User macht, bis es einen Zugriff bekommt. Zum Beispiel weil der User Part 42 abruft:
1 | /api.php/Parts/42 |
Nun gibt das Backend Part 42 zurück (als Json, oder wenn ein Fehler auftritt der passende HTTP Status). Oder wenn der User eine Kategorie löschen will:
1 | /api.php/Categories/23 |
(als HTTP DELETE Request). Oder bei der Suche:
1 | /api.php/Parts?name=NE55* |
Damit verschwindet so etwas wie das Prüfen "wirklich löschen?" etc aus dem php Teil und geht in die Verantwortung des Frontends über. Zum Beispiel bei meiner kleinen Testoberfläche in den Verantwortungsbereich des JS-Codes (wird per Dialog gelöst). Man könnte sich hier aber auch gleichzeitig zum Beispiel eine App vorstellen die auf diese API zugreift, wie das realisiert wird ist egal weil nur HTTP-Requests benötigt werden. Es für die Außenwelt gibt es dann quasi nur die Adresse: /api.php/{TABELLE}/{ID} /api.php/{TABELLE}?{QUERY} über welche dann kommuniziert wird. Ich bin mittlerweile eigentlich im Groben mit der API fertig. Da man durch Vererbung dort viel sparen konnte und nun nur noch kleinere Tochterklassen zu implementieren sind. Natürlich fehlen dann noch Feinheiten und sicher findet sich noch der ein oder andere Bug und Stellen die man sauberer machen kann. Meine Oberfläche nimmt auch Gestalt an, hab gerade mit DOJO und dgrid experimentiert um zugucken wie viel js code es ergibt. Klar das man nun eine Seite erhält die recht viel JS beinhaltet, aber insgesamt komme ich unkomprimiert (es sollte normal sein das Webserver komprimieren) auf etwa 350KiB alles in allem (daher mit allen "Unterseiten"). Daher mit 400KiB ist die gesamte Webseite geladen, keine großen Ladezeiten mehr, da ab hier nur noch kleine Requests im Hintergrund (AJAX) gesendet werden und diese zum Teil auch gecached werden können. Daher ich komme nachdem ich sie einmal geladen habe bei jedem erneuten Besuch auf nur etwa 20Kb die geladen werden müssen, da die Dateien ja statisch sind! Zu der Größe von Dojo: Man sollte es immer selber bauen. Ich hab es jetzt selbst gebaut und es sind etwa 300Kb (übertragen etwa 90Kb) und dabei hab ich echt verdammt viele Funktionen mit rein genommen. Ich werde das die Tage auf Github hochladen und dann Bescheid geben, dann kann sich ja quasi jeder einen Eindruck davon machen. Falls ich irgendwas unklar ist, einfach nochmal nachfragen ;-) Gruß
Hier mal noch meine Version einer API. Ist wie weiter oben beschrieben mehr zusammengefrickelt aber für meine Zwecke passt das so.
So hab doch noch schnell mal eine laufende Version gepushed, vielleicht erklärt der Code es besser als ich ;-) Momentan hab ich aber nur den Categories und Device Controller. Wobei ich den BaseController auch noch einmal überarbeiten muss, denke das kann man noch was kompakter und schöner machen. https://github.com/susnux/Part-DB/tree/New_GUI_REST_JS Der Branchname ist verwirrend, weil er nur die REST API enthält, aber nicht die GUI. Die hab ich ausgelagert damit das nicht ein Riesen durcheinander wird (von den commits). Ein XYController übernimmt dann quasi die Aufgaben von show_xy und edit_xy. Geladen werden die von der api.php (weshalb ich auch die start_session bearbeiten musste um __autoload durch die autoload_registry zu ersetzen (ist ab PHP 5.3.0 dabei, also sollte jeder haben). Dann noch die zwei neuen Klassen Request und Http (letzteres ist nur zur Lesbarkeit und Ordnung da, quasi ein "Enum"). Und hier direkt zum Diff: https://github.com/sandboxgangster/Part-DB/compare/master...susnux:New_GUI_REST_JS
:
Bearbeitet durch User
Für Verbesserungen bin ich immer zu haben. Die aktuelle Version hatte zwei Ziele: Trennung Programm und HTML (hier vlib) und bessere Struktur des Codes/OOP (wegen Wartung). Das im Zuge von Ajax einige Änderungen im Handling zwischen Client und Server vollzogen werden müssen, das hatten wir bzw. Urban in der Hauptsache ja schon vorbereitet. Meine Baustelle ist immer noch der neue Filemanager. Hier wollte ich auf Flash verzichten. Ich habe zwar das JS-Framework zwischenzeitlich deutlich verbessert, aber den Filemanager noch nicht angepasst. Mir fehlt einfach die Zeit, um da mal ein oder zwei Wochen intensiv dran zu feilen :( Grüße Udo
Der Link http://www.partdb.grautier.com/svn/documentation/dokuwiki/doku.php auf Dokumentation und Installationsanleitung auf https://github.com/sandboxgangster/Part-DB/releases.atom ist tot.
Hallo alle zusammen, da ich nun gerade dabei bin alle meine Bauteile mit Aufklebern vom oben genannten Tool zu beschriften, habe ich eine kleine Android App programmiert, das die Barcodes auf den Labels einscannt und die Part-DB Detailseite für dieses Bauteil anzeigt: https://github.com/do9jhb/Part-DB-android Vielleicht kann es ja noch jemand anderes gebrauchen.
Der nächste Schritt den ich plane (und auch dabei bin zu implementieren...) ist die Daten über ein Bauteil von Part-db entgegen zu nehmen und dann direkt in der App in einer Activity anzuzeigen. Dann sollte es auch ein Suchfeld geben über das man auch Bauteile aufrufen kann, die keinen Barcode haben.
Hat es schon jmd. getestet? Jetzt kann man auch die Bauteiledetails (teilweise) direkt innerhalb der App anzeigen lassen (siehe Anhang). Die neue Version gibts bei GitHub...
Hi, ich würde ja gerne mal wieder mit der Datenbank arbieten, allein ich kann keine Downloadmöglichkeit finden. Die per Suchmaschine findbaren Webseiten zu dem Projekt sind uralt, die Links funktionieren nicht oder führen zu Uralt Versionen. Wo ist das aktuelle Program zu finden? Und gibt es dazu eine Installationsanleitung? Gruß Peter
Hallo zusammen, dies scheint ja wirklich aktuell der letzte und einzig noch erhaltene Beitrag zu sein wenn es um das Thema Part DB geht. Ich würde gerne auch ein wenig damit anfangen/einsteigen und es fällt schon echt ziemlich schwer den Überblick zu behalten, zumindest für Neueinsteiger... Ich würde mir ehrlich gesagt am liebsten eine kleine virtuelle Maschine einrichten, welche alles benötogt mit allen Features die aktuelle so stabil laufen. Hab mich sogar richtig gefreut, als es das in einem Artikel bereits gab... aber dann: sehr alte Version. Also ging die Suche wieder los. Jetzt hab ich mal bei mir auf der Maschine v0.3.1 laufen, aber was ist mit dieser Version 1.2 die hier und da mal auftaucht? Und Etiketten würde ich auch gerne drucken. Wie fange ich da an oder wo muss ich weiter suchen? Wäre um ein wenig Aufklärung echt dankbar und würde auch eine virtuelle Maschine erzeugen + Wiki updaten falls das hier wirklich noch aktuell ist. Grüße Dennis Nachtrag: Jan B. schrieb: > Hat es schon jmd. getestet? > > Jetzt kann man auch die Bauteiledetails (teilweise) direkt innerhalb der > App anzeigen lassen (siehe Anhang). Die neue Version gibts bei GitHub... Ja zu diesem Punkt muss ich sagen: Codes werden falsch erzeugt, App schmiert beim Smartphone drehen ab.
Okay, aber das ist alles doch recht zerstückelt oder nicht? Wie steht es um das Barcode Feature? Ist doch nicht im master drin?! Muss man sich das selber zusammen kopieren? Gerade mal zwei drei Versionen mit meinem Diff-Tool verglichen und bin mir nicht ganz sicher was ich jetzt genau auschecken soll.
Es gibt einige Entwicklerrepos, die zum Testen für neue Funktionen gedacht sind. Das offizielle Repo ist "master".
Sehr schade ist halt, dass die Demoseite und damit auch die Dokumentation (inkl. Installationsanleitung) seit einiger Zeit offline sind. Vielleicht kann K.J. das wiedermal zum laufen bringen? Ansonsten hätte ich auch noch einen Webspace auf dem man das laufen lassen könnte. Fragt sich nur wann ich mal Zeit und Lust dazu habe ;)
Urban B. schrieb: > Sehr schade ist halt, dass die Demoseite und damit auch die > Dokumentation (inkl. Installationsanleitung) seit einiger Zeit offline > sind. > > Vielleicht kann K.J. das wiedermal zum laufen bringen? > > Ansonsten hätte ich auch noch einen Webspace auf dem man das laufen > lassen könnte. Fragt sich nur wann ich mal Zeit und Lust dazu habe ;) Das hätte ich auch grad noch übrig... Aber halt ein System mit allen aktuell stabil laufenden Funktionen wäre halt klasse! So schlecht find ich das Prinzip halt nicht. Und die "online"-Anbindung find ich halt besser als bei EleLa.
Ich kann eine Demo-Version auf meinen eigenen Webserver installieren, dem juckt das nicht ;)
Das einmalige installieren von Part-DB auf einem Webspace ist natürlich kein Problem. Schön wäre allerdings wenn die Installation auch regelmässig auf die neuste Version aktualisiert wird und wenn z.B. einmal am Tag die Datenbank zurückgesetzt wird (z.B. laden einer SQL Datei welche Beispieldaten enthält). Die Online-Demo von K.J. hat das auch so gemacht als sie noch online war.
:
Bearbeitet durch User
Demo hab ich unter http://phpbookworm.singollo.de/project/part-db/index.php installiert. Ich werde noch einen cronjob installieren, der irgendwann nachts die Datenbank löschen wird. Da ich keine Demodaten habe, wird sie leer bleiben. Wenn sich jemand bereit erklärt, dort vernünftige Daten eintragen zu wollen, werde ich das mit dem cronjob noch ein paar Tage zurück stellen. Updates wären kein Problem. Ich habe noch lange nicht vor, meinen Webserver samt Domains zu kündigen.
:
Bearbeitet durch User
Urban B. schrieb: > Sehr schade ist halt, dass die Demoseite und damit auch die > Dokumentation (inkl. Installationsanleitung) seit einiger Zeit offline > sind. Hab doch schon mal meinen Ersatzserver gepostet: > Leider ist die Doku und die Demo ja (noch) nicht mehr online, daher > zusätzlich zur Doku oben hier meine Demo: http://demo.os-sc.org/ > Wird um Mitternacht immer geleert. > Dem entsprechend gibt es hier auch die Doku: http://demo.os-sc.org/documentation/dokuwiki/doku.php
Dennis X. schrieb: > Wie steht es > um das Barcode Feature? Ist doch nicht im master drin?! Nein das ist eine externe Erweiterung von mir: http://fthiessen.de/part-db-etiketten-drucken/ Ich würde die auch nicht in den Master mergen (kann man natürlich von mir aus gerne machen), aber aus meiner Sicht ist die Abhängigkeit auf TCPDF zu groß, daher viele müssten unnötig viele Dateien installieren obwohl sie das feature nicht brauchen. Eine Anleitung zum installieren ist auf der verlinkten Seite. MfG
Fer T. schrieb: > Hab doch schon mal meinen Ersatzserver gepostet: Ups, stimmt, das hatte ich ganz vergessen ;) Dann müsste man wohl nur noch die Readme im Part-DB repo anpassen, so dass die Verlinkungen zur Demo und zur Dokumentation wieder funktionieren... Demodaten (SQL) gibts übrigens hier: https://raw.githubusercontent.com/sandboxgangster/Part-DB/master/development/testfiles/database/v12_kami89_utf8.sql
:
Bearbeitet durch User
Die Beispieldaten funktionieren bei der aktuellen Datenbankstruktur allerdings nicht mehr. Das Update schlägt fehl.
Udo N. schrieb: > Die Beispieldaten funktionieren bei der aktuellen Datenbankstruktur > allerdings nicht mehr. Das Update schlägt fehl. Hmm das dürfte eigentlich nicht passieren. Hat der Datenbank Benutzer genügend Rechte um das Update durchzuführen (GRANT ALL)? Welche Fehlermeldungen erscheinen genau?
Für die Tabelle hat der User alle Rechte, auch Grant. Die Tage probier ich es noch einmal, heute und morgen wird es nichts mehr.
Udo N. schrieb: > Für die Tabelle hat der User alle Rechte, auch Grant. Die Tage > probier > ich es noch einmal, heute und morgen wird es nichts mehr. Hab auch nen Problem sonst funktioniert alles nur die demo Datei nicht:
1 | Schritt: UPDATE `footprints` SET `filename` = replace(`filename`,'tools/footprints/','%BASE%/img/footprints/')...OK |
2 | Schritt: UPDATE `footprints` SET parent_id=NULL WHERE parent_id=0...OK |
3 | Schritt: ALTER TABLE `storeloc` RENAME `storelocations`...FEHLER! |
4 | Fehlermeldung: SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'storelocations' already exists |
5 | |
6 | SQL_MODE wird gesetzt... |
7 | Datenbank wird freigegeben... |
8 | ABBRUCH: Das Update konnte nicht durchgeführt werden! |
EDIT: Es passiert nur wenn die Datenbank VOR dem Import bereits Version 17 ist und man es dann importiert.
:
Bearbeitet durch User
Fer T. schrieb: > EDIT: Es passiert nur wenn die Datenbank VOR dem Import bereits Version > 17 ist und man es dann importiert. Ach so, ja die Datenbank sollte natürlich komplett leer sein vor dem Import, sonst kommt das nicht gut weil zwei verschiedene Datenbankversionen "vermischt" werden.
Die DB war leer, war ja eine frische Installation. Ich werde sie mal manuell als DB-Version 12 setzen, bevor ich die Demo-Daten einspiele. Wenn das klappt, speichere ich das als neue Demo-Datenbank für Version 17 (Part-DB v0.3.1). Grüße Udo
Leer war sie ja quasi: Neuinstallieren -> Update -> Import -> Update -> Fehler richtig ist: Neuinstallieren -> Import -> Update
Mit "leere Datenbank" meine ich, dass auch keine Tabellen existieren dürfen (auch keine leeren). Das SQL file ist ja nur ein Dump einer Datenbank, das hat mit Part-DB erstmal nichts zu tun. Bevor man diesen Dump (z.B. mit PhpMyAdmin) importiert, müssen alle Daten und Tabellen der Datenbank komplett gelöscht werden. Und erst nachdem die Daten importiert wurden, darf man mit Part-DB das Update auf die neuste Datenbankversion durchführen. mfg
:
Bearbeitet durch User
Wenn man nicht in die Daten reinschaut... Demo-Daten: kompletter Dump inklusive "create tables". Wenn man daran denkt, dann funktioniert das ganze. Ich habe den Dump der Demo-Datenbank in Version v17 hier mal angehängt. Enthält drop table + create tables, also für eine leere (ohne Tabellen) Datenbank. Grüße Udo
"Meine" Demoseite läuft, Restore der Datenbank nachts gegen 2 Uhr eingerichtet. http://phpbookworm.singollo.de/project/part-db/
Hi, gibt es eigentlich Pläne, wann die nächste Version 0.3.2 veröffentlicht werden soll? Danke. Matthias
Moin, also wenn ich richtig gesucht habe, dann ist das hier der "letzte" Thread zu partdb. Ich wollte mich mal mit dem Programm beschäftigen, um zu entscheiden, ob ich jetzt Elela oder partdb installieren möchte. Die Domain grautier.com ist scheinbar defekt. Wo wird denn das Progrämmchen jetzt gepflegt? github? Der Artikel ist leider völlig veraltet... Viele Grüße Philipp
Das Wiki zu Part-DB hier auf µC.net ist schon lange veraltet. Den Link dahin haben wir wohl beim Überarbeiten einfach übersehen, da die Doku ja auch in eine neue Hilfe-Funktion (DokuWiki) gewandert ist. Projektseite: Downloads, Bugreports, ToDo-Liste usw. gibts auf https://github.com/sandboxgangster/Part-DB Forum: Für Fragen rund um die Part-DB gibt es hier im Thread Wiki: Weitere Informationen gibt es in der Hilfe zu Part-DB Demoinstallationen gibt es einige, werden hier im Thread auch genannt. Aus Zeitmangel wird das Projekt nur sporadisch (insbesondere bei Bugs) weiter entwickelt. Helfer sind immer willkommen :-) Grüße Udo
https://github.com/sandboxgangster/Part-DB/releases Hier gibt es einen Link zu Installationsanweisungen, der Link ist leider tot. Wäre gut, wenn man den entweder entfernt oder ein gültiges Verlinkungsziel zuweist. :)
Philipp X. schrieb: > https://github.com/sandboxgangster/Part-DB/releases > > Hier gibt es einen Link zu Installationsanweisungen, der Link ist leider > tot. Wäre gut, wenn man den entweder entfernt oder ein gültiges > Verlinkungsziel zuweist. :) Stimmt, habe es soeben korrigiert. Auch in der README.md habe ich die Links angepasst: https://github.com/sandboxgangster/Part-DB/commit/924582b656bf66563da56e400ca869061872c508 @Udo Ich habe mal auf deine Demo-Installation von Part-DB verlinkt, ich hoffe das ist für dich in Ordnung :)
Urban B. schrieb:
...
Besten Dank!
Ich war direkt mal experimentierfreudig und habe eine VM mit Ubuntu
Server 16.04 installiert und apache mit php7.0 drauf geworfen.
Verträgt sich part-db nicht mit php7? Oder habe ich einfach einen Fehler
gemacht? Ist mein erster Berührungspunkt mit der ganzen
Webserver-Thematik...
Das mbstring Paket fehlt für php (ka obs das in php7 gibt hab noch 5)
Jup, das hat geholfen. Ich fürchte, ich habe mich gerade bei der Config, um die Daten im home-Verzeichnis abzulegen, verkonfiguriert... argh Grund war, dass wenn man die Daten unter /var/www/html liegen hat muss man das Ganze ja trotzdem ausführbar machen. https://wiki.ubuntuusers.de/Apache/#Benutzerspezifisch Auf jeden Fall zeigt er inzwischen nur noch die Default page an...
:
Bearbeitet durch User
Philipp X. schrieb: > Grund war, dass wenn man die Daten unter /var/www/html liegen hat muss > man das Ganze ja trotzdem ausführbar machen. > https://wiki.ubuntuusers.de/Apache/#Benutzerspezifisch Also wenn man Part-DB nach unserer Anleitung* installiert, genügen zwei Befehle um Part-DB mit korrekten Dateirechten nach /var/www zu entpacken. Part-DB sollte dann gleich wie gewünscht funktionieren. * http://phpbookworm.singollo.de/project/part-db/documentation/dokuwiki/doku.php?id=installation#part-db_herunterladen_und_entpacken
Melde gehorsamst: Das Viech rennt unter PHP7.0 unter Ubuntu Server 16.04! (VMware Workstation 12 Player) Danke!
Ein Verbesserungsvorschlag: Wenn man sich in einem Menü befindet, könnte man denken, der Seitenheader sei Hops gegangen (Logo weg etc) und auf den ersten Blick sieht man nicht, wie man zur Startseite zurück kommt. Zumindest bis man das winzige part-db-logo-Knöpfchen findet. Konkreter Vorschlag: Logo größer und clickbar, wie man es von den meisten Webseiten her kennt. Eventuell das Logo noch benutzerdefinierbar machen. Sonst sieht das Ding ziemlich gut und unkompliziert aus!
Philipp X. schrieb: > Melde gehorsamst: Das Viech rennt unter PHP7.0 unter Ubuntu Server > 16.04! (VMware Workstation 12 Player) > > Danke! Ja das mit PHP7 wird noch nen Suportchaos, einerseits gut das alles in einzelne externe Module gepackt wird anderer seits auch nen Problem vor alledem für die die sich nicht auskennen.
K. J. schrieb: > Ja das mit PHP7 wird noch nen Suportchaos, einerseits gut das alles in > einzelne externe Module gepackt wird anderer seits auch nen Problem vor > alledem für die die sich nicht auskennen. Nutze openSUSE da wird schon immer jedes PHP Modul einzeln gepackt also nichts neues. (Z.b. php5-mbstring etc) Fand das schon immer besser weil man so nur das installiert was man wirklich braucht.
> @Udo > Ich habe mal auf deine Demo-Installation von Part-DB verlinkt, ich hoffe > das ist für dich in Ordnung :) Darfst du ruhig. Die Installation ist ja zum Testen gedacht. Nebenbei habe ich den Commit eingespielt :)
:
Bearbeitet durch User
Philipp X. schrieb: > Melde gehorsamst: Das Viech rennt unter PHP7.0 unter Ubuntu Server > 16.04! (VMware Workstation 12 Player) > > Danke! Könntest du eventuell mal mitteilen, wie du das genau gemacht hast? Ich habe gröbere Probleme vermutlich mit PHP 7 und dem strengeren Type-Casting das in einem Ubuntu 16.04 lxc Container (ProxMox) ans laufen zu bekommen (in einer VM Ubuntu 16.04 läuft es bei mir auch nicht). Die ganzen Datenbank-Updates u.ä. funktioniert. ich bekomme zur Not auch händisch Daten z.B. aus einer Version 0.1.5 importiert (Die Probleme habe ich aber auch ohne Datenimport), die ich dann in der Suchzeile auch eingeben kann und im rechten Bereich dann auch angezeigt bekomme. Der Effekt ist im wesentlichen, dass das komplette Menü nur die Überschriften anzeigt und ansonsten keine Funktion hat. Selbstverständlich sind auch Kategorien angelegt. Auch in einer ganz jungfreulichen Installation, ohne Datenimport, und frisch angelegter erster "Test"-Kategorie, bekomme ich links keine Menüs angezeigt. Das Apache error.log sieht beim Aufruf von Part-DB (0.3.0 oder 0.3.1) wie folgt aus: [Mon Sep 19 08:49:28.261075 2016] [:error] [pid 831] [client 192.168.2.105:63470] PHP Warning: Declaration of Category::get_parts($recursive = false) should be compatible with PartsContainingDBElement::get_parts($parts_rowname, $recursive = false) in /var/www/part-db/lib/class.Category.php on line 42, referer: http://partdb.ms2054.local/index.php [Mon Sep 19 08:49:28.261146 2016] [:error] [pid 831] [client 192.168.2.105:63470] PHP Warning: Declaration of Category::search(&$database, &$current_user, &$log, $keyword, $exact_match = false) should be compatible with NamedDBElement::search(&$database, &$current_user, &$log, $tablename, $keyword, $exact_match) in /var/www/part-db/lib/class.Category.php on line 42, referer: http://partdb.ms2054.local/index.php [Mon Sep 19 08:49:28.261561 2016] [:error] [pid 831] [client 192.168.2.105:63470] PHP Warning: Declaration of Device::get_parts($recursive = false) should be compatible with PartsContainingDBElement::get_parts($parts_rowname, $recursive = false) in /var/www/part-db/lib/class.Device.php on line 0, referer: http://partdb.ms2054.local/index.php [Mon Sep 19 08:49:28.285978 2016] [:error] [pid 835] [client 192.168.2.105:63473] PHP Warning: Declaration of Category::get_parts($recursive = false) should be compatible with PartsContainingDBElement::get_parts($parts_rowname, $recursive = false) in /var/www/part-db/lib/class.Category.php on line 42, referer: http://partdb.ms2054.local/index.php [Mon Sep 19 08:49:28.286058 2016] [:error] [pid 835] [client 192.168.2.105:63473] PHP Warning: Declaration of Category::search(&$database, &$current_user, &$log, $keyword, $exact_match = false) should be compatible with NamedDBElement::search(&$database, &$current_user, &$log, $tablename, $keyword, $exact_match) in /var/www/part-db/lib/class.Category.php on line 42, referer: http://partdb.ms2054.local/index.php [Mon Sep 19 08:49:28.286390 2016] [:error] [pid 835] [client 192.168.2.105:63473] PHP Warning: Declaration of Storelocation::get_parts($recursive = false) should be compatible with PartsContainingDBElement::get_parts($parts_rowname, $recursive = false) in /var/www/part-db/lib/class.Storelocation.php on line 0, referer: http://partdb.ms2054.local/index.php [Mon Sep 19 08:49:28.286454 2016] [:error] [pid 835] [client 192.168.2.105:63473] PHP Warning: Declaration of Storelocation::search(&$database, &$current_user, &$log, $keyword, $exact_match = false) should be compatible with NamedDBElement::search(&$database, &$current_user, &$log, $tablename, $keyword, $exact_match) in /var/www/part-db/lib/class.Storelocation.php on line 0, referer: http://partdb.ms2054.local/index.php [Mon Sep 19 08:49:28.286709 2016] [:error] [pid 835] [client 192.168.2.105:63473] PHP Warning: Declaration of Footprint::get_parts($recursive = false) should be compatible with PartsContainingDBElement::get_parts($parts_rowname, $recursive = false) in /var/www/part-db/lib/class.Footprint.php on line 0, referer: http://partdb.ms2054.local/index.php [Mon Sep 19 08:49:28.286755 2016] [:error] [pid 835] [client 192.168.2.105:63473] PHP Warning: Declaration of Footprint::search(&$database, &$current_user, &$log, $keyword, $exact_match = false) should be compatible with NamedDBElement::search(&$database, &$current_user, &$log, $tablename, $keyword, $exact_match) in /var/www/part-db/lib/class.Footprint.php on line 0, referer: http://partdb.ms2054.local/index.php [Mon Sep 19 08:49:28.287133 2016] [:error] [pid 835] [client 192.168.2.105:63473] PHP Warning: Declaration of Supplier::get_parts($recursive = false) should be compatible with PartsContainingDBElement::get_parts($parts_rowname, $recursive = false) in /var/www/part-db/lib/class.Supplier.php on line 43, referer: http://partdb.ms2054.local/index.php [Mon Sep 19 08:49:28.287188 2016] [:error] [pid 835] [client 192.168.2.105:63473] PHP Warning: Declaration of Supplier::search(&$database, &$current_user, &$log, $keyword, $exact_match = false) should be compatible with NamedDBElement::search(&$database, &$current_user, &$log, $tablename, $keyword, $exact_match) in /var/www/part-db/lib/class.Supplier.php on line 43, referer: http://partdb.ms2054.local/index.php Besten Dank schonmal Michael
Hallo alle zusammen, da Part-DB bekanntermaßen einige nicht mehr empfohlene Webtechniken wie z.B. Framesets und Popups verwendet, auf Mobilgeräten nicht wirklich gut aussieht und noch in HTML4 geschrieben wurde, habe ich begonnen Part-DB an HTML5 und "Responsive Design" (Layout passt sich Bildschirmgröße an) anzupassen. Dazu habe ich erst einmal eine Möglichkeit eingebaut die Template engine Smarty (http://www.smarty.net/) für die HTML Templates zu verwenden, da die letzte Version der bisher verwendeten VLibTemplate von 2009(?) stammt und vermutlich auch nicht mehr weiter entwickelt wird (Seite des Autors ist nicht mehr erreichbar). Smarty wird aktiv weiterentwickelt, bietet mehr Features und (meiner Meinung nach) eine schönere und kompaktere Syntax (z.B. {$html} statt {TMPL_VAR NAME="html"} ). Für das Layout nutze ich die CSS-Library Bootstrap (http://getbootstrap.com/), die für viele Webseiten und Webapps verwendet wird und für DOM und Ajax die JS-Library JQuery(https://jquery.com/). Momentan habe ich nur die absoluten Basisfunktionen am laufen (Suche, Kategorienanzeige und Bauteiledetails), ich werde aber nach und nach versuchen weitere Seiten anzupassen. Anbei findet ihr einige Screenshots von meiner angepassten Version, es würde mich sehr interessieren, was ihr von dem neuen Design haltet. Gruß Jan B.
Hallo Jan, Wow, sieht super aus, gefällt mir! Das dürfte gleich mehrere von unseren Issues auf GitHub lösen :) Ich persönlich würde vielleicht einfach die verschiedenen Elemente (z.B. Treeview und Überschriften) etwas kleiner/platzsparender gestalten, damit man bei viel Inhalt nicht unnötig viel scrollen muss... Gruss Urban
Ja WOW sieht echt gut aus, schön das noch jemand die Zeit dafür findet die PartDB zu verbessern.
Hallo, da man mit Smarty als Template-Engine Texte relativ einfach mit gettext lokalisieren kann habe ich mal mit der Übersetzung von Part-DB ins Englische begonnen. Momentan sind nur die HTML-Templates übersetzbar (ich plane aber auch die Strings aus dem PHP-Code übersetzbar zu machen) und auch nur die die ich schon an Smarty und das neue Design angepasst habe. Falls jemand bei den Übersetzungen helfen will, hier (https://translate.zanata.org/iteration/view/part-db/0.4.0?dswid=-6639) kann man online an den Übersetzungen mitarbeiten. Falls jemand bei einer Sprache helfen will die noch nicht zur Auswahl auf Zanata steht, dann melde er sich, ich füge die Sprache hinzu. In den Screenshots seht ihr den Beweis dass die Übersetzungen funktionieren ;) (und dass ich wie ihr geraten habt, einige Elemente etwas verkleinert habe).
Super, Übersetzungen wollte ich auch schon lange mal einbauen! :D Eigentlich wäre es doch sinnvoll, gleich alle Texte im Sourcecode durch die englischen Übersetzungen zu ersetzen, und stattdessen eine deutsche Übersetzung anzubieten, oder?
ich finde es super, dass sich das Projekt wieder bewegt. Ich selber bin auch gerade dabei ein paar neue Frameworks zu lernen und brauch im Anschluss dann ein etwas größeres Projekt zum üben. Also wieso nicht gleich etwas verwenden von dem viele Personen profitieren können. Mein erster Schritt wäre auch gewesen das ganze auf ein CSS Framework wie z.B. Bootstrap oder Semantic umzustellen. Da du mit Bootstrap angefangen hast, würde ich auch das verwenden. Meinst du, du kannst das Repo unter Github einfach forken, dir dort einen neuen Branch wie z.B. bootstrap3 anlegen und alle deine Änderungen dort commiten? Ich werde denke ich über die Weihnachtszeit anfangen, dann können wir das gemeinsam voran treiben.
Ich habe mal eine kleine Demoseite mit meiner aktuellen Entwicklungsversion aufgesetzt. Diese enthält auch die Möglichkeit die Footprints zusätzlich zum Bild als ein 3D Modell darzustellen (in jedem halbwegsmodernem Browser). Es nutzt dazu die 3D Modelle von KiCad. Die Demoseite findet ihr hier: http://part-db.bplaced.net/ .(Ich hoffe man kann die 3D-Footprints erkennen, auf dem Server ignoriert er warum auch immer die Tags für die Größe des 3D-Fensters). Den Quellcode meiner Version findet ihr in meinem Github-Fork (https://github.com/do9jhb/Part-DB) im Branch nextgen. PS: Macht es Sinn einen neuen Thread aufzumachen? Dann könnte man dort über die neue Version diskutieren und hier weiter über die V0.3 diskutieren.
Ich finde es cool, dass Du part-db modernisierst. Gefällt mir gut. Ich habe gerade mit deiner Demo gespielt und zwei kleine Verbesserungsvorschläge: 1. Die Felder links im Menü könnten komplett als Link dienen. Aktuell werden sie beim anklicken nur blau eingefärbt und man muss tatsächlich den Text anklicken. 2. Das Menü wird auf jeder neuen Seite wieder komplett eingeklappt. Der Baum bis zur aktiven Seite könnte geöffnet bleiben. Man wüsste dann eher wo man ist und täte sich leichter, falls man mal die falsche Unterkategorie erwischt hat.
Ja, die beiden Probleme kenne ich bereits :) Eigentlich sollte er immer die Seite per Ajax nachladen (also würde der Baum geöffnet bleiben), aber irgendwie registriert er die unteren Links nicht richtig bei JQuery. Interessant ist, dass die Links der 1. Ebene so funktionieren wie sie sollen, auf allen darunter liegenden Ebenen nicht. Insgesamt gibt es noch einige (kleinere) Probleme mit Links: So lädt er, wenn man in den Bearbeiten Dialogen das Bauteil wechselt, ebenfalls die gesamte Seite neu und z.B. Links auf externe Seite werden gar nicht geladen (weil er sie wegen der Same Origin Policy nicht per Ajax nachladen darf) Die Version ist wie gesagt noch in der Entwicklung, aber ich werde mich mal in den nächsten Tagen mit den obigen Problemen beschäftigen und versuchen deinen Vorschlag mit dem Öffnen mit dem ganzen Button umzusetzen. Edit: Die Änderungen waren sehr einfach. Es sollte jetzt beides funktionieren!
:
Bearbeitet durch User
Zum aktuellem Stand: Ich habe jetzt beinahe alles lokalisierbar gemacht und Englische Übersetzungen dafür geschrieben. Dann habe ich einen fixen Button unten rechts hinzugefügt zum Hochscrollen, der sich immer einblendet, wenn man ein Stück nach unten gescrollt ist. Desweiteren habe ich für die "CSS-File" Option in den Einstellungen, die Möglichkeit eingebaut, zwischen den verschiedenen freien Bootstrap themes von http://bootswatch.com/ zu wählen (im Anhang findet ihr ein paar Beispiele). Weiterhin habe ich angefangen eine Funktion zur Erzeugung von Barcodes/Labelen zu entwickeln. Nächste Zeit werde ich anfangen den Einrichtungsassistenten zu überarbeiten und noch ein Problem mit dem Bearbeiten von Bestellinformationen zu fixen (HTML erlaubt eigentlich keine forms als Child einer Tabelle, früher war das egal, das neue System ist aber strikter). Wenn das fertig ist müsste es den gesamten Funktionsumfang des alten Part-DB habens (und bereits mehr). Ich werde die nächsten paar Tagen versuchen die neuen Änderungen in die Demo hochzuladen, dann könnt ihr es testen. Falls ihr noch Ideen/Wünsche/Fehlerberichte habt, meldet euch einfach! Gruß Jan B.
:
Bearbeitet durch User
Hi, ich habe jetzt die Demo (http://part-db.bplaced.net/) auf meine aktuelle Version geupdated und auch einmal eine Version auf Englisch eingerichtet (http://part-db.bplaced.net/part-en/startup.php). Ich denke in dieser Funktion sollten alle Funktionen laufen (inkl. Setup-Assistenten). Falls es jemand selbst ausprobieren möchte, die Version ist auf GitHub getaggt (https://github.com/do9jhb/Part-DB/releases/tag/v0.4.0RC1.beta1). Falls ihr noch Probleme, Bugs habt oder Wünsche für neue Funktionen habt, schreibt sie hier oder öffnet ein Ticket auf GitHub. Viel Spaß beim Ausprobieren.
Hallo Jan, habe deine Version nun auch mal zum Testen hier lokal installiert. Das Design gefällt mir. Ist auch auf einem Smartphone nutzbar. Wie weiter oben schon geschrieben wurde wäre es toll denn sich das Treeview node auch öffnet wenn man auf den Text klickt. habe hierzu folgendes gefunden https://github.com/jonmiles/bootstrap-treeview/pull/11/commits/a4a43cea4e06b317d1d2052110dbc84c03371122 Die Stelle sieht mittlerweile etwas anders aus, aber mit einem Quick&Dirty Test im clickHandler konnte ich den gewünschten Effekt zum Teil einbauen.
1 | else { |
2 | |
3 | if (node.selectable) { |
4 | this.toggleSelectedState(node, _default.options); |
5 | // KB20161224 allow the expand of the node |
6 | this.toggleExpandedState(node, _default.options); |
7 | } else { |
8 | this.toggleExpandedState(node, _default.options); |
9 | } |
10 | this.render(); |
11 | } |
Die Treeview Elemente von "Kategorie" sind selektierbar, die aus z.B. Verwaltung sind nicht selektierbar. Die passende Stelle konnte ich leider nicht finden wo die Eigenschaften festgelegt werden. Dafür kenne ich mich mit den Javascript Zeug zu wenig aus. An meiner sonst genutzten Version 0.3.1 habe ich 2-3 kleine Modifikationen vorgenommen. - (Config) einen der drei Suchlink auf Google umgeändert - (Config) Den Hersteller anzeigen - anstelle des Produktbilds habe ich den "Teile Editieren" Link eingefügt
Kai B. schrieb: > Wie weiter oben schon geschrieben wurde wäre es toll denn sich das > Treeview node auch öffnet wenn man auf den Text klickt. Hi, könntest du das viellecht weiter erläutern, ich verstehe irgendwie nicht ganz was du meinst... Was für einen Browser nutzt du und welche Git Version (Commit nummer) verwendest du? Vielleicht bin ich nur etwas verwirrt, weil ich zum Entwickeln schon eine neuere Version (die noch nicht gepusht wurde) nutze... Gruß Jan B.
Jan B. schrieb: > könntest du das viellecht weiter erläutern, ich verstehe irgendwie nicht > ganz was du meinst... bin zwar nicht kaib, aber vermutlich stört mich das genauso: - klicke ich auf "aktive Bauteile", passiert ... nichts (ausser Text high light) - klicke ich auf das "+" daneben, klappt das Menü (= Treeview) auf intuitiver wäre es vermutlich, wenn ein Klick auf "+" oder "Text" die gleiche Funktion (= Menü aufklappen) hätte... Ausserdem würde es imo die Benutzbarkeit enorm verbessern, wenn es etwas mehr "Feedback" gäbe, vor allem eine Anzeige, wenn das System "etwas tut" => z.B. "Kreiselanzeiger" für "System ist beschäftigt". Beim Klick auf eine Kategorie dauert es bei mir z.B. 2-3 Sekunden, bevor sich etwas tut - man weiss erstmal nicht, ob man überhaupt eine/die richtige Aktion ausgelöst hat. Dito "Fehlermeldungen" - klickt man irgendwo "ganz unten" in der Bauteilliste z.B. auf "+" oder "-", passiert für den User scheinbar auch erstmal nichts. Bis man evtl. dann erkennt, dass "ganz oben" eine Meldung ("Es wurde keine gültige Bauteil-ID übermittelt!") erschienen ist... Ansonsten aber sehr vielversprechend - sowas hab' ich auch noch gesucht... :-)
Hi, Getestet hatte ich das mit der neusten Chrome Version 55 und dem IE11 unter Win10 64 Bit. Die Version die ich heruntergeladen hatte müsste das commit 12c136f gewesen sein. Im Anhang auch mal eine Grafik dazu was ich meine. Die Oberen Menüpunkte der Kategorieren sind wohl als "selectable" konfiguriert dadurch ist das ausgewählte Node blau hinterlegt. Bei dem Menübaum Verwaltung werden diese nicht blau hinterlegt wenn diese ausgewählt werden. Dadurch können diese auch mit einem Klick auf den Text erweitert werden. Ich meine damit vermutlich das gleiche wie weiter oben schon geschrieben stand: Michael K. schrieb: > 1. Die Felder links im Menü könnten komplett als Link dienen. Aktuell > werden sie beim anklicken nur blau eingefärbt und man muss tatsächlich > den Text anklicken. Gruß, Kai
Hi, @kaib ja ok. Ich habe einen ziemlichen Denkfehler gemacht xD. Die Funktion dürfte tatsächlich sehr sinnvoll sein. Ich werde mal versuchen das die nächsten Tage ausgehend von deinem Codebeispiel einzubauen. @ranzcopter Ja das mit den etwas unaufälligen Messages ist mir auch schon aufgefallen, ich bin gerade eine Version zu schreiben, wo automatisch zu Nachricht gescrollt wird, wenn eine auftritt. Ein Ladescreen ist auch schon eine Weile geplant, ich habe mich bisher aber immer um die Arbeit "gedrückt"... Jetzt habe ich erstmal Ferien da werde ich das mal angehen. Gruß Jan B.
Hallo, ich habe den Code jetzt so angepasst, dass die Menüpunkte expandieren bzw. wieder zusammenklappen, wenn sie drückt. Außerdem öffnet sich beim Klick auf den Titel über den Treeviews jetzt ein kleines Fenster, mit dem man alle Einträge ein bzw. ausklappen kann (so wie im alten Part-DB). Auch hat man jetzt einen Ladescreen wenn längere Aktionen ausgeführt werden, damit man erkennt, dass er auf die Anfragen reagiert hat. Weiterhin gibt es jetzt einen Button mit dem man simple Labels mit Barcode generieren kann, diese Funktion ist aber noch nicht fertig, es sollen noch z.B. QR-Codes hinzugefügt werden und insgesamt soll man mehr einstellen können (Die Optionen sind zwar sichtbar, haben aber keine Wirkung). In der mobilen Ansicht gibt es in der oberen Leiste einen Button, mit dem man die erzeugten Labels scannen kann, dann wird die entsprechende Seite aufgerufen (geht nur unter Android mit installierten ZXIng App). Ich habe die Demo auf den aktuellen Stand aktualisiert (http://part-db.bplaced.net/startup.php). Den aktuellen Code findet ihr auf Github (https://github.com/do9jhb/Part-DB/releases/tag/v0.4.0RC1.beta2). Dort gibt es noch ein genaueres Changelog. Gruß Jan B.
Hi, falls noch jmd. Ideen für neue Features hat, oder sich eine bestimmte Funktion wünscht, dann kann er es hier schreiben oder ein Ticket auf Github (https://github.com/do9jhb/Part-DB) öffnen. Vielleicht bekomme ich es ja hin es einzubauen... Gruß Jan B.
Hallo Jan, Wie ich sehe, hat sich in deinem Part-DB Fork einiges getan: - Über 100 Commits auf dem master Branch, diverse neue Features - Tags/Releases für v0.4.0 Release Kandidaten - Neue Webseite (https://do9jhb.github.io/Part-DB/) Insgesamt stellt sich mir daher die Frage, ob eigentlich auch geplant ist, die neuen Features in Form von Pull Request ans ursprüngliche Projekt (https://github.com/sandboxgangster/Part-DB) zurückfliessen zu lassen, oder ob du komplett auf eigene Faust weitermachen willst? Insbesondere das Veröffentlichen von (Pre-)Releases und einer neuen Webseite auf eigene Faust sehe ich etwas kritisch, da es bei (potentiellen) Anwendern den Eindruck erweckt, dass sich das Projekt gespalten hat. Versteh mich bitte nicht falsch - ich finde es super, dass du die Part-DB weiterentwickelst. Ich würde es aber schade finden, wenn dies auf eigene Faust passiert, anstatt dass gemeinsam am ursprünglichen Projekt weitergearbeitet wird. Gruss Urban
Hi, Ich hab schon angedacht, dass ich ein PullRequest Stelle, um den Code in das Original Projekt einfließen zu lassen (wenn sandboxgangster das ebenfalls will ;)), ich denke dass ich noch ein wenig Zeit brauche, da ich einige tiefgreifende Änderungen durchgeführt habe und insgesamt die Dokumentation dazu noch nicht unbedingt perfekt... Zu der GitHub Seite: Momentan ist das ja eh nur eine hübsch aussehende Variante der README, langfristig könnte man da vielleicht die Doxygen Doku hosten und ein paar Infos zusammenstellen (dann hätte man alles zusammen mit dem Code zusammen). Das schöne an den Github Pages ist ja, dass das ja auch nur ein Git Branch ist und daher auch per PullRequest in das Original Repo übertragen werden kann. Zu den Vorreleases: Ja das ist möglicherweise etwas missverständlich... Mir viel aber sonst keine gute Möglichkeit eingefallen wie man, die stabilsten Versionen des Codes kennzeichnen könnte, damit Personen die die neue GUI testen möchten nicht so viel herum probieren müssen... Was schlägst du also vor zum weiteren Vorgehen? Gruß Jan B.
Moin, also ich würde das Positiv finden denke auch das einige von der Alten Garde mit dran arbeiten würden, mir fehlt leider die Zeit da ich aber für ein anderes Projekt mich gerade in Smarty einarbeite denke ich das ich da sofern Zeit da ist auch wieder mitmache. mfg Theborg b.z.w. Sandboxgangster
Hallo, Jan B. schrieb: > Ich hab schon angedacht, dass ich ein PullRequest Stelle, um den Code in > das Original Projekt einfließen zu lassen Ok super :) Siehst du eine Möglichkeit, die über 100 Commits nachträglich noch auf mehrere Branches zu verteilen, damit man pro Feature einen PR aufmachen kann? Dann hätte man auch eine Chance die verschiedenen Features einzeln nachvollziehen und reviewen zu können... Ich könnte das ggf. auch selbst übernehmen oder dich dabei unterstützen falls gewünscht. Jan B. schrieb: > Zu der GitHub Seite: Jop, sehe ich genauso. Möglicherweise würde es sogar Sinn machen, auf GitHub mal eine Organisation für Part-DB zu erstellen, wo dann verschiedene Part-DB Repositories (Part-DB selbst, Webseite, Doxygen, ...) zusammengefasst werden. Ich persönlich bevorzuge nämlich auch für die Webseite ein separates Repository, statt nur einem Branch... Jan B. schrieb: > Zu den Vorreleases: Ok, vielleicht hätte man einfach die Tags anders benennen können, z.B. "0.3.1_smarty-preview-rc1" damit es nicht so aussieht als wäre das der Release Kandidat für die nächste Version. Oder gar keine Tags erstellen und stattdessen je einen "unstable" und einen "stable" Branch verwenden. > Was schlägst du also vor zum weiteren Vorgehen? Ich würde es am wichtigsten finden, die verschiedenen Features voneinander zu trennen und (sobald als "stabil/fertig" betrachtet) eines nach dem anderen per Pull Request ans ursprüngliche Projekt zurückfliessen zu lassen. Gruss Urban
Hallo, ok dann werde ich die nächsten Tage mal versuchen die Funktionen etwas zu separieren, "schön" zu machen und dann ein Pull Request stellen. Die Idee mit einer eigenen Organisation finde ich sehr gut, dann hätte man alle wichtigen Repos zentral an einem Ort. Es scheint ja auch recht einfach zu sein... Man könnte es ja dann vielleicht so irgendwie aufteilen: Hauptcode, Doxygen-Doku und allgemein Doku, Website, möglicherweise die Sprachdateien nochmal separat. Man könnte vielleicht auch überlegen ob es sinnvoll wäre die Bilddateien der Footprints auch seperat zu verwalten (so wie ich das bei den 3D-Modellen mache: https://github.com/do9jhb/PartDB-3D), dann könnte man sehr kleine Minimalpackages bauen und die User können sich aussuchen, was sie brauchen. Gruß Jan B.
Hallo, ok ich habe jetzt mal ein PullRequest an das originalle Projekt gestellt. (https://github.com/sandboxgangster/Part-DB/pull/51) Gruß Jan B.
Hey Ich hätte da noch ne Idee zur Lagerort Verwaltung. wie wäre es wenn mann die Übergeordneten Orte Auf und Zu klappen kann? Also wie bei mir z.B. Schieber Regal -> A -> A01 dass sich hier dann A zuklappen lässt dass ich nicht alle A01 -> A30 durchscrollen muss. MfG Philipp
Hallo, Ja das könnte eine nützliche Funktion sein. Nur könnte es mit der aktuellen Methode (im Prinzip nur eine Liste und mit Leerzeichen ein Nachbau eines Baumes). Etwas schwierig werden. Vermutlich wäre es am besten man diese Dialoge auf die Treeviews umbaut die auch in der Seitenleiste benutzt werden. Dann kann mann soviel auf und zuklappen wie man will und man könnte z.B. noch eine Filterfunktion einbauen. Wenn wir das neue Layout in das Originalprojekt übertragen haben, können wir uns denke ich Mal um sowas in die Richtung kümmern. Gruß Jan B.
Hallo, wollte die 0.4.0RC1.beta mal installieren. Allerdings klappts nicht. Erst bemängelt er, dass ich ein paar Nutzerrechte korrekt einstelle, was ich getan habe. Aktualisiere ich dann die Seite, kommt nichts mehr -- weiße Seite. Die 0.3.1 habe ich gerade nochmal neu installiert und das klappt ohne Probleme. Welche Voraussetzungsunterschiede gibt es? Gibts überhaupt welche? Gruß
0.4.0RC1.beta2 Habe für die Version auch alle Rechte auf 777 setzen müssen P.S.: sonst sehr geile Sache!!! ;-)
Hallo mir ist gerade noch ein Fehler aufgefallen. bin gerade am einsortieren und preis eingeben und da liegt auch der Fehler und zwar: beim eingeben des preises konnte ich immer das Komma verwenden und auf einmal nicht mehr?! sondern nur wieder den punkt um das Dezimaltrennzeichen einzugeben wie bei der alten 0.3.1 Version :-( wenn ich dann aber auf übernehmen drücke ist es wieder ein Komma... jetzt gehts wieder nach einem neuladen der kompletten Seite ;-)
:
Bearbeitet durch User
Hallo Zusammen, Habe unterdessen die Datenbank installiert ... sieht wirklich toll aus Wollte jetzt die Datenbank mit Daten füttern .. habe dazu den Dateiimport gewählt.. Leider bekomme ich immer die folgende Fehlermeldung: Ungültige Spalte: " Kategorie" Ich habe einiges versucht , komme aber nicht auf eine Lösung .. vileicht kann mir Jemand von Euch helfen ... Danke für Eure Unterstützung
Hallo Zusammen, Jetzt hat es geklappt ... mit Daten importieren ... hatte eine mit Excel erzeugte csv Datei mit Notepad++ bearbeitet und die war dann nicht mehr in Ordnung ... importieren tut er jetzt ... aber leider sehe ich keine Artikel im Lager .... und die MySQL Datenbank bleibt leer
pc-baerli schrieb: > Hallo Zusammen, > Jetzt hat es geklappt ... mit Daten importieren ... hatte eine mit Excel > erzeugte csv Datei mit Notepad++ bearbeitet und die war dann nicht mehr > in Ordnung ... importieren tut er jetzt ... aber leider sehe ich keine > Artikel im Lager .... > und die MySQL Datenbank bleibt leer Hallo, es kann sein, dass die Importfunktion Fehler hat, weil manche meiner Modifikationen über das kosmetische hinausgingen und da ich die Importfunktion quasi nie benutze ist mir das nicht aufgefallen... Welche Version benutzt du (vorallem der Git commit, wäre interessant...), dann schaue ich ob ich es die nächsten Wochen gefixt bekomme.... Als Behelf könntest du die Daten mit einer alten Version importieren und dann die Datenbank in der neuen Version mitbenutzen. Gruß Jan B. PS: Die Demo sollte jetzt wieder gehen... Ich muss mich an und an auf deren Seite einloggen und hab das vergessen zu machen.
Hallo Jan, Ich nutze Version: 0.4.0 RC1 (unstable) sowie auch Version: 0.3.1 (stable) Habe jetzt den Import bei der 0.4.0 RC1 (unstable) hinbekommen allerdings nur mit 50 Datensätzen ... der Versuch mit 500 Datensätzen ist fehlgeschlagen Hab das jetzt mit beiden Versionen ausprobiert -> mit 50 Datensätzen ist es gegangen mit 500 nicht ... werde wenn ich Zeit habe es noch mit 100 Datensätzen probieren Die Daten liegen auf einem externe Webserver Danke für die Unterstützung Hans
mit 50 Datensätzen hat der Import funktioniert ... werde mich jetzt hochtasten bis ich die 3000 drin habe :-)
pc-baerli schrieb: > der Versuch mit 500 Datensätzen ist fehlgeschlagen Ich vermute, das liegt an der PHP Konfiguration welche das Hochladen zu grosser Dateien verbietet. Siehe http://phpbookworm.singollo.de/project/part-db/documentation/dokuwiki/doku.php?id=anforderungen#php_konfigurieren
So die 2500 Datensätze sind drin .. musste den php Wert max_input_vars erhöhen .. Frage: was ist da ein durchschnittlicher Wert ? Gruss Hans
Hallo Zusammen, Habe jetzt beide Datenbanken mit denselben Daten gefüttert .. was mir auffällt: die alte Datenbank V0.3.1 ist wesentlich schneller beim bereitstellen der Daten aus der Datenbank .. die Bedienung mit Tab / Smartphone ist mit der neuen Version natürlich viel angenehmer ... Vorallem die Barcode Funktion ist Gold wert Gruss Hans
Hi pc-baerli, stimmt jetzt wo du es sagst, fällt es mir auch auf xD. Es scheint aber ein Problem auf Clientseite zu sein, die Debug Ausgaben sagen nämlich, dass die neue Version, weniger Serverzeit in Anspruch nimmt als die alte Version (hauptsächlich da die neue Templateengine die Templates cacht und daher bessere Performance errieicht). Ich werde versuchen mich da mal die nächsten Tage drum zu kümmern. Gruß Jan B.
Hallo Zusammen, momentan bin ich dabei eine Lagerverwaltung für Elektronikbauteile (~2k) einzurichten. Mit Part-DB habt ihr eine tolle Arbeit geleistet. Leider fehlen einige mir wichtige Funktionen: Ich bräuchte personengebundene Entnahmelisten, sprich: - Die einzelnen "+" und "-" Aktionen müssten einer Person von einem Institut zugeordnet werden. - Die einzelnen Abrechnungskonten (der Institute) sollten einsehbar und exportierbar sein. - Erstellung von pdf Rechnungen (quartalsweise für Institute) Ich habe vorher noch nix mit php und MySQL gemacht und bin gerade dabei mich darin einzuarbeiten. Soweit ich das jetzt überblicke kann ich eine ausreichende minimalistische Lagerverwaltung + Abrechnungskonten selber schreiben. Es wäre jedoch schön wenn man Part-DB diesbezüglich erweitern könnte. Da ich den Code nicht kenne und er mir auch ein wenig spanisch vorkommt: - Gibt es bereits solch eine Software/Extension? - Lässt sich das leicht zu Part-DB hinzufügen? - Wenn ja, wäre man bereit das in Zukunft hinzuzufügen? (Allein die ersten beiden Punkte (ohne Rechnung) wären schon toll.) Gruß Haferflocke
Haferflocke schrieb: > - Wenn ja, wäre man bereit das in Zukunft hinzuzufügen? Das klingt so als wärst du von einem Institut. Das wäre doch eine nette kleine aufgabe für einen HiWi oder? Eine weitere sehr nützliche Funktion wäre das automatisierte importieren von Bestellungen z.B. von Reichelt o.Ä. inklusive automatischem Bauteilanlegen.
Hallo, im Prinzip dürfte das machbar machen, so grob müsste man noch eine Tabelle führen, in welcher jede getätigte Aktion (z.B. Bauteileentnahme, oder Bestellung) einem Nutzer zugeordnet werden. Das Problem ist bisher ist Part-DB als reines Single-User System entwickelt worden, daher es gibt kein Benutzersystem, weswegen sich momentan keine Zuordnung von Aktionen zu bestimmten Benutzern der Datenbank realisieren lässt. Ein Benutzer und Gruppensystem ist schon seit längerem angedacht und es gibt seit längerem bereits Dummyklassen dafür im Code, bisher ist aber nichts davon realisiert... Gruß Jan Böhmer
Hallo Jan, kann es sein, dass bei der aktuellen Beta die Übernahme des unten ausgewählten Dateinamens für den Footprint nicht funkioniert? Wählt man hier einen passenden Eintrag aus der Vorschlagsliste aus und übernimmt, wird zwar die Seite neu aufgebaut, das Bild wird dem erstellten Footprint aber nicht zugeordnet. Trägt man den Bilderlink aber händisch oben ein, funktioniert es. Gruss, L.
Hi Ludwig, ja konnte den Bug verifizieren. Danke für den Hinweis :) Ich habe ihn gefixt: Die gefixste (und aktuellste) Version findest du in meinem Repo im Branch nextgen (https://github.com/jbtronics/Part-DB/tree/nextgen). Die letzten Tage habe ich noch ein paar mehr Bugs gefixt: So macht nun die "Suchen/Hinzufügen" beim Bauteilebearbeiten keine Probleme mehr, wenn man mit Enter bestätigt, und es werden nun auch die bereits gespeicherten Preise angezeigt in der Tabelle zum Eingeben der Preise, vorher blieben die Felder leer. Desweiteren habe ich noch die Suchfunktion so verbessert, dass man nun reguläre Ausdrücke verwenden kann: Dazu einfach die Option "RegEx Matching" in den Suchoptionen aktivieren und dann den regulären Ausdruck in das Suchfeld eingeben. Alternativ kann man den Ausdruck in Backslashes setzen (z.B "\BC[3-6]+\") und so in das Suchfeld eingeben. Außerdem ist es nun möglich mit Suchmodifizieren anzugeben in welchen Feld gesucht werden soll: So findet "inname:Test" nur Bauteile, bei welchen "Test" im Titel enthalten ist. Möchte man nach einem Wort mit leerzeichen suchen, so muss man den zu suchenden Ausdruck in Anführungszeichen setzen (z.B 'inname:"Hello World"'. Insgesamt gibt es die Suchmodifiziere inname:, indescription/indesc:, incomment:, infootprint/infoot:, incategory/incat:, inlocation/inloc:, insupplier/insup:, inpartnr:, inmanufacturer: . Diese Operatoren können auch wieder mit regulären Ausdrücken kombiniert werden. Wenn ihr noch mehr Bugs findet, scheut euch nicht sie hier oder auf GitHub zu melden, ich werde dann versuchen sie zu fixen. Gruß Jan B.
Grüße, erst einmal ein großes Lob für die Arbeit die Ihr an dem Programm leistet und geleistet habt. Ich benutze die Version Part-DB 0.3.1 und bin damit so weit zufrieden, leider bekomme ich es nicht hin dass ich es unter eine Subdomin laufen lassen kann, unter www.meine.domaine/part-db geht es wunder bar, unter einer Subdomian wird die Seite aufgerufen aber es wird nicht alles angezeigt… Und ich kann da auch nichts anklicken, das ist irgend wie komisch. Das gleiche habe ich auch mit der Version 0.4.0 RC1. Normal geht sie aber als Subdomain will sie nicht laufen..hmm. Mein Webserver ist ein Apache2 mit PHP 7 und einer MariaDB auf Ubuntu 16.04.03. Was ich rausgefunden habe ist das beide Programme die gleiche Datenbank benutzen können, das Update der Datenbank von 0.4.0 ging auch erst nicht, als ich dann einen anderen Browser benutzte ging es auf einmal das lag wohl an meinem Computer…. Eventuell hat ja jemand eine Lösung wie ich es hinbekomme das es unter einer Subdomain läuft. Lg Leubi
:
Bearbeitet durch User
Grüße, so ich habe es hinbekommen ;) Wer lesen kann ....... Ich hatte nicht gesehen das ich in der sites-available.conf für die Subdomain die Aktivierung für die .htaccess funktioniert nicht mit rein gemacht hatte. Was noch nicht so richtig hin haut ist das ich sehr oft zwei mal eine Änderung bestätigen muss und das mit dem Banner geht auch noch nicht :( lg Leubi
Hallo! Die Lagerverwaltung sieht wirklich super aus. Danke an alle beteiligten Entwickler. Ich habe die aktuellste Version gerade mal auf meinen Strato Webspace geschoben. Leider zeigt er mir: •Die Datei /vendor/autoload.php ist benötigt und wurde nicht gefunden! Kann mir die jemand zur Verfügung stellen? Befehle wie "php composer.phar install" kann ich leider nicht ausführen.
Grüße, Steffen, ich habe mal eben auf meinem V Server geschaut ich habe welche, aber keine ist in der Lagerverwaltung bei mir drinne. Wo soll die denn genau sein? Ich habe welche bei mir auf dem Server in der Cloud, forum, webmail, CMS, und /usr/share/phpmyadmin/libraries/sql-parser/autoload.php /usr/share/phpmyadmin/libraries/plugins/auth/recaptcha/autoload.php /usr/share/php/phpseclib/autoload.php sonst habe ich keine. lg Stefan P.S.: Ich musste bei mir alle rechte auf das Verzeichnis von der Lagerverwaltung und den Unterverzeichnissen änder, und bei allen Dateien auch, dann hatte es mit der Installtion und der Benutzug geklappt. ICh benutze eine .htaccess mit Passwort schutz.
Danke für die schnelle Rückmeldung, Stefan. Ich habe die Dateirechte nochmals überprüft. Alles OK soweit. Wenn ich sie herabsetze meckert er auch gleich und verlangt die richtigen... Anbei noch ein Screenshot von der kompletten Meldung. Eventuell weiß ja einer der Entwickler bescheid. Folgendes habe ich gemacht: 1) Neue mySQL-Datenbank über das Strato Login angelegt 2) Dateien auf der Server geschoben 3) CHMOD Rechte angepasst Habe ich etwas übersehen?
Grüße, hast Du mal nachgeschaut ob Dein System alle anforderungen erfüllt? PHP WEBSERVER SQL USW. So wie ich das sehe fehlt Dir da was. Ich benutze ein Ubuntu 16.04.03 System von Strato wo ich einen voll zugriff drauf habe. lg Stefan
Ja, mein Hosting-Paket unterstützt natürlich PHP, mySQL etc. Habe auch andere CMS Systeme mit Datenbanken am laufen. Alles in Ordnung. Anscheinend fehlt ihm eine Bibliothek. Die kann ich aber mangels Konsolenzugriff nicht installieren. Die Alternative scheint zu sein, sich von jemand anderem die entsprechenden Daten (die wohl eigentlich die Bibliothek erzeugt) geben zu lassen. Deshalb wundert es mich, dass da bei dir nichts ist. Ich stecke leider nicht so tief in der Materie, deshalb hoffe ich, dass hier noch der ein oder andere Tipp eines Webmasters kommt :)
Nachtrag: Wenn ich es nun richtig verstanden habe, ist der Composer dafür zuständig externe Plugins oder Bibliotheken selbstständig nachzuladen. Welche das sind steht in der "composer.json". Das geht bei Strato im Webhosting-Paket halt nicht. Könntest du mal bitte eine 2. Part-DB Installation auf deinen Server schmeißen und das Setup ausführen? Du musst vermutlich nicht mal eine Datenbank anlegen, da das Nachladen der Bibliotheken schon vorher passiert. Anschließend müsstest du die Dateien mal zippen und mir einen Link zukommen lassen. Das wäre super nett, danke!
Grüße, so Du kannst es Dir unter https://rz-daemon.de/part-db/ downloaden. Die config.php im Verzeichnis /data must Du dir noch anpassen ich habe meine Daten da reusgenommen und +++++ reingesetzt. Ich drücke Dir die Daumen das es geht. lg Stefan P.S.: Meld Dich bitte ob es geht oder nicht.
Grüße, ach es ist nicht die Versin 0.3 sondern schon die Version 0.4.0 ich hoffe das ist nicht so schlim sonst kann ich dir auch die 0.3. geben das dauert aber einen moment. lg Stefan
Hallo Stefan, hat etwas gedauert... musste nebenbei noch etwas Hardware reparieren... Leider klappt es nicht, identisches Fehlerverhalten :( 0.4.0 ist schon in Ordnung :) Vielleicht werden die Bibliotheken auch irgendwo anders hingeladen. Laut der Fehlerbeschreibung muss es ja irgendwo einen "vendor" Ordner geben, den ich nachträglich einfügen soll. Andere Projekte, die auch mit dem Composer arbeiten werden teilweise in einer gesonderten Version angeboten, für Anwender die keine Befehle ausführen können. Irgendwie muss es also gehen. Ich bin aktuell leider überfragt und schon kurz davor mir nen PI fertig zu machen. Aber das ist mir eigentlich zu viel Aufwand und auch nicht wirklich zielführend. Danke nochmal für deine Mithilfe!
Hi Steffen, Lade dir mal das Archiv aus dem Anhang beziehungsweise von hier (https://github.com/jbtronics/Part-DB/raw/gh-pages/vendor.zip) herunter, und kopiere den Ordner vendor/ in dein Part-DB Hauptverzeichnis. Das ist der Ordner den composer anlegen würde und der die benötigten Bibliotheken enthält. Ich werde die Tage mal versuchen, einen Buildserver so zu konfigurieren, dass er bei jedem neuen Commit, die Composer Komponenten herunterlädt und auf Bintray hochlädt, dann kann man da die Versionen finden, die man benötigt, wenn man kein Composer ausführen kann. Bis dahin musst du die Abhängigkeiten leider manuell hineinkopieren. Falls du noch irgendwelche Probleme oder Fragen hast, melde dich. Gruß Jan B.
Hallo Jan! Danke, mit dem Vendor Ordner bin ich einen Schritt weiter! :) Leider aber auch nur einen ;) Habe bei Strato die Datenbank angelegt. Bei der Installationsabfrage habe ich entsprechend DB-Name, User und das Passwort eingegeben. Die Datenbank ist in meinem Fall nicht auf dem "localhost", sondern rdbms.strato.de Kann es sein, dass er das nicht mag? Wenn ich speichern sage übernimmt er die Daten korrekt (stehen in der config.php), aber er fragt erneut nach den Zugangsdaten. Eine Fehlermeldung, was ihm nicht passt erscheint leider nicht. LG und Danke!
Hi Steffen, Kannst du Mal versuchen die Datei aus dem Anhang nach Data/ zu verschieben und dann die Zugangsdaten auf deine Werte anzupassen? So überspringst du den Installationsassistent, vielleicht mag der Check die Adresse tatsächlich nicht. P.S.: Bist du sicher dass du die richtigen Zugangsdaten benutzt? Weil Strato hat scheinbar ein merkwürdiges System (https://www.strato.de/faq/article/567/So-nutzen-Sie-unsere-MySQL-Datenbank.html). Gruß Jan B.
Hallo Jan, nun kommt die Meldung aus dem Screenshot. Von Hand muss ich doch keine Tables anlegen, dass habe ich doch richtig verstanden oder?
Hallo, ja eigentlich sollte er die Tabellen selbstständig anlegen... Ich habe eben mal einen Fix für ein Problem, das möglicherweise deine Probleme verursacht, einprogrammiert. Es wäre daher ganz schön, wenn du dir die neuste Version aus dem nextgen Branch (https://github.com/jbtronics/Part-DB) herunterlädtst und mal deine jetzige config.php löschst bzw. umbennennst. Dann sollte beim Aufruf von install.php im Browser wieder der Installationsassistent erscheinen. Wenn du auf der Seite bist, wo die Datenbank Zugangsdaten abgefragt werden, versuche mal die Option "Leerzeichen in PDO-String einfügen" zu aktivieren. Möglicherweise hilft dir das. Wenn es nicht klappen sollte, dann wäre es schön, wenn du die erscheinenden Fehlermeldungen (die jetzt auch wirklich erscheinen) mal hier posten könntest. Am besten mit aktivierter Checkbox und ohne. Gruß Jan B.
Guten Abend! Habe die Dateien gerade mal neu hochgeladen. Leider ebenfalls keinen Erfolg. Mit aktivierter Checkbox kommt die Fehlermeldung aus dem Anhang. Ohne aktivierte Checkbox ist die Fehlermeldung identisch, wie in meinem vorherigen Beitrag. LG Steffen
Hi Steffen, ich hab gerade festgestellt, dass es einen Bug gab, der verhindert hat, dass die Datenbank eingerichtet wird, wenn sie vorher leer war... Ich habe, dass jetzt behoben, jetzt sollte es hoffentlich bei dir funktionieren (vermutlich mit deaktivierter Option "Leerzeichen in PDO String"). Lade dir also bitte mal die neuste Version herunter (https://github.com/jbtronics/Part-DB/tree/nextgen) und berichte, ob es jetzt endlich geht ;) Gruß Jan B.
So, jetzt mit Login - wusste doch, dass ich mich hier schon mal vor Jahren angemeldet habe. Immer noch keinen Erfolg, Fehlermeldung identisch. Hast du das mal gelesen?: http://www.zfforum.de/mvc/6507-fehlermeldung-bei-mysql-verbindung.html Da hat jemand auch diese Problematik in Verbindung mit Strato. Gleiche Fehlermeldung, wie ich sie habe. LG
Hi, wieder diese Meldung "Cant connect to local MySQL server, through socket..." ? Bist du sicher dass die Option "Leerzeichen in PDO String" deaktiviert ist? Bzw. in der config.php die Option $config['db']['space_fix'] auf false gesetzt ist? Weil zumindest die Fehlermeldung, die du ursprünglich hattest (die mit "Basetable or View not found...") sollte jetzt eigentlich mit der neuen Version nicht mehr auftreten können... Gruß Jan B.
$config['db']['space_fix'] stand in der config auf true! Den haken für Leerzeichen in PDO-Strings hatte ich aber gesetzt. Kann jetzt leider erstmal nicht mehr testen, die nächste Antwort von mir kommt wohl morgen. Danke und LG
Hi, der Haken darf bei dir nicht gesetzt sein, sonst versucht er ein Socket zu benutzen, den er nicht hat. Teste es, wenn du Zeit hast, ist ja nicht so dringend. Gruß Jan B.
Das kommt davon, wenn man eben was zwischen Tür und Angel machen möchte. Habe das deaktivieren überlesen... Haken entfernt und es funktioniert :) Vielen Dank für den tollen Support! Ich werde weiterhin hier mitlesen und stelle mich gerne als Versuchskaninchen zur Verfügung. Jetzt kann ich ja erstmal loslegen und die ersten Datensätze einpflegen. Sind wohl hunderte :( Schönen Abend noch!
Hallo alle zusammen, was meint ihr: Würde es Sinn machen für die neue Version einen neuen Thread aufzumachen, damit man sich hier um die 0.3 Version kümmern kann, und in dem neuen Thread um die Neue? Oder sollten wir den Thread hier weiterführen, um den Anschluss und auch den Kontext beizubehalten? Außerdem: Habt ihr noch Ideen oder Wünsche wie man Part-DB und den Workflow weiter verbessern kann? Ich habe jetzt z.B. einen Bearbeitungsbutton in die Tabellen eingefügt, einen Link zu Google und Octopart für jedes Bauteil und z.B. die Möglichkeit direkt zu der Bauteileinfoseite eines neu angelegten Teils zu springen, wenn man dies möchte. Über Rückmeldungen und Ideen würde ich mich freuen. Gruß Jan Böhmer
Hallo Jan, Jan B. schrieb: > was meint ihr: Würde es Sinn machen für die neue Version einen neuen > Thread aufzumachen, damit man sich hier um die 0.3 Version kümmern kann, > und in dem neuen Thread um die Neue? Halte ich für eine gute Idee, dann bleibt es einfach übersichtlicher. Jan B. schrieb: > Außerdem: Habt ihr noch Ideen oder Wünsche wie man Part-DB und den > Workflow weiter verbessern kann? Ich fände es toll, wenn man Art Benutzer-/Rechtesystem hätte. Also z.B. für Gast (einfach zum Lagerstand einsehen), Admin,... Und was mir auch gefallen würde, wäre ein richtiger Login, evtl. auch mit U2F unterstützung (https://developers.yubico.com/php-yubico/). Mfg, Tropaion
:
Bearbeitet durch User
Hi Tropaion, ja ein Usersystem ist ja schon länger gewünscht und wäre auch sehr, und es sind auch schon Teile im Code dafür vorbereitet. Da es aber relativ tiefgehende Änderungen sind, sind die Arbeiten relativ aufwendig. Trotzdem habe ich vor kurzem Mal angefangen ein Benutzersystem zu implementieren (siehe Git Branch user_system). Ich habe bisher jetzt ein simples System, einen User aus der Datenbank unter Verwendung von Nutzernamen und Password ein und auszuloggen. Jetzt fehlt noch das gesamte Berechtigungssystem und Funktionen um die Nutzer zu verwalten (z.B. Nutzer/Gruppen anlegen, Password ändern, etc.). Wenn das fertig kann, ich denke auch gerne andere Authverfahren wie z.B. U2F oder OAuth, etc. einbauen. Bis man aber etwas von den Änderungen im Hauptbranch sieht, kann es noch eine Weile dauern, da es wie gesagt relativ komplexe Änderungen sind.
Hallo Jan, Jan B. schrieb: > Bis man aber etwas von den Änderungen im Hauptbranch sieht, kann es noch > eine Weile dauern, da es wie gesagt relativ komplexe Änderungen sind. Kann ich gut verstehen, eilt ja nicht ;). Ich freue mich wenn es da ist. Und vielen Dank für deine Mühen, ich verwende die Part-DB jetzt schon ein Weilchen. Der Aufwand der Implementierung von U2F ist ja glücklicherweise, Anhand des von mir geschickten Links danach noch wenig zusätzlicher Aufwand. Was ich bis jetzt noch nicht verstanden habe, für was ist die InnoDB nötig? Tut es nicht eine einfache MySQL-Datenbank? Mein Hoster verlangt leider Zusatzkosten für InnoDB. Mfg, Tropaion
Hi Tropian, InnoDB ist eine Speicherengine für MySQL und ist eigentlich der Standard bei allen neueren MySQL Versionen. Vorher wurde für MySQL die Engine MyISAM die aber mitlerweile eigentlich kaum mehr benutzt wird. Der Vorteil von InnoDB gegenüber der älteren MyISAM engine liegt darin, dass einige Beschränkungen bezüglich der Indexzahl wegfallen, und es einfacher ist die Integrität der Datenbank aufrecht zu erhalten, insbesondere wenn man komplexe Datenstrukturen abbilden will. Inwieweit es jetzt notwendig war Part-DB auf die InnoDB engine umzustellen, weiß ich nicht genau, da diese Änderungen durchgeführt wurden, bevor ich angefangen habe an Part-DB zu programmieren. Vermutlich war der Grund das InnoDB einfach zukunftssicher ist und es einfacher ist es zu erweitern. Auch viele andere Anwendungen (z.B. Owncloud/Nextcloud) unterstützen mittlerweile nur noch InnoDB als Engine für MySQL, weil es mittlerweile eigentlich fast jeder zur Verfügung haben sollte. Vielleicht kannst du dich als Lösung ja mal nach einem anderem Hoster umsehen, wenn du Part-DB nicht selber hosten willst. Es gibt auch viele kostenlose Hoster wie z.B. bplaced.net (da läuft die Demo von Part-DB), die InnoDB unterstützen, und die Serverkapazitäten für Part-DB eigentlich ausreichen sollten. Hoffe das konnte dir zumindest etwas weiterhelfen- Gruß Jan B.
Hallo Jan! Ein neuer Thread ist wohl ganz sinnvoll. Ein Login wäre schonmal nicht schlecht. Dann muss man nicht mit htaccess arbeiten. Ebenfalls wünschenswert wäre eine automatische Importfunktion für Datenblätter. Sowas bietet z.B. PartKeepr. Eventuell kann man sich da im Quelltext was abgucken ;) Mir ist noch ein Bug aufgefallen: Wenn ich eine Kategorie in einer übergeordneten anlege und wähle "Weitere Kategorien anlegen" springt er trotzdem auf "oberste Ebene" zurück. LG Steffen
Hi Steffen, ich habe das Problem mit "Weitere Kategorien anlegen" in der aktuellen Version gefixt. Du findest sie wie immer im "nextgen" Branch auf GitHub. Zu den automatischen Datenblättern: Ja die Funktion ist cool. PartKeepr nutzt dafür Octopart. Die bieten eine recht ausführliche API, für Abfragen zu Bauteilen. Damit kann man auch gleich automatisch eine Bauteilebeschreibung, Eigenschaften, Preise bei verschiedenen Distributoren, Bilder und sogar teilweise 3D-Modelle für Bauteile erhalten. Im Endeffekt könnte man es dann sogar soweit treiben, dass man nur noch den Namen eines Bauteils eingibt, und Part-DB füllt den Rest dann automatisch aus. Ich werde mich aber vermutlich erst einmal dem Benutzersystem widmen, danach kann man dann sowas wie die Octopart Integration einbauen. Gruß Jan B.
Hallo Jan, eigentlich hat der Hoster bei dem ich bin (world4you.com) eine relativ guten Ruf (denke ich). Darum wundert mich das auch gerade das die was verlangen (10€/Jahr), wenn du sagst, das das schon fast überall Standard ist. Ich hätte da noch ein paar Fragen an bezüglich updaten. Meine aktuelle Part-DB Version ist die von vor zwei Jahren und möchte die Updaten. Muss ich da etwas bestimmtes beachten, damit die alten Daten nicht verloren gehen? Da schon sehr viele Bauteile in meiner Datenbank vorhanden sind, möchte ich das vermeiden. Was hat es mit diesem php-composer.phar install auf sich? Ich hab bei meinem Webspace leider keinen Zugang zu einer Konsole, nur FTP und phpmyadmin. Geht das dann trotzdem? Danke und Mfg, Tropaion
Hallo Jan, mein Anbieter hat mir jetzt versichert, das der Server alle Voraussetzungen für Part-DB erfüllt. Darum hab ich mit einer Testinstallation laut Anleitung begonnen. Ich habe alles per FTP hochgeladen und denn vendor-Ordner hinzugefügt. Leider, kommt, wenn ich die Seite aufrufe, einen "Internal Server Error", siehe Bild. Woran kann das liegen? Mfg, Tropaion
Grüße, eine Idee hätte ich auch noch. Wie wäre es mit einer Uplade möglichkeit für Bilder und anderes? Da ich per Hand diverse Bilder schon selber hinzugefügt hatte. Ach einen hätte ich noch. Eine Automatische Update möglichkeit aller WP oder so? lg Stefan
Jan, hast Du die Seite mit http:// aufgerufen? Es könnte ein DNS fehler sein. http://www.checkupdown.com/status/E500_de.html lg Stefan
Hallo, habe jetzt alle Rechte auf 777 gesetzt und auch mit http:// probiert, funktioniert beides nicht. Kann es daran liegen das ich eine Subdomain (fabian.cyberlabs.at) verwende? Mfg, Tropaion
He, eine Subdomain benutze ich auch. Welches PHP benutzt Du? Ich musste bei mir in der .htaccess die PHP Version ändern da stand 5 drinne und ich arbeite mit 7. Könnte aber auch sein das DU was anderes ändern müsstes.
Hi Tropaion, kannst du mal das hier von http://www.tagdocs.de/2009/04/08/wordpress-bei-1und1/ ausprobieren. Außerdem wenn du Zugang zu den Server logs hast, könntest du dann hier den relevanten Auschnitt posten? Vielleicht steht da irgendwas aussagekräftigeres drin. Wenn du die neue Version von Part-DB nutzen willst, dann solltest du immer die aktuellste Version aus dem nextgen Branch benutzen (https://github.com/jbtronics/Part-DB/tree/nextgen und dann dort auf den grünen Button Clone or Download) Wenn du keine Möglichkeit hast, ein Terminal zu benutzen musst du zusätzlich diese Zip datei herunter laden (https://github.com/jbtronics/Part-DB/blob/gh-pages/vendor.zip?raw=true) und den Ordner vendor/ in das Hauptverzeichnis von Part-DB verschieben. Vielleicht hilft auch schon das, damit der Fehler verschwindet. Die neue Version aktualisiert die Datenbank und dann kannst du sie benutzen. Trotzdem solltest du die Datenbank vorher sichern (und am besten auch regelmäßige Backups durchführen). Wichtig ist auch der data/ Ordner der alten Installation zu testen. Am besten kopierst die das "neue" Part-DB in einen seperaten Ordner (damit keine Überreste der alten Version die neue Version stören), kopierst den data/ Ordner aus der alten Installation in den neuen Ordner, und schaust ob es funktioniert. Danach kannst du es ja immer noch verschieben etc. Ich hoffe das hilft dir. Gruß Jan B.
Und könntest du mal die Datei aus dem Anhang auf dem Server hochladen und aufrufen, wenn PHP funktioniert sollte, eigentlich eine Ausgabe erscheinen, was für eine PHP Version läuft und was für Erweiterungen aktiviert sind, etc. Gruß Jan B.
Hallo Jan, ich hab jetzt gerade nextgen Version auf denn FTP-Server hochgeladen und Rechte festgelegt, das sollte soweit passen. Wie sich herausgestellt hat, bietet mein Hoster überraschenderweise sogar eine Konsole an, wo ich denn Composer Befehl ausführe, welcher mir auch gleich einen Fehler ausspuckt:
1 | [user3@www.cyberlabs.at]$ php composer.phar install -o |
2 | |
3 | |
4 | [RuntimeException] |
5 | The HOME or COMPOSER_HOME environment variable must be set for composer to run correctly |
6 | |
7 | |
8 | [user@www.cyberlabs.at]$ php composer.phar install |
9 | |
10 | |
11 | [RuntimeException] |
12 | The HOME or COMPOSER_HOME environment variable must be set for composer to run correctly |
13 | |
14 | |
15 | [user@www.cyberlabs.at]$ |
Leider konnte ich dazu im Internet nichts hilfreiches finden, weist du das was? Hier meine PHP-Info: http://www.cyberlabs.at/phpinfo.php Das interessante ist, selbst phpinfo funktioniert in der Subdomain nicht. http://fabian.cyberlabs.at/phpinfo.php Mfg, Tropaion
Ich vermute ebenfalls, es hängt mit der .htaccess zusammen. Benenn die doch mal testweise um, oder steht da was zwingend erforderliches drin? LG
Ah, wusste doch das ich sowas schonmal gelesen habe: Beitrag "Re: Lagerverwaltung Part-DB V0.2.2" Viel Erfolg :)
Hallo, interessant, ich hab die .htaccess gelöscht und jetzt lädt die Seite. Was hat die .htaccess in diesem Fall gemacht? Ist die Essentiell? Ich kenne mich damit leider nicht so gut aus. Der Composer-Befehl liefert leider immer noch genau die selbe Fehlermeldung. Kommt da anscheinend auch vor: https://github.com/composer/composer/issues/4789 Mfg, Tropaion
:
Bearbeitet durch User
Hi, die .htaccess verändert ein paar Einstellungen an PHP, wie z.B. maximale Dateigröße. Vermutlich erlaubt dein Hoster diese Änderungen in der .htaccess nicht, und daher gab es den Fehler. Die .htaccess erfüllt aber keine wirklich wichtige Rolle. Falls du Probleme mit der Upload File Größe bekommst, dann musst du die Einstellung manuell ändern, möglicherweise ist sie aber von deinem Hoster aber auch so groß eingestellt, dass es keine Probleme geben wird. Zu dem composer Problem: Versuche mal COMPOSER_HOME=$(pwd) vor den Befehl zu setzen, also "COMPOSER_HOME=$(pwd) php composer.phar install -o" auszuführen (ohne Anführungszeichen). Sollte das immernoch nicht funktionieren, musst du den vendor/ Ordner aus der Zip (https://github.com/jbtronics/Part-DB/blob/gh-pages/vendor.zip?raw=true) kopieren. Ich werde heute Abend mal, den Tipp mit dem Entfernen der .htaccess ins Wiki auf GitHub (https://github.com/jbtronics/Part-DB/wiki) schreiben, dann ist diese Lösung auch dokumentiert. Gruß Jan B.
Ich kannte .htaccess immer nur als Verzeichnisschutz (Abfrage von Benutzername und Passwort). Man kann damit wohl aber auch Servereinstellungen übergeben. Normalerweise brauchst du die nicht. Höchstes eben um ein einfaches Login zu realisieren. Dann mach es doch wie ich indem du den Vendor Ordner hochlädst, dann brauchst du auf der Konsole nicht rumhacken ;) //EDIT: Jan war schneller :) Mir sind noch Verbesserungen eingefallen. Oder ich habe die Funktion noch nicht ausfindig gemacht: Gleichzeitig mehrere Parts löschen. Angenommen ich habe 100 verschiedene Widerstände und möchte 20 davon löschen oder z.B. in eine andere Kategorie verschieben.
:
Bearbeitet durch User
Hallo, mein Hoster erlaubt glaub ich so um die 200MB Upload, sollte also kein Problem darstellen. Jan B. schrieb: > Zu dem composer Problem: Versuche mal COMPOSER_HOME=$(pwd) vor den > Befehl zu setzen Werde ich nachher mal probieren, habe es inzwischen mit dem Ordner probiert und es geht. Auch die Datenbank hat er übernommen, das passt auch. Das einzige was er nicht übernommen hat, sind die Media-Dateien. Mal sehen ob sich da was machen lässt. Auch noch ein Verbesserungstipp/Schönheitsfehler: Wenn man denn Hersteller global deaktiviert, wird das Auswahlfeld in denn Suchoptionen trotzdem noch angezeigt. Mfg, Tropaion
Ich habe gerade noch etwas herausgefunden. Ich habe die Bilder richtig hochgeladen und wenn ich auf Part bearbeiten gehe, zeigt ihr mir auch denn korrekten Pfad zum Bild an. Drücke ich jedoch auf übernehmen, meldet er "Ungültiger Klassenname: "Part"". Kann das der Grund sein warum die Bilder nicht angezeigt werden? Im Grunde kann ich bei denn Bauteilen alles bearbeiten außer Dateianhänge, weil da immer diese Fehlermeldung kommt. Mfg, Tropaion
:
Bearbeitet durch User
Hi, hast du den data/media/ Folder aus der alten Installation in die neue Version kopiert. Um den Fehler das man alte Anhänge nicht speichern kann, kümmere ich mich heute Abend. Aber eigentlich sollte der Fehler nicht verhindern, dass die Attachements zu mindest angezeigt werden. Aber ich schaue nachher mal. Gruß Jan B.
Hallo, ja, das hab ich hinüberkopiert. Angezeigt werden nur die Dateinamen, nicht die Bilder. Du kannst es gerne auch selbst verifizieren: fabian.cyberlabs.at Habe das mit Composer in der Konsole noch einmal probiert, jetzt meldet er:
1 | [user@www.cyberlabs.at]$ COMPOSER_HOME=$(pwd) php composer.phar install -o |
2 | |
3 | [ErrorException] |
4 | |
5 | file_exists(): open_basedir restriction in effect. File(/tmp/composer-cacert-e62a07e61e5870effa81b |
6 | 430e1900778943c228bd7da1259dd6a955ee2262b47.pem) is not within the allowed path(s): (/home/.sites/11 |
7 | 7/site3029/web:/home/.sites/117/site3029/tmp:/usr/share/pear) |
8 | |
9 | |
10 | [user@www.cyberlabs.at]$ |
Mfg, Tropaion
:
Bearbeitet durch User
Hi, scheinbar liefert der Server, wenn man versucht die Dateien aus dem data/media folder aufzurufen, einen 500 Internal Server Error zurück. Hat der Server Zugrifsrechte auf data/media/ und alle Dateien darin? Testweise kannst du auch mal probieren die .htaccess in data/ und in data/media umzubenennen, vielleicht gibt es da die selben Probleme, wie bei der .htaccess im Hauptvereichnis? Gruß Jan B.
Hallo, data hat die Rechte "777", daran liegt es sicher nicht. Ich habe jetzt .htaccess in data und in media gelöscht und jetzt geht es. Hatte Anfangs nur die eine Datei in /media gelöscht, das brachte nichts, nur wenn ich beide lösche. Der Fehler "Ungültiger Klassenname: "Part"" kommt aber immer noch. Kann das auch an .htaccess liegen? Wäre es evtl. sinnvoll das ich alle .htaccess-Dateien lösche, um Fehler vorzubeugen? Mfg, Tropaion
Hi, scheinbar mag dein Hoster keine .htaccess Dateien. Dann kann es vielleicht nicht schaden die restlichen auch zu löschen, wenn sie eh nicht funktionieren. Das einzige Problem, ist dass ohne den Schutz durch die .htacess möglicherweise möglich ist, Dateien zu sehen, die man nicht sehen sollte. Scheinbar lässt sich die config.php (wo ein relativ unsicherer Hash des AdminPW drinsteht, und die Zugangsdaten zur Datenbank) aber nicht so ohne weiteres anzeigen, also dürfte sich der potentielle Schaden in Grenzen halten. Trotzdem solltest du das im Hinterkopf behalten. Zu dem Problem "Ungültiger Klassenname", das werde ich morgen fixen, dass sollte eigentlich kein großes Problem, das zu beheben. Der Fehler rührt daher, dass zu jedem Anhang der Name der Klasse des enthaltenen Bauteils gespeichert wird (hier z.B. Part), und dann mit Hilfe dieses Namens ein Objekt mit der Klasse erzeugt wird. Da ich aber vor kurzem die Klassen in Namespaces eingeordnet habe, hat sich der Klassenname verändert (der vollständige Name lautet nun \PartDB\Part) und dann findet er keine Klasse mehr zu dem alten Namen. Das sollte sich aber wie gesagt relativ einfach beheben lassen. Gruß Jan B.
Jan B. schrieb: > scheinbar mag dein Hoster keine .htaccess Dateien. Dann kann es > vielleicht nicht schaden die restlichen auch zu löschen, wenn sie eh > nicht funktionieren. Ich kann auch mal meinen Hoster anschreiben, mal sehen ob der was machen kann. Meistens ist der da eh recht flexibel. Jan B. schrieb: > Zu dem Problem "Ungültiger Klassenname", das werde ich morgen fixen Super, danke, wäre toll. Dann kann ich morgen das fertig einrichten und in Betrieb nehmen ;)
Hallo, mein Hoster hat mir geschrieben, das er die "Options"-Funktionen von .htaccess nicht unterstützt. Ich hab diese auskommentiert und dann funktioniert es. Bei meiner zweiten Datenbank ist mir noch etwas aufgefallen. Bei dieser meldet er auf der Startseite: "Bitte beachten Sie, dass vor der Verwendung der Datenbank mindestens eine Category hinzufügt werden muss". (BTW, da ist ein kleiner Übersetzungsfehler darin, habe allg. ein paar kleine Anzeigefehler gefunden). Die Warnung ergibt für mich keinen Sinn, da genug Kategorien definiert sind. Mfg, Tropaion
Hi, ich habe den "Ungültige Klassenname" Fehler behoben. Findest du in der neusten Version. Zu dem "Bitte beachten sie das mindestens eine Kategorie hinzugefügt werden muss": Das Panel listet eine Reihe von möglichen Empfehlungen auf, die man durchführen kann. Bei Dingen die erledigt wurden, sollte ein Haken vor der "Aufgabe" erscheinen. Also wenn vor dem Hinweis zum Hinzufügen von Kategorien ein Haken erscheint ist alles gut. Das ist noch ein ziemlich alter Bestandteil von Part-DB, und ich kann verstehen dass es möglicherweise etwas verwirrend ist. Wenn ich lust habe, überarbeite ich diese Hinweise mal. Gruß Jan B.
Hallo, danke für denn Bugfix, jetzt funktioniert alles. Was mir gerade noch aufgefallen ist, wenn man Baugruppenfunktion global deaktiviert, werden sie in der Liste links trotzdem noch angezeigt. Ich habe gesehen, das man jetzt auch 3D-Footprints hinzufügen kann, gibt es da die Standards auch schon, so wie die Bilder? Mfg, Tropaion
:
Bearbeitet durch User
Hallo nach einem update der nextgen bekomme ich nun den Fehler:
1 | Es ist ein schwerwiegender Fehler aufgetreten: |
2 | |
3 | Class 'PartDB\HTML' not found |
4 | |
5 | (Exception wurde geworfen in /var/www/html/Part-DB/index.php, Zeile 51) |
Philipp H. schrieb: > Hallo nach einem update der nextgen bekomme ich nun den Fehler:Es > ist ein schwerwiegender Fehler aufgetreten: > > Class 'PartDB\HTML' not found > > (Exception wurde geworfen in /var/www/html/Part-DB/index.php, Zeile 51) Hi, Vermutlich musst du die Composer Abhängigkeiten updaten (siehe https://github.com/jbtronics/Part-DB/wiki/Installation unter Update) @Tropaion: Ja es gibt fertige 3D-Modelle (extrahiert aus KiCAD): Die sind aber normalerweise nicht mitgeliefert, da sie ziemlich groß sind: https://github.com/jbtronics/PartDB-3D Gruß Jan B.
Super danke und für alle die noch mehr 3D Files brauchen http://smisioto.no-ip.org/elettronica/kicad/kicad-en.htm müssen zum teil nur konvertiert werden hab aber gerade nicht im Kopf wie Ichs damals gemacht hab ;-)
Super, danke! Konvertieren ist für mich kein Problem.^^ Welches Programm verwendet Ihr um die mit Eagle 3D-Boards zu erstellen? Mfg, Tropaion
Hallo Jan, ich habe mir ein bisschen angesehen, wie smarty funktioniert und hätte eine Frage dazu. Welcher Variable sagt, ob es ein Mobilgerät oder Pc ist? Weil die Funktion für die Variable $mobile ist ja auskommentiert in der index.php. Was mir auch noch aufgefallen ist, wenn sich die Footprint-Bilder auflisten lässt werden nicht alle angezeigt. (z.B.: SMD-0805,...) obwohl die Bilder vorhanden sind. Und, wenn man in der Ansicht oder Bearbeitungsansicht eines Parts ist und man möchte wieder zurück zu der Kategorie wo das Part drinnen ist, muss man zweimal auf die Kategorie klicken. Einmal zu deselectieren und dann wieder zum selectieren dann lädt sie erst. Danke und Mfg, Tropaion
:
Bearbeitet durch User
Fabian P. schrieb: > Welcher Variable sagt, ob es ein Mobilgerät oder Pc ist? > Weil die Funktion für die Variable $mobile ist ja auskommentiert in der > index.php. Gar keine :). Der Server hat keine Ahnung ob das Gerät ein Handy oder PC ist. Der gleiche HTML-Code wird im Idealfall immer passend zum Gerät dargestellt (Stichwort: Responsive Design). Und die Unterscheidung ob jetzt z.B. die Leiste z.B. in der mobile ansicht dargestellt wird, geschieht nur auf Basis von CSS Media Query auf Grund der Seitenbreite. Zu den Problemen: Ich arbeite gerade daran, sollte nicht so schwierig zu fixen sein. Gruß Jan B.
Ok, danke. Weil ich wollte mit einer if-Anweisung ausprobieren: Am PC -> HTML Code ausführen Am Handy -> Nicht Jan B. schrieb: > Ich arbeite gerade daran, sollte nicht so schwierig zu > fixen sein. Super, vielen Dank! Finde echt toll wie fix du daran arbeitest. Mfg, Tropaion
Fabian P. schrieb: > Weil ich wollte mit einer if-Anweisung ausprobieren: > Am PC -> HTML Code ausführen > Am Handy -> Nicht Also zumindest, wenn es darum geht, etwas auf einem Computer anzuzeigen, und auf einem Handy nicht, dann kann man es mit Bootstrap ungefähr so machen:
1 | <div class="hidden-xs-block hidden-sm-block"> <!-- Hier HTML einfügen --> </div> |
. Für genaueres siehe hier: https://getbootstrap.com/docs/3.3/css/#responsive-utilities . Wenn es um Javascript geht, dann kann man es entweder manuell machen, oder man benutzt eine Bibliothek wie z.B. Modernizr (https://modernizr.com/download?setclasses). Fabian P. schrieb: > Super, vielen Dank! > Finde echt toll wie fix du daran arbeitest. Ich habe noch ein paar Wochen Zeit bis ich mit dem Studium anfange, und bis dahin habe ich was zu tun xD Gruß Jan B.
Jan B. schrieb: > Also zumindest, wenn es darum geht, etwas auf einem Computer anzuzeigen, > und auf einem Handy nicht Super, danke, werde ich mir ansehen. Verwendest du bei Part-DB auch Bootstrap? Jan B. schrieb: > Ich habe noch ein paar Wochen Zeit bis ich mit dem Studium anfange, und > bis dahin habe ich was zu tun xD Na dann ;). Hast du eig. einen Zeitplan wann du mit was fertig sein willst? Mfg, Tropaion
:
Bearbeitet durch User
Hallo Jan, jetzt habe ich noch einmal eine Frage. Gibt es eine Möglichkeit, das die Werte aufsteigend angezeigt werden (siehe Foto)? Mfg, Tropaion
Fabian P. schrieb: > Hallo Jan, > > jetzt habe ich noch einmal eine Frage. > > Gibt es eine Möglichkeit, das die Werte aufsteigend angezeigt werden > (siehe Foto)? > > Mfg, > Tropaion Bisher nicht. Das sollte mit Datatables aber eigentlich machbar sein. Vermutlich ist es sinnvoll, generell Natural Sorting (also 10>2.0) zu aktivieren, da man ja insgesamt recht viel mit "normalen" Werten zu tun hat, oder? Gruß Jan B.
Hallo Jan, Jan B. schrieb: > generell Natural Sorting (also 10>2.0) zu > aktivieren, da man ja insgesamt recht viel mit "normalen" Werten zu tun > hat, oder? Ja, finde ich auch. Ich habe oft die selben Bauteile mit vielen verschiedenen Werten, da wäre das toll wenn das richtig Sortiert ist. Das hat mich bei der alten Part-DB auch schon ein wenig gestört. Wenn ich das richtig sehe dürfte das damit gehen, oder? https://datatables.net/plug-ins/sorting/natural Ist das viel Aufwand die Funktion einzubauen? Auf GitHub steht, du hast denn Treeview-Bug behoben, bei mir hat sich nichts geändert. Muss ich /vendor auch updaten? Danke und Mfg, Tropaion
:
Bearbeitet durch User
Hallo Jan, ich hätte da noch eine gute Idee für eine Funktion. Es gibt ja immer die Detailinfo zu Parts, wo man Barcode erzeugen kann und Übersicht drucken,... . Es wäre toll wenn es so etwas auch für ganze Lagerorte bzw. Unterlagerorte und Kategorien gäbe. Mfg, Tropaion
Hi, Möglicherweise hat dein Browser die aktualisierten JavaScript Dateien noch nicht geladen: Probier Mal auf den aktualisieren Button deines Browsers zu klicken. Vielleicht hilft auch die Tasten Kombination strg+Shift+R . Oder du versuchst Mal den Browser cache Zu löschen. An der Natural Sortierung arbeite ich gerade. Ich versuche das Plugin noch so zu modifizieren dass SI Präfixe erkannt werden ( so dass: 10n > 220p). Gruß Jan B.
Hallo Jan, Jan B. schrieb: > Ich versuche das Plugin > noch so zu modifizieren dass SI Präfixe erkannt werden ( so dass: 10n > > 220p). WoW, sicher nicht so einfach, bin schon gespannt! BTW, mich würde interessieren, ist eig. einen Update-Funktion geplant? Danke und Mfg, Tropaion
Hi, Natural sorting ist jetzt in der aktuellen Version drin. Es unterstützt auch die SI prefixe. Leider klappt das mit der "natural" sortierung nur, wenn die Zahl am Anfang des Wortes steht, steht die Zahl weiter hinten im Wort, dann wird es "normal" sortiert. Ich werde die Tage mal dran weiter experimentieren, vielleicht bekomme ich es hin, dass die Zahl überall stehen kann. @Tropaion: Was stellst du dir denn unter einer Update-Funktion, denn genau vor? Gruß Jan B.
Hallo Jan, Jan B. schrieb: > Was stellst du dir denn unter einer Update-Funktion, denn genau vor? Naja, man klickt auf Update und es wird automatisch die aktuelle Version von Part-DB reingeladen ;). Jan B. schrieb: > Natural sorting ist jetzt in der aktuellen Version drin. Super, danke! Werde ich gleich ausprobieren. Jan B. schrieb: > sortierung nur, > wenn die Zahl am Anfang des Wortes steht Finde ich jetzt nicht so schlimm. Bei denn meisten Bauteilen bei denen es relevant ist, schreibt man eig. normalerweise zuerst denn Wert. (4kR, 2pF, 4mH,...). Habe gerade die Funktion "Bauteileigenschaften" entdeckt, die ist echt tool! Aber ist das immer so, das das was in denn Eigenschaften steht auch in denn Kommentaren angezeigt wird? Danke und Mfg, Tropaion EDIT: Habe es gerade getestet, die Sortierung ist super. Was mM. nach etwas störend ist, ist das man zuerst auf Namen klicken muss, damit er sortiert. Kann man das nicht so einstellen das er standardmässig nach oben sortiert?# EDIT: Gerade noch einen Bug entdeckt. Bei Lagerorten funktioniert der Unterkategorien einblenden Button nicht.
:
Bearbeitet durch User
Fabian P. schrieb: > Naja, man klickt auf Update und es wird automatisch die aktuelle Version > von Part-DB reingeladen ;) Naja wenn man es als Git Report eingerichtet hat, reicht ein "git pull" um die neue Version Zu laden xD Aber ich schaue Mal was ich machen kann. Fabian P. schrieb: > Habe gerade die Funktion "Bauteileigenschaften" entdeckt, die ist echt > tool! Aber ist das immer so, das das was in denn Eigenschaften steht > auch in denn Kommentaren angezeigt wird? Leider ja. Bisher ist es nur möglich die Bauteileeigenschaften aus der Beschreibung bzw Kommentarfeld zu extrahieren. Daher müssen die Eigenschaften immer in den Feldern stehen. Langfristig ist geplant, unabhängig von den kommentarfeldern, Eigenschaften anlegen zu können. Gruß Jan B.
Jan B. schrieb: > Naja wenn man es als Git Report eingerichtet hat Ja stimmt schon, aber ehrlich gesagt kenne ich keinen einzigen Web-Hoster der sowas anbietet ohne das man sich einen vServer mietet. Darum haben ja auch die meisten Webseiten eine Update-Funktion. Jan B. schrieb: > Leider ja Ok, np, gut zu Wissen :) Fabian P. schrieb: > Gerade noch einen Bug entdeckt. > Bei Lagerorten funktioniert der Unterkategorien einblenden Button nicht. Mache ich da was falsch oder ist das noch nicht implementiert? Danke und Mfg, Tropioan
Fabian P. schrieb: > Ja stimmt schon, aber ehrlich gesagt kenne ich keinen einzigen > Web-Hoster der sowas anbietet ohne das man sich einen vServer mietet. netcup z.B. da hast einen ssh-Zugang standardmäßig dabei mit git. Oder manitu richtet dir einen auf Nachfrage ein, ob da aber git installiert ist weiß ich nicht. Bin bei beiden Kunde ;)
Ok, wusste ich nicht. Aber ich möchte ehrlich gesagt jetzt nicht Hoster wechseln deswegen^^ Hab auch meine Domains über denn laufen. Der Hoster hat zwar ein Terminal aber leider kein Git installiert. Aktuell versuche ich ein Bash-Script zu schreiben, aber leider kann der Server auch keinen rsync-Befehl.
1 | #!/bin/bash
|
2 | |
3 | wget https://github.com/jbtronics/Part-DB/archive/nextgen.zip |
4 | unzip nextgen.zip |
5 | rm nextgen.zip
|
6 | rm -r ./Part-DB-nextgen/data |
7 | rm -r ./Part-DB-nextgen/.htaccess |
8 | mv Part-DB-nextgen/* ./ |
9 | rm -r ./Part-DB-nextgen |
Und er kopiert auch die Dateien, die einen "." wie ".htaccess" haben leider nicht mit.... Mfg, Tropaion
MV kopiert keine versteckten Dateien, kann man aber leicht umgehen: https://simonstamm.de/alle-dateien-inklusive-versteckte-hidden-files-verschieben/
Steffen U. schrieb: > MV kopiert keine versteckten Dateien, > kann man aber leicht umgehen: Interessant, wusste ich nicht. Habe es gerade getestet, die versteckten Dateien kopiert er jetzt auch. Ein Problem gibt es jetzt noch beim überschreiben der Ordner meldet er:
1 | mv: cannot move `Part-DB-nextgen/.vs' to `./.vs': Directory not empty |
2 | mv: cannot stat `Part-DB-nextgen/..?*': No such file or directory |
Gibt es da auch einen Workaround? Mfg, Tropaion EDIT: Ich habe es jetzt so gelöst, ich denke jetzt geht alles:
1 | #!/bin/bash
|
2 | |
3 | wget https://github.com/jbtronics/Part-DB/archive/nextgen.zip |
4 | unzip nextgen.zip |
5 | rm nextgen.zip
|
6 | rm -r ./Part-DB-nextgen/data |
7 | rm -r ./Part-DB-nextgen/.htaccess |
8 | cp -arv ./Part-DB-nextgen/. ./ |
9 | rm -r ./Part-DB-nextgen |
:
Bearbeitet durch User
Hallo, habe das Updaten jetzt auch per PHP ermöglicht, geht am schnellsten und einfachsten. Ist zwar nicht am schönsten, aber es funktioniert und reicht für meine Zwecke. Kann auch gern weiterverwendet werden. Theoretisch könnte man auch noch denn composer-Update Befehl einbauen, aber da der bis jetzt bei mir noch nicht geht, ist das egal. Ich möchte dann noch eine Ausgabepufferung einbauen, damit man nicht dauernd vor einer leeren Seite sitzt. Wollte damit eh schon immer mal spielen :D Mfg, Tropaion
:
Bearbeitet durch User
Fabian P. schrieb: > Hallo, > > habe das Updaten jetzt auch per PHP ermöglicht, geht am schnellsten und > einfachsten. > > Ist zwar nicht am schönsten, aber es funktioniert und reicht für meine > Zwecke. Kann auch gern weiterverwendet werden. > > Theoretisch könnte man auch noch denn composer-Update Befehl einbauen, > aber da der bis jetzt bei mir noch nicht geht, ist das egal. > > Ich möchte dann noch eine Ausgabepufferung einbauen, damit man nicht > dauernd vor einer leeren Seite sitzt. Wollte damit eh schon immer mal > spielen :D > > Mfg, > Tropaion Ok, sehr schön xD Ich werde Mal die Tage versuchen dass irgendwie in Part-DB zu integrieren/umzusetzen. Ich hab übrigens das Problem mit den Unterlagerorten behoben. Und es gibt jetzt eine Option in den Einstellungen, mit der man eine Initiale Sortierung aktivieren kann.. Gruß Jan B.
Hallo Jan, Jan B. schrieb: > Ich werde Mal die Tage versuchen dass irgendwie in Part-DB zu > integrieren/umzusetzen. Wenn du das machst sollte man wirklich denn Composer-Befehl noch einbauen und das mit .htacces löschen auskommentieren (das brauch in dem nur ich). Wenn du willst kann ich mir das auch ansehen. Bzw. gibt es Anpassungen die du benötigst? So lange es in meinem Können liegt helfe ich gerne ;). Aber wenn du es einbaust wird ein Ausgabepuffer wahr. nicht nötig sein weil du ja das über Smarty machst oder? Jan B. schrieb: > Ich hab übrigens das Problem mit den Unterlagerorten behoben. Und es > gibt jetzt eine Option in den Einstellungen, mit der man eine Initiale > Sortierung aktivieren kann.. Hab ich schon gesehen, funktioniert einwandfrei! Vielen Dank für denn fixen Bugfix :D Mfg, Tropaion
:
Bearbeitet durch User
Hallo, habe das Script etwas verschönert und verkürzt, bzw. einfacher erweiterbar gemacht und Composer-Update hinzugefügt. Mfg, Tropaion
Hallo Zusammen, Mit Freude sehe ich wie dieses geniale Bauteile-Datenbankprogramm weiter entwickelt und verbessert wird ... Ein grosses Lob und Danke an die fleissigen Programmierer... Leider hab ich den Anschluss etwas verloren, da ich momentan recht beschäftigt bin... Ich möchte noch 2 Anregungen / Wünsche platzieren: -> die gleichen Bauteilen an verschiedenen Lagerorten einlagern können -> ein Loggen der Ein- und Ausbuchungen aus den Lagerorten um Material Bewegungen zu verfolgen .. Ich denke, das sind Funktionen die einigen Usern (auch mir) zusätzlichen Nutzen bringen würden... Gruss Hans
Hallo, pc-baerli schrieb: > -> ein Loggen der Ein- und Ausbuchungen aus den Lagerorten um Material > Bewegungen zu verfolgen . Finde ich auch eine gute Idee, aber zahlt sich eig. erst dann aus, wenn das User-System implementiert ist, denke ich. Mfg, Tropaion
Moin, ich hatte da auch noch eine Anregung. Unter Tools ist ja die Option Import von CSV und XML Dateien. Wie wäre es wenn es da auch noch eine Export Option geben würde? Eventuell noch mit einer Auswahl Möglichkeit was in der Datei exportiert werden soll? LG Stefan
Hi, Stefan L. schrieb: > Eventuell noch mit einer Auswahl Möglichkeit was in der Datei exportiert > werden soll? Da muss ich mich anschließen! Mir würde es gefallen wenn man z.B. ganz Lagerorte zum exportieren auswählen kann. Ich habe z.B. einige Sortimente die immer gleich sind, da würde ich das gerne als Lagerort mit Inhalt exportieren/importieren können. Mfg, Tropaion
Stefan L. schrieb: > Wie wäre es wenn es da auch noch eine Export Option geben würde? Hi, Es gibt sogar schon eine Export Funktion, man kann aber bisher nur die Suchergebnisse exportieren. Wenn ich Zeit habe kann ich die Tage, versuchen die Exportfunktion auch für Kategorienteile und so zu aktivieren. Mittelfristig müsste man aber die gesamte Import/Export Funktionen neu implemtieren, weil das gesamte Export system ist noch komplett prozedual und nicht wirklich erweiterbar. Wenn man es neu schreibt, dann kann man auch noch mehr Formate und auch die Möglichkeit die zu exportierenden spalten auszuwählen. Gruß Jan B.
Hi, wie kann man eine Kategorie exportieren, finde die Funktion irgendwie nicht. Mfg, Tropaion
Hier eine kleine Liste meinerseits, was mir im Umgang mit Part-DB bisher aufgefallen ist und man u.U. verbessern könnte: - BB-Code wird im Kommentarfenster des Bauteils als Text angezeigt (z.B. ["b"]["/b"] --> <strong></strong>) (die "-Zeichen musste ich wegen Spamverdacht hier leider einfügen) - System\Konfiguration\Allgemeine Einstellungen: --> Menüpunkt "Tools -> Footprints" deaktivieren wird nicht ausgeführt - bleibt weiterhin sichtbar --> Menüpunkt "Hilfe" deaktivieren ohne Funktion, Hilfe wird nicht angezeigt --> Baugruppenfunktion global deaktivieren * funktioniert nicht - Bilder als Dateianhänge in den Detailinfos sollten nicht direkt aneinander sitzen (Cellspacing). Es wäre zu überlegen, ob man die Bilder auch nebeneinander anordnen könnte. --> MouseOver-Bilddarstellung ist zu klein, ein Mausklick auf das Bild öffnet kein zusätzliches Anzeigefenster (zumindest bei Firefox) - Einkaufsinformationen in den Detailinfos deaktivierbar machen. - Die Anzeige der Dateianhänge in der tabellarischen Übersicht ist unglücklich. Wenn man z.B. ein Datenblatt und eine BDA auflisten möchte, kostet das gleich zwei Zeilen. Vielleicht lässt sich das mit zusätzlichen Icons ersetzen, die anzeigen worum es sich handelt. Die Dateinamen der Dokumente werden ja unter Details dann angezeigt. Frage: wie kann man nach Menüpunkt "System" deaktivieren, diesen Menüpunkt wieder sichtbar machen?? (Ich habs sicherheitshalber noch nicht probiert...) Kann irgendwie eine kleine Liste zu den gängigsten BB-Codes mit kurzem Beispiel integriert/hinterlegt/aufgerufen werden? Ich hoffe, das hilft erst einmal weiter.
Hallo, Ludwig K. schrieb: > BB-Code wird im Kommentarfenster des Bauteils als Text angezeigt Also bei mir geht der BB-Code. Ludwig K. schrieb: > Kann irgendwie eine kleine Liste zu den gängigsten BB-Codes mit kurzem > Beispiel integriert/hinterlegt/aufgerufen werden? Ich finde, im Internet findet man genug dazu. Auf Wikipedia sind die Befehle sehr gut aufgelistet: https://de.wikipedia.org/wiki/BBCode Ludwig K. schrieb: > - System\Konfiguration\Allgemeine Einstellungen: > --> Menüpunkt "Tools -> Footprints" deaktivieren wird nicht ausgeführt > - bleibt weiterhin sichtbar > --> Menüpunkt "Hilfe" deaktivieren ohne Funktion, Hilfe wird nicht > angezeigt > --> Baugruppenfunktion global deaktivieren * funktioniert nicht Bei mir funktioniert das alles einwandfrei. Verwendest du die aktuellste Version? Ludwig K. schrieb: > Frage: wie kann man nach Menüpunkt "System" deaktivieren, diesen > Menüpunkt wieder sichtbar machen?? In dem du denn Link direkt eingibst: www.domain.de/system_config.php Oder du bearbeitest die Config-Datei im Ordner data manuell. Mfg, Tropaion
:
Bearbeitet durch User
Hi Ludwig, wie Tropaion schon angemerkt hast, vermutlich benutzt du eine ältere Version, weil ich hatte zwischenzeitlich ein Teil deiner Probleme schon behoben: Hole dir am besten mal die aktuellste Version aus dem "nextgen" Branch auf GitHub (https://github.com/jbtronics/Part-DB/tree/nextgen). Möglicherweise musst du noch die Composer Abhängigkeiten aktualisieren/installieren (Siehe https://github.com/jbtronics/Part-DB/wiki/Installation#updates). Weiterhin habe ich aber heute morgen noch versucht deine anderen Ideen umzusetzen: In den Detailinfos ist es jetzt möglich mit einem Klick auf ein Bild, dieses in einem neuen Tab zu öffnen. Weiterhin werden die Dateianhänge jetzt als kleines Icon in der Übersichtstabelle angezeigt (wenn man den Mauszeiger darüber schweben lässt, wird der Name angezeigt). Das alte Verhalten lässt sich in den Einstellungen aktivieren. Außerdem gibt es jetzt unter Konfiguration -> Aussehen -> Detailinfos, die Möglichkeit die Panels mit den Dateianhängen und den Bestellinfos auszublenden, wenn ein Bauteil keine Anhänge oder Bestelldaten hat. Auch das Aktionen Panel ist ausblendbar. Weiter besteht die Möglichkeit die Lieferanten (und damit auch die Bestellinfos) global zu deaktivieren. Hoffe das hilft dir weiter. Gruß Jan B.
Hallo Jan, willst du das Update-Script eig. einbauen das ich geschrieben habe bzw. allgemein eines einbauen? Wenn ja hätte ich noch zwei Ideen dazu. - Man könnte das Script ganz einfach erweitern um zu prüfen, ob der composer-Befehl funktioniert und wenn nicht, lädt er denn /vendor-Ordner von GitHub runter. - Man könnte das Update-Script dann auch noch mit ein paar Handgriffen dann auch als Neuinstallation-Script verwenden. Man lädt dann einfach install.sh und install.php runter, fährt install.php aus und schon ist Part-DB installiert, mit Composer und alles. Man könnte auch zwischen Stable und Unstable-Updater/Installer unterscheiden. Was hältst du davon? Mfg, Tropaion
:
Bearbeitet durch User
Hi Tropaion, ich denke nach ob es Sinn machen würde, dein Update shellscript komplett nach PHP zu migrieren. Das hätte nämlich den Vorteil, dass es auch von Windows bzw. Windows Server unterstützt wird, und dass man nicht davon abhängt, dass alle Befehle (wie z.B. unzip) auch auf dem System und so Kram wie die PATH variablen richtig eingerichtet sind. Außerdem dürfte es so einfacher sein, Rückmeldungen an den Nutzer über den aktuellen Zustand zu geben, denn für asynchrone Programmierung ist PHP nicht wirklich ideal. Dann könnte man auch irgendeinen Option einbauen, mit denen man zwischen Release und Development Channel wählen kann. Fabian P. schrieb: > Man lädt dann einfach install.sh und install.php runter, fährt > install.php aus und schon ist Part-DB installiert, mit Composer und > alles. Das wäre natürlich cool. Da müssen wir nur bedenken, dass wir keinen Zugriff auf die normalerweise verwendeten Bibliotheken und Templates haben, weswegen man alles in "purem" PHP schreiben müsste. Da könnte es dann auch sinnvoll sein, ein Shellskript zu verwenden, denn dann bleibt die PHP datei relativ simpel. (und für eine einmalige Aktion, kann man denke ich auch verzichten, Windows unterstützen.) Würde es Sinn machen, die Footprint images, aus dem Repo und damit auch aus den Zip dateien zu entfernen? Weil dann würde die ZIP Datei vermutlich ca. 40MB kleiner ausfallen und würde deutlich schneller heruntergeladen werden. Es sollte möglich sein, dass mit den Footprintbildern über Composer laufen zu lassen, dann würden die Bilder nur heruntergeladen werden, wenn es eine Änderung in dem Footprint Repo gäbe, was den Updateprozess deutlich beschleunigen sollte. Gruß Jan B.
Hallo Jan, Jan B. schrieb: > ich denke nach ob es Sinn machen würde, dein Update shellscript komplett > nach PHP zu migrieren. Ja, da habe ich auch schon überlegt, das zu probieren. Aber irgendwie fehlt mir da gerade ein Ansatz wie man das gut realisiert, aber da findet man sicher gute Anregungen im Internet. Da ich zur Zeit eh genug Freizeit habe werde ich das sicher probieren. Ist sicher eine interessante Beschäftigung und PHP mag ich allg. gerne. Jan B. schrieb: > wie die PATH variablen richtig eingerichtet sind. Wie meinst du das? So lange das Shell-Script im Wurzelverzeichnis von Part-DB ist sollte es mit dem Path keine Probleme geben. Jan B. schrieb: > weswegen man alles in "purem" PHP schreiben müsste. Auch dann könnte man, denke ich, wieder viel vom Update-Script adaptieren, weil ja nicht viel Unterschied ist. Jan B. schrieb: > Würde es Sinn machen, die Footprint images, aus dem Repo und damit auch > aus den Zip dateien zu entfernen? Im allgemein würde ich sagen, ja. Was ich so mitbekommen haben, hosten viele Ihre Part-DB von zu Hause aus. Bei mir würde das keine Rolle spielen, weil mein Hoster eine so schnelle Anbindung hat das ich da wahr. kaum Unterschied merke. Mit dem aktuellen Script dauert bei mir ein Update nicht mal 10s. Jan B. schrieb: > Es sollte möglich sein, dass mit den Footprintbildern über Composer > laufen zu lassen, dann würden die Bilder nur heruntergeladen werden, > wenn es eine Änderung in dem Footprint Repo gäbe, was den Updateprozess > deutlich beschleunigen sollte. Ehrlich gesagt, würde ich dieses Composer-"Zeug" so viel wie möglich vermeiden, weil man dann im Grunde wieder Shell-Abhängig ist. Wenn dann, würde ich die Footprint-Bilder auch über ein PHP-Script verwalten. Allgemein könnte das mit dem Composer Update über ein PHP-Update Script problematisch werden. Was ist z.B. wenn man über PHP-Update denn Composer Update Befehl ausführt aber nicht funktioniert? Gibt es eine Möglichkeit, über PHP festzustellen das der Composer korrekt funktioniert? Kenne mich mit denn Composer Commands nicht wirklich aus. Habe mir das nur einmal ganz kurz angesehen. Vll. wäre sogar zu bevorzugen, das man bei denn Stable-Version nur mehr denn /vendor-Ordner übergibt und Composer komplett entfernt. Mfg, Tropaion
:
Bearbeitet durch User
Was würdest du davon halten, wenn man zwischen Windows oder Linux unterscheidet und entsprechende CMD-Commands ausführt?
Hallo Jan, ich arbeite gerade an dem reinem PHP Update-Script (siehe Anhang) und hätte da eine Frage an dich. Wie kann ich in der config.php Variablen auslesen/überschreiben? Ich möchte nämlich zwei hinzufügen:
1 | $config['update']['currentVersion'] = 'v0.4.0RC1.beta1'; |
2 | $config['update']['newestVersion'] = 'v0.4.0RC1.beta1'; |
Danke und Mfg, Tropaion
:
Bearbeitet durch User
Hi Tropaion, Fabian P. schrieb: > Wie kann ich in der config.php Variablen auslesen/überschreiben? Wenn du eine neue Variable hinzufügen willst, solltest du einen Standardwert in inc/config_default.php setzen. Du musst dem aktuellen Skript mit
1 | global $config; |
sagen, dass es das globale Array $config überhaupt gibt. Danach kannst du Werte auslesen und hineinschreiben. Wenn du dann die Werte aus $config auch in die config.php speichern willst, musst du die Funktion saveConfig() aufrufen. Damit aber die benötigten Dateien geladen werden, solltest du ganz oben in deiner Datei den Befehl
1 | include_once("start_session.php"); |
ausführen, dann setzt er bestimmte Einstellungen (z.B locale, ErrorHandler, globale Konstanten) und bindet alle benötigten Dateien ein. Gruß Jan B.
Beitrag #5143645 wurde vom Autor gelöscht.
Hallo Jan, danke für die Info! Eig. ganz simpel wenn man es weiß ;) Aktuell funktioniert jetzt: - prüfen ob eine neue Stable-Version auf GitHub verfügbar ist - download von github, entweder stable oder unstable, abhängig von $config['update']['type'] - entpacken der zip-Datei Das einzige was noch fehlt und wo ich nicht genau weiß wie ich das schön machen soll, ist, die alten Daten mit denn neuen zu überschreiben. Kennst du da eine gute Methode? Danke und Mfg, Tropaion
Hi, ich würde die alten Daten einfach mit den neuen überschreiben. Man muss sich aber dann einen Mechanismus überlegen, um alte Dateien zu löschen die in dem neuem Archiv nicht mehr existieren, sonst bleiben die nicht mehr benötigten Dateien erhalten. Ich habe mal auf die schnelle diesen Code hier gefunden (http://maxmorgandesign.com/simple_php_auto_update_system/), vielleicht kannst du da Teile von übernehmen. Weiterhin habe ich mal die Code dokumentation der aktuellen Version hochgeladen, man findet sie hier (https://jbtronics.github.io/Part-DB/phpdoc/). Gruß Jan B.
Jan B. schrieb: > Ich habe mal auf die schnelle diesen Code hier gefunden Ja, das habe ich auch schon gefunden, gefällt mir aber nicht besonders. Meine Überlegung ist, das ich alles rekursiv bis auf /data lösche und dann einfach direkt die ZIP-Datei ins Wurzelverzeichnis entpacke. Dadurch spart man sich im Grund auch denn kompletten Part mit dem verschieben und auch denn Speicherplatz denn man sonst kurzzeitig zum entpacken braucht. Jan B. schrieb: > Weiterhin habe ich mal die Code dokumentation der aktuellen Version > hochgeladen, man findet sie hier Cool, wusste gar nicht das es sowas gibt. Mal sehen ob ich das mit dem Frontend überhaupt hinbekom, hab das so in der Art eig. noch nie gemacht mit einem Template-Engine. Normalerweise schreibe ich ja uC-Programme in C ;). Mfg, Tropaion
:
Bearbeitet durch User
Hi, super Idee, mit dem Update direkt aus der PartDB raus. Ich denke es macht Sinn, das Update in mehrere Teile aufzuteilen. 1. Update vom Update Script selber (damit ist immer zuerst die neue Version vom Update Script verfügbar) 2. Update von PartDB selber. Da das Update Script selbstständig laufen sollte, wäre das Risiko null, wenn man alle Dateien vor dem Update löscht (mit ein paar Ausnahmen, wie Configdateien oder andere manuell hinzugefügt Ordner). Vielleicht sollte man ein bis zwei Ordner festlegen, die vom Update nicht gelöscht werden. 3. Update von Abhängigkeiten mittels Composer 4. Update von weitere Repositories wie z.B. die 3-D Modelle, ... Ich würde allerdings auch einen Mechanismus einbauen, damit man über ein Konfigflag das automatische Update abschalten kann. Schritt 3 und 4 könnte man dann auch manuell getrennt vom Hauptupdate anstoßen.
Hi, Matthias F. schrieb: > Da das Update Script selbstständig laufen > sollte, wäre das Risiko null, wenn man alle Dateien vor dem Update > löscht (mit ein paar Ausnahmen, wie Configdateien oder andere manuell > hinzugefügt Ordner). Ich sehe das Problem, wenn man das Updateskript komplett selbstständig schreibt, wird es ziemlich kompliziert, das normale Design von Part-DB zu benutzen, weil man mindestens Bootstrap und Fontawesome einbinden muss. Außerdem vereinfacht Smarty die Übersetzung der Oberfläche und den Schutz vor XSS Injection enorm. Weiterhin müsste das Updateskript vermutlich große Teile von start_session.php mitbringen, weil Dinge wie locales, Übersetzungsdateien gesetzt und verschiedene Variablen wie BASE oder $config geladen werden. Daher würde ich eine Art Hybridmodell für den Updater vorschlagen: Normalerweise benutzt das Updateskript, die vorhandenen Bibliotheken und die Templateengine zur Ausgabe. Das Skript sollte vorher checken, ob es möglich ist, das Update durchzuführen (Check der Permissions, Überprüfen der heruntergeladenen Update-Datei). Danach führt es den eigentlichen Updateprozess durch (gerne so wie von idefix beschrieben), dabei muss dafür gesorgt werden, dass das Skript nicht abgebrochen wird, indem der Nutzer den Browser schließt. Normalerweise sollte das Update so gut durchlaufen. Falls es doch zu einem Fehler kommen sollte, und nun benötigte Bibliotheken für den Updater fehlen, dann erkennt der Updater dies, und wechselt in eine Art Failsafe Modus, in dem er das Archiv neu entpackt und dabei nur ganz simple Ausgaben auf Englisch (mit echo etc.) geschehen. In diesem Modus benötigt er dann keine externen Bibliotheken mehr, kann dafür aber nur alles auf einen funktionierenden Stand bringen und ist nicht wirklich visuell schön. Auf diese Weise, könnte man Codeduplikation größtenteils vermeiden und der Updater würde relativ einfach bleiben (vor allem kein Misch-Masch von PHP und HTML). Gruß Jan B.
Hallo, Jan B. schrieb: > Ich sehe das Problem, wenn man das Updateskript komplett selbstständig > schreibt, wird es ziemlich kompliziert Glaub ich ehrlich gesagt gar nicht, das es so kompliziert wird. Jan B. schrieb: > weil man mindestens Bootstrap und Fontawesome einbinden > muss. Warum muss man das? Jan B. schrieb: > Weiterhin müsste das Updateskript > vermutlich große Teile von start_session.php mitbringen, weil Dinge wie > locales, Übersetzungsdateien gesetzt und verschiedene Variablen wie BASE > oder $config geladen werden. Macht ja nichts, während dem kopieren der Dateien braucht man das eh nicht. Jan B. schrieb: > Daher würde ich eine Art Hybridmodell für den Updater vorschlagen: Da muss ich ehrlich sagen, dafür reichen meine Kenntnisse leider nicht ;) Jan B. schrieb: > dabei muss > dafür gesorgt werden, dass das Skript nicht abgebrochen wird, indem der > Nutzer den Browser schließt. Das ist schon eingebaut. Geht ganz einfach mit: ignore_user_abort (true); Jan B. schrieb: > Falls es doch zu einem Fehler kommen sollte, und nun benötigte > Bibliotheken für den Updater fehlen, dann erkennt der Updater dies, und > wechselt in eine Art Failsafe Modus Ich hätte denn Updater, der für das überschreiben der alten Daten zuständig ist sowieso autonom gemacht, damit so etwas nicht auftritt. Mfg, Tropaion
Fabian P. schrieb: > Da muss ich ehrlich sagen, dafür reichen meine Kenntnisse leider nicht > ;) Eigentlich muss man nur prüfen, ob
1 | file_exist(__DIR__ ."start_session.php") |
und
1 | class_exist("\Smarty") |
true sind, wenn nicht, dann springt er in den Failsafe mode. Das selbe tut er, wenn irgendeine Exception auftritt. Fabian P. schrieb: > Jan B. schrieb: >> weil man mindestens Bootstrap und Fontawesome einbinden >> muss. > > Warum muss man das? Wenn du irgendeine Ausgabe tätigen willst, sollte das aus Designgründen mindestens in einem simplen Panel geschehen, und für dieses braucht man mindestens bootstrap.min.css . Gruß Jan B.
Hallo Jan, Jan B. schrieb: > true sind, wenn nicht, dann springt er in den Failsafe mode. Das selbe > tut er, wenn irgendeine Exception auftritt. Ok, das denke ich könnte ich noch hinbekommen ;). Jan B. schrieb: > Wenn du irgendeine Ausgabe tätigen willst, sollte das aus Designgründen > mindestens in einem simplen Panel geschehen, und für dieses braucht man > mindestens bootstrap.min.css . Ehrlich gesagt, habe ich noch nie mit Bootstrap gearbeitet. Aber jetzt schau ich mal, das die allgemein Funktionen für ein Update funktionieren. Meine Idee war ja so: Wenn man die Seite System -> Konfigurieren aufruft, wird die Funktion (nur wenn stable update eingestellt ist) checkUpdate(); ausgeführt. Wenn currentVersion != newestVersion ist, wird angezeigt das ein Update verfügbar ist und man kann auf Update herunterladen klicken. Wenn das Update heruntergeladen ist kann man denn Button "Update installieren" drücken und im Hintergrund werden die Dateien überschrieben, was eine autonomes PHP-Script macht. Währendessen ist die Seite nicht erreichbar. In WP ist das ähnlich gelöst. Mfg, Tropaion
Hallo Jan, die Funktionsbibliothek für Updates funktioniert jetzt. Wenn man die Variablen richtig setzt und die Funktionen nacheinander ausführt, wir Part-DB upgedated, habe ich bereits getestet. Kurze Übersicht zu denn Funktionen: checkUpdate() - Gibt die aktuellste Version von Part-DB zurück (tagname) (nur Releases). downloadUpdate($updateType, $newestVersion) - Abhängig vom $updatedType (stable oder unstable) wird die Version von $newestVersion heruntergeladen (muss tagname sein). rmdirr($dirname, $deleteExceptions) - Löscht alle Ordner und Dateien in $dirname mit Ausnahme von denn Ordnern/Dateien die im Array $deleteExceptions gelistet sind. unzipUpdate($dirname, $newestVersion, $unzipExceptions) - Entpackt $newestVersion.zip in $dirname mit Ausnahme von denn Ordnern/Dateien die im Array $unzipExceptions gelistet sind. Unter Linux kann man dann auch noch die Rechte einstellen mit denen dir Ordner erstellt werden sollen. (siehe: mkdir($target, 0700, true);) Mfg, Tropaion
:
Bearbeitet durch User
Kleinen Fehler ausgebessert und Kommentare hinzugefügt. Gestern wohl übersehen, war etwas spät :D
Fabian P. schrieb: > Kleinen Fehler ausgebessert und Kommentare hinzugefügt. > Gestern wohl übersehen, war etwas spät :D Ok danke xD Ich bin momentan zwar mit dem Berechtigungssystem für die Benutzer und Gruppen beschäftigt, werde aber die Tage Mal versuchen deine Updatefunktionen einzubauen. Gruß Jan B.
Hi Jan, Jan B. schrieb: > Ich bin momentan zwar mit dem Berechtigungssystem für die Benutzer und > Gruppen beschäftigt, werde aber die Tage Mal versuchen deine > Updatefunktionen einzubauen. Ist ja kein Stress ;) Leider kann ich beim implementieren nicht helfen, ich bekomme es, wenn dann nur autonom hin. Aber wenn du willst kann ich ein Installationsscript machen, weil das bekomme ich hin. Und, soll ich auch noch eine "composer-update" Funktion einbauen? Man müsste dann halt evtl. auch die Möglichkeit einbauen, das man Einstellen kann ob composer unterstützt wird oder nicht, damit /vendor heruntergeladen wird. Und checkUpdate() funktioniert nur für Releases, wenn du willst kann ich auch noch eine Möglichkeit finden, zu prüfen ob sich was bei nextgen geändert hat. Wäre vll. von Vorteil. Mfg, Tropaion EDIT: Man kann jetzt auch das letzte Commit-Datum in nextgen mit checkUpdate() auslesen.
:
Bearbeitet durch User
Moin, mit Spannung verfolge ich die Entwicklung mit dem Auto Updater. Eine Sache fehlt meiner Meinung noch daran. In der .htaccess Datei an der ersten Stelle steht drinnen <IfModule mod_php5.c> so weit so gut. Da ich aber auf meinem Server PHP 7 laufen habe muss ich das in <IfModule mod_php7.c> ändern. Mache ich dieses nicht, dann wird bei Part-DB unter System, Konfiguration .htaccess funktioniert nein angezeigt. Ok für mich ist das nicht weiter schlimm da ich in der Datei noch die Passwortabfrage mit reinschreibe, aber was machen diejenigen die nicht wissen welches PHP bei ihnen läuft oder von der Materie keine Ahnung haben? Könnte man da nicht noch eine PHP Versionsabfrage mit einbauen, die die Datei dann ändert? Lg Stefan
Hi, Stefan L. schrieb: > In der .htaccess Datei an der ersten Stelle steht drinnen > <IfModule mod_php5.c> so weit so gut. > Da ich aber auf meinem Server PHP 7 laufen habe muss ich das in > <IfModule mod_php7.c> ändern. Ich hab es das <IfModule mod_php7.c> mal einfach zur .htaccess hinzugefügt. Jetzt sollte die Anzeige auch mit PHP korrekt funktionieren. Außerdem habe ich noch ein paar Headers in die .htaccess eingebaut, die den Betrieb von Part-DB etwas sicherer machen dürften. Die aktuelle Version findest du wie immer hier (https://github.com/jbtronics/Part-DB/tree/nextgen). Gruß Jan B.
Hallo Jan, was mir gerade eingefallen ist und ich mich schon öfters gefragt habe... Für was ist das Admin Passwort aktuell gut? Hat das irgendeine Verwendung? Mfg, Tropaion
Fabian P. schrieb: > Hallo Jan, > > was mir gerade eingefallen ist und ich mich schon öfters gefragt habe... > Für was ist das Admin Passwort aktuell gut? Hat das irgendeine > Verwendung? > > Mfg, > Tropaion Hi, Soweit ich weiß, ist das Admin Password Momentan nur dazu eine Änderung der Datenbankzugangsdaten zu autorisieren. Außerdem lässt sich damit unter system_debug.php das Debugging aktivieren. Vermutlich werde ich das Admin Password ersetzen, wenn das Benutzersystem fertig ist. Oder werde zumindest den Hashalgorithmus ändern, denn das jetzt verwendete sha256 ist nicht unbedingt, dass beste für Passwörter. Gruß Jan B.
Jan B. schrieb: > Soweit ich weiß, ist das Admin Password Momentan nur dazu eine Änderung > der Datenbankzugangsdaten zu autorisieren. Außerdem lässt sich damit > unter system_debug.php das Debugging aktivieren. Ok, danke, wusste ich nicht. Jan B. schrieb: > Oder werde zumindest den Hashalgorithmus > ändern Wäre eine gute Idee. Ich würde sowas wie hash('sha512', $password . $username); nehmen, das ist schon ziemlich sicher. BTW, darf man fragen wie du mit dem User-System vorankommst? Mfg, Tropaion
Fabian P. schrieb: > Wäre eine gute Idee. > Ich würde sowas wie hash('sha512', $password . $username); nehmen, das > ist schon ziemlich sicher. PHP hat für Passwörter, sogar schon eine eigene Funktion (http://php.net/manual/de/function.password-hash.php). Sie erzeugt für jedes Password ein eigenen Salt, wodurch Rainbow-Table Angriffe sehr schwierig werden. Momentan verwendet PHP für die Funktion bcrypt, dies wird aber veränder, sobald bessere Algorithmen zur Verfügung stehen (wodurch auch Part-DB immer die beste Version benutzt). Für ältere PHP Versionen gibt es Polyfill, damit kann man die password_* Funktionen bis PHP 5.2 verwenden. Fabian P. schrieb: > BTW, darf man fragen wie du mit dem User-System vorankommst Die Möglichkeiten zum Anlegen/Bearbeiten von Benutzern und Gruppen (plus so Kram wie Login und Passwort ändern Dialog) habe ich schon seit längerem fertig. Heute habe ich das grundlegende Berechtigungssystem fertiggestellt und angefangen die Berechtigungen umzusetzten bzw auch wirklich abzufragen. Bisher kann ich den Zugang zu den Datenstrukturen wie Footprints, Kategorie, Lagerorte etc. Kontrollieren. Jetzt fehlen nur noch die Berechtigungen für die Bauteile und Kleinkram wie Einstellungen, Datenbankupdate etc. Danach kommt noch etwas Feinschliff und dann sollte das Benutzersystem eigentlich bereit zur Auslieferung sein. Ich denke, dass ich das noch diese Woche fertig bekommen sollte. Gruß Jan B.
Jan B. schrieb: > PHP hat für Passwörter, sogar schon eine eigene Funktion Höre ich zum ersten mal, gut zu Wissen. Jan B. schrieb: > Jetzt fehlen > nur noch die Berechtigungen für die Bauteile und Kleinkram wie > Einstellungen, Datenbankupdate etc. > Danach kommt noch etwas Feinschliff und dann sollte das Benutzersystem > eigentlich bereit zur Auslieferung sein. > > Ich denke, dass ich das noch diese Woche fertig bekommen sollte. WoW, finde ich toll! Ich muss sagen du arbeitest echt schnell :D Danke und Mfg, Tropaion
Hi, anbei mal ein paar Screenshots von dem aktuellem Stand der Benutzerverwaltung. Gruß Jan B.
Hallo, danke für die Screenshots, sieht gut aus! Machst du die Icons und Symbole eig. selbst? Mfg, Tropaion
Fabian P. schrieb: > Hallo, > > danke für die Screenshots, sieht gut aus! > Machst du die Icons und Symbole eig. selbst? > > Mfg, > Tropaion Ne, die sind von Fontawesome (http://fontawesome.io). Gruß Jan B.
Jan B. schrieb: > Ne, die sind von Fontawesome Ok, danke. Mir ist gerade noch eine Frage aufgekommen, weil ich es verwenden wollte. Kann man bei der Importfunktion auch gleich denn Bildlink mitangeben? Mfg, Tropaion
Hallo Jan und Mitstreiter, vielen Dank für eure Mühe. Dank der Tips und der guten Installdoku hat das Update auf die die aktuelle nextgen-Version super funktioniert. Die Neuerungen werde ich die Tage ausprobieren. Danke Jan fürs einpflegen meiner Vorschläge. Wenn eure Updateskripte fehlerfrei laufen, werde ich das nächste Update vornehmen. Das wird wohl für viele eine Erleichterung darstellen, die PartDB extern bei einem Provider laufen lassen. Muss der Vendor-Ordner auch regelmässig mit aktualisiert werden? Ich freu mich schon auf die Benutzerverwaltung :-)
Hi, Fabian P. schrieb: > Kann man bei der Importfunktion auch gleich denn Bildlink mitangeben? Bisher geht das leider nicht. Man sollte die Import/Exportfunktion aber Allgemein mal neu schreiben, da sollte sich so etwas einbauen lassen. Ludwig K. schrieb: > Muss der Vendor-Ordner auch regelmässig mit aktualisiert werden? > Ich freu mich schon auf die Benutzerverwaltung :-) Im Idealfall sollte man den vendor/ gleich mitaktualisieren, denn ab und zu braucht Part-DB mal eine neue Bibliothek, und wenn die fehlt, kann es merkwürdige Fehler geben. Der Updater sollte sich aber um diese Abhängigkeiten automatisch kümmern, dann braucht man sich keine Sorgen mehr um die Abhängigkeiten zu machen. Gruß Jan B. PS: Anbei sind noch ein paar Screenshots von dem Benutzersystem, und vorallem von den bisher möglichen Berechtigungen. Bin beinahe fertig, es fehlen nur noch ein paar Kleinigkeiten.
Hallo Jan, sieht sehr gut aus. Jan B. schrieb: > Bisher geht das leider nicht. Schade, dann mach ich es ohne. Jan B. schrieb: > Im Idealfall sollte man den vendor/ gleich mitaktualisieren Ich finde, man sollte ein Auswahlfeld machen wo man wählen kann ob composer unterstützt wird oder nicht und dann vendor von github heruntergeladen wird oder der composer Befehl exec wird. Oder man macht gleich nur ersteres. MFG, Tropaion
ich wüsste derzeit nicht wie ich den Composer-Befehl bei meinem Provider ausführen sollte. Daher meine Frage. Mit der Optionsauswahl zur Aktualisierung/Download wäre aber dem Problem ausreichend Genüge getan. Die Bilder zum Benutzersystem sehen schon sehr vielversprechend aus!
Jan B. schrieb: > PS: Anbei sind noch ein paar Screenshots von dem Benutzersystem, und > vorallem von den bisher möglichen Berechtigungen. Bin beinahe fertig, es > fehlen nur noch ein paar Kleinigkeiten. das dürfte die feinst-granulierte Rechteverwaltung sein, die mir bislang untergekommen ist - Hut ab!
Hallo Jan, mir ist gerade noch ein Fehler aufgefallen. Die XML-Export-Funktion verwendet andere Tag-Namen als die Import-Funktion. Export -> Import funktioniert also nicht. Und eine Funktion die auch noch toll wäre: Wenn man auf "Änderungen übernehmen" klickt, soll er eine Rückmeldung geben, das Speichern erfolgreich war. Und, ich wollte gerade die Datei importieren, gibt es da ein Limit oder so? Weil er lässt mich denn Import nicht abschließen. Danke und Mfg, Tropaion
:
Bearbeitet durch User
Hallo Jan, ich hätte da noch zwei Fragen. Ist es möglich, das bei Natural Sorting auch "k" und "M" berücksichtigt werden? Wenn ja, wie geht das? Und, wenn ich nach Lagerort sortiere, kann man dann trotzdem auch noch Natural Sorting aktiviert haben? Danke und Mfg, Tropaion
Hi, ich habe das Benutzersystem jetzt endlich fertig und habe es in den "nextgen" branch integriert. Es sind noch nicht alles fertig getestet, also kann es sein das manches noch etwas buggy ist, bzw. z.B. Werte nicht gespeichert werden. Über Bugmeldungen wäre ich daher sehr dankbar. Im Großen und Ganzen sollte es dennoch funktionieren, ihr solltet aber unbedingt ein Datenbankbackup vorher gemacht haben (z.B. mit phpmyadmin). Ladet euch für das Update die neuste Version von Github herunter (https://github.com/jbtronics/Part-DB/tree/nextgen) und entpackt es auf eurem Server. Danach solltet ihr
1 | composer install -o |
durchführen, bzw. die aktuelle vendor.zip (https://github.com/jbtronics/Part-DB/blob/gh-pages/vendor.zip?raw=true) entpacken. Wenn ihr nun startup.php aufruft, wird er euch ein Datenbankupdate anbieten: Führt dieses durch. Nachdem das Update erfolgreich war, könnt ihr euch oben rechts mit dem Usericon einloggen. Benutzt dafür "admin" als Benutzername und "admin" als Password. Unter System->Benutzer könnt ihr nun einen neuen Benutzer anlegen. Im Auslieferungszustand ist Part-DB so konfiguriert, dass wenn ihr nicht eingeloggt seit, nur lesender Zugriff auf die Datenbank möglich ist. Möchtet ihr das klassische Verhalten zurück (so dass der anonymous user auch Bauteile bearbeiten darf), so müsst ihr unter System->Benutzer dem anonymous User die Gruppe users oder admins (wenn anonymous auch administrative Einstellungen ändern können soll). Wenn einer von euch es ausprobieren sollte, dann freue ich mich über Rückmeldungen und/oder Bugmeldungen :) Gruß Jan B.
Hallo Jan, Danke für das schnelle implementieren, sieht sehr gut aus! habe gerade das Update durchgeführt und ein paar Sachen probiert. Bis jetzt habe ich keine Fehler gefunden. Mir ist aber aufgefallen, das, auch wenn man ausgeloggt ist, der Button "Angaben verändern" angezeigt wird. Und auch die Buttons "Änderungen übernehmen" und "Änderungen verwerfen" sind aktiv. Man kann halt nur keine anderen Inhalte reinschreiben. Wäre es nicht sinnvoller, denn Button "Angaben verändern" gleich komplett zu verstecken? Achja, und Chrome liefert ein paar Erros und eine Meldung zurück, die sind aber denke ich harmlos (siehe Bild). Was mir auch noch aufgefallen ist, hast du die Importfunktion entfernt? Danke und Mfg, Tropaion
:
Bearbeitet durch User
Hi, Fabian P. schrieb: > Mir ist aber aufgefallen, das, auch wenn man ausgeloggt ist, der Button > "Angaben verändern" angezeigt wird. Und auch die Buttons "Änderungen > übernehmen" und "Änderungen verwerfen" sind aktiv. Man kann halt nur > keine anderen Inhalte reinschreiben. Ok macht Sinn, ich habe es jetzt so verändert, dass die Buttons deaktiviert sind, wenn der Nutzer nicht die Berechtigung Bauteile->Allgemein->Bearbeiten hat. Fabian P. schrieb: > Achja, und Chrome liefert ein paar Erros und eine Meldung zurück, die > sind aber denke ich harmlos (siehe Bild). Das mit "The anchor must contain #" ist mehr oder weniger normal, ich weiß nicht genau woran das liegt, es stört aber nicht sonderlich. Zu den anderen Fehlern: Bist du sicher das der Ordner icons auf deinem Server existiert, bzw. auch von außen zugreifbar ist? Fabian P. schrieb: > Was mir auch noch aufgefallen ist, hast du die Importfunktion entfernt? Nein, sie ist aber für den anonymous User deaktiviert, da man zum Importieren, Schreibrechte benötigt, die anonymous nicht hat. Beim user admin sollte die Importfunktion angezeigt werden. Für alle die das Benutzersystem mal testen wollen, ohne es zu installieren, können dies in der Online-Demo tun (http://part-db.bplaced.net/startup.php). Für einen User mit Schreibrechten, müsst ihr euch mit user:user einloggen. Gruß Jan B.
Hallo Jan, der Button "Angaben verändern" ist zwar deaktiviert, aber darauf klicken kann man trotzdem noch. Wäre das auch möglich, das der, wenn man keine Rechte hat komplett ausgeblendet wird? Jan B. schrieb: > Zu den > anderen Fehlern: Bist du sicher das der Ordner icons auf deinem Server > existiert, bzw. auch von außen zugreifbar ist? Ja, die liegen genau da wo sie sein sollen (siehe Bild). 4 Bootstrap-Errors sind auch noch zu sehen. Und ich hätte noch zwei Fragen die sich jetzt nicht direkt auf das User-System beziehen. Die Funktion "Unterkategorien einblenden" ist immer aktiv, wenn man eine Überkategorie auswählt. Geht das auch, das das standardmäßig inaktiv ist bis man darauf klickt. Das würde Ladezeiten von Überkategorien stark verkürzen. Fabian P. schrieb: > Ist es möglich, das bei Natural Sorting auch "k" und "M" berücksichtigt > werden? Das konnte ich bis jetzt noch nicht herausfinden. Aber du meintest ja, das du Prefix-Erkennung auch implementieren möchtest/hast. Danke und Mfg, Tropaion
Ich habe die Entwicklung jetzt einige Zeit still verfolgt und kann nur eines sagen: Spitze! Herzlichen Dank für die Weiterentwickelung!
Fabian P. schrieb: > Fabian P. schrieb: >> Ist es möglich, das bei Natural Sorting auch "k" und "M" berücksichtigt >> werden? > > Das konnte ich bis jetzt noch nicht herausfinden. Aber du meintest ja, > das du Prefix-Erkennung auch implementieren möchtest/hast. Im Prinzip bekommt er dass auch hin, zumindest wenn es im Format 1.3kOhm wäre. Mit deinem Format 1k3 geht es momentan noch nicht. Ich kann aber probieren das einzubauen. Sortierung nach mehreren Spalten sollte auch möglich sein. Ich schaue morgen Mal. Gruß Jan B.
Hi, Fabian P. schrieb: > ich hätte da noch zwei Fragen. > Ist es möglich, das bei Natural Sorting auch "k" und "M" berücksichtigt > werden? > Wenn ja, wie geht das? mit der neusten Version von Github, sollte deine Sortierung jetzt eigentlich richtig sein (zumindest wenn die Zahlen am Anfang des Namen stehen). Ich bitte um Feedback ob es jetzt geht xD Fabian P. schrieb: > Und, wenn ich nach Lagerort sortiere, kann man dann trotzdem auch noch > Natural Sorting aktiviert haben? Ich habe festgestellt, dass das schon immer ging: Man kann nach mehrern Spalten gleichzeitig sortieren, in dem man auf den Sortieren button, mit gehaltener Shifttaste klickt. Gruß Jan B.
Hallo Jan, ja, funktioniert einwandfrei, vielen Dank! (Example: http://parts.cyberlabs.at/show_category_parts.php?cid=116 ) Rein aus Interesse, wie sieht es mit deinen weiteren Plänen mit Part-DB aus, jetzt wo das User-System implementiert ist? Fabian P. schrieb: > Die Funktion "Unterkategorien einblenden" ist immer aktiv, wenn man eine > Überkategorie auswählt. Geht das auch, das das standardmäßig inaktiv ist > bis man darauf klickt. Das würde Ladezeiten von Überkategorien stark > verkürzen. Wäre das eig. sehr aufwändig zu ändern? Ich denke, das wäre wirklich sinnvoll, wenn man sehr viele Bauteile hat, da es oft sonst ewig lädt. Danke und Mfg, Tropaion
:
Bearbeitet durch User
Fabian P. schrieb: > Ich denke, das wäre wirklich sinnvoll, wenn man sehr viele Bauteile hat, > da es oft sonst ewig lädt. Ein einstellbares Paging wäre vielleicht auch nicht schlecht, also z.B. ab 40 Teilen ein Button zum Weiterblättern o.ä.?
Hallo, Jan L. schrieb: > Ein einstellbares Paging wäre vielleicht auch nicht schlecht, also z.B. > ab 40 Teilen ein Button zum Weiterblättern o.ä.? Wäre vll. auch eine gute Idee. Jan B. schrieb: > mit > gehaltener Shifttaste klickt. Habe ich gerade probiert, irgendwie funktioniert das nicht ganz bei mir. Ich habe versucht, zuerst nach Lagerort (weil ich zwei verschiedene Lagerstandorte habe, "C" und "F" und ich oft gerne schauen möchte, was genau an diesem Standort vorhanden ist) und dann nach Name sortieren, aber Natural Sorting funktioniert irgendwie nicht richtig dann. Danke und Mfg, Tropaion
:
Bearbeitet durch User
Hi, Fabian P. schrieb: > Fabian P. schrieb: >> Die Funktion "Unterkategorien einblenden" ist immer aktiv, wenn man eine >> Überkategorie auswählt. Geht das auch, das das standardmäßig inaktiv ist >> bis man darauf klickt. Das würde Ladezeiten von Überkategorien stark >> verkürzen. > > Wäre das eig. sehr aufwändig zu ändern? > Ich denke, das wäre wirklich sinnvoll, wenn man sehr viele Bauteile hat, > da es oft sonst ewig lädt. Ich habe es eben mal schnell eingebaut. Es gibt jetzt eine Option dafür in den Einstellungen Funktionen->Bauteiletabellen. Fabian P. schrieb: > Rein aus Interesse, > wie sieht es mit deinen weiteren Plänen mit Part-DB aus, jetzt wo das > User-System implementiert ist? Jan L. schrieb: > Ein einstellbares Paging wäre vielleicht auch nicht schlecht, also z.B. > ab 40 Teilen ein Button zum Weiterblättern o.ä.? Das mit dem Paging war auch so mein Gedanke, dass dürfte sehr hilfreich sein, und sollte sich vom Aufwand her auch in Grenzen halten. Dann gibt es ja noch den Updater, wobei der auch nicht so wahnsinnig komplex sein dürfte. Desweiteren wäre noch ganz nett ein Log über die Aktionen der Nutzer zu haben, z.B. das man sehen kann, wer wann wieviele Teile entnommen hat. Weiter Ideen wären, die Möglichkeit mehrer Lagerorte zu einem Bauteil hinzuzufügen (und wenn man gleich dabei ist, auch mehrere Hersteller), eine Überprüfung, ob das anzulegende Teil bereits existiert, die Möglichkeit einem Bauteil Tags zuzuweisen (dann kann man Querverbindungen über Kategoriengrenzen hinaus treffen). In einer Woche fängt für mich die Uni an, da muss ich aber schauen wie viel Zeit habe, um an den Features zu arbeiten. Gruß Jan B.
Hallo Jan, Jan B. schrieb: > Ich habe es eben mal schnell eingebaut. WoW, das ging schnell! Funktioniert einwandfrei. Jan B. schrieb: > Weiter Ideen wären, die Möglichkeit mehrer Lagerorte zu einem Bauteil > hinzuzufügen (und wenn man gleich dabei ist, auch mehrere Hersteller), > eine Überprüfung, ob das anzulegende Teil bereits existiert, die > Möglichkeit einem Bauteil Tags zuzuweisen (dann kann man > Querverbindungen über Kategoriengrenzen hinaus treffen). Finde ich eine sehr gut Idee! Fabian P. schrieb: > Habe ich gerade probiert, irgendwie funktioniert das nicht ganz bei mir. > Ich habe versucht, zuerst nach Lagerort (weil ich zwei verschiedene > Lagerstandorte habe, "C" und "F" und ich oft gerne schauen möchte, was > genau an diesem Standort vorhanden ist) und dann nach Name sortieren, > aber Natural Sorting funktioniert irgendwie nicht richtig dann. Dazu wäre mir noch was eingefallen. Ist es möglich, das man Natural Sorting standardmäßig erzwingt, auch wenn man eine andere Sortierung auswählt? Finde ich, wäre eig. sinnvoll. Vielen Dank und Mfg, Tropaion
Fabian P. schrieb: > Habe ich gerade probiert, irgendwie funktioniert das nicht ganz bei mir. > Ich habe versucht, zuerst nach Lagerort (weil ich zwei verschiedene > Lagerstandorte habe, "C" und "F" und ich oft gerne schauen möchte, was > genau an diesem Standort vorhanden ist) und dann nach Name sortieren, > aber Natural Sorting funktioniert irgendwie nicht richtig dann. Ich befürchte, dass das an Datatables und/oder an dem natural Sort algorithmus liegt. Da ich nur annähernd verstehe wie er funktioniert, wird es vermutlich schwierig, das zu beheben... Gruß Jan B.
Hallo Jan, ich habe gerade einen Bug entdeckt. Die Verlinkung zu dem Ordner "icons" wird falsch generiert.
1 | <link rel="apple-touch-icon" sizes="180x180" ref="//icons/apple-touch-icon.png"> |
2 | <link rel="icon" type="image/png" ref="//icons/favicon-32x32.png" sizes="32x32"> |
3 | <link rel="icon" type="image/png" ref="//icons/favicon-16x16.png" sizes="16x16"> |
4 | <link rel="manifest" ref="//icons/manifest.json"> |
5 | <link rel="mask-icon" ref="//icons/safari-pinned-tab.svg" color="#5bbad5"> <link rel="shortcut icon" ref="//icons/favicon.ico"> |
Darum findet er die Icons auch alle nicht. Leider weiß ich nicht wo du die Links generierst, sonst hätte ich es bei mir eh schon geändert. "h ref" wird leider als Spam erkannt, darum musste ich es entfernen. Danke und Mfg, Tropaion
Fabian P. schrieb: > Hallo Jan, > > ich habe gerade einen Bug entdeckt. > Die Verlinkung zu dem Ordner "icons" wird falsch generiert.<link > rel="apple-touch-icon" sizes="180x180" > ref="//icons/apple-touch-icon.png"> > <link rel="icon" type="image/png" ref="//icons/favicon-32x32.png" > sizes="32x32"> > <link rel="icon" type="image/png" ref="//icons/favicon-16x16.png" > sizes="16x16"> > <link rel="manifest" ref="//icons/manifest.json"> > <link rel="mask-icon" ref="//icons/safari-pinned-tab.svg" > color="#5bbad5"> <link rel="shortcut icon" ref="//icons/favicon.ico"> > > Darum findet er die Icons auch alle nicht. > Leider weiß ich nicht wo du die Links generierst, sonst hätte ich es bei > mir eh schon geändert. > > "h ref" wird leider als Spam erkannt, darum musste ich es entfernen. > > Danke und Mfg, > Tropaion Da hatte ich in der smarty_head.tpl, ein Slash zuviel. Sollte jetzt gefixt sein. Interessant it, dass der Browser in vielen Fällen, dass erlaubt hat. Gruß Jan B.
Hallo Jan, Jan B. schrieb: > Da hatte ich in der smarty_head.tpl, ein Slash zuviel. Ja, super danke! Funktioniert jetzt einwandfrei. Zwei Fragen sind mir wieder eingefallen. Hast du vor, die Funktion Bauteileigenschaften und Kommentar zu trennen? Mir gefallen die Bauteileigenschaften nämlich sehr gut. Und, werden die Bauteileigenschaften dann auch importierbar? Ich habe gerade versucht, einen Kommentar als Bauteileigenschaft zu importieren, aber leider hat er das dann nicht richtig dargestellt. Und mitexportiert werden die Kommentare auch nicht, habe ich gesehen. Danke und Mfg, Tropaion
Hi, Fabian P. schrieb: > Zwei Fragen sind mir wieder eingefallen. > Hast du vor, die Funktion Bauteileigenschaften und Kommentar zu trennen? > Mir gefallen die Bauteileigenschaften nämlich sehr gut. Ja, das ist mittelfristig so angedacht, ich muss mir noch überlegen, wie man das möglichst gut als Datenbankschema umsetzt. Fabian P. schrieb: > Und, werden die Bauteileigenschaften dann auch importierbar? Ja, das könnte man dann einprogrammieren. Es sollte auch möglich sein diese Werte automatisch von z.B. Octopart.io einzulesen. Fabian P. schrieb: > Ich habe gerade versucht, einen Kommentar als Bauteileigenschaft zu > importieren, aber leider hat er das dann nicht richtig dargestellt. > > Und mitexportiert werden die Kommentare auch nicht, habe ich gesehen. Wie gesagt, das Import/Exportsystem benötigt eine grundlegende Überholung, momentan ist es nicht wirklich gut. Gruß Jan B.
Hallo, wo finde ich denn die aktuellste Version? Würde die Part-DB gerne ausprobieren. https://github.com/sandboxgangster/Part-DB.git <-- Aktuellste? Oder gibt es weitere git's?
Wie siehts eigentlich mit mysqli aus? (Entschuldigt die vielen Posts)
Hi, AK schrieb: > Würde die Part-DB gerne > ausprobieren. Hier ist eine Testinstallation: http://part-db.bplaced.net/startup.php Für einen User mit Schreibrechten, müsst ihr euch mit user:user einloggen. AK schrieb: > Das hier scheint das aktuelle zu sein?! Ja, der Branch nextgen ist immer die aktuellste Version. AK schrieb: > Wie siehts eigentlich mit mysqli aus? Als Datenbank musst du eine InnoDB verwenden. Mfg, Tropaion
AK schrieb: > https://github.com/jbtronics/Part-DB Ja das ist das aktuelle. AK schrieb: > Wie siehts eigentlich mit mysqli aus? Ich bin mir nicht ganz sicher was du meinst, aber mysqli ist eine Möglichkeit PHP skripte mit einer MySQL Datenbank zu verbinden (und auch nur mit MySQL). Part-DB benutzt als Interface aber PDO, das kann im Prinzip das selbe wie mysqli, hat aber den Vorteil das es theoretisch auch andere Datenbanktypen wie SQlite oder PostgreSQL unterstützt (Part-DB benutzt dies momentan aber nicht). Daher muss für Part-DB auch das Paket php7-pdo_mysql installiert sein. Weiterhin braucht Part-DB eine MySQL Datenbank die InnoDB unterstützt (ist normalerweise Standard mittlerweile), da sie deutliche Verbesserungen in Bereich Integrität bringt. Gruß Jan B.
Hallo Jan, Jan B. schrieb: > Ich befürchte, dass das an Datatables und/oder an dem natural Sort > algorithmus liegt. Da ich nur annähernd verstehe wie er funktioniert, > wird es vermutlich schwierig, das zu beheben... Ich habe bei Datatables auf GitHub deswegen einen Bugreport gemacht, wo auch gesagt wurde was geändert werden sollte. Leider kann ich das nicht ganz nachvollziehen, da ich die Part-DB Struktur noch immer nicht gut genug verstehe. Vll. kannst du ja was damit anfangen? https://github.com/DataTables/Plugins/issues/347#issuecomment-331922562 Danke und Mfg, Tropaion
Fabian P. schrieb: > Hallo Jan, > > Jan B. schrieb: >> Ich befürchte, dass das an Datatables und/oder an dem natural Sort >> algorithmus liegt. Da ich nur annähernd verstehe wie er funktioniert, >> wird es vermutlich schwierig, das zu beheben... > > Ich habe bei Datatables auf GitHub deswegen einen Bugreport gemacht, wo > auch gesagt wurde was geändert werden sollte. > > Leider kann ich das nicht ganz nachvollziehen, da ich die Part-DB > Struktur noch immer nicht gut genug verstehe. > > Vll. kannst du ja was damit anfangen? > https://github.com/DataTables/Plugins/issues/347#issuecomment-331922562 > > Danke und Mfg, > Tropaion Zumindest zum testen, sollte es reichen die Funktion makeTableSort in Templates/nextgen/js/ajaxui.js zu bearbeiten (https://github.com/jbtronics/Part-DB/blob/nextgen/templates/nextgen/js/ajax_ui.js) Möglicherweise musst du die Zahl die dir im bugreport genannt wurde um eins erhöhen, denn es gibt eine versteckte Spalte am Anfang. Wenn du es getestet hast, schreib Mal ob es geklappt hat. Gruß Jan B.
Hallo Jan, ich hab es auf [1] gesetzt und damit funktioniert es einwandfrei. Mit [2] funktioniert es nicht. Zum test, siehe hier: http://parts.cyberlabs.at/show_category_parts.php?cid=107 Man muss es nicht einmal mit Shift als Zweitsortierung auswählen, es wird immer natural sorting gemacht. Im Anhang die editierte Datei. Danke und Mfg, Tropaion
:
Bearbeitet durch User
Fabian P. schrieb: > Hallo Jan, > > ich hab es auf [1] gesetzt und damit funktioniert es einwandfrei. > Mit [2] funktioniert es nicht. > Zum test, siehe hier: > http://parts.cyberlabs.at/show_category_parts.php?cid=107 > > Man muss es nicht einmal mit Shift als Zweitsortierung auswählen, es > wird immer natural sorting gemacht. > > Im Anhang die editierte Datei. > > Danke und Mfg, > Tropaion Ok, scheint zu funktionieren. Ich habe zwar keine Ahnung wieso es so überhaupt funktioniert (nach meiner Interpretation würde natural sorting so auschließlich in der ersten Spalte funktionieren), aber ich habe es eingebaut. Vielen Dank fürs nachfragen. Gruß Jan B.
Jan B. schrieb: > Ich habe zwar keine Ahnung wieso es so > überhaupt funktioniert Ich auch nicht :D Jan B. schrieb: > aber ich habe es > eingebaut. Super! Jan B. schrieb: > Vielen Dank fürs nachfragen. Immer gerne. Wie kommst du eig. mit dem Update-System voran? Danke und Mfg, Tropaion
Fabian P. schrieb: > Wie kommst du eig. mit dem Update-System voran? Ich habe gestern und heute, so ein bisschen Kleinkram eingebaut (Livesuche, Suchhighlighting, Anzeige aller Bauteile mit einem bestimmten Lieferanten, "unbekannt" Zustand für lagerbestand, etc.). Morgen wollte ich anfangen, dass Updatesystem einzubauen. Gruß Jan B.
Jan B. schrieb: > Ich habe gestern und heute, so ein bisschen Kleinkram eingebaut > (Livesuche, Suchhighlighting, Anzeige aller Bauteile mit einem kleiner Bug: - tippt man im Suchfeld z.B. "boost", zeigt er sehr schön die entsprechenden Treffer an - löscht man die Suchfeldeingabe wieder, so bleibt grundsätzlich eine Trefferliste mit den ersten 2 Buchstaben stehen (also "Teffer für 'bo'")
Jan L. schrieb: > kleiner Bug: - tippt man im Suchfeld z.B. "boost", zeigt er sehr schön > die entsprechenden Treffer an > > - löscht man die Suchfeldeingabe wieder, so bleibt grundsätzlich eine > Trefferliste mit den ersten 2 Buchstaben stehen (also "Teffer für 'bo'") Das ist mehr oder gewollt so... Wenn man bei einem Buchstaben sucht, dann dauert die Ladezeit zu lange. Bisher ist mir noch keine Methode eingefallen, wie man dass besser lösen kann? Hast du ne Idee? Gruß Jan B.
Jan B. schrieb: > Jan L. schrieb: >> kleiner Bug: - tippt man im Suchfeld z.B. "boost", zeigt er sehr schön >> die entsprechenden Treffer an >> >> - löscht man die Suchfeldeingabe wieder, so bleibt grundsätzlich eine >> Trefferliste mit den ersten 2 Buchstaben stehen (also "Teffer für 'bo'") > > Das ist mehr oder gewollt so... Wenn man bei einem Buchstaben sucht, > dann dauert die Ladezeit zu lange. > > Bisher ist mir noch keine Methode eingefallen, wie man dass besser lösen > kann? Hast du ne Idee? vielleicht könnte man "nur 1 Zeichen" ähnlich behandeln wie "kein Zeichen", bzw. beim Editieren des Suchbegriffs ab bei einem Zeichen im Feld sowas wie "Suchbegriff zu kurz" (statt "keine Treffer") anzeigen. Wäre imo weniger auffällig als eine Trefferliste für "bo", während das Suchfeld aber eigentlich leer ist. Gibt aber sicherlich Wichtigeres als das... 8-} > > Gruß > Jan B.
Jan L. schrieb: > vielleicht könnte man "nur 1 Zeichen" ähnlich behandeln wie "kein > Zeichen", bzw. beim Editieren des Suchbegriffs ab bei einem Zeichen im > Feld sowas wie "Suchbegriff zu kurz" (statt "keine Treffer") anzeigen. > Wäre imo weniger auffällig als eine Trefferliste für "bo", während das > Suchfeld aber eigentlich leer ist. Ok, ich habe es jetzt mal so eingebaut. Weiterhin werden jetzt die password_* Funktionen von PHP für das Hashen des Adminpasswords benutzt, weswegen man sich in der neusten Version (zumindest wenn man die entsprechenden Rechte besitzt) aufgefordert wird, dass Admin password zu ändern. Gruß Jan B.
Aber bitte keine weiteren Restriktionen bei der PW-Vergabe einbauen. Ich will mir nicht ständig neue PWs ausdenken müssen und dazu genötigt werden, irgendwelche Kombinationen aus Sonderzeichen, Zahlen und Großbuchstaben zu nutzen... Ansonsten bin ich von der aktuellen Version schwer begeistert.
Ludwig K. schrieb: > Aber bitte keine weiteren Restriktionen bei der PW-Vergabe einbauen. > Ich will mir nicht ständig neue PWs ausdenken müssen und dazu genötigt > werden, irgendwelche Kombinationen aus Sonderzeichen, Zahlen und > Großbuchstaben zu nutzen... Momentan muss man, dass Password auch nicht wirklich ändern, man kann auch das alte Password noch einmal eingeben. Die "Änderung" wird auch nur deshalb benötigt, weil er das Password neu mit einem anderen Verfahren speichert und er dafür das Password im Klartext benötigt. Aber ich denke auch, dass ich es bei der Beschränkung mit mindestens 6 Zeichen belasse, ich kann es auch nicht leiden, wenn da zu viele Vorgaben gemacht werden... Die nächste Passwortänderung sollte, dann auch erst erforderlich sein, wenn PHP einen besseren Hashalgo einführt. Das sollte aber noch eine ganz Weile hin sein. Gruß Jan B.
Hallo, bei mir hat er nach dem Update gar nicht nach einem neuen Passwort gefragt.
Fabian P. schrieb: > bei mir hat er nach dem Update gar nicht nach einem neuen Passwort > gefragt. Du musst dich mit einem User einloggen, der das Adminpassword ändern darf: In der standardkonfiguration, darf dass z.B. "admin". Gruß Jan B.
Jan B. schrieb: > Daher muss für Part-DB auch das Paket > php7-pdo_mysql installiert sein. Habe in der PHP 7.1.9 (cli) (built: Aug 30 2017 18:58:30) ( NTS ) Und in der php.ini extension=pdo_mysql.so trotzdem erhalte ich: Fatal error: Uncaught Error: Call to undefined function _() in /srv/http/Part-DB/inc/lib.start_session.php:283 Stack trace: #0 [internal function]: exception_handler(Object(Error)) #1 {main} thrown in /srv/http/Part-DB/inc/lib.start_session.php on line 283 Hat jemand eine Lösung?
AK schrieb: > Jan B. schrieb: >> Daher muss für Part-DB auch das Paket >> php7-pdo_mysql installiert sein. > > Habe in der PHP 7.1.9 (cli) (built: Aug 30 2017 18:58:30) ( NTS ) > Und in der php.ini extension=pdo_mysql.so > > trotzdem erhalte ich: > Fatal error: Uncaught Error: Call to undefined function _() in > /srv/http/Part-DB/inc/lib.start_session.php:283 Stack trace: #0 > [internal function]: exception_handler(Object(Error)) #1 {main} thrown > in /srv/http/Part-DB/inc/lib.start_session.php on line 283 > > Hat jemand eine Lösung? Du musst noch php7-gettext installieren, bzw. die Extension aktivieren (unter Windows). _() ist die Funktion, die er für die Übersetzungen benötigt. Gruß Jan B.
Jan B. schrieb: > Du musst noch php7-gettext installieren, bzw. die Extension aktivieren > (unter Windows). > _() ist die Funktion, die er für die Übersetzungen benötigt. Nutze zwar kein Windows, sondern Arch aber es fehlte in der tat gettext. Danke für deine Hilfe! Sieht echt sehr gut aus. Gefällt mir! Ein kleiner, optischer Fehler ist mir aufgefallen. Wenn man eine Kategorie mit zu langem Namen anlegt, bricht die Zeile und die unter steht nicht auf selber höhe wie die ober z.b. Du hast die Aufteilung: Aktive Bauelemente => ICs => Schnittstelle - Treiber, Empfänger, Transceiver Dann steht die unterste Kategorie je nach Auflösung so da:
1 | Schnittstelle - Treiber, Empfänger, |
2 | Transceiver
|
Habe gerade festgestellt, dass man dem Anonymous-Zugang von Part-DB sinnvollerweise alle Rechte entziehen sollte, wenn man seine Datenbank extern laufen hat und etwas Privatsphäre möchte. Es sei denn, man will allen Gästen gern einen unbeschränkten Einblick in seine Bauteiledatenbank gewähren. Ich möchte das jedenfalls nicht und deshalb ist die Startseite nun völlig leer ;-) Erst nach einem Login eröffnet sich der Funktionsumfang, je nach Rechtesystem. Vielen Dank an Jan für das so fein justierbare Rechtesystem! Funktioniert bisher wunderbar. /Nachtrag:/ Irgendwie funktioniert die Abfrage nach den Kategorien etc. nicht so recht und es werden permanent die Hinweis hierzu angezeigt. Das lässt sich derzeit nur durch Auskommentierung in der startup.php umgehen.
:
Bearbeitet durch User
Ludwig K. schrieb: > Erst nach einem Login eröffnet sich der Funktionsumfang, je nach > Rechtesystem. Vielen Dank an Jan für das so fein justierbare > Rechtesystem! > Funktioniert bisher wunderbar. Vielen Dank xD Ludwig K. schrieb: > Irgendwie funktioniert die Abfrage nach den Kategorien etc. nicht so > recht und es werden permanent die Hinweis hierzu angezeigt. Das lässt > sich derzeit nur durch Auskommentierung in der startup.php umgehen. Tritt das immer auf, oder nur mit dem User der keine Rechte hat? Was genau kommentierst du aus? Gruß Jan B.
Hallo Jan, wie gehts eig. mit dem Update-System? Gibt es Komplikationen? MFG, Tropaion
Fabian P. schrieb: > Hallo Jan, > > wie gehts eig. mit dem Update-System? > Gibt es Komplikationen? > > MFG, > Tropaion Das eigentliche Updatesystem läuft jetzt... Ich muss jetzt nur noch die Oberfläche aufhübschen und es noch ein paar Mal testen. Das Hauptproblem ist, dass es ziemlich blöd ist zu testen und debuggen, deswegen zieht sich das... Gruß Jan B.
Hi alle zusammen, Ihr solltet alle einmal auf die aktuellste Version aus dem nextgen Branch updaten (geht leider nur manuell bisher), denn es wird ein kritischer Bug gefixt der es erlaubte sich ohne Password nur mit Eingabe des Benutzernamen einzuloggen. Da dies natürlich nicht sein darf, solltet ihr alle auf die neuste Version updaten. Danke an hellas für den Hinweis auf den Bug. Gruß Jan B. PS: Zusätzlich ist es mit der neuen Version möglich einer Baugruppe Dateianhänge zuzuordnen.
Hallo Jan, Fehler scheint behoben zu sein, vielen Dank für den schnellen Fix. Allerdings wird beim Einloggen nun immer darauf hingewiesen, dass man das Admin-PW ändern muss. Macht man das, hat das aber keinen Einfluss auf das nächste Login. Der Hinweis erfolgt wieder. Der kommt auch dann, wenn man als Zusatz-User mit Adminrechten sich einloggt.
:
Bearbeitet durch User
Ludwig K. schrieb: > Hallo Jan, > Fehler scheint behoben zu sein, vielen Dank für den schnellen Fix. > Allerdings wird beim Einloggen nun immer darauf hingewiesen, dass man > das Admin-PW ändern muss. Macht man das, hat das aber keinen Einfluss > auf das nächste Login. Der Hinweis erfolgt wieder. > Der kommt auch dann, wenn man als Zusatz-User mit Adminrechten sich > einloggt. Also dass kann ich an meinen System nicht nachstellen... Hat der Server schreibzugriff auf die config.php? Und kannst du mal in der config.php nachschauen, ob der Wert $config['admin']['password'] mit $2y beginnt, bzw. ob er sich generell ändert wenn du das Passwort versuchst zu ändern? Gruß Jan B.
Hallo Jan, mir ist gerade bei denn Footprints-Bilder ein Darstellungsfehler aufgefallen. (siehe Bild) Mfg, Tropaion
Fabian P. schrieb: > Hallo Jan, > > mir ist gerade bei denn Footprints-Bilder ein Darstellungsfehler > aufgefallen. (siehe Bild) > > Mfg, > Tropaion Ja ist mir auch schon aufgefallen, ich habe keine Ahnung woher, dass kommt und eigentlich dürfte da Problem gar nicht auftreten. Ich vermute das es möglicherweise ein Bug in bootstrap ist, der mit den leicht unterschiedlichen breiten der Bilder zusammen hängt. Leider ist mir auch noch kein workaround oder fix eingefallen... Gruß Jan B.
Hallo Jan, das Admin-PW kann ich ändern, das funktioniert. Witzigerweise bleibt der Wert der $config['admin']['password'] aber gleich. Kann ja nicht sein. Der Eintrag fängt auch nicht mit $2y an. Der ChangeMode Value für die config.php steht derzeit auf 644. Daran habe ich bisher nie etwas geändert. Was wäre denn hier korrekt?
Hallo Ludwig, die config.php so wie alle Dateien im Ordner "data" und der Ordner selbst sollten die Rechte "777" haben. Steht auch hier: https://github.com/jbtronics/Part-DB/wiki/EN%3A-Installation Mfg, Tropaion
:
Bearbeitet durch User
Fabian P. schrieb: > Hallo Ludwig, > > die config.php so wie alle Dateien im Ordner "data" und der Ordner > selbst sollten die Rechte "777" haben. sorry, aber das ist fahrlässig - und in erwähnter Anleitung steht auch ziemlich klar das "Gegenteil": <quote> For Part-DB to work correctly and ensure maximum security, the file permissions must still be set. The permissions of all directories should be set to 555, the permissions of all files should be set to 444. Only the directories "data" and "documentation/dokuwiki/data" have to be set recursively to 755 and 644, respectively. Too generous file permissions (e. g. 777) are very convenient because they allow Part-DB to work without any problems, but they pose an unnecessary security risk and should not be used under any circumstances (if this is not absolutely necessary due to the existing infrastructure)! </quote> letztlich sollte man halt nachschauen, unter welchem User der PHP-Prozess läuft, und genau diesem User an den genannten Stellen Schreibrechte verpasssen. "world writable" macht man eher nie niemals nicht... > > Steht auch hier: > https://github.com/jbtronics/Part-DB/wiki/EN%3A-Installation > > Mfg, > Tropaion
Jan L. schrieb: > sorry, aber das ist fahrlässig - und in erwähnter Anleitung steht auch > ziemlich klar das "Gegenteil": Da kann ich zu stimmen. Ich bin mir nicht ganz sicher aber Part-DB prüft sogar, ob die rechte nicht zu "weit" sind und gibt dann glaub eine Warnung aus. Und selbst mit den empfohlenen werten sollte man überlegen, ob es sinnvoll ist, dass jeder Benutzer des Systems in der Lage sein sollte die config.php, zu lesen. Immerhin stehen da die Zugangsdaten zur DB im Klartext drin. Die Rechte werden sich vermutlich etwas ändern wenn ich den Autoupdater fertig habe, da sollte aber Schreibzugriffe zusätzlich für den Benutzer ausreichen. @hellas: Dann ändert er scheinbar nicht den neuen PW Hash mit dem neuen algo in die config.php... ich schaue mir das morgen Mal an. Kannst du andere Einstellungen verändern/speichern? P.S.: Bei der Dokumentation ist die deutsche Version meist die bessere. Die englische Version ist maschinell aus der deutschen Version übersetzt und kann daher ein paar Fehler enthalten. Gruß Jan B.
Hi alle zusammen, ich habe heute eine Paginierungsfunktion eingebaut, d.h. Die Ergebnisse von z.b. allen Bauteilen einer bestimmten Kategorien werden auf Seiten zu (standardmäßig) je 50 Bauteilen aufgeteilt, zwischen denen gewechselt werden kann. Dies beschleunigt vorallem die Darstellung von z.b. Kategorien mit sehr vielen Bauteilen enorm. Weiterhin gibt es jetzt in der Kategorienübersicht eine Leiste mit der übergeordnete Kategorien sehr leicht aufgerufen werden können. Die neuen Funktionen findet ihr wie immer im nextgen Branch auf Github oder zum testen in der onlinedemo (http://part-db.bplaced.net/startup.php) Würde mich über Rückmeldung freuen. Gruß Jan B.
Hallo Jan, Jan B. schrieb: > Paginierungsfunktion Funktioniert einwandfrei. Jan B. schrieb: > Kategorienübersicht eine Leiste mit der > übergeordnete Kategorien sehr leicht aufgerufen Finde ich toll! Was mich aber stört, ist, das die Sortierung dann nicht mehr funktioniert, bzw. nur über eine Seite. Mfg, Tropaion
Hi, Fabian P. schrieb: > Finde ich toll! > > Was mich aber stört, ist, das die Sortierung dann nicht mehr > funktioniert, bzw. nur über eine Seite. Ja das ist das Problem, dass die Sortierung Clientseitig passiert und die Paginierung Serverseitig, da aber MySQL keine natürliche Sortierung beherscht, geht es nicht wirklich besser. Wenn man nun über alle Bauteile sortieren möchte, dann muss man auf den Button mit den 3 Strichen in der Paginierungsleiste klicken, dann zeigt er alle Ergebnisse auf einer Seite an, und dann lässt sich auch über alle Teile sortieren. Gruß Jan B.
Hi, ich hab über git clone und dann über install.php Part DB installiert. Leider werden in der Datenbank die Tabellen nicht angelegt. Kann ich das Script oder die php per Hand anstossen die die Tabellen erstellt ? Gruß JackFrost
Bastian W. schrieb: > Hi, > > ich hab über git clone und dann über install.php Part DB installiert. > Leider werden in der Datenbank die Tabellen nicht angelegt. > > Kann ich das Script oder die php per Hand anstossen die die Tabellen > erstellt ? > > Gruß JackFrost Du musst auf die Seite system_database.php aufrufen. Da sollte es einen Dialog geben um die Datenbank zu updaten bzw. in deinem Fall zu installieren. Gruß Jan B.
Ich bin in git nicht sonderlich bewandert, aber müsste ich für ein update nicht einfach folgenden Befehl nutzen?
1 | git fetch origin |
2 | remote: Counting objects: 461, done. |
3 | remote: Compressing objects: 100% (36/36), done. |
4 | remote: Total 461 (delta 197), reused 224 (delta 194), pack-reused 231 |
5 | Empfange Objekte: 100% (461/461), 258.95 KiB | 1004.00 KiB/s, Fertig. |
6 | Löse Unterschiede auf: 100% (318/318), abgeschlossen mit 49 lokalen Objekten. |
7 | Von https://github.com/jbtronics/Part-DB |
8 | 7fa0426d..05491f78 nextgen -> origin/nextgen |
9 | * [neuer Branch] breadcrumbs -> origin/breadcrumbs |
10 | 9ea2f0d0..8277d9f7 bugfix -> origin/bugfix |
11 | * [neuer Branch] datatables_select -> origin/datatables_select |
12 | f00a9be6..4424bf97 misc -> origin/misc |
13 | * [neuer Branch] more_attachement -> origin/more_attachement |
14 | * [neuer Branch] pagination -> origin/pagination |
15 | 24e5ac83..3a79ec13 updater -> origin/updater |
Eine Seitenfunktion habe ich nicht, auch nicht nach Browser Cache Entleerung.
AK schrieb: > Ich bin in git nicht sonderlich bewandert, aber müsste ich für ein > update nicht einfach folgenden Befehl nutzen? >
1 | > git fetch origin |
2 | > remote: Counting objects: 461, done. |
3 | > remote: Compressing objects: 100% (36/36), done. |
4 | > remote: Total 461 (delta 197), reused 224 (delta 194), pack-reused 231 |
5 | > Empfange Objekte: 100% (461/461), 258.95 KiB | 1004.00 KiB/s, Fertig. |
6 | > Löse Unterschiede auf: 100% (318/318), abgeschlossen mit 49 lokalen |
7 | > Objekten. |
8 | > Von https://github.com/jbtronics/Part-DB |
9 | > 7fa0426d..05491f78 nextgen -> origin/nextgen |
10 | > * [neuer Branch] breadcrumbs -> origin/breadcrumbs |
11 | > 9ea2f0d0..8277d9f7 bugfix -> origin/bugfix |
12 | > * [neuer Branch] datatables_select -> origin/datatables_select |
13 | > f00a9be6..4424bf97 misc -> origin/misc |
14 | > * [neuer Branch] more_attachement -> origin/more_attachement |
15 | > * [neuer Branch] pagination -> origin/pagination |
16 | > 24e5ac83..3a79ec13 updater -> origin/updater |
17 | >
|
> > Eine Seitenfunktion habe ich nicht, auch nicht nach Browser Cache > Entleerung. Probiere mal bitte
1 | git checkout nextgent |
und
1 | git pull |
auszuführen. Falls das nicht dazu führt, dass die Paginierung gezeigt wird, kannst du mal probieren den Ordner templates_c/ zu löschen. Gruß Jan B.
Ging beides nicht. Habs nun einfach gelöscht und mit git clone neu geladen... Nu gehts :)
Habe gerade festgestellt, dass man den templates_c ordner nicht auf chmode 555 stellen darf. Der muss offenbar tatsächlich auf 771 stehen bleiben. Nach wie vor stört o.g. Problem. Nach dem Login kommt folgende Meldung:
1 | Password Änderung erforderlich! |
2 | Aus Sicherheitsgründen müssen sie das Admin Password ändern. |
3 | Besuchen sie hierzu in die Systemeinstellungen. |
Das wird nur bei Usern mit Adminrechten angezeigt. Klickt man auf die Verlinkung zur Systemeinstellung und ändert das Admin-PW kommt folgende Fehlermeldung:
1 | Die neuen Werte konnten nicht gespeichert werden! |
2 | Fehlermeldung: Das eingegebene Administratorpasswort ist nicht korrekt! |
Loggt man sich aber als Admin ein, kann man das PW problemlos ändern. Trotzdem bleibt diese Meldung danach bestehen. Möglicherweise hat das mit dem Eintrag in der startup.php (Zeile 221) zu tun:
1 | $html->setVariable('must_change_admin_pw', |
2 | $current_user->canDo(PermissionManager::CONFIG, ConfigPermission::CHANGE_ADMIN_PW) |
Die Rechte der config.ini habe ich mal kurzzeitig auf 666 gesetzt. Das bringt jedoch keine Verbesserung.
:
Bearbeitet durch User
Ludwig K. schrieb: > Habe gerade festgestellt, dass man den templates_c ordner nicht auf > chmode 555 stellen darf. > Der muss offenbar tatsächlich auf 771 stehen bleiben. Ja der Server braucht schreibrechte auf den Ordner, da er dort die kompilierten Templates cacht. Probier es Mal mit 661, dann sollte es klappen. Zu der Meldung mit der Password änderung: An deiner zitieren Zeile sollt es eigentlich nicht liegen, da danach noch eine Zeile beginnend mit && und einem Check ob die Änderung wirklich erforderlich ist, kommt. Kannst du testhalber Mal eine neue Installation parallel zu deiner alten aufsetzen? Vielleicht gab es irgendwie das Problem, das verschiedene Codefiles auf unterschiedlichen Versionsständen sind. Dann sollte der Fehler eigentlich nicht mehr auftreten. Sonst habe ich keine wirkliche Erklärung für das Problem, weil ich bekomme es wie gesagt nicht reproduziert. Und ohne Zugriff auf deinem Server, ist es etwas schwer das zu debuggen. Gruß Jan B.
Hm, du meinst eine komplette zweite Installation samt zweiter Datenbank? Bei einem Software-Update ersetze ich eh den gesamten Orderninhalt von PartDB. Bis auf den data und den ventor-Ordner. Naja, es ist ja auch eher nur ein kosmetisches Problem.
Ludwig K. schrieb: > Hm, du meinst eine komplette zweite Installation samt zweiter Datenbank? Du kannst denke ich die selbe Datenbank benutzen. Es geht nur darum, dass der Code komplett "frisch" ist. Hast du Mal probiert, das aktuelle vendor.zip herunterladen und in deinen vendor/ folder zu entpacken. Vielleicht liegt da das Problem. Ich weiß nicht, ob ich es vielleicht schon Mal gefragt habe, aber welche PHP Version benutzt du? Gruß Jan B.
Das müsste die PHP-Vers. 7+ sein. Mein Provider bietet hier mehrere Versionen an, die ich selber umschalten kann. Man könnte also auch an der Schraube noch testweise drehen. Frischer Code kommt doch eigentlich schon dadurch zustande, dass ich doch das gesamte PartDB-Verzeichnis inhaltlich ersetze. Ich kopiere da nix vom Code rüber sonder schiebe lediglich nachträglich den vendor- u. den data Ordner mit ins neue Programmverzeichnis. Ich werde deinen Ratschlag demnächst trotzdem in die Tat umsetzen.
Ludwig K. schrieb: > Das müsste die PHP-Vers. 7+ sein. > Mein Provider bietet hier mehrere Versionen an, die ich selber > umschalten kann. Man könnte also auch an der Schraube noch testweise > drehen. > > Frischer Code kommt doch eigentlich schon dadurch zustande, dass ich > doch das gesamte PartDB-Verzeichnis inhaltlich ersetze. Ich kopiere da > nix vom Code rüber sonder schiebe lediglich nachträglich den vendor- u. > den data Ordner mit ins neue Programmverzeichnis. > > Ich werde deinen Ratschlag demnächst trotzdem in die Tat umsetzen. Ok. Hast du Zugriff auf das PHP Fehler Log? Weil wenn, möglicherweise steht da etwas interessantes drin. Gruß Jan B.
@hellas: Hast du es Mal ausprobiert, mit einer frischen Installation? Geht es jetzt oder bleibt der Fehler? Gruß Jan B.
Sry Jan, war noch keine Zeit dazu. Vor Montag werde ich dazu auch nicht kommen. Ich sag dann bescheid ob sich etwas verbessert hat.
Hallo alle zusammen, ich habe heute eine Funktion fertig gestellt, die es erlaubt in Übersichtstabellen (wie z.B. alle Bauteile einer bestimmten Kategorie auflisten) mehrere Bauteile auszuwählen, und sie dann zu verschieben oder zu löschen. Dazu klickt man einfach die Reihe des entsprechenden Bauteils. Mit Strg, bzw. Shift können mehrere Bauteile ausgewählt werden. Sobald Bauteile ausgewählt sind kann in der Leiste in der auch die Seite ausgewählt wird, eine Aktion (z.B. verschieben) ausgewählt werden und weiterhin ein Ziel. Wenn nun mit OK bestätigt wird, dann führt Part-DB diese Aktion auf alle gewählten Bauteile aus. Dies ist insbesondere praktisch, wenn man viele Bauteile auf einmal bearbeiten möchte, denn nun muss man nicht mehr die Eigenschaftsseiten der Bauteile aufrufen. Die neue Funktion findet ihr wie immer im nextgen Branch in meinem GitHub repo (https://github.com/jbtronics/Part-DB). Wer die neuen Funktionen einfach so testen möchte, kann dies in der Online-Demo (http://part-db.bplaced.net/startup.php) tun. Würde mich über Feedback freuen. Gruß Jan B.
Habe die aktuelle Version installiert unter arch linux mit einem apache und php7 ohne Probleme. Verschieben kappt auch! Ein paar Vorschläge: 1. Ich habe zum teil so kleine Kistchen aus Plastik wo jeweils 15 Fächer drin sind. Nun benenne ich die Kisten KBXX und die Fächer KBXXFXX Sprich unter Lagerort sieht das so aus: KB16 → KB16F01 Nun ist der gesamte Text verlinkt und wenn man drauf klickt, landet man bei dem Inhalt, der in KB16F01 ist. Wäre es ein großer Aufwand, dass man auch den Gesamtinhalt von KB16 anklicken könnte? :) 2. Wenn man einem Bauteil keinen Kommentar gibt, kommt in der Übersicht trotzdem ein Tooltip in dem dann nur "Kommentar: " steht. Das könnte man unterbinden. 3. Eine frei wählbare Startseite. z.B. die Kategorie "aktive Bauelemente"
Christian S. schrieb: > Habe die aktuelle Version installiert unter arch linux mit einem apache > und php7 ohne Probleme. Verschieben kappt auch! > > Ein paar Vorschläge: > 1. Ich habe zum teil so kleine Kistchen aus Plastik wo jeweils 15 Fächer > drin sind. Nun benenne ich die Kisten KBXX und die Fächer KBXXFXX > > Sprich unter Lagerort sieht das so aus: KB16 → KB16F01 > > Nun ist der gesamte Text verlinkt und wenn man drauf klickt, landet man > bei dem Inhalt, der in KB16F01 ist. Wäre es ein großer Aufwand, dass man > auch den Gesamtinhalt von KB16 anklicken könnte? :) > > 2. Wenn man einem Bauteil keinen Kommentar gibt, kommt in der Übersicht > trotzdem ein Tooltip in dem dann nur "Kommentar: " steht. Das könnte man > unterbinden. > > 3. Eine frei wählbare Startseite. z.B. die Kategorie "aktive > Bauelemente" Hi, ich habe deine ersten beide Vorschläge mal umgesetzt. Waren gute Ideen :) Die Änderungen findet ihr im Github Repo. Zu dem 3. Punkt werde ich mich mal so die Tage drum kümmern. Gruß Jan B.
Hallo, was ich bisher immer vermisst habe ist: das man direkt nach der BauteileIDr(=pid) suchen kann. Sind mehrere Bauteile bzw Komponenten an einem Lagerort(zb Schachteln) beschrifte ich diese meist mit der BauteileID um sich auseinander halten zu können. Gruß Pyromane
Gerald *. schrieb: > Hallo, > > was ich bisher immer vermisst habe ist: das man direkt nach der > BauteileIDr(=pid) suchen kann. > Sind mehrere Bauteile bzw Komponenten an einem Lagerort(zb Schachteln) > beschrifte ich diese meist mit der BauteileID um sich auseinander halten > zu können. > > Gruß > Pyromane Das geht sogar schon (zumindest etwas umständlich). Wenn man in das Suchfeld eine Zahl mit 7 Ziffern eingibt (aufgefüllt mit Nullen), dann interpretiert er diese zahl, als Bauteile ID. Also wenn man z.b. das Bauteil mit der ID 5 aufrufen möchte gibt man im Suchfeld z.b. "0000005" (ohne Anführungszeichen) ein. Das wird benutzt, dass man mit einem Barcodescanner, der den Barcode als Tastaturausgabe ausgibt, direkt in das Suchfeld scannen kann und dann das Bauteil zu finde. Das mit den 7 Zeichen ist etwas umständlich, aber sonst ist mir keine Möglichkeit eingefallen, es von normalen Sucheingaben zu trennen (sodass suchen nach z.b. 7400 nicht als ID fehlinterpretiert wird). Vielleicht fällt dir ja was dazu ein... Gruß Jan B.
Guten Abend Jan, danke für die schnelle und ausführliche Antwort. Das mit den sieben Stellen ist ja schon mal eine große Hilfe und für mich wohl ein guter Grund den Schritt nach vorne zu wagen und meine Version upzudaten(irgendwelche besonderen Hinweise dazu? 0.3.0 (stable)). Eine Möglichkeit das Problem mit den Nummern zu umgehend wäre meiner Meinung die Suchoptionen, das man dort die pid erst extra auswählen muss wenn diese durchsucht werden sollen. Gruß Pyromane
Gerald *. schrieb: > Das mit den sieben Stellen ist ja schon mal eine große Hilfe und für > mich wohl ein guter Grund den Schritt nach vorne zu wagen und meine > Version upzudaten(irgendwelche besonderen Hinweise dazu? 0.3.0 > (stable)). Das sollte eigentlich relativ unproblematisch sein. Du solltest natürlich vorher ein Backup von deiner Datenbank und deinem Data/ Ordner machen. Ansonsten musst du nur die aktuelle Version aus dem nextgen branch von GitHub nehmen (siehe hier: https://github.com/jbtronics/Part-DB). Benutze keine Version aus dem Release bereich, die sind sehr veraltet. Vermutlich werde ich bald Mal ein richtiges stable release rausbringen (0.4.0). Danach musst du nur noch den vendor.zip Ordner in deine Installation kopieren oder die Abhängigkeiten per Composer installieren (Anleitung hier: https://github.com/jbtronics/Part-DB/wiki/Installation#part-db-im-browser-aufrufen) Viel Erfolg. Gruß Jan B.
Hallo Jan, scheint leider doch nicht ganz so einfach zu sein. Erst habe ich die alte bestehende Installation(part-db) genommen und nach part-db2 kopiert, danach nextgen sowie vendor drüber kopiert. DB habe ich auch entsprechend kopiert und in der config.php den Datenbankname angepasst. Ergebnis: Es ist ein schwerwiegender Fehler aufgetreten: (genaue Meldung habe ich leider nicht mehr) Gut, dann eben nur die nextgen + vendor hochladen + data vom der alten Installation zurück spielen endet damit:
1 | Es ist ein schwerwiegender Fehler aufgetreten: |
2 | |
3 | Template Header-Datei ".../part-db2/templates/standard/smarty_head.tpl" wurde nicht gefunden! |
4 | |
5 | (Exception wurde geworfen in .../part-db2/lib/HTML.php, Zeile 369) |
Nach loeschen der config.php kann ich zumindest die Install.php aufrufen und abschließen, danach endet es aber hier:
1 | Die Tabelle "groups" existiert nicht in der Datenbank! |
Hättest du einen Tipp für mich? Gruß Pyromane Tante EDIT sagt: Eine völlige Neuinstallation ohne Altdaten endet übrigens auch damit:
1 | Die Tabelle "groups" existiert nicht in der Datenbank! |
Ich hab mal einen Blick in die DB geworden, es wurde keine einzige Tabelle angelegt obwohl es bei der Installation zu keinen Fehlermeldungen gekommen ist.
:
Bearbeitet durch User
Gerald *. schrieb: > Tante EDIT sagt: > Eine völlige Neuinstallation ohne Altdaten endet übrigens auch damit:Die > Tabelle "groups" existiert nicht in der Datenbank!Ich hab mal einen > Blick in die DB geworden, es wurde keine einzige > Tabelle angelegt obwohl es bei der Installation zu keinen > Fehlermeldungen gekommen ist. Es gab tatsächlich noch einen kleinen Bug der verhindert hat, dass die Startseite gezeigt wird, wenn die Tabellen für das Benutzersystem noch nicht existieren. Das ist jetzt aber gefixt. Auf der Startseite wirst du dann aufgefordert die Datenbank zu updaten, und wenn du das machst legt er dann alle erforderlichen Tabellen an, so dass das Usersystem, dann korrekt funktioniert. Gerald *. schrieb: > Gut, dann eben nur die nextgen + vendor hochladen + data vom der alten > Installation zurück spielen endet damit:Es ist ein schwerwiegender > Fehler aufgetreten: > > Template Header-Datei ".../part-db2/templates/standard/smarty_head.tpl" > wurde nicht gefunden! > > (Exception wurde geworfen in .../part-db2/lib/HTML.php, Zeile 369) Das Problem rührt daher, dass ich die neue Oberfläche umbenannt hatte (in nextgen), damit ich sie ursprünglich parallel zur alten Oberfläche entwickeln konnte. Da ich die alte Oberfläche (standard) aber gelöscht habe, in deiner config.php aber noch der alte Name steht, findet er die Vorlagen nicht. Lösen lässt es sich entweder, indem du frisch ohne config.php anfängst, und nur den data/media ordner in die neue installation kopierst, oder in dem du in deiner alten config.php die Zeile
1 | $config['html']['theme'] = "standard" |
in
1 | $config['html']['theme'] = "nextgen" |
änderst. Nun sollte es (hoffentlich) klappen. Gruß Jan B.
Danke für den schnellen Fix. Ich habe jetzt den Weg der völligen Neuinstallation ohne Altdaten gewählt: Installation klappt soweit, Tabellen wurden angelegt Dann gelange ich auf die Startseite und werden aufgefordert Kategorie und co anzulegen, das kann ich jedoch nicht weil die Felder alle ausgegraut sind(siehe Screen). Des weiteren geht kein einziges "Dropdown" Menu, daher kann ich mich weder anmelden noch in die Verwaltung schauen oder sonst etwas unternehmen. Gruß Pyromane Tante EDIT/Konsole sagt:
1 | startup.php:1 Refused to execute script from '.../part-db3/js/jquery-3.2.1.min.js' because its MIME type ('text/x-js') is not executable, and strict MIME type checking is enabled. |
2 | startup.php:1 Refused to execute script from '.../part-db3/js/bootstrap.min.js' because its MIME type ('text/x-js') is not executable, and strict MIME type checking is enabled. |
3 | startup.php:1 Refused to execute script from '.../part-db3/js/jquery.tristate.js' because its MIME type ('text/x-js') is not executable, and strict MIME type checking is enabled. |
4 | startup.php:1 Refused to execute script from '.../part-db3/datatables/datatables.min.js' because its MIME type ('text/x-js') is not executable, and strict MIME type checking is enabled. |
5 | startup.php:1 Refused to execute script from '.../part-db3/datatables/natural.js' because its MIME type ('text/x-js') is not executable, and strict MIME type checking is enabled. |
6 | startup.php:1 Refused to execute script from '.../part-db3/javascript/calculator.js' because its MIME type ('text/x-js') is not executable, and strict MIME type checking is enabled. |
7 | startup.php:1 Refused to execute script from '.../part-db3/js/jquery.form.min.js' because its MIME type ('text/x-js') is not executable, and strict MIME type checking is enabled. |
8 | startup.php:1 Refused to execute script from '.../part-db3/js/bootstrap-select.min.js' because its MIME type ('text/x-js') is not executable, and strict MIME type checking is enabled. |
9 | startup.php:1 Refused to execute script from '.../part-db3/js/i18n/defaults-de_DE.js' because its MIME type ('text/x-js') is not executable, and strict MIME type checking is enabled. |
10 | startup.php:1 Refused to execute script from '.../part-db3/js/bootstrap-treeview.js' because its MIME type ('text/x-js') is not executable, and strict MIME type checking is enabled. |
11 | startup.php:1 Refused to execute script from '.../part-db3/js/fileinput.min.js' because its MIME type ('text/x-js') is not executable, and strict MIME type checking is enabled. |
12 | startup.php:1 Refused to execute script from '.../part-db3/js/jquery.highlight.js' because its MIME type ('text/x-js') is not executable, and strict MIME type checking is enabled. |
13 | startup.php:1 Refused to execute script from '.../part-db3/templates/nextgen/js/functions.js' because its MIME type ('text/x-js') is not executable, and strict MIME type checking is enabled. |
14 | startup.php:1 Refused to execute script from '.../part-db3/templates/nextgen/js/ajax_ui.js' because its MIME type ('text/x-js') is not executable, and strict MIME type checking is enabled. |
Mir sagt die Fehlermeldung leider wenig, aber die erste Datei /part-db3/js/jquery-3.2.1.min.js hat bei mir die Berechtigung 0644 bzw rw-r--r--
:
Bearbeitet durch User
Hi Gerald, den Fehler kannte ich auch noch nicht. Scheinbar liefert der Webserver die Javascript Skripte mit dem falschen MIME Typ aus. Und da dein Browser keine Skripte mit falschem MIME Typ ausführt, funktioniert kein einziges skript, was zu den dir beschriebenen Problem führt. Ich werde es nachher versuchen richtig zu lösen. Aber um es erst mal zum funktionieren zu bringen, sollte es reichen in der .htaccess Datei die Zeile
1 | Header set X-Content-Type-Options "nosniff" |
zu löschen, bzw mit # auszukommentieren. Danach sollten die Skripte alle funktionieren und du solltest in der Lage sein dich als admin einzuloggen. Gruß Jan B. EDIT: kannst du mal in deinen globalen Apache config Dateien Mal schauen, ob es irgendeine Direktive wo "text/x-js" vorkommt. Weil normalerweise dürfte Apache das gar nicht so ausliefern, weil der Mime Typ experimentell ist, bzw gar nicht existiert. Zwar sollte es reichen die obige Zeile zu ändern, aber vermutlich ist es besser, wenn wir das Problem am Ursprung lösen.
:
Bearbeitet durch User
Hallo, ich habe soeben die neue Part-DB installiert. Ich kann im Webinterface auch wunderbar auf die Daten von der alten Version zugreifen. Wenn ich aber versuche mich als admin einzuloggen, so scheitert der Login mit der Meldung "Achtung! Der Benutzername oder das Password waren falsch!". Ich habe die config schon mehrere Male gelöscht und das ganze neu gestartet (auch andere Passwörter getestet (Das von mir als "admin" eingegebene Passwort ist definitiv richtig!)).
Mahlzeit Jan, danke für deine Unterstützung, ich kann jetzt die Daten zugreifen. Update der bestehenden Installation als auch eine völlige Neuinstallation sind damit möglich. Auf die globale Apache Config habe ich leider keinen Einfluss, da es sich um Shared Hoster, ich könnte allerdings ein Ticket beim Hoster eröffnen und die versuchen an die Config ranzukommen. An dieser Stellt noch einmal ein dickes Danke für deine Unterstützung und ebenso dickes Danke für deine Weiterentwicklung! Gruß Pyromane
Max M. schrieb: > Hallo, > ich habe soeben die neue Part-DB installiert. Ich kann im Webinterface > auch wunderbar auf die Daten von der alten Version zugreifen. Wenn ich > aber versuche mich als admin einzuloggen, so scheitert der Login mit der > Meldung "Achtung! Der Benutzername oder das Password waren falsch!". Ich > habe die config schon mehrere Male gelöscht und das ganze neu gestartet > (auch andere Passwörter getestet (Das von mir als "admin" eingegebene > Passwort ist definitiv richtig!)). Das standardmäßige Password für den admin User ist "admin". Du kannst (momentan zumindest) nicht das Password benutzen, dass du früher als Administrator passwort benutzt hast, weil der Algorithmus, der das alte Adminpassword gespeichert hat, ein anderer ist, als der für die Benutzerdatenbank benutzt wird. Solltest es mit "admin" nicht funktionieren, dann folge mal diesen Anweisungen hier (https://github.com/jbtronics/Part-DB/wiki/Passwort-zur%C3%BCcksetzen) Gerald *. schrieb: > Auf die globale Apache Config habe ich leider keinen Einfluss, da es > sich um Shared Hoster, ich könnte allerdings ein Ticket beim Hoster > eröffnen und die versuchen an die Config ranzukommen. Ist nicht so wichtig, du musst halt, beim Updaten immer die Zeile in der .htaccess auskommentieren, wenn es nicht funktionieren sollte. Gruß Jan B.
Hallo, besten Dank, hat mir sehr weitergeholfen. Ich freue mich das dieses Projekt mal wieder Fahrt aufgenommen und ein frisches Design erhalten hat. Macht weiter so! MAX
Nachtrag, über die "alte" part-db funktioniert es einwandfrei und wird in der Neuen dann auch zur Anzeige gebracht.
:
Bearbeitet durch User
Max M. schrieb: > Nachtrag, > über die "alte" part-db funktioniert es einwandfrei und wird in der > Neuen dann auch zur Anzeige gebracht. Hi, wird in system_database.php irgendein Update angeboten? Scheinbar fehlen tabellenspalten, die eigentlich erstellt worden sein müssen, nachdem du die Datenbank geupdated hast. Gruß Jan B.
Jan B. schrieb: > wird in system_database.php irgendein Update angeboten? > Scheinbar fehlen tabellenspalten, die eigentlich erstellt worden sein > müssen, nachdem du die Datenbank geupdated hast. Datenbank scheint aktuell zu sein (Version 21), automatische Updates sind aktiviert.
Ich nochmal... Mir sind da noch ein paar andere kleine Bugs aufgefallen, soll das hier im Forum für Verwirrung stiften, oder soll ich das lieber bei GitHub nen Commit eröffnen?
Max M. schrieb: > Ich nochmal... > > Mir sind da noch ein paar andere kleine Bugs aufgefallen, soll das hier > im Forum für Verwirrung stiften, oder soll ich das lieber bei GitHub nen > Commit eröffnen? Eigentlich ist es egal, aber wenn du einen GitHub Account hast, dann ist es vermutlich am besten, wenn du ein paar Issues aufmachst, dann hat man das übersichtlich und man kann sehen, was schon gefixt wurde. Gruß Jan Böhmer
Moin, hier nochmal ein Nachtrag zu meinem Post am 24.10.2017 11:01. Mir fehlt in der Tabelle die Spalte last_modified. Wie kann ich diese in phpMyAdmin nun händisch hinzufügen? Beim automatischen Update von der alten Version ist da wohl irgendetwas daneben gegangen :-( EDIT: Ich habs geschafft, habe die aktuelle DB exportiert, die SQL-Datei angepasst (`last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' bei CREATE TABLE `attachements` hinzugefügt) und wieder neu importiert. ES LÄUFT !!! :-))
:
Bearbeitet durch User
Max M. schrieb: > Moin, > hier nochmal ein Nachtrag zu meinem Post am 24.10.2017 11:01. Mir fehlt > in der Tabelle die Spalte last_modified. Wie kann ich diese in > phpMyAdmin nun händisch hinzufügen? Beim automatischen Update von der > alten Version ist da wohl irgendetwas daneben gegangen :-( > > EDIT: Ich habs geschafft, habe die aktuelle DB exportiert, die SQL-Datei > angepasst (`last_modified` timestamp NOT NULL DEFAULT '0000-00-00 > 00:00:00' bei CREATE TABLE `attachements` hinzugefügt) und wieder neu > importiert. > > ES LÄUFT !!! :-)) Freut mich zu hören xD Gruß Jan B
Moin, in welcher TPL finde ich die Vorlage für diese Ansicht? Für meinen Geschmack nimmt die im Screenshot markierte Box oben VIEEEEEEL zu viel Platz auf der Seite ein, ich möchte die gerne nach unten unter die Bauteileübersicht schieben. Vielleicht kannst du den Ort der Anzeige ja auch in der Konfiguration abänderbar machen.
Max M. schrieb: > Moin, in welcher TPL finde ich die Vorlage für diese Ansicht? Für meinen > Geschmack nimmt die im Screenshot markierte Box oben VIEEEEEEL zu viel > Platz auf der Seite ein, ich möchte die gerne nach unten unter die > Bauteileübersicht schieben. Vielleicht kannst du den Ort der Anzeige ja > auch in der Konfiguration abänderbar machen. Wahrscheinlich macht es Sinn dieses Panel standardmäßig kollabiert zu lassen, so dass man, wenn man die Funktionen benötigt, das Panel ausklappen kann. Ich werde das die Tage zusammen mit deiner Idee die Position dieses Panels einstellbar zu machen, Mal einbauen. Bis dahin findest du das template in
1 | templates/nextgen/show_category_parts.php/ |
Gruß Jan B.
Hi alle zusammen, in der aktuellen Version kann man nun einstellen, wo sich dieses Panel befindet und ob es standardmäßg aktiviert sein soll (Konfiguration->Aussehen->"Sonstiges" Panel). Weiterhin habe ich festgestellt, das der Fehler mit der fehlenden "last_modified" Spalte die computerzoo hatte, daher kam, dass ich beim Updaten eine Tabelle übersehen habe. Die aktuelle Version fixt das (andernfalls gibt es eine Fehlermeldung beim anlegen von Dateianhängen). Außerdem gibt es noch ein paar kleinere Aussehensverbesserungen, insbesondere in der mobilen Ansicht (und bei alternativen Themen wird der Auswahldialog in der Seitenauswahlleiste in der richtigen Höhe angezeigt). Die nächsten Tage, werde ich diese Version als 0.4.0 Release kennzeichnen, weil mitlerweile haben sich doch sehr sehr viele Änderungen zu 0.3.1 angesammelt, da wird es doch mal Zeit für ein richtiges Release. Gruß Jan B.
Moin, besten Dank für die sehr schnelle Umsetzung, echt Klasse, funktioniert bestens. Aber wie das immer so ist, man sieht eine Änderung, und kaum ist diese umgesetzt, dann fällt einem noch mehr auf ;-) Wenn ich die "Sonstiges-Leiste" unten eingeklappt anzeigen lasse und dann herunterscrolle, dann erscheint ja der Button, um an den Anfang der Seite zu springen, dieser wiederum verdeckt dann den Ausklappen-Button, so das man sehr genau zielen muß, um diesen zu treffen. (Bild 1) Verbesserungsvorschlag: Den Button in der untersten rechten Ecke fixieren. (und evtl. etwas verkleinern) Das Nächste, was mir aufgefallen ist: Oben wird ja jetzt schon sehr viel Platz eingespart, könnte man das dahingehend optimieren, dass das Paging noch weiter oben angezeigt wird? Verbesserungsvorschlag: Anzeige ganz rechts im "Baum" (Bild 2)
Hi, also zum ersten: Du musst zum ausklappen nicht unbedingt auf den Pfeil klicken, der ist eher eine Art Zustandsanzeiger. Du kannst irgendwo in die Überschift der Panels klicken, um das Pendel ein oder auszuklappen (so z.b. auf den Text "Sonstiges") Zum zweiten: Die Idee finde ich gut. Das Problem ist das in der selben Reihe wie die Paginierung auch die Buttons für die mehrfache Auswahl liegen (normalerweise aber ausgeblendet). Die müssten dann auch eine Position finden. Ich werde aber Mal schauen, was mir dazu einfällt xD Gruß Jan B.
Moin, Jan B. schrieb: > ...Du musst zum ausklappen nicht unbedingt auf den Pfeil > klicken, der ist eher eine Art Zustandsanzeiger. Du kannst irgendwo in > die Überschift der Panels klicken... Stimmt, und ich habe immer genau drauf gezielt. > Zum zweiten: Die Idee finde ich gut. Das Problem ist das in der selben > Reihe wie die Paginierung auch die Buttons für die mehrfache Auswahl > liegen (normalerweise aber ausgeblendet). Die müssten dann auch eine > Position finden. Ich werde aber Mal schauen, was mir dazu einfällt xD Es geht hier ja nur um nen paar Pixel, das dann man verkraften. Ich werde weiter Testen und über Bugs/Verbesserungen berichten, besten Dank.
Hi, so ich habe jetzt mal die aktuelle Version als 0.4.0 gekennzeichnet: https://github.com/jbtronics/Part-DB/releases/tag/v0.4.0 Eine Übersicht über die Änderungen seit 0.3.1 findet man hier: https://github.com/jbtronics/Part-DB/blob/nextgen/readme/changelog.md Gruß Jan B.
Hallo Jan! Super Job. Ich rege an die Gelegenheit zu nutzen, und einen neuen Thread "Lagerverwaltung Part-DB V0.4.x" zu eröffnen.
:
Bearbeitet durch User
Habe heute mal das letzte Update installiert. Wobei es eher eine komplette Neuinstallation war. Lief alles wunderbar. Wenn man die Möglichkeit eines SSH-Zuganges hat, sollte man die unbedingt zur Rechtevergabe nutzen. Spart immens Zeit. Nachwie vor besteht aber noch folgende Fehlermeldung am Anfand der Startseite, die sich hartnäckig weigert, zu verschwinden: *** Password Änderung erforderlich! Aus Sicherheitsgründen müssen sie das Admin Password ändern. Besuchen sie hierzu in die Systemeinstellungen. *** Kann das manchmal an der Rechtevergabe einer Datei liegen?
Ludwig K. schrieb: > Habe heute mal das letzte Update installiert. Wobei es eher eine > komplette Neuinstallation war. > Lief alles wunderbar. Wenn man die Möglichkeit eines SSH-Zuganges hat, > sollte man die unbedingt zur Rechtevergabe nutzen. Spart immens Zeit. > > Nachwie vor besteht aber noch folgende Fehlermeldung am Anfand der > Startseite, die sich hartnäckig weigert, zu verschwinden: > > *** > Password Änderung erforderlich! > Aus Sicherheitsgründen müssen sie das Admin Password ändern. > > Besuchen sie hierzu in die Systemeinstellungen. > *** > > Kann das manchmal an der Rechtevergabe einer Datei liegen? Hmm, Mir fällt echt nichts mehr wirklich ein, außer das es irgendeinen Bug in deiner PHP Version gibt. Du kannst aber Mal folgenden workaround probieren: http://www.passwordtool.hu/php5-password-hash-generator Auf dieser Seite kannst, du für ein beliebiges Password, ein Hash erzeugen, der das neue Verfahren nutzt. Du könntest Mal probieren damit einen Hash zu erzeugen und manuell in das Password feld der config.php einzutragen. Würde mich interessieren, ob das Problem bestehen bleibt und ob du das Password danach normal ändern kannst. Vielleicht hilft es ja. Gruß Jan B.
Hallo Jan, danke für den Tip. Das hat das Problem gelöst! Der Hash fängt jetzt auch mit $2 an, so wie du das weiter oben mal nachgefragt hattest. Die "Passwort ändern"-Funktion schreibt den Hash also nicht in die config.php zurück. Oder aber bei der Hasherstellung läuft was schief. Kann ich das irgendwie prüfen? Ich hab auch kein Problem meinen Hoster mal mit dem Problem zu behelligen. Die sind da sehr hilfsbereit. Nur würde ich vorher gerne klären, ob es nicht doch irgenwie an PartDB liegt ;-) Aber jetzt ist ja erstmal alles schick :)
Ludwig K. schrieb: > Hallo Jan! > Super Job. > > Ich rege an die Gelegenheit zu nutzen, und einen neuen Thread > "Lagerverwaltung Part-DB V0.4.x" zu eröffnen. So hat eine Weile gedauert, hier aber nun der neue Thread Beitrag "Lagerverwaltung Part-DB V0.4.x" . Gruß Jan B.
Ludwig K. schrieb: > Hallo Jan, > danke für den Tip. Das hat das Problem gelöst! > Der Hash fängt jetzt auch mit $2 an, so wie du das weiter oben mal > nachgefragt hattest. Die "Passwort ändern"-Funktion schreibt den Hash > also nicht in die config.php zurück. Oder aber bei der Hasherstellung > läuft was schief. Kann ich das irgendwie prüfen? Ich hab auch kein > Problem meinen Hoster mal mit dem Problem zu behelligen. Die sind da > sehr hilfsbereit. Nur würde ich vorher gerne klären, ob es nicht doch > irgenwie an PartDB liegt ;-) > > Aber jetzt ist ja erstmal alles schick :) Hi, wenn du mal Zeit hast, könntest du test halber mal die Datei aus dem Anhang auf deinen Server hochladen und sie im Browser öffnen. Es sollte eine kurze Ausgabe mit einem Passwordhash geben, aber sonst keinerlei Fehler, Warnungen oder Hinweise. Kannst du jetzt eigentlich, dass Password über die Weboberfläche ändern, oder wird es nicht übernommen, wenn du es speichern möchtest? Gruß Jan B.
Beitrag #5489630 wurde vom Autor gelöscht.
Ich benutze Part-DB schon etwas länger. Zuerst einmal ein Lob für die super Software Ich habe dazu ein paar Änderungsvorschläge. 1. Die Suche nach Deteils zu einem Teil, was ich gerade erfassen möchte dauert immer ewig also habe ich mir aus diversen Quellen Daten zu Transistoren und Mosfets zusammengesucht und in die DB importiert so das ich da jetzt ca 15000 Datensätze habe. Wenn ich im Menü jetzt auf einen Eintrag klicke dem viele Teile zugeordnet sind (z.B. ICs-->Transistoren-->PNP) dauert die Abfrage sehr lange weil alle PNP Transistoren abgerufen werden egal ob da ein Bestand vorhanden ist oder nicht. Hier währe eine Begrenzug nur auf den vorhandenen Bestand sehr hilfreich. "Select * from parts where id_category = 200 and instok >0" Die Trennung in 2 Tabellen (Artikelliste/Lagerbestand) währe sinnvoll aber mit viel Arbeit verbunden :) würde aber die Möglichkeit bieten, die Partliste mit anderen zu teilen und so eine umfassende TeileDB zu bekommen. 2. Da heutzutage viel mit SMD gemacht wird, währe eine Tabelle mit der Codezuordnung nicht schlecht
1 | ID Code Device Manf Base Package Data |
2 | 1 0 2SC3603 Nec CX SOT173 Npn RF fT 7GHz |
3 | 2 p01 PDTA143ET Philips N SOT23 pnp dtr 4k7+4k7 |
4 | 3 t01 PDTA143ET Philips N SOT23 pnp dtr 4k7+4k7 |
Schön währe es natürlich auch die SMD Daten in die parts - Tabelle zu integrieren aber dazu müsste man ein zusätzliches Feld für den Code einfügen. Und noch eins :) kann man irgendwo die css von der Demo-DB runterladen? Gruß Niko
:
Bearbeitet durch User
Niko B. schrieb: > kann man irgendwo die css von der Demo-DB runterladen? Seitenquelltext anzeigen lassen und nach css suchen? --> http://part-db.bplaced.net/css/bootstrap.min.css http://part-db.bplaced.net/css/fontawesome-all.min.css http://part-db.bplaced.net/css/awesome-bootstrap-checkbox.min.css http://part-db.bplaced.net/templates/nextgen/nextgen.min.css ...
Hallo zusammen, ich benutze die Part-DB schon recht lange für meine private Sammlung und finde das Tool echt spitze. Nun bin ich aber auf ein Szenario gestoßen, was offenbar nicht unterstützt wird und ich wollte fragen, ob es da Abhilfe geben könnte bzw. ob mich bezüglich PHP jemand in die richtige Richtung stupsen könnte, wo ich da ansetzen muss: Warum kann ich einer Baugruppe keine Baugruppe zuweisen? Vielleicht ist das auch ein spezieller Usecase, den sonst keiner hat? Danke & Grüße Baumix
Armin B. schrieb: > Warum kann ich einer Baugruppe keine Baugruppe zuweisen? Ein Baugruppe ist kein Bauteil. Die Gruppierung von Baugruppen erfolgt über "Verwalten -> Bearbeiten -> Baugruppen".
Tim schrieb: > Ein Baugruppe ist kein Bauteil. Schon klar, aber eine (größere) Baugruppe kann doch aus mehreren kleinen (Unter-)Baugruppen bestehen (die dann wiederum Bauteile enthalten)? > Die Gruppierung von Baugruppen erfolgt über "Verwalten -> Bearbeiten -> > Baugruppen". Hmmm ... das könnte auch gehen ... bisher habe ich das genutzt, um die Baugruppen zu kategorisieren. Danke für den Tipp! Baumix
:
Bearbeitet durch User
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. Wirkliche Issues habe ich bereits bei github eingetragen, aber ein paar Fragen werden sicherlich noch auftauchen. So zb: 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.
Habe mittlerweile gesehen, dass dies ein Thread zu einer alten Version ist. Ich habe mir erlaubt im GitHub-Wiki die Links auf den aktuellen Thread zu setzen und poste meine Punkte nochmal in den anderen Thread rein.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.