Forum: Projekte & Code Lagerverwaltung Part-DB V0.3+


von Udo N. (weinbauer73)


Lesenswert?

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.

von Udo N. (weinbauer73)


Lesenswert?

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

von Gelöscht (kami89)


Lesenswert?

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

von K. J. (Gast)


Lesenswert?

jo könnten wir tun werde mich die tage drum kümmern.

von Udo N. (weinbauer73)


Lesenswert?

Gegen Github hätte ich auch nix.

von Gelöscht (kami89)


Lesenswert?

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.

von K. J. (Gast)


Lesenswert?

Demo ist Aktualisiert github kommt die Tage muss mich da mal einlesen.

von Gelöscht (kami89)


Lesenswert?

@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 ;-)

von Gelöscht (kami89)


Lesenswert?

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?

von K. J. (Gast)


Lesenswert?

Nein noch nicht, kommt aber die Tage acc hab ich schon

von K. J. (Gast)


Lesenswert?

https://github.com/sandboxgangster/Part-DB

Stündchen schätze ich dauert der Upload noch muss mich erstmal selber da 
reinfummeln.

von Gelöscht (kami89)


Lesenswert?

Hmm immernoch leer? :-)

Mein Benutzername ist übrigens "ubruhin".

von K. J. (Gast)


Lesenswert?

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

von K. J. (Gast)


Lesenswert?

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

von Gelöscht (kami89)


Lesenswert?

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.

von Gelöscht (kami89)


Lesenswert?

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.

von Udo N. (weinbauer73)


Lesenswert?

Ich werde das mal am WE überprüfen, spätestens nächste Woche. Ich muss 
mich auch noch in git einlesen.

von Gelöscht (kami89)


Lesenswert?

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

von Gelöscht (kami89)


Lesenswert?

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

von K. J. (Gast)


Lesenswert?

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.

von Udo N. (weinbauer73)


Lesenswert?

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.

von Gelöscht (kami89)


Lesenswert?

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? ;-)

von Udo N. (weinbauer73)


Lesenswert?

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.

von Gelöscht (kami89)


Lesenswert?

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)

von Udo N. (weinbauer73)


Lesenswert?

Ich merke, ich muss wohl bei Git umlernen ;-)

Nebenbei, hab mich auch mal bei Github angemeldet, um da endlich mal 
mitreden zu können.

von Udo N. (weinbauer73)


Angehängte Dateien:

Lesenswert?

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.

von Gelöscht (kami89)


Lesenswert?

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

von Udo N. (weinbauer73)


Lesenswert?

Das mit dem SSH-Key habe ich schon gefunden und aktiviert :-) Das andere 
war mir bisher nicht bekannt. Aber einfach mal abwarten.

von K. J. (Gast)


Lesenswert?

hab dich eingetragen mir fehlte dein benutzername aber jetzt bist 
drinnen

von Udo N. (weinbauer73)


Lesenswert?

Danke :-)

von Udo N. (weinbauer73)


Lesenswert?

Branch "filemanager" ist jetzt aktuell.

von a. b. (andreb)


Lesenswert?

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

von Gelöscht (kami89)


Lesenswert?

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

von a. b. (andreb)


Lesenswert?

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

von Christoph H. (christoph_b)


Lesenswert?

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

von Matthias F. (idefix)


Lesenswert?

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
von Gelöscht (kami89)


Lesenswert?

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
von Christoph H. (christoph_b)


Angehängte Dateien:

Lesenswert?

so habe das Update gemacht. Leider scheint etwas schief gelaufen zu sein

von Udo N. (weinbauer73)


Lesenswert?

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
von Christoph H. (christoph_b)


Lesenswert?

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.

von Gelöscht (kami89)


Lesenswert?

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
von Christoph H. (christoph_b)


Lesenswert?

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
von Gelöscht (kami89)


Lesenswert?

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.

von Udo N. (weinbauer73)


Lesenswert?

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.

von Gelöscht (kami89)


Lesenswert?

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.

von Christoph H. (christoph_b)


Lesenswert?

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
von Gelöscht (kami89)


Lesenswert?

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
von Christoph H. (christoph_b)


Lesenswert?

nein unter Bearbeiten/Footprints ladet der Browser ca 20sec dann ist die 
Seite weiß.

von Gelöscht (kami89)


Lesenswert?

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
von Christoph H. (christoph_b)


Angehängte Dateien:

Lesenswert?

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.

von Gelöscht (kami89)


Lesenswert?

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

von Christoph H. (christoph_b)


Lesenswert?

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
von Gelöscht (kami89)


Lesenswert?

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
von Christoph H. (christoph_b)


Angehängte Dateien:

Lesenswert?

Hier die DB in Version 0.2.2

Habe "Alle" ausgewählt. Trotzdem kommen sie immer wieder.

: Bearbeitet durch User
von Gelöscht (kami89)


Lesenswert?

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
von Christoph H. (christoph_b)


Lesenswert?

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.

von Gelöscht (kami89)


Lesenswert?

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.

von ncc1701 (Gast)


Lesenswert?

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.

von Gelöscht (kami89)


Lesenswert?

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

von ncc1701 (Gast)


Lesenswert?

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

von Axel G. (axelg) Benutzerseite


Lesenswert?

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

von Udo N. (weinbauer73)


Lesenswert?

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.

von Gelöscht (kami89)


Lesenswert?

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
von Axel G. (axelg) Benutzerseite


Lesenswert?

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

von Gelöscht (kami89)


Lesenswert?

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
von Jürgen F. (snipor)


Lesenswert?

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

von K. J. (Gast)


Lesenswert?

Java Scripte geblockt ?

von Jürgen F. (snipor)


Lesenswert?

Problem hat sich erledigt. Lag wohl an einer zu alten PHP Version. Mit 
PHP 5.4 geht es nun.

von Gelöscht (kami89)


Lesenswert?

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
von Christopher K. (djmaster_d)


Lesenswert?

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
von Gelöscht (kami89)


Lesenswert?

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
von Christopher K. (djmaster_d)


Angehängte Dateien:

Lesenswert?

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
von Gelöscht (kami89)


Lesenswert?

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
von Christopher K. (djmaster_d)


Angehängte Dateien:

Lesenswert?

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
von Gelöscht (kami89)


Lesenswert?

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

von Tim W. (Gast)


Lesenswert?

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

von Gelöscht (kami89)


Lesenswert?

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
von Tim W. (Gast)


Lesenswert?

Alles klar danke für die Aufklärung.

Gruß Tim

von Christian (Gast)


Lesenswert?

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

von helmar (Gast)


Lesenswert?

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

von Gelöscht (kami89)


Lesenswert?

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
von helmar (Gast)


Lesenswert?

oki, ich werds mal veruchen, thnx ;)

von Arne M. (armut)


Lesenswert?

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

von K. J. (Gast)


Lesenswert?

Mit Mysqldumper z.b. die Partdb an sich kann es noch nicht

von Udo N. (weinbauer73)


Lesenswert?

Hast du keinen Webzugriff per phpMyAdmin? Damit kannst du ein Export 
deiner Datenbank machen.

von armut (Gast)


Lesenswert?

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

von Arne M. (armut)


Lesenswert?

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
von Matthias F. (idefix)


Lesenswert?

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?

von Gelöscht (kami89)


Lesenswert?

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.

von Arne M. (armut)


Lesenswert?

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

von Gelöscht (kami89)


Lesenswert?

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
von Arne M. (armut)


Lesenswert?

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

von Gelöscht (kami89)


Lesenswert?

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

von Arne M. (armut)


Lesenswert?

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

von Gelöscht (kami89)


Lesenswert?

Arne M. schrieb:
> Danke nochmal!

Keine Ursache :-)

mfg
Urban

von sam (Gast)


Lesenswert?

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

von Udo N. (udo_n)


Lesenswert?

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
von Gelöscht (kami89)


Lesenswert?

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

von Gelöscht (kami89)


Lesenswert?

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.

von Gerald *. (pyromane)


Lesenswert?

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

von Gelöscht (kami89)


Lesenswert?

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
von Gelöscht (kami89)


Lesenswert?

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

von Gelöscht (kami89)


Lesenswert?

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

von Martin (Gast)


Lesenswert?

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

von Gelöscht (kami89)


Lesenswert?

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

von Christian S. (vivus)


Lesenswert?

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ß

von Gelöscht (kami89)


Lesenswert?

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

von Fer T. (fer_t)


Lesenswert?

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
von Fer T. (fer_t)


Lesenswert?

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
von deko (Gast)


Lesenswert?

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

von Christian S. (vivus)


Lesenswert?

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

von Fer T. (fer_t)


Lesenswert?

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

von Christoph (Gast)


Lesenswert?

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

von Fer T. (fer_t)


Lesenswert?

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

von Christopher K. (djmaster_d)


Angehängte Dateien:

Lesenswert?

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

von Fer T. (fer_t)


Lesenswert?

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

von Christopher K. (djmaster_d)


Lesenswert?

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
von xsider (Gast)


Lesenswert?

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

von K. J. (Gast)


Lesenswert?

Ja kann ich machen, aber nicht mehr heute morgen poste ich den hier

von K. J. (Gast)


Angehängte Dateien:

Lesenswert?

Hab sie jetzt nicht ausortiert, das sind einige murks Sachen drinnen 
einfach die entsprechenden Zeilen löschen

von Sammy (Gast)


Lesenswert?

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

von Sammy (Gast)


Lesenswert?

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?

von Gelöscht (kami89)


Lesenswert?

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

von Sammy (Gast)


Lesenswert?

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.

von Sammy (Gast)


Angehängte Dateien:

Lesenswert?

Falls noch jemand die ganzen Label-PDFs in einem Rutsch generieren 
möchte: Im Anhang ein kleines Shell-Script.

von Peter M. (pc-baerli)


Lesenswert?

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

von Peter M. (pc-baerli)


Lesenswert?

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

von Gelöscht (kami89)


Lesenswert?

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

von Udo N. (weinbauer73)


Lesenswert?

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

von Peter M. (pc-baerli)


Lesenswert?

Besten Dank für die Antworten ... werde einfach
regelmässig mal vorbeischauen ...

Gruss Peter

von Michael K. (Gast)


Lesenswert?

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.

von Gelöscht (kami89)


Lesenswert?

@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
von Udo N. (weinbauer73)


Lesenswert?

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

von Gelöscht (kami89)


Lesenswert?

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
von Christopher K. (djmaster_d)


Lesenswert?

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

von Gelöscht (kami89)


Lesenswert?

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

von sammy (Gast)


Lesenswert?

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

von Udo N. (weinbauer73)


Lesenswert?

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

von Udo N. (weinbauer73)


Lesenswert?

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

von Matthias F. (idefix)


Lesenswert?

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

von Fabian P. (Firma: wiki.flowerhouse.at) (tropaion)


Lesenswert?

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

von Fabian P. (Firma: wiki.flowerhouse.at) (tropaion)


Lesenswert?

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

von K. J. (Gast)


Lesenswert?

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.

von Fabian P. (Firma: wiki.flowerhouse.at) (tropaion)


Lesenswert?

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

von Udo N. (weinbauer73)


Lesenswert?

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
von Udo N. (weinbauer73)


Lesenswert?

Ich habe die geänderte dtree.js ins Repo hochgeladen. Bitte ausschecken 
und testen :-)

von Fabian P. (Firma: wiki.flowerhouse.at) (tropaion)


Lesenswert?

Super! Funktioniert jetzt, vielen Dank!

von Sammy (Gast)


Lesenswert?

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

von sparky (Gast)


Lesenswert?

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.

von Felix N. (time2ride)


Angehängte Dateien:

Lesenswert?

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

von Fer T. (fer_t)


Lesenswert?

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ß

von laberkeks (Gast)


Lesenswert?

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

von Felix N. (time2ride)


Lesenswert?

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.

von Gelöscht (kami89)


Lesenswert?

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

von Fer T. (fer_t)


Lesenswert?

Ich Frage nur nach weil ich ansonsten darauf umsteigen würde.
Evtl auch mich in PHP wieder einarbeiten und nen paar bugs fixen ;-)

von Udo N. (weinbauer73)


Lesenswert?

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

von K. J. (Gast)


Lesenswert?

hi ja mach ich am WE fertig, irgentwie ist das beim serverweksel 
abhanden gekommen.

von Fer T. (fer_t)


Lesenswert?

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

von McSchaf (Gast)


Lesenswert?

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 ?

von K. J. (Gast)


Lesenswert?

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.

von Udo N. (weinbauer73)


Lesenswert?

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
von Fer T. (fer_t)


Lesenswert?

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

von McSchaf (Gast)


Lesenswert?

Danke schön für die schnelle Hilfe.

Funktioniert prima.
Habe auch die änderung von GitHub getestet, geht bei mir auch ohne 
Proleme. Danke.

von Gelöscht (kami89)


Lesenswert?

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

von Fer T. (fer_t)


Lesenswert?

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

von Udo N. (weinbauer73)


Lesenswert?

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.

von Fer T. (fer_t)


Lesenswert?

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
von Fer T. (fer_t)


Lesenswert?

Ups vergessen, natürlich hier die Entwickler Dokumentation.
Sollte sie denn einer brauchen:
http://demo.os-sc.org/documentation/doxygen/

von Fer T. (fer_t)


Lesenswert?

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

von Udo N. (weinbauer73)


Lesenswert?

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

von Gelöscht (kami89)


Lesenswert?

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

von Fer T. (fer_t)


Lesenswert?

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ß

von Felix (Gast)


Angehängte Dateien:

Lesenswert?

Hier mal noch meine Version einer API. Ist wie weiter oben beschrieben 
mehr zusammengefrickelt aber für meine Zwecke passt das so.

von Fer T. (fer_t)


Lesenswert?

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
von Udo N. (weinbauer73)


Lesenswert?

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

von Uhu U. (uhu)


Lesenswert?


von Jan B. (do9jhb)


Lesenswert?

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.

von Fer T. (fer_t)


Lesenswert?

Sehr schön, werde ich die nächsten Wochen mal testen :)

von Udo N. (weinbauer73)


Lesenswert?

Das ist eine gute Idee :-)

von Jan B. (do9jhb)


Lesenswert?

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.

von Jan B. (do9jhb)


Angehängte Dateien:

Lesenswert?

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

von Peter (Gast)


Lesenswert?

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

von Udo N. (weinbauer73)


Lesenswert?

Guten Morgen

Das Software findest du unter 
https://github.com/sandboxgangster/Part-DB.

Grüße
Udo

von Dennis X. (debegr92)


Lesenswert?

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.

: Bearbeitet durch User
von Udo N. (weinbauer73)


Lesenswert?

Die offizielle Version ist die auf github.

von Dennis X. (debegr92)


Lesenswert?

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.

von Udo N. (weinbauer73)


Lesenswert?

Es gibt einige Entwicklerrepos, die zum Testen für neue Funktionen 
gedacht sind. Das offizielle Repo ist "master".

von Gelöscht (kami89)


Lesenswert?

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

von Dennis X. (debegr92)


Lesenswert?

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.

von Udo N. (weinbauer73)


Lesenswert?

Ich kann eine Demo-Version auf meinen eigenen Webserver installieren, 
dem juckt das nicht ;)

von Gelöscht (kami89)


Lesenswert?

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
von Udo N. (weinbauer73)


Lesenswert?

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
von Fer T. (fer_t)


Lesenswert?

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

von Fer T. (fer_t)


Lesenswert?

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

von Gelöscht (kami89)


Lesenswert?

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
von Udo N. (weinbauer73)


Lesenswert?

Die Beispieldaten funktionieren bei der aktuellen Datenbankstruktur 
allerdings nicht mehr. Das Update schlägt fehl.

von Gelöscht (kami89)


Lesenswert?

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?

von Udo N. (weinbauer73)


Lesenswert?

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.

von Fer T. (fer_t)


Lesenswert?

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
von Gelöscht (kami89)


Lesenswert?

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.

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