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


von Udo N. (weinbauer73)


Lesenswert?

Die DB war leer, war ja eine frische Installation. Ich werde sie mal 
manuell als DB-Version 12 setzen, bevor ich die Demo-Daten einspiele. 
Wenn das klappt, speichere ich das als neue Demo-Datenbank für Version 
17 (Part-DB v0.3.1).

Grüße
Udo

von Fer T. (fer_t)


Lesenswert?

Leer war sie ja quasi:
Neuinstallieren -> Update -> Import -> Update -> Fehler

richtig ist:
Neuinstallieren -> Import -> Update

von Gelöscht (kami89)


Lesenswert?

Mit "leere Datenbank" meine ich, dass auch keine Tabellen existieren 
dürfen (auch keine leeren). Das SQL file ist ja nur ein Dump einer 
Datenbank, das hat mit Part-DB erstmal nichts zu tun. Bevor man diesen 
Dump (z.B. mit PhpMyAdmin) importiert, müssen alle Daten und Tabellen 
der Datenbank komplett gelöscht werden.

Und erst nachdem die Daten importiert wurden, darf man mit Part-DB das 
Update auf die neuste Datenbankversion durchführen.

mfg

: Bearbeitet durch User
von Udo N. (weinbauer73)


Angehängte Dateien:

Lesenswert?

Wenn man nicht in die Daten reinschaut... Demo-Daten: kompletter Dump 
inklusive "create tables". Wenn man daran denkt, dann funktioniert das 
ganze.

Ich habe den Dump der Demo-Datenbank in Version v17 hier mal angehängt. 
Enthält drop table + create tables, also für eine leere (ohne Tabellen) 
Datenbank.

Grüße
Udo

von Udo N. (weinbauer73)


Lesenswert?

"Meine" Demoseite läuft, Restore der Datenbank nachts gegen 2 Uhr 
eingerichtet.

http://phpbookworm.singollo.de/project/part-db/

von Matthias F. (idefix)


Lesenswert?

Hi,

gibt es eigentlich Pläne, wann die nächste Version 0.3.2 veröffentlicht 
werden soll?
Danke.
Matthias

von Philipp X. (caradhras)


Lesenswert?

Moin,

also wenn ich richtig gesucht habe, dann ist das hier der "letzte" 
Thread zu partdb. Ich wollte mich mal mit dem Programm beschäftigen, um 
zu entscheiden, ob ich jetzt Elela oder partdb installieren möchte.

Die Domain grautier.com ist scheinbar defekt. Wo wird denn das 
Progrämmchen jetzt gepflegt? github? Der Artikel ist leider völlig 
veraltet...

Viele Grüße
Philipp

von Udo N. (weinbauer73)


Lesenswert?

Das Wiki zu Part-DB hier auf µC.net ist schon lange veraltet. Den Link 
dahin haben wir wohl beim Überarbeiten einfach übersehen, da die Doku ja 
auch in eine neue Hilfe-Funktion (DokuWiki) gewandert ist.


Projektseite: Downloads, Bugreports, ToDo-Liste usw. gibts auf 
https://github.com/sandboxgangster/Part-DB
Forum: Für Fragen rund um die Part-DB gibt es hier im Thread
Wiki: Weitere Informationen gibt es in der Hilfe zu Part-DB

Demoinstallationen gibt es einige, werden hier im Thread auch genannt.

Aus Zeitmangel wird das Projekt nur sporadisch (insbesondere bei Bugs) 
weiter entwickelt. Helfer sind immer willkommen :-)

Grüße
Udo

von Philipp X. (caradhras)


Lesenswert?

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

Hier gibt es einen Link zu Installationsanweisungen, der Link ist leider 
tot. Wäre gut, wenn man den entweder entfernt oder ein gültiges 
Verlinkungsziel zuweist. :)

von Gelöscht (kami89)


Lesenswert?

Philipp X. schrieb:
> https://github.com/sandboxgangster/Part-DB/releases
>
> Hier gibt es einen Link zu Installationsanweisungen, der Link ist leider
> tot. Wäre gut, wenn man den entweder entfernt oder ein gültiges
> Verlinkungsziel zuweist. :)

Stimmt, habe es soeben korrigiert. Auch in der README.md habe ich die 
Links angepasst: 
https://github.com/sandboxgangster/Part-DB/commit/924582b656bf66563da56e400ca869061872c508

@Udo
Ich habe mal auf deine Demo-Installation von Part-DB verlinkt, ich hoffe 
das ist für dich in Ordnung :)

von Philipp X. (caradhras)


Angehängte Dateien:

Lesenswert?

Urban B. schrieb:
...

Besten Dank!

Ich war direkt mal experimentierfreudig und habe eine VM mit Ubuntu 
Server 16.04 installiert und apache mit php7.0 drauf geworfen.

Verträgt sich part-db nicht mit php7? Oder habe ich einfach einen Fehler 
gemacht? Ist mein erster Berührungspunkt mit der ganzen 
Webserver-Thematik...

von derda (Gast)


Lesenswert?

Das mbstring Paket fehlt für php (ka obs das in php7 gibt hab noch 5)

von Philipp X. (caradhras)


Lesenswert?

Jup, das hat geholfen. Ich fürchte, ich habe mich gerade bei der Config, 
um die Daten im home-Verzeichnis abzulegen, verkonfiguriert... argh

Grund war, dass wenn man die Daten unter /var/www/html liegen hat muss 
man das Ganze ja trotzdem ausführbar machen.
https://wiki.ubuntuusers.de/Apache/#Benutzerspezifisch

Auf jeden Fall zeigt er inzwischen nur noch die Default page an...

: Bearbeitet durch User
von Gelöscht (kami89)


Lesenswert?

Philipp X. schrieb:
> Grund war, dass wenn man die Daten unter /var/www/html liegen hat muss
> man das Ganze ja trotzdem ausführbar machen.
> https://wiki.ubuntuusers.de/Apache/#Benutzerspezifisch

Also wenn man Part-DB nach unserer Anleitung* installiert, genügen zwei 
Befehle um Part-DB mit korrekten Dateirechten nach /var/www zu 
entpacken. Part-DB sollte dann gleich wie gewünscht funktionieren.

* 
http://phpbookworm.singollo.de/project/part-db/documentation/dokuwiki/doku.php?id=installation#part-db_herunterladen_und_entpacken

von Philipp X. (caradhras)


Lesenswert?

Melde gehorsamst: Das Viech rennt unter PHP7.0 unter Ubuntu Server 
16.04! (VMware Workstation 12 Player)

Danke!

von Philipp X. (caradhras)


Lesenswert?

Ein Verbesserungsvorschlag:
Wenn man sich in einem Menü befindet, könnte man denken, der 
Seitenheader sei Hops gegangen (Logo weg etc) und auf den ersten Blick 
sieht man nicht, wie man zur Startseite zurück kommt.

Zumindest bis man das winzige part-db-logo-Knöpfchen findet.

Konkreter Vorschlag:
Logo größer und clickbar, wie man es von den meisten Webseiten her 
kennt. Eventuell das Logo noch benutzerdefinierbar machen.

Sonst sieht das Ding ziemlich gut und unkompliziert aus!

von K. J. (Gast)


Lesenswert?

Philipp X. schrieb:
> Melde gehorsamst: Das Viech rennt unter PHP7.0 unter Ubuntu Server
> 16.04! (VMware Workstation 12 Player)
>
> Danke!

Ja das mit PHP7 wird noch nen Suportchaos, einerseits gut das alles in 
einzelne externe Module gepackt wird anderer seits auch nen Problem vor 
alledem für die die sich nicht auskennen.

von fer_t (Gast)


Lesenswert?

K. J. schrieb:
> Ja das mit PHP7 wird noch nen Suportchaos, einerseits gut das alles in
> einzelne externe Module gepackt wird anderer seits auch nen Problem vor
> alledem für die die sich nicht auskennen.

Nutze openSUSE da wird schon immer jedes PHP Modul einzeln gepackt also 
nichts neues.
(Z.b. php5-mbstring etc)
Fand das schon immer besser weil man so nur das installiert was man 
wirklich braucht.

von Udo N. (weinbauer73)


Lesenswert?

> @Udo
> Ich habe mal auf deine Demo-Installation von Part-DB verlinkt, ich hoffe
> das ist für dich in Ordnung :)

Darfst du ruhig. Die Installation ist ja zum Testen gedacht. Nebenbei 
habe ich den Commit eingespielt :)

: Bearbeitet durch User
von Mx W. (mxwx)


Lesenswert?

Philipp X. schrieb:
> Melde gehorsamst: Das Viech rennt unter PHP7.0 unter Ubuntu Server
> 16.04! (VMware Workstation 12 Player)
>
> Danke!

Könntest du eventuell mal mitteilen, wie du das genau gemacht hast? Ich 
habe gröbere Probleme vermutlich mit PHP 7 und dem strengeren 
Type-Casting das in einem Ubuntu 16.04 lxc Container (ProxMox) ans 
laufen zu bekommen (in einer VM Ubuntu 16.04 läuft es bei mir auch 
nicht). Die ganzen Datenbank-Updates u.ä. funktioniert. ich bekomme zur 
Not auch händisch Daten z.B. aus einer Version 0.1.5 importiert (Die 
Probleme habe ich aber auch ohne Datenimport), die ich dann in der 
Suchzeile auch eingeben kann und im rechten Bereich dann auch angezeigt 
bekomme. Der Effekt ist im wesentlichen, dass das komplette Menü nur die 
Überschriften anzeigt und ansonsten keine Funktion hat. 
Selbstverständlich sind auch Kategorien angelegt. Auch in einer ganz 
jungfreulichen Installation, ohne Datenimport, und frisch angelegter 
erster "Test"-Kategorie, bekomme ich links keine Menüs angezeigt.

Das Apache error.log sieht beim Aufruf von Part-DB (0.3.0 oder 0.3.1) 
wie folgt aus:

[Mon Sep 19 08:49:28.261075 2016] [:error] [pid 831] [client 
192.168.2.105:63470] PHP Warning:  Declaration of 
Category::get_parts($recursive = false) should be compatible with 
PartsContainingDBElement::get_parts($parts_rowname, $recursive = false) 
in /var/www/part-db/lib/class.Category.php on line 42, referer: 
http://partdb.ms2054.local/index.php

[Mon Sep 19 08:49:28.261146 2016] [:error] [pid 831] [client 
192.168.2.105:63470] PHP Warning:  Declaration of 
Category::search(&$database, &$current_user, &$log, $keyword, 
$exact_match = false) should be compatible with 
NamedDBElement::search(&$database, &$current_user, &$log, $tablename, 
$keyword, $exact_match) in /var/www/part-db/lib/class.Category.php on 
line 42, referer: http://partdb.ms2054.local/index.php

[Mon Sep 19 08:49:28.261561 2016] [:error] [pid 831] [client 
192.168.2.105:63470] PHP Warning:  Declaration of 
Device::get_parts($recursive = false) should be compatible with 
PartsContainingDBElement::get_parts($parts_rowname, $recursive = false) 
in /var/www/part-db/lib/class.Device.php on line 0, referer: 
http://partdb.ms2054.local/index.php

[Mon Sep 19 08:49:28.285978 2016] [:error] [pid 835] [client 
192.168.2.105:63473] PHP Warning:  Declaration of 
Category::get_parts($recursive = false) should be compatible with 
PartsContainingDBElement::get_parts($parts_rowname, $recursive = false) 
in /var/www/part-db/lib/class.Category.php on line 42, referer: 
http://partdb.ms2054.local/index.php

[Mon Sep 19 08:49:28.286058 2016] [:error] [pid 835] [client 
192.168.2.105:63473] PHP Warning:  Declaration of 
Category::search(&$database, &$current_user, &$log, $keyword, 
$exact_match = false) should be compatible with 
NamedDBElement::search(&$database, &$current_user, &$log, $tablename, 
$keyword, $exact_match) in /var/www/part-db/lib/class.Category.php on 
line 42, referer: http://partdb.ms2054.local/index.php

[Mon Sep 19 08:49:28.286390 2016] [:error] [pid 835] [client 
192.168.2.105:63473] PHP Warning:  Declaration of 
Storelocation::get_parts($recursive = false) should be compatible with 
PartsContainingDBElement::get_parts($parts_rowname, $recursive = false) 
in /var/www/part-db/lib/class.Storelocation.php on line 0, referer: 
http://partdb.ms2054.local/index.php

[Mon Sep 19 08:49:28.286454 2016] [:error] [pid 835] [client 
192.168.2.105:63473] PHP Warning:  Declaration of 
Storelocation::search(&$database, &$current_user, &$log, $keyword, 
$exact_match = false) should be compatible with 
NamedDBElement::search(&$database, &$current_user, &$log, $tablename, 
$keyword, $exact_match) in /var/www/part-db/lib/class.Storelocation.php 
on line 0, referer: http://partdb.ms2054.local/index.php

[Mon Sep 19 08:49:28.286709 2016] [:error] [pid 835] [client 
192.168.2.105:63473] PHP Warning:  Declaration of 
Footprint::get_parts($recursive = false) should be compatible with 
PartsContainingDBElement::get_parts($parts_rowname, $recursive = false) 
in /var/www/part-db/lib/class.Footprint.php on line 0, referer: 
http://partdb.ms2054.local/index.php

[Mon Sep 19 08:49:28.286755 2016] [:error] [pid 835] [client 
192.168.2.105:63473] PHP Warning:  Declaration of 
Footprint::search(&$database, &$current_user, &$log, $keyword, 
$exact_match = false) should be compatible with 
NamedDBElement::search(&$database, &$current_user, &$log, $tablename, 
$keyword, $exact_match) in /var/www/part-db/lib/class.Footprint.php on 
line 0, referer: http://partdb.ms2054.local/index.php

[Mon Sep 19 08:49:28.287133 2016] [:error] [pid 835] [client 
192.168.2.105:63473] PHP Warning:  Declaration of 
Supplier::get_parts($recursive = false) should be compatible with 
PartsContainingDBElement::get_parts($parts_rowname, $recursive = false) 
in /var/www/part-db/lib/class.Supplier.php on line 43, referer: 
http://partdb.ms2054.local/index.php

[Mon Sep 19 08:49:28.287188 2016] [:error] [pid 835] [client 
192.168.2.105:63473] PHP Warning:  Declaration of 
Supplier::search(&$database, &$current_user, &$log, $keyword, 
$exact_match = false) should be compatible with 
NamedDBElement::search(&$database, &$current_user, &$log, $tablename, 
$keyword, $exact_match) in /var/www/part-db/lib/class.Supplier.php on 
line 43, referer: http://partdb.ms2054.local/index.php

Besten Dank schonmal

Michael

von Jan B. (do9jhb)


Angehängte Dateien:

Lesenswert?

Hallo alle zusammen,

da Part-DB bekanntermaßen einige nicht mehr empfohlene Webtechniken wie 
z.B. Framesets und Popups verwendet, auf Mobilgeräten nicht wirklich gut 
aussieht und noch in HTML4 geschrieben wurde, habe ich begonnen Part-DB 
an HTML5 und "Responsive Design" (Layout passt sich Bildschirmgröße an) 
anzupassen.

Dazu habe ich erst einmal eine Möglichkeit eingebaut die Template engine 
Smarty (http://www.smarty.net/) für die HTML Templates zu verwenden, da 
die letzte Version der bisher verwendeten VLibTemplate von 2009(?) 
stammt und vermutlich auch nicht mehr weiter entwickelt wird (Seite des 
Autors ist nicht mehr erreichbar). Smarty wird aktiv weiterentwickelt, 
bietet mehr Features und (meiner Meinung nach) eine schönere und 
kompaktere Syntax (z.B. {$html} statt {TMPL_VAR NAME="html"} ).

Für das Layout nutze ich die CSS-Library Bootstrap 
(http://getbootstrap.com/), die für viele Webseiten und Webapps 
verwendet wird und für DOM und Ajax die JS-Library 
JQuery(https://jquery.com/).

Momentan habe ich nur die absoluten Basisfunktionen am laufen (Suche, 
Kategorienanzeige und Bauteiledetails), ich werde aber nach und nach 
versuchen weitere Seiten anzupassen.

Anbei findet ihr einige Screenshots von meiner angepassten Version, es 
würde mich sehr interessieren, was ihr von dem neuen Design haltet.

Gruß
Jan B.

von Gelöscht (kami89)


Lesenswert?

Hallo Jan,

Wow, sieht super aus, gefällt mir!

Das dürfte gleich mehrere von unseren Issues auf GitHub lösen :)

Ich persönlich würde vielleicht einfach die verschiedenen Elemente (z.B. 
Treeview und Überschriften) etwas kleiner/platzsparender gestalten, 
damit man bei viel Inhalt nicht unnötig viel scrollen muss...

Gruss
Urban

von K. J. (Gast)


Lesenswert?

Ja WOW sieht echt gut aus, schön das noch jemand die Zeit dafür findet 
die PartDB zu verbessern.

von Jan B. (do9jhb)


Angehängte Dateien:

Lesenswert?

Hallo,

da man mit Smarty als Template-Engine Texte relativ einfach mit gettext 
lokalisieren kann habe ich mal mit der Übersetzung von Part-DB ins 
Englische begonnen. Momentan sind nur die HTML-Templates übersetzbar 
(ich plane aber auch die Strings aus dem PHP-Code übersetzbar zu machen) 
und auch nur die die ich schon an Smarty und das neue Design angepasst 
habe.
Falls jemand bei den Übersetzungen helfen will, hier 
(https://translate.zanata.org/iteration/view/part-db/0.4.0?dswid=-6639) 
kann man online an den Übersetzungen mitarbeiten. Falls jemand bei einer 
Sprache helfen will die noch nicht zur Auswahl auf Zanata steht, dann 
melde er sich, ich füge die Sprache hinzu.

In den Screenshots seht ihr den Beweis dass die Übersetzungen 
funktionieren ;) (und dass ich wie ihr geraten habt, einige Elemente 
etwas verkleinert habe).

von Gelöscht (kami89)


Lesenswert?

Super, Übersetzungen wollte ich auch schon lange mal einbauen! :D

Eigentlich wäre es doch sinnvoll, gleich alle Texte im Sourcecode durch 
die englischen Übersetzungen zu ersetzen, und stattdessen eine deutsche 
Übersetzung anzubieten, oder?

von Christian (Gast)


Lesenswert?

Sieht sehr schön aus. Wann kann man es mal testen ?

von Matthias F. (idefix)


Lesenswert?

ich finde es super, dass sich das Projekt wieder bewegt.
Ich selber bin auch gerade dabei ein paar neue Frameworks zu lernen und 
brauch im Anschluss dann ein etwas größeres Projekt zum üben.
Also wieso nicht gleich etwas verwenden von dem viele Personen 
profitieren können.
Mein erster Schritt wäre auch gewesen das ganze auf ein CSS Framework 
wie z.B. Bootstrap oder Semantic umzustellen. Da du mit Bootstrap 
angefangen hast, würde ich auch das verwenden.

Meinst du, du kannst das Repo unter Github einfach forken, dir dort 
einen neuen Branch wie z.B. bootstrap3 anlegen und alle deine Änderungen 
dort commiten?

Ich werde denke ich über die Weihnachtszeit anfangen, dann können wir 
das gemeinsam voran treiben.

von Jan B. (do9jhb)


Lesenswert?

Ich habe mal eine kleine Demoseite mit meiner aktuellen 
Entwicklungsversion aufgesetzt. Diese enthält auch die Möglichkeit die 
Footprints zusätzlich zum Bild als ein 3D Modell darzustellen (in jedem 
halbwegsmodernem Browser). Es nutzt dazu die 3D Modelle von KiCad. Die 
Demoseite findet ihr hier: http://part-db.bplaced.net/ .(Ich hoffe man 
kann die 3D-Footprints erkennen, auf dem Server ignoriert er warum auch 
immer die Tags für die Größe des 3D-Fensters).

Den Quellcode meiner Version findet ihr in meinem Github-Fork 
(https://github.com/do9jhb/Part-DB) im Branch nextgen.

PS: Macht es Sinn einen neuen Thread aufzumachen? Dann könnte man dort 
über die neue Version diskutieren und hier weiter über die V0.3 
diskutieren.

von M. K. (kichi)


Lesenswert?

Ich finde es cool, dass Du part-db modernisierst. Gefällt mir gut. Ich 
habe gerade mit deiner Demo gespielt und zwei kleine 
Verbesserungsvorschläge:
1. Die Felder links im Menü könnten komplett als Link dienen. Aktuell 
werden sie beim anklicken nur blau eingefärbt und man muss tatsächlich 
den Text anklicken.
2. Das Menü wird auf jeder neuen Seite wieder komplett eingeklappt. Der 
Baum bis zur aktiven Seite könnte geöffnet bleiben. Man wüsste dann eher 
wo man ist und täte sich leichter, falls man mal die falsche 
Unterkategorie erwischt hat.

von Jan B. (do9jhb)


Lesenswert?

Ja,

die beiden Probleme kenne ich bereits :)
Eigentlich sollte er immer die Seite per Ajax nachladen (also würde der 
Baum geöffnet bleiben), aber irgendwie registriert er die unteren Links 
nicht richtig bei JQuery. Interessant ist, dass die Links der 1. Ebene 
so funktionieren wie sie sollen, auf allen darunter liegenden Ebenen 
nicht.

Insgesamt gibt es noch einige (kleinere) Probleme mit Links: So lädt er, 
wenn man in den Bearbeiten Dialogen das Bauteil wechselt, ebenfalls die 
gesamte Seite neu und z.B. Links auf externe Seite werden gar nicht 
geladen (weil er sie wegen der Same Origin Policy nicht per Ajax 
nachladen darf)

Die Version ist wie gesagt noch in der Entwicklung, aber ich werde mich 
mal in den nächsten Tagen mit den obigen Problemen beschäftigen und 
versuchen deinen Vorschlag mit dem Öffnen mit dem ganzen Button 
umzusetzen.

Edit: Die Änderungen waren sehr einfach. Es sollte jetzt beides 
funktionieren!

: Bearbeitet durch User
von Jan B. (do9jhb)


Angehängte Dateien:

Lesenswert?

Zum aktuellem Stand: Ich habe jetzt beinahe alles lokalisierbar gemacht 
und Englische Übersetzungen dafür geschrieben. Dann habe ich einen fixen 
Button unten rechts hinzugefügt zum Hochscrollen, der sich immer 
einblendet, wenn man ein Stück nach unten gescrollt ist.
Desweiteren habe ich für die "CSS-File" Option in den Einstellungen, die 
Möglichkeit eingebaut, zwischen den verschiedenen freien Bootstrap 
themes von http://bootswatch.com/ zu wählen (im Anhang findet ihr ein 
paar Beispiele).

Weiterhin habe ich angefangen eine Funktion zur Erzeugung von 
Barcodes/Labelen zu entwickeln. Nächste Zeit werde ich anfangen den 
Einrichtungsassistenten zu überarbeiten und noch ein Problem mit dem 
Bearbeiten von Bestellinformationen zu fixen (HTML erlaubt eigentlich 
keine forms als Child einer Tabelle, früher war das egal, das neue 
System ist aber strikter). Wenn das fertig ist müsste es den gesamten 
Funktionsumfang des alten Part-DB habens (und bereits mehr).

Ich werde die nächsten paar Tagen versuchen die neuen Änderungen in die 
Demo hochzuladen, dann könnt ihr es testen.

Falls ihr noch Ideen/Wünsche/Fehlerberichte habt, meldet euch einfach!

Gruß
Jan B.

: Bearbeitet durch User
von moeb (Gast)


Lesenswert?

Sieht klasse aus! Weiter so! :)

von Jan B. (do9jhb)


Lesenswert?

Hi,

ich habe jetzt die Demo (http://part-db.bplaced.net/) auf meine aktuelle 
Version geupdated und auch einmal eine Version auf Englisch eingerichtet 
(http://part-db.bplaced.net/part-en/startup.php). Ich denke in dieser 
Funktion sollten alle Funktionen laufen (inkl. Setup-Assistenten). Falls 
es jemand selbst ausprobieren möchte, die Version ist auf GitHub getaggt 
(https://github.com/do9jhb/Part-DB/releases/tag/v0.4.0RC1.beta1).

Falls ihr noch Probleme, Bugs habt oder Wünsche für neue Funktionen 
habt, schreibt sie hier oder öffnet ein Ticket auf GitHub.

Viel Spaß beim Ausprobieren.

von Kai B. (kaib) Benutzerseite


Lesenswert?

Hallo Jan,

habe deine Version nun auch mal zum Testen hier lokal installiert.
Das Design gefällt mir. Ist auch auf einem Smartphone nutzbar.

Wie weiter oben schon geschrieben wurde wäre es toll denn sich das 
Treeview node auch öffnet wenn man auf den Text klickt.

habe hierzu folgendes gefunden
https://github.com/jonmiles/bootstrap-treeview/pull/11/commits/a4a43cea4e06b317d1d2052110dbc84c03371122

Die Stelle sieht mittlerweile etwas anders aus, aber mit einem 
Quick&Dirty Test im clickHandler konnte ich den gewünschten Effekt zum 
Teil einbauen.
1
    else {
2
      
3
      if (node.selectable) {
4
        this.toggleSelectedState(node, _default.options);
5
        // KB20161224 allow the expand of the node
6
        this.toggleExpandedState(node, _default.options);
7
      } else {
8
        this.toggleExpandedState(node, _default.options);
9
      }
10
      this.render();
11
    }

Die Treeview Elemente von "Kategorie" sind selektierbar, die aus z.B. 
Verwaltung sind nicht selektierbar.

Die passende Stelle konnte ich leider nicht finden wo die Eigenschaften 
festgelegt werden. Dafür kenne ich mich mit den Javascript Zeug zu wenig 
aus.

An meiner sonst genutzten Version 0.3.1 habe ich 2-3 kleine 
Modifikationen vorgenommen.
- (Config) einen der drei Suchlink auf Google umgeändert
- (Config) Den Hersteller anzeigen
- anstelle des Produktbilds habe ich den "Teile Editieren" Link 
eingefügt

von Jan B. (do9jhb)


Lesenswert?

Kai B. schrieb:
> Wie weiter oben schon geschrieben wurde wäre es toll denn sich das
> Treeview node auch öffnet wenn man auf den Text klickt.

Hi,

könntest du das viellecht weiter erläutern, ich verstehe irgendwie nicht 
ganz was du meinst...

Was für einen Browser nutzt du und welche Git Version (Commit nummer) 
verwendest du?
Vielleicht bin ich nur etwas verwirrt, weil ich zum Entwickeln schon 
eine neuere Version (die noch nicht gepusht wurde) nutze...

Gruß
Jan B.

von Jan L. (ranzcopter)


Lesenswert?

Jan B. schrieb:
> könntest du das viellecht weiter erläutern, ich verstehe irgendwie nicht
> ganz was du meinst...

bin zwar nicht kaib, aber vermutlich stört mich das genauso:
- klicke ich auf "aktive Bauteile", passiert ... nichts (ausser Text 
high light)
- klicke ich auf das "+" daneben, klappt das Menü (= Treeview) auf

intuitiver wäre es vermutlich, wenn ein Klick auf "+" oder "Text" die 
gleiche Funktion (= Menü aufklappen) hätte...

Ausserdem würde es imo die Benutzbarkeit enorm verbessern, wenn es etwas 
mehr "Feedback" gäbe, vor allem eine Anzeige, wenn das System "etwas 
tut" => z.B. "Kreiselanzeiger" für "System ist beschäftigt".
Beim Klick auf eine Kategorie dauert es bei mir  z.B. 2-3 Sekunden, 
bevor sich etwas tut - man weiss erstmal nicht, ob man überhaupt 
eine/die richtige Aktion ausgelöst hat.

Dito "Fehlermeldungen" - klickt man irgendwo "ganz unten" in der 
Bauteilliste z.B. auf "+" oder "-", passiert für den User scheinbar auch 
erstmal nichts. Bis man evtl. dann erkennt, dass "ganz oben" eine 
Meldung ("Es wurde keine gültige Bauteil-ID übermittelt!") erschienen 
ist...

Ansonsten aber sehr vielversprechend - sowas hab' ich auch noch 
gesucht... :-)

von Kai B. (kaib) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hi,

Getestet hatte ich das mit der neusten Chrome Version 55 und dem IE11 
unter Win10 64 Bit.
Die Version die ich heruntergeladen hatte müsste das commit 12c136f 
gewesen sein.

Im Anhang auch mal eine Grafik dazu was ich meine.
Die Oberen Menüpunkte der Kategorieren sind wohl als "selectable" 
konfiguriert dadurch ist das ausgewählte Node blau hinterlegt.
Bei dem Menübaum Verwaltung werden diese nicht blau hinterlegt wenn 
diese ausgewählt werden. Dadurch können diese auch mit einem Klick auf 
den Text erweitert werden.

Ich meine damit vermutlich das gleiche wie weiter oben schon geschrieben 
stand:

Michael K. schrieb:
> 1. Die Felder links im Menü könnten komplett als Link dienen. Aktuell
> werden sie beim anklicken nur blau eingefärbt und man muss tatsächlich
> den Text anklicken.

Gruß,
Kai

von Jan B. (do9jhb)


Lesenswert?

Hi,

@kaib
ja ok. Ich habe einen ziemlichen Denkfehler gemacht xD.
Die Funktion dürfte tatsächlich sehr sinnvoll sein. Ich werde mal 
versuchen das die nächsten Tage ausgehend von deinem Codebeispiel 
einzubauen.

@ranzcopter
Ja das mit den etwas unaufälligen Messages ist mir auch schon 
aufgefallen, ich bin gerade eine Version zu schreiben, wo automatisch zu 
Nachricht gescrollt wird, wenn eine auftritt.
Ein Ladescreen ist auch schon eine Weile geplant, ich habe mich bisher 
aber immer um die Arbeit "gedrückt"... Jetzt habe ich erstmal Ferien da 
werde ich das mal angehen.

Gruß
Jan B.

von Jan B. (do9jhb)


Lesenswert?

Hallo,

ich habe den Code jetzt so angepasst, dass die Menüpunkte expandieren 
bzw. wieder zusammenklappen, wenn sie drückt. Außerdem öffnet sich beim 
Klick auf den Titel über den Treeviews jetzt ein kleines Fenster, mit 
dem man alle Einträge ein  bzw. ausklappen kann (so wie im alten 
Part-DB).
Auch hat man jetzt einen Ladescreen wenn längere Aktionen ausgeführt 
werden, damit man erkennt, dass er auf die Anfragen reagiert hat.
Weiterhin gibt es jetzt einen Button mit dem man simple Labels mit 
Barcode generieren kann, diese Funktion ist aber noch nicht fertig, es 
sollen noch z.B. QR-Codes hinzugefügt werden und insgesamt soll man mehr 
einstellen können (Die Optionen sind zwar sichtbar, haben aber keine 
Wirkung).
In der mobilen Ansicht gibt es in der oberen Leiste einen Button, mit 
dem man die erzeugten Labels scannen kann, dann wird die entsprechende 
Seite aufgerufen (geht nur unter Android mit installierten ZXIng App).

Ich habe die Demo auf den aktuellen Stand aktualisiert 
(http://part-db.bplaced.net/startup.php).

Den aktuellen Code findet ihr auf Github 
(https://github.com/do9jhb/Part-DB/releases/tag/v0.4.0RC1.beta2). Dort 
gibt es noch ein genaueres Changelog.

Gruß
Jan B.

von Jan B. (do9jhb)


Lesenswert?

Hi,

falls noch jmd. Ideen für neue Features hat, oder sich eine bestimmte 
Funktion wünscht, dann kann er es hier schreiben oder ein Ticket auf 
Github (https://github.com/do9jhb/Part-DB) öffnen.

Vielleicht bekomme ich es ja hin es einzubauen...

Gruß

Jan B.

von Gelöscht (kami89)


Lesenswert?

Hallo Jan,

Wie ich sehe, hat sich in deinem Part-DB Fork einiges getan:
- Über 100 Commits auf dem master Branch, diverse neue Features
- Tags/Releases für v0.4.0 Release Kandidaten
- Neue Webseite (https://do9jhb.github.io/Part-DB/)

Insgesamt stellt sich mir daher die Frage, ob eigentlich auch geplant 
ist, die neuen Features in Form von Pull Request ans ursprüngliche 
Projekt (https://github.com/sandboxgangster/Part-DB) zurückfliessen zu 
lassen, oder ob du komplett auf eigene Faust weitermachen willst?

Insbesondere das Veröffentlichen von (Pre-)Releases und einer neuen 
Webseite auf eigene Faust sehe ich etwas kritisch, da es bei 
(potentiellen) Anwendern den Eindruck erweckt, dass sich das Projekt 
gespalten hat.

Versteh mich bitte nicht falsch - ich finde es super, dass du die 
Part-DB weiterentwickelst. Ich würde es aber schade finden, wenn dies 
auf eigene Faust passiert, anstatt dass gemeinsam am ursprünglichen 
Projekt weitergearbeitet wird.

Gruss
Urban

von Jan B. (do9jhb)


Lesenswert?

Hi,

Ich hab schon angedacht, dass ich ein PullRequest Stelle, um den Code in 
das Original Projekt einfließen zu lassen (wenn sandboxgangster das 
ebenfalls will ;)), ich denke dass ich noch ein wenig Zeit brauche, da 
ich einige tiefgreifende Änderungen durchgeführt habe und insgesamt die 
Dokumentation dazu noch nicht unbedingt perfekt...

Zu der GitHub Seite: Momentan ist das ja eh nur eine hübsch aussehende 
Variante der README, langfristig könnte man da vielleicht   die Doxygen 
Doku hosten  und ein paar Infos zusammenstellen (dann hätte man alles 
zusammen mit dem Code zusammen). Das schöne an den Github Pages ist ja, 
dass das ja auch nur ein Git Branch ist und daher auch per PullRequest 
in das Original Repo übertragen werden kann.

Zu den Vorreleases: Ja das ist möglicherweise etwas missverständlich... 
Mir viel aber sonst keine gute Möglichkeit eingefallen wie man, die 
stabilsten Versionen des Codes kennzeichnen könnte, damit Personen die 
die neue GUI testen möchten nicht so viel herum probieren müssen...

Was schlägst du also vor zum weiteren Vorgehen?

Gruß
Jan B.

von K. J. (Gast)


Lesenswert?

Moin, also ich würde das Positiv finden denke auch das einige von der 
Alten Garde mit dran arbeiten würden, mir fehlt leider die Zeit da ich 
aber für ein anderes Projekt mich gerade in Smarty einarbeite denke ich 
das ich da sofern Zeit da ist auch wieder mitmache.

mfg Theborg b.z.w. Sandboxgangster

von Gelöscht (kami89)


Lesenswert?

Hallo,

Jan B. schrieb:
> Ich hab schon angedacht, dass ich ein PullRequest Stelle, um den Code in
> das Original Projekt einfließen zu lassen

Ok super :) Siehst du eine Möglichkeit, die über 100 Commits 
nachträglich noch auf mehrere Branches zu verteilen, damit man pro 
Feature einen PR aufmachen kann? Dann hätte man auch eine Chance die 
verschiedenen Features einzeln nachvollziehen und reviewen zu können... 
Ich könnte das ggf. auch selbst übernehmen oder dich dabei unterstützen 
falls gewünscht.

Jan B. schrieb:
> Zu der GitHub Seite:

Jop, sehe ich genauso. Möglicherweise würde es sogar Sinn machen, auf 
GitHub mal eine Organisation für Part-DB zu erstellen, wo dann 
verschiedene Part-DB Repositories (Part-DB selbst, Webseite, Doxygen, 
...) zusammengefasst werden. Ich persönlich bevorzuge nämlich auch für 
die Webseite ein separates Repository, statt nur einem Branch...

Jan B. schrieb:
> Zu den Vorreleases:

Ok, vielleicht hätte man einfach die Tags anders benennen können, z.B. 
"0.3.1_smarty-preview-rc1" damit es nicht so aussieht als wäre das der 
Release Kandidat für die nächste Version. Oder gar keine Tags erstellen 
und stattdessen je einen "unstable" und einen "stable" Branch verwenden.

> Was schlägst du also vor zum weiteren Vorgehen?

Ich würde es am wichtigsten finden, die verschiedenen Features 
voneinander zu trennen und (sobald als "stabil/fertig" betrachtet) eines 
nach dem anderen per Pull Request ans ursprüngliche Projekt 
zurückfliessen zu lassen.

Gruss
Urban

von Jan B. (do9jhb)


Lesenswert?

Hallo,

ok dann werde ich die nächsten Tage mal versuchen die Funktionen etwas 
zu separieren, "schön" zu machen und dann ein Pull Request stellen.

Die Idee mit einer eigenen Organisation finde ich sehr gut, dann hätte 
man alle wichtigen Repos zentral an einem Ort. Es scheint ja auch recht 
einfach zu sein... Man könnte es ja dann vielleicht so irgendwie 
aufteilen: Hauptcode, Doxygen-Doku und allgemein Doku, Website, 
möglicherweise die Sprachdateien nochmal separat. Man könnte vielleicht 
auch überlegen ob es sinnvoll wäre die Bilddateien der Footprints auch 
seperat zu verwalten (so wie ich das bei den 3D-Modellen mache: 
https://github.com/do9jhb/PartDB-3D), dann könnte man sehr kleine 
Minimalpackages bauen und die User können sich aussuchen, was sie 
brauchen.

Gruß
Jan B.

von Jan B. (do9jhb)


Lesenswert?

Hallo,

ok ich habe jetzt mal ein PullRequest an das originalle Projekt 
gestellt. (https://github.com/sandboxgangster/Part-DB/pull/51)

Gruß

Jan B.

von Philipp H. (hansimglueck2)



Lesenswert?

Hey Ich hätte da noch ne Idee zur Lagerort Verwaltung.
wie wäre es wenn mann die Übergeordneten Orte Auf und Zu klappen kann?

Also wie bei mir z.B.

Schieber Regal -> A -> A01
dass sich hier dann A zuklappen lässt dass ich nicht alle A01 -> A30 
durchscrollen muss.

MfG Philipp

von Jan B. (do9jhb)


Lesenswert?

Hallo,

Ja das könnte eine nützliche Funktion sein. Nur könnte es mit der 
aktuellen Methode (im Prinzip nur eine Liste und mit Leerzeichen ein 
Nachbau eines Baumes). Etwas schwierig werden. Vermutlich wäre es am 
besten man diese Dialoge auf die Treeviews umbaut die auch in der 
Seitenleiste benutzt werden.
Dann kann mann soviel auf und zuklappen wie man will und man könnte z.B. 
noch eine Filterfunktion einbauen.

Wenn wir das neue Layout in das Originalprojekt übertragen haben, können 
wir uns denke ich Mal um sowas in die Richtung kümmern.

Gruß
Jan B.

von Gera (Gast)


Lesenswert?

Hallo,

wollte die 0.4.0RC1.beta mal installieren. Allerdings klappts nicht. 
Erst bemängelt er, dass ich ein paar Nutzerrechte korrekt einstelle, was 
ich getan habe. Aktualisiere ich dann die Seite, kommt nichts mehr -- 
weiße Seite.

Die 0.3.1 habe ich gerade nochmal neu installiert und das klappt ohne 
Probleme. Welche Voraussetzungsunterschiede gibt es? Gibts überhaupt 
welche?

Gruß

von Laberkeks (Gast)


Lesenswert?

0.4.0RC1.beta2

Habe für die Version auch alle Rechte auf 777 setzen müssen

P.S.: sonst sehr geile Sache!!! ;-)

von Philipp H. (hansimglueck2)


Lesenswert?

Hallo mir ist gerade noch ein Fehler aufgefallen.

bin gerade am einsortieren und preis eingeben und da liegt auch der 
Fehler und zwar: beim eingeben des preises konnte ich immer das Komma 
verwenden und auf einmal nicht mehr?! sondern nur wieder den punkt um 
das Dezimaltrennzeichen einzugeben wie bei der alten 0.3.1 Version :-(

wenn ich dann aber auf übernehmen drücke ist es wieder ein Komma...

jetzt gehts wieder nach einem neuladen der kompletten Seite ;-)

: Bearbeitet durch User
von pc-baerli (Gast)


Lesenswert?

Hallo Zusammen,
läuft die Demo Datenbank nicht mehr ??

von pc-baerli (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen,
Habe unterdessen die Datenbank installiert ... sieht wirklich toll aus
Wollte jetzt die Datenbank mit Daten füttern .. habe dazu den 
Dateiimport gewählt..
Leider bekomme ich immer die folgende Fehlermeldung: Ungültige Spalte: 
" Kategorie"

Ich habe einiges versucht , komme aber nicht auf eine Lösung .. vileicht 
kann mir Jemand von Euch helfen ...
Danke für Eure Unterstützung

von Kalle (Gast)


Lesenswert?

vielleicht liegt es am Umlaut (Feuerlöscher)?

von pc-baerli (Gast)


Lesenswert?

Danke für den Tipp
... habe es auch mit anderen Wörtern probiert

von pc-baerli (Gast)


Lesenswert?

Hallo Zusammen,
Jetzt hat es geklappt ... mit Daten importieren ...
hatte eine mit Excel erzeugte csv Datei mit Notepad++ bearbeitet und die 
war dann nicht mehr in Ordnung ...
importieren tut er jetzt ... aber leider sehe ich keine Artikel im Lager 
....
und die MySQL Datenbank bleibt leer

von Jan B. (do9jhb)


Lesenswert?

pc-baerli schrieb:
> Hallo Zusammen,
> Jetzt hat es geklappt ... mit Daten importieren ... hatte eine mit Excel
> erzeugte csv Datei mit Notepad++ bearbeitet und die war dann nicht mehr
> in Ordnung ...  importieren tut er jetzt ... aber leider sehe ich keine
> Artikel im Lager ....
> und die MySQL Datenbank bleibt leer

Hallo,

es kann sein, dass die Importfunktion Fehler hat, weil manche meiner 
Modifikationen über das kosmetische hinausgingen und da ich die 
Importfunktion quasi nie benutze ist mir das nicht aufgefallen...
Welche Version benutzt du (vorallem der Git commit, wäre 
interessant...), dann schaue ich ob ich es die nächsten Wochen gefixt 
bekomme.... Als Behelf könntest du die Daten mit einer alten Version 
importieren und dann die Datenbank in der neuen Version mitbenutzen.

Gruß
Jan B.

PS: Die Demo sollte jetzt wieder gehen... Ich muss mich an und an auf 
deren Seite einloggen und hab das vergessen zu machen.

von pc-baerli (Gast)


Lesenswert?

Hallo Jan,

Ich nutze Version: 0.4.0 RC1 (unstable)  sowie auch Version: 0.3.1 
(stable)

Habe jetzt den Import bei der 0.4.0 RC1 (unstable) hinbekommen 
allerdings nur mit 50 Datensätzen ... der Versuch mit 500 Datensätzen 
ist fehlgeschlagen

Hab das jetzt mit beiden Versionen ausprobiert -> mit 50 Datensätzen ist 
es gegangen mit 500 nicht

... werde wenn ich Zeit habe es noch mit 100 Datensätzen probieren

Die Daten liegen auf einem externe Webserver

Danke für die Unterstützung
Hans

von pc-baerli (Gast)


Lesenswert?

mit 50 Datensätzen hat der Import funktioniert ... werde mich jetzt 
hochtasten bis ich die 3000 drin habe :-)

von Gelöscht (kami89)


Lesenswert?

pc-baerli schrieb:
> der Versuch mit 500 Datensätzen ist fehlgeschlagen

Ich vermute, das liegt an der PHP Konfiguration welche das Hochladen zu 
grosser Dateien verbietet. Siehe 
http://phpbookworm.singollo.de/project/part-db/documentation/dokuwiki/doku.php?id=anforderungen#php_konfigurieren

von pc-baerli (Gast)


Lesenswert?

So die 2500 Datensätze sind drin ..
musste den php Wert max_input_vars erhöhen ..

Frage: was ist da ein durchschnittlicher Wert ?

Gruss Hans

von pc-baerli (Gast)


Lesenswert?

Hallo Zusammen,

Habe jetzt beide Datenbanken mit denselben Daten gefüttert ..

was mir auffällt:
die alte Datenbank V0.3.1 ist wesentlich schneller beim bereitstellen 
der Daten aus der Datenbank ..
die Bedienung mit Tab / Smartphone ist mit der neuen Version natürlich 
viel angenehmer ...
Vorallem die Barcode Funktion ist Gold wert

Gruss Hans

von Jan B. (do9jhb)


Lesenswert?

Hi pc-baerli,

stimmt jetzt wo du es sagst, fällt es mir auch auf xD.
Es scheint aber ein Problem auf Clientseite zu sein, die Debug Ausgaben 
sagen nämlich, dass die neue Version, weniger Serverzeit in Anspruch 
nimmt als die alte Version (hauptsächlich da die neue Templateengine die 
Templates cacht und daher bessere Performance errieicht).
Ich werde versuchen mich da mal die nächsten Tage drum zu kümmern.

Gruß
Jan B.

von Haferflocke (Gast)


Lesenswert?

Hallo Zusammen,

momentan bin ich dabei eine Lagerverwaltung für Elektronikbauteile (~2k) 
einzurichten.

Mit Part-DB habt ihr eine tolle Arbeit geleistet.
Leider fehlen einige mir wichtige Funktionen:
Ich bräuchte personengebundene Entnahmelisten, sprich:
- Die einzelnen "+" und "-" Aktionen müssten
  einer Person von einem Institut zugeordnet werden.
- Die einzelnen Abrechnungskonten (der Institute)
  sollten einsehbar und exportierbar sein.
- Erstellung von pdf Rechnungen (quartalsweise für Institute)

Ich habe vorher noch nix mit php und MySQL gemacht und
bin gerade dabei mich darin einzuarbeiten.
Soweit ich das jetzt überblicke kann ich eine ausreichende
minimalistische Lagerverwaltung + Abrechnungskonten selber schreiben.
Es wäre jedoch schön wenn man Part-DB diesbezüglich erweitern könnte.
Da ich den Code nicht kenne und er mir auch ein wenig spanisch vorkommt:

- Gibt es bereits solch eine Software/Extension?
- Lässt sich das leicht zu Part-DB hinzufügen?
- Wenn ja, wäre man bereit das in Zukunft hinzuzufügen?
  (Allein die ersten beiden Punkte (ohne Rechnung) wären schon toll.)

Gruß
Haferflocke

von 0815Gast (Gast)


Lesenswert?

Haferflocke schrieb:
> - Wenn ja, wäre man bereit das in Zukunft hinzuzufügen?

Das klingt so als wärst du von einem Institut. Das wäre doch eine nette 
kleine aufgabe für einen HiWi oder?

Eine weitere sehr nützliche Funktion wäre das automatisierte importieren 
von Bestellungen z.B. von Reichelt o.Ä. inklusive automatischem 
Bauteilanlegen.

von Jan B. (do9jhb)


Lesenswert?

Hallo,

im Prinzip dürfte das machbar machen, so grob müsste man noch eine 
Tabelle führen, in welcher jede getätigte Aktion (z.B. Bauteileentnahme, 
oder Bestellung) einem Nutzer zugeordnet werden.
Das Problem ist bisher ist Part-DB als reines Single-User System 
entwickelt worden, daher es gibt kein Benutzersystem, weswegen sich 
momentan keine Zuordnung von Aktionen zu bestimmten Benutzern der 
Datenbank realisieren lässt.
Ein Benutzer und Gruppensystem ist schon seit längerem angedacht und es 
gibt seit längerem bereits Dummyklassen dafür im Code, bisher ist aber 
nichts davon realisiert...


Gruß
Jan Böhmer

von Ludwig K. (hellas)


Lesenswert?

Hallo Jan,
kann es sein, dass bei der aktuellen Beta die Übernahme des unten 
ausgewählten Dateinamens für den Footprint nicht funkioniert?
Wählt man hier einen passenden Eintrag aus der Vorschlagsliste aus und 
übernimmt, wird zwar die Seite neu aufgebaut, das Bild wird dem 
erstellten Footprint aber nicht zugeordnet. Trägt man den Bilderlink 
aber händisch oben ein, funktioniert es.

Gruss, L.

von Jan B. (do9jhb)


Lesenswert?

Hi Ludwig,

ja konnte den Bug verifizieren. Danke für den Hinweis :)

Ich habe ihn gefixt: Die gefixste (und aktuellste) Version findest du in 
meinem Repo im Branch nextgen 
(https://github.com/jbtronics/Part-DB/tree/nextgen). Die letzten Tage 
habe ich noch ein paar mehr Bugs gefixt: So macht nun die 
"Suchen/Hinzufügen" beim Bauteilebearbeiten keine Probleme mehr, wenn 
man mit Enter bestätigt, und es werden nun auch die bereits 
gespeicherten Preise angezeigt in der Tabelle zum Eingeben der Preise, 
vorher blieben die Felder leer.

Desweiteren habe ich noch die Suchfunktion so verbessert, dass man nun 
reguläre Ausdrücke verwenden kann: Dazu einfach die Option "RegEx 
Matching" in den Suchoptionen aktivieren und dann den regulären Ausdruck 
in das Suchfeld eingeben. Alternativ kann man den Ausdruck in 
Backslashes setzen (z.B "\BC[3-6]+\") und so in das Suchfeld eingeben.
Außerdem ist es nun möglich mit Suchmodifizieren anzugeben in welchen 
Feld gesucht werden soll: So findet "inname:Test" nur Bauteile, bei 
welchen "Test" im Titel enthalten ist. Möchte man nach einem Wort mit 
leerzeichen suchen, so muss man den zu suchenden Ausdruck in 
Anführungszeichen setzen (z.B 'inname:"Hello World"'. Insgesamt gibt es 
die Suchmodifiziere inname:, indescription/indesc:, incomment:, 
infootprint/infoot:, incategory/incat:, inlocation/inloc:, 
insupplier/insup:, inpartnr:, inmanufacturer: . Diese Operatoren können 
auch wieder mit regulären Ausdrücken kombiniert werden.

Wenn ihr noch mehr Bugs findet, scheut euch nicht sie hier oder auf 
GitHub zu melden, ich werde dann versuchen sie zu fixen.

Gruß
Jan B.

von Stefan L. (leubi)


Lesenswert?

Grüße,
erst einmal ein großes Lob für die Arbeit die Ihr an dem Programm 
leistet und geleistet habt.

Ich benutze die Version Part-DB 0.3.1 und bin damit so weit zufrieden, 
leider bekomme ich es nicht hin dass ich es unter eine Subdomin laufen 
lassen kann, unter www.meine.domaine/part-db geht es wunder bar, unter 
einer Subdomian wird die Seite aufgerufen aber es wird nicht alles 
angezeigt… Und ich kann da auch nichts anklicken, das ist irgend wie 
komisch.
Das gleiche habe ich auch mit der Version 0.4.0 RC1.
Normal geht sie aber als Subdomain will sie nicht laufen..hmm.

Mein Webserver ist ein Apache2 mit PHP 7 und einer MariaDB auf Ubuntu 
16.04.03.

Was ich rausgefunden habe ist das beide Programme die gleiche Datenbank 
benutzen können, das Update der Datenbank von 0.4.0 ging auch erst 
nicht, als ich dann einen anderen Browser benutzte ging es auf einmal 
das lag wohl an meinem Computer….

Eventuell hat ja jemand eine Lösung wie ich es hinbekomme das es unter 
einer Subdomain läuft.

Lg
Leubi

: Bearbeitet durch User
von Stefan L. (Gast)


Lesenswert?

Grüße,
so ich habe es hinbekommen ;)
Wer lesen kann .......
Ich hatte nicht gesehen das ich in der sites-available.conf für die 
Subdomain die Aktivierung für die .htaccess funktioniert nicht mit rein 
gemacht hatte.

Was noch nicht so richtig hin haut ist das ich sehr oft zwei mal eine 
Änderung bestätigen muss und das mit dem Banner geht auch noch nicht :(

lg

Leubi

von Steffen (Gast)


Lesenswert?

Hallo!
Die Lagerverwaltung sieht wirklich super aus.
Danke an alle beteiligten Entwickler.

Ich habe die aktuellste Version gerade mal auf meinen
Strato Webspace geschoben.

Leider zeigt er mir:
•Die Datei /vendor/autoload.php ist benötigt und wurde nicht gefunden!

Kann mir die jemand zur Verfügung stellen?
Befehle wie "php composer.phar install" kann ich leider nicht ausführen.

von Stefan L. (leubi)


Lesenswert?

Grüße,

Steffen, ich habe mal eben auf meinem V Server geschaut ich habe welche, 
aber keine ist in der Lagerverwaltung bei mir drinne.

Wo soll die denn genau sein?
Ich habe welche bei mir auf dem Server in der Cloud, forum, webmail, 
CMS,

und

/usr/share/phpmyadmin/libraries/sql-parser/autoload.php
/usr/share/phpmyadmin/libraries/plugins/auth/recaptcha/autoload.php
/usr/share/php/phpseclib/autoload.php

sonst habe ich keine.

lg
Stefan

P.S.: Ich musste bei mir alle rechte auf das Verzeichnis von der 
Lagerverwaltung und den Unterverzeichnissen änder, und bei allen Dateien 
auch, dann hatte es mit der Installtion und der Benutzug geklappt.
ICh benutze eine .htaccess mit Passwort schutz.

von Steffen (Gast)


Angehängte Dateien:

Lesenswert?

Danke für die schnelle Rückmeldung, Stefan.

Ich habe die Dateirechte nochmals überprüft. Alles
OK soweit. Wenn ich sie herabsetze meckert er auch
gleich und verlangt die richtigen...

Anbei noch ein Screenshot von der kompletten Meldung.
Eventuell weiß ja einer der Entwickler bescheid.

Folgendes habe ich gemacht:
1) Neue mySQL-Datenbank über das Strato Login angelegt
2) Dateien auf der Server geschoben
3) CHMOD Rechte angepasst

Habe ich etwas übersehen?

von Stefan L. (leubi)


Lesenswert?

Grüße,

hast Du mal nachgeschaut ob Dein System alle anforderungen erfüllt? PHP 
WEBSERVER SQL USW. So wie ich das sehe fehlt Dir da was.

Ich benutze ein Ubuntu 16.04.03 System von Strato wo ich einen voll 
zugriff drauf habe.

lg
Stefan

von Steffen (Gast)


Lesenswert?

Ja,
mein Hosting-Paket unterstützt natürlich PHP, mySQL etc.
Habe auch andere CMS Systeme mit Datenbanken am laufen.
Alles in Ordnung.

Anscheinend fehlt ihm eine Bibliothek. Die kann ich aber
mangels Konsolenzugriff nicht installieren.

Die Alternative scheint zu sein, sich von jemand anderem die
entsprechenden Daten (die wohl eigentlich die Bibliothek erzeugt)
geben zu lassen. Deshalb wundert es mich, dass da bei dir nichts ist.

Ich stecke leider nicht so tief in der Materie, deshalb hoffe ich,
dass hier noch der ein oder andere Tipp eines Webmasters kommt :)

von Steffen (Gast)


Lesenswert?

Nachtrag:
Wenn ich es nun richtig verstanden habe, ist der Composer dafür 
zuständig externe Plugins oder Bibliotheken selbstständig nachzuladen.
Welche das sind steht in der "composer.json".
Das geht bei Strato im Webhosting-Paket halt nicht.

Könntest du mal bitte eine 2. Part-DB Installation auf deinen Server 
schmeißen und das Setup ausführen? Du musst vermutlich nicht mal eine 
Datenbank anlegen, da das Nachladen der Bibliotheken schon vorher 
passiert.

Anschließend müsstest du die Dateien mal zippen und mir einen Link 
zukommen lassen. Das wäre super nett, danke!

von Stefan L. (leubi)


Lesenswert?

Grüße,
so Du kannst es Dir unter

https://rz-daemon.de/part-db/

downloaden.

Die config.php im Verzeichnis /data must Du dir noch anpassen ich habe 
meine Daten da reusgenommen und +++++ reingesetzt.

Ich drücke Dir die Daumen das es geht.

lg

Stefan

P.S.: Meld Dich bitte ob es geht oder nicht.

von Stefan L. (leubi)


Lesenswert?

Grüße,
ach es ist nicht die Versin 0.3 sondern schon die Version 0.4.0
ich hoffe das ist nicht so schlim sonst kann ich dir auch die 0.3. geben 
das dauert aber einen moment.

lg
Stefan

von Steffen (Gast)


Lesenswert?

Hallo Stefan,
hat etwas gedauert... musste nebenbei noch etwas Hardware reparieren...

Leider klappt es nicht, identisches Fehlerverhalten :(
0.4.0 ist schon in Ordnung :)

Vielleicht werden die Bibliotheken auch irgendwo anders
hingeladen.

Laut der Fehlerbeschreibung muss es ja irgendwo einen "vendor"
Ordner geben, den ich nachträglich einfügen soll.

Andere Projekte, die auch mit dem Composer arbeiten werden
teilweise in einer gesonderten Version angeboten, für Anwender
die keine Befehle ausführen können. Irgendwie muss es also gehen.

Ich bin aktuell leider überfragt und schon kurz davor mir nen PI
fertig zu machen. Aber das ist mir eigentlich zu viel Aufwand
und auch nicht wirklich zielführend.

Danke nochmal für deine Mithilfe!

von Jan B. (do9jhb)


Angehängte Dateien:

Lesenswert?

Hi Steffen,

Lade dir mal das Archiv aus dem Anhang beziehungsweise von hier 
(https://github.com/jbtronics/Part-DB/raw/gh-pages/vendor.zip) herunter, 
und kopiere den Ordner vendor/ in dein Part-DB Hauptverzeichnis. Das ist 
der Ordner den composer anlegen würde und der die benötigten 
Bibliotheken enthält.

Ich werde die Tage mal versuchen, einen Buildserver so zu konfigurieren,
dass er bei jedem neuen Commit, die Composer Komponenten herunterlädt 
und auf Bintray hochlädt, dann kann man da die Versionen finden, die man 
benötigt, wenn man kein Composer ausführen kann. Bis dahin musst du die 
Abhängigkeiten leider manuell hineinkopieren.

Falls du noch irgendwelche Probleme oder Fragen hast, melde dich.

Gruß
Jan B.

von Steffen (Gast)


Lesenswert?

Hallo Jan!
Danke, mit dem Vendor Ordner bin ich einen Schritt weiter! :)

Leider aber auch nur einen ;)

Habe bei Strato die Datenbank angelegt.
Bei der Installationsabfrage habe ich entsprechend DB-Name, User und das
Passwort eingegeben.

Die Datenbank ist in meinem Fall nicht auf dem "localhost",
sondern rdbms.strato.de

Kann es sein, dass er das nicht mag? Wenn ich speichern sage
übernimmt er die Daten korrekt (stehen in der config.php),
aber er fragt erneut nach den Zugangsdaten.

Eine Fehlermeldung, was ihm nicht passt erscheint leider nicht.

LG und Danke!

von Jan B. (do9jhb)


Angehängte Dateien:

Lesenswert?

Hi Steffen,

Kannst du Mal versuchen die Datei aus dem Anhang nach Data/ zu 
verschieben und dann die Zugangsdaten auf deine Werte anzupassen? So 
überspringst du den Installationsassistent, vielleicht mag der Check die 
Adresse tatsächlich nicht.

P.S.: Bist du sicher dass du die richtigen Zugangsdaten benutzt? Weil 
Strato hat scheinbar ein merkwürdiges System 
(https://www.strato.de/faq/article/567/So-nutzen-Sie-unsere-MySQL-Datenbank.html).

Gruß
Jan B.

von Steffen (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Jan,
nun kommt die Meldung aus dem Screenshot.

Von Hand muss ich doch keine Tables anlegen, dass habe ich
doch richtig verstanden oder?

von Jan B. (do9jhb)


Lesenswert?

Hallo,

ja eigentlich sollte er die Tabellen selbstständig anlegen...

Ich habe eben mal einen Fix für ein Problem, das möglicherweise deine 
Probleme verursacht, einprogrammiert. Es wäre daher ganz schön, wenn du 
dir die neuste Version aus dem nextgen Branch 
(https://github.com/jbtronics/Part-DB) herunterlädtst und mal deine 
jetzige config.php löschst bzw. umbennennst. Dann sollte beim Aufruf von 
install.php im Browser wieder der Installationsassistent erscheinen. 
Wenn du auf der Seite bist, wo die Datenbank Zugangsdaten abgefragt 
werden, versuche mal die Option "Leerzeichen in PDO-String einfügen" zu 
aktivieren. Möglicherweise hilft dir das. Wenn es nicht klappen sollte, 
dann wäre es schön, wenn du die erscheinenden Fehlermeldungen (die jetzt 
auch wirklich erscheinen) mal hier posten könntest. Am besten mit 
aktivierter Checkbox und ohne.

Gruß

Jan B.

von Steffen (Gast)


Angehängte Dateien:

Lesenswert?

Guten Abend!
Habe die Dateien gerade mal neu hochgeladen.
Leider ebenfalls keinen Erfolg.

Mit aktivierter Checkbox kommt die Fehlermeldung aus dem Anhang.
Ohne aktivierte Checkbox ist die Fehlermeldung identisch, wie in
meinem vorherigen Beitrag.

LG
Steffen

von Jan B. (do9jhb)


Lesenswert?

Hi Steffen,

ich hab gerade festgestellt, dass es einen Bug gab, der verhindert hat, 
dass die Datenbank eingerichtet wird, wenn sie vorher leer war... Ich 
habe, dass jetzt behoben, jetzt sollte es hoffentlich bei dir 
funktionieren (vermutlich mit deaktivierter Option "Leerzeichen in PDO 
String").

Lade dir also bitte mal die neuste Version herunter 
(https://github.com/jbtronics/Part-DB/tree/nextgen) und berichte, ob es 
jetzt endlich geht ;)


Gruß

Jan B.

von Steffen U. (dundeefsk)


Lesenswert?

So, jetzt mit Login - wusste doch, dass ich mich hier schon mal vor 
Jahren angemeldet habe.

Immer noch keinen Erfolg, Fehlermeldung identisch.

Hast du das mal gelesen?:
http://www.zfforum.de/mvc/6507-fehlermeldung-bei-mysql-verbindung.html

Da hat jemand auch diese Problematik in Verbindung mit Strato.
Gleiche Fehlermeldung, wie ich sie habe.

LG

von Jan B. (do9jhb)


Lesenswert?

Hi,

wieder diese Meldung "Cant connect to local MySQL server, through 
socket..." ?

Bist du sicher dass die Option "Leerzeichen in PDO
String" deaktiviert ist? Bzw. in der config.php die Option 
$config['db']['space_fix'] auf false gesetzt ist?

Weil zumindest die Fehlermeldung, die du ursprünglich hattest (die mit 
"Basetable or View not found...") sollte jetzt eigentlich mit der neuen 
Version nicht mehr auftreten können...

Gruß

Jan B.

von Steffen U. (dundeefsk)


Lesenswert?

$config['db']['space_fix'] stand in der config auf true!

Den haken für Leerzeichen in PDO-Strings hatte ich aber
gesetzt.

Kann jetzt leider erstmal nicht mehr testen,
die nächste Antwort von mir kommt wohl morgen.

Danke und LG

von Jan B. (do9jhb)


Lesenswert?

Hi,

der Haken darf bei dir nicht gesetzt sein, sonst versucht er ein 
Socket zu benutzen, den er nicht hat.

Teste es, wenn du Zeit hast, ist ja nicht so dringend.

Gruß

Jan B.

von Steffen (Gast)


Lesenswert?

Das kommt davon, wenn man eben was zwischen Tür und Angel machen
möchte. Habe das deaktivieren überlesen...

Haken entfernt und es funktioniert :)

Vielen Dank für den tollen Support!

Ich werde weiterhin hier mitlesen und stelle mich gerne als
Versuchskaninchen zur Verfügung.

Jetzt kann ich ja erstmal loslegen und die ersten Datensätze einpflegen.
Sind wohl hunderte :(

Schönen Abend noch!

von Jan B. (do9jhb)


Lesenswert?

Hallo alle zusammen,

was meint ihr: Würde es Sinn machen für die neue Version einen neuen 
Thread aufzumachen, damit man sich hier um die 0.3 Version kümmern kann, 
und in dem neuen Thread um die Neue?
Oder sollten wir den Thread hier weiterführen, um den Anschluss und auch 
den Kontext beizubehalten?

Außerdem: Habt ihr noch Ideen oder Wünsche wie man Part-DB und den 
Workflow weiter verbessern kann?
Ich habe jetzt z.B. einen Bearbeitungsbutton in die Tabellen eingefügt, 
einen Link zu Google und Octopart für jedes Bauteil und z.B. die 
Möglichkeit direkt zu der Bauteileinfoseite eines neu angelegten Teils 
zu springen, wenn man dies möchte.

Über Rückmeldungen und Ideen würde ich mich freuen.

Gruß
Jan Böhmer

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


Lesenswert?

Hallo Jan,

Jan B. schrieb:
> was meint ihr: Würde es Sinn machen für die neue Version einen neuen
> Thread aufzumachen, damit man sich hier um die 0.3 Version kümmern kann,
> und in dem neuen Thread um die Neue?

Halte ich für eine gute Idee, dann bleibt es einfach übersichtlicher.

Jan B. schrieb:
> Außerdem: Habt ihr noch Ideen oder Wünsche wie man Part-DB und den
> Workflow weiter verbessern kann?

Ich fände es toll, wenn man Art Benutzer-/Rechtesystem hätte.
Also z.B. für Gast (einfach zum Lagerstand einsehen), Admin,...

Und was mir auch gefallen würde, wäre ein richtiger Login, evtl. auch 
mit U2F unterstützung (https://developers.yubico.com/php-yubico/).

Mfg,
Tropaion

: Bearbeitet durch User
von Jan B. (do9jhb)


Lesenswert?

Hi Tropaion,

ja ein Usersystem ist ja schon länger gewünscht und wäre auch sehr, und 
es sind auch schon Teile im Code dafür vorbereitet.
Da es aber relativ tiefgehende Änderungen sind, sind die Arbeiten 
relativ aufwendig. Trotzdem habe ich vor kurzem Mal angefangen ein 
Benutzersystem zu implementieren (siehe Git Branch user_system). Ich 
habe bisher jetzt ein simples System, einen User aus der Datenbank unter 
Verwendung von Nutzernamen und Password ein und auszuloggen.
Jetzt fehlt noch das gesamte Berechtigungssystem und Funktionen um die 
Nutzer zu verwalten (z.B. Nutzer/Gruppen anlegen, Password ändern, 
etc.).

Wenn das fertig kann, ich denke auch gerne andere Authverfahren wie z.B. 
U2F oder OAuth, etc. einbauen.

Bis man aber etwas von den Änderungen im Hauptbranch sieht, kann es noch 
eine Weile dauern, da es wie gesagt relativ komplexe Änderungen sind.

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


Lesenswert?

Hallo Jan,

Jan B. schrieb:
> Bis man aber etwas von den Änderungen im Hauptbranch sieht, kann es noch
> eine Weile dauern, da es wie gesagt relativ komplexe Änderungen sind.

Kann ich gut verstehen, eilt ja nicht ;).
Ich freue mich wenn es da ist.
Und vielen Dank für deine Mühen, ich verwende die Part-DB jetzt schon 
ein Weilchen.

Der Aufwand der Implementierung von U2F ist ja glücklicherweise, Anhand 
des von mir geschickten Links danach noch wenig zusätzlicher Aufwand.

Was ich bis jetzt noch nicht verstanden habe, für was ist die InnoDB 
nötig?
Tut es nicht eine einfache MySQL-Datenbank?
Mein Hoster verlangt leider Zusatzkosten für InnoDB.

Mfg,
Tropaion

von Jan B. (do9jhb)


Lesenswert?

Hi Tropian,

InnoDB ist eine Speicherengine für MySQL und ist eigentlich der Standard 
bei allen neueren MySQL Versionen. Vorher wurde für MySQL die Engine 
MyISAM die aber mitlerweile eigentlich kaum mehr benutzt wird. Der 
Vorteil von InnoDB gegenüber der älteren MyISAM engine liegt darin, dass 
einige Beschränkungen bezüglich der Indexzahl wegfallen, und es 
einfacher ist die Integrität der Datenbank aufrecht zu erhalten, 
insbesondere wenn man komplexe Datenstrukturen abbilden will. Inwieweit 
es jetzt notwendig war Part-DB auf die InnoDB engine umzustellen, weiß 
ich nicht genau, da diese Änderungen durchgeführt wurden, bevor ich 
angefangen habe an Part-DB zu programmieren.
Vermutlich war der Grund das InnoDB einfach zukunftssicher ist und es 
einfacher ist es zu erweitern.
Auch viele andere Anwendungen (z.B. Owncloud/Nextcloud) unterstützen 
mittlerweile nur noch InnoDB als Engine für MySQL, weil es mittlerweile 
eigentlich fast jeder zur Verfügung haben sollte.

Vielleicht kannst du dich als Lösung ja mal nach einem anderem Hoster 
umsehen, wenn du Part-DB nicht selber hosten willst. Es gibt auch viele 
kostenlose Hoster wie z.B. bplaced.net (da läuft die Demo von Part-DB), 
die InnoDB unterstützen, und die Serverkapazitäten für Part-DB 
eigentlich ausreichen sollten.

Hoffe das konnte dir zumindest etwas weiterhelfen-

Gruß
Jan B.

von Steffen U. (dundeefsk)


Lesenswert?

Hallo Jan!
Ein neuer Thread ist wohl ganz sinnvoll.

Ein Login wäre schonmal nicht schlecht. Dann muss man nicht mit
htaccess arbeiten.

Ebenfalls wünschenswert wäre eine automatische Importfunktion
für Datenblätter. Sowas bietet z.B. PartKeepr. Eventuell kann
man sich da im Quelltext was abgucken ;)

Mir ist noch ein Bug aufgefallen:
Wenn ich eine Kategorie in einer übergeordneten anlege und wähle 
"Weitere Kategorien anlegen" springt er trotzdem auf "oberste Ebene" 
zurück.

LG
Steffen

von Jan B. (do9jhb)


Lesenswert?

Hi Steffen,

ich habe das Problem mit "Weitere Kategorien anlegen" in der aktuellen 
Version gefixt. Du findest sie wie immer im "nextgen" Branch auf GitHub.

Zu den automatischen Datenblättern: Ja die Funktion ist cool. PartKeepr 
nutzt dafür Octopart. Die bieten eine recht ausführliche API, für 
Abfragen zu Bauteilen. Damit kann man auch gleich automatisch eine 
Bauteilebeschreibung, Eigenschaften, Preise bei verschiedenen 
Distributoren, Bilder und sogar teilweise 3D-Modelle für Bauteile 
erhalten. Im Endeffekt könnte man es dann sogar soweit treiben, dass man 
nur noch den Namen eines Bauteils eingibt, und Part-DB füllt den Rest 
dann automatisch aus.

Ich werde mich aber vermutlich erst einmal dem Benutzersystem widmen, 
danach kann man dann sowas wie die Octopart Integration einbauen.

Gruß
Jan B.

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


Lesenswert?

Hallo Jan,

eigentlich hat der Hoster bei dem ich bin (world4you.com) eine relativ 
guten Ruf (denke ich). Darum wundert mich das auch gerade das die was 
verlangen (10€/Jahr), wenn du sagst, das das schon fast überall Standard 
ist.

Ich hätte da noch ein paar Fragen an bezüglich updaten.
Meine aktuelle Part-DB Version ist die von vor zwei Jahren und möchte 
die Updaten.

Muss ich da etwas bestimmtes beachten, damit die alten Daten nicht 
verloren gehen? Da schon sehr viele Bauteile in meiner Datenbank 
vorhanden sind, möchte ich das vermeiden.

Was hat es mit diesem php-composer.phar install auf sich?
Ich hab bei meinem Webspace leider keinen Zugang zu einer Konsole, nur 
FTP und phpmyadmin. Geht das dann trotzdem?

Danke und Mfg,
Tropaion

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


Angehängte Dateien:

Lesenswert?

Hallo Jan,

mein Anbieter hat mir jetzt versichert, das der Server alle 
Voraussetzungen für Part-DB erfüllt.

Darum hab ich mit einer Testinstallation laut Anleitung begonnen.
Ich habe alles per FTP hochgeladen und denn vendor-Ordner hinzugefügt.

Leider, kommt, wenn ich die Seite aufrufe, einen "Internal Server 
Error", siehe Bild.

Woran kann das liegen?

Mfg,
Tropaion

von Stefan L. (leubi)


Lesenswert?

Grüße,
eine Idee hätte ich auch noch.

Wie wäre es mit einer Uplade möglichkeit für Bilder und anderes?

Da ich per Hand diverse Bilder schon selber hinzugefügt hatte.

Ach einen hätte ich noch.

Eine Automatische Update möglichkeit aller WP oder so?

lg
Stefan

von Stefan L. (leubi)


Lesenswert?

Ha Jan,
eventuell mal die Rechte überprüfen ;)

lg
Stefan

von Stefan L. (leubi)


Lesenswert?

Jan,
hast Du die Seite mit http:// aufgerufen?
Es könnte ein DNS fehler sein.

http://www.checkupdown.com/status/E500_de.html

lg
Stefan

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


Lesenswert?

Hallo,

habe jetzt alle Rechte auf 777 gesetzt und auch mit http:// probiert, 
funktioniert beides nicht.

Kann es daran liegen das ich eine Subdomain (fabian.cyberlabs.at) 
verwende?

Mfg,
Tropaion

von Stefan L. (leubi)


Lesenswert?

He,
eine Subdomain benutze ich auch.
Welches PHP benutzt Du?
Ich musste bei mir in der .htaccess die PHP Version ändern da stand 5 
drinne und ich arbeite mit 7.

Könnte aber auch sein das DU was anderes ändern müsstes.

von Jan B. (do9jhb)


Lesenswert?

Hi Tropaion,

kannst du mal das hier von 
http://www.tagdocs.de/2009/04/08/wordpress-bei-1und1/ ausprobieren. 
Außerdem wenn du Zugang zu den Server logs hast, könntest du dann hier 
den relevanten Auschnitt posten? Vielleicht steht da irgendwas 
aussagekräftigeres drin.

Wenn du die neue Version von Part-DB nutzen willst, dann solltest du 
immer die aktuellste Version aus dem nextgen Branch benutzen 
(https://github.com/jbtronics/Part-DB/tree/nextgen und dann dort auf den 
grünen Button Clone or Download)
Wenn du keine Möglichkeit hast, ein Terminal zu benutzen musst du 
zusätzlich diese Zip datei herunter laden 
(https://github.com/jbtronics/Part-DB/blob/gh-pages/vendor.zip?raw=true) 
und den Ordner vendor/ in das Hauptverzeichnis von Part-DB verschieben. 
Vielleicht hilft auch schon das, damit der Fehler verschwindet.

Die neue Version aktualisiert die Datenbank und dann kannst du sie 
benutzen. Trotzdem solltest du die Datenbank vorher sichern (und am 
besten auch regelmäßige Backups durchführen). Wichtig ist auch der data/ 
Ordner der alten Installation zu testen.
Am besten kopierst die das "neue" Part-DB in einen seperaten Ordner 
(damit keine Überreste der alten Version die neue Version stören), 
kopierst den data/ Ordner aus der alten Installation in den neuen 
Ordner, und schaust ob es funktioniert. Danach kannst du es ja immer 
noch verschieben etc.

Ich hoffe das hilft dir.

Gruß
Jan B.

von Jan B. (do9jhb)


Angehängte Dateien:

Lesenswert?

Und könntest du mal die Datei aus dem Anhang auf dem Server hochladen 
und aufrufen, wenn PHP funktioniert sollte, eigentlich eine Ausgabe 
erscheinen, was für eine PHP Version läuft und was für Erweiterungen 
aktiviert sind, etc.

Gruß
Jan B.

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


Lesenswert?

Hallo Jan,

ich hab jetzt gerade nextgen Version auf denn FTP-Server hochgeladen und 
Rechte festgelegt, das sollte soweit passen.

Wie sich herausgestellt hat, bietet mein Hoster überraschenderweise 
sogar eine Konsole an, wo ich denn Composer Befehl ausführe, welcher mir 
auch gleich einen Fehler ausspuckt:
1
[user3@www.cyberlabs.at]$ php composer.phar install -o                                         
2
                                                                                                    
3
                                                                                                    
4
  [RuntimeException]                                                                                
5
  The HOME or COMPOSER_HOME environment variable must be set for composer to run correctly          
6
                                                                                                    
7
                                                                                                    
8
[user@www.cyberlabs.at]$ php composer.phar install                                            
9
                                                                                                    
10
                                                                                                    
11
  [RuntimeException]                                                                                
12
  The HOME or COMPOSER_HOME environment variable must be set for composer to run correctly          
13
                                                                                                    
14
                                                                                                    
15
[user@www.cyberlabs.at]$

Leider konnte ich dazu im Internet nichts hilfreiches finden, weist du 
das was?

Hier meine PHP-Info:
http://www.cyberlabs.at/phpinfo.php

Das interessante ist, selbst phpinfo funktioniert in der Subdomain 
nicht.
http://fabian.cyberlabs.at/phpinfo.php

Mfg,
Tropaion

von Steffen U. (dundeefsk)


Lesenswert?

Ich vermute ebenfalls, es hängt mit der .htaccess
zusammen. Benenn die doch mal testweise um, oder
steht da was zwingend erforderliches drin?

LG

von Steffen U. (dundeefsk)


Lesenswert?

Ah, wusste doch das ich sowas schonmal gelesen habe:
Beitrag "Re: Lagerverwaltung Part-DB V0.2.2"

Viel Erfolg :)

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


Lesenswert?

Hallo,

interessant, ich hab die .htaccess gelöscht und jetzt lädt die Seite.
Was hat die .htaccess in diesem Fall gemacht?
Ist die Essentiell?
Ich kenne mich damit leider nicht so gut aus.

Der Composer-Befehl liefert leider immer noch genau die selbe 
Fehlermeldung.
Kommt da anscheinend auch vor: 
https://github.com/composer/composer/issues/4789

Mfg,
Tropaion

: Bearbeitet durch User
von Jan B. (do9jhb)


Lesenswert?

Hi,

die .htaccess verändert ein paar Einstellungen an PHP, wie z.B. maximale 
Dateigröße. Vermutlich erlaubt dein Hoster diese Änderungen in der 
.htaccess nicht, und daher gab es den Fehler. Die .htaccess erfüllt aber 
keine wirklich wichtige Rolle. Falls du Probleme mit der Upload File 
Größe bekommst, dann musst du die Einstellung manuell ändern, 
möglicherweise ist sie aber von deinem Hoster aber auch so groß 
eingestellt, dass es keine Probleme geben wird.

Zu dem composer Problem: Versuche mal COMPOSER_HOME=$(pwd) vor den 
Befehl zu setzen, also "COMPOSER_HOME=$(pwd) php composer.phar install 
-o" auszuführen (ohne Anführungszeichen). Sollte das immernoch nicht 
funktionieren, musst du den vendor/ Ordner aus der Zip 
(https://github.com/jbtronics/Part-DB/blob/gh-pages/vendor.zip?raw=true) 
kopieren.

Ich werde heute Abend mal, den Tipp mit dem Entfernen der .htaccess ins 
Wiki auf GitHub (https://github.com/jbtronics/Part-DB/wiki) schreiben, 
dann ist diese Lösung auch dokumentiert.

Gruß
Jan B.

von Steffen U. (dundeefsk)


Lesenswert?

Ich kannte .htaccess immer nur als Verzeichnisschutz
(Abfrage von Benutzername und Passwort).

Man kann damit wohl aber auch Servereinstellungen übergeben.
Normalerweise brauchst du die nicht. Höchstes eben um ein
einfaches Login zu realisieren.

Dann mach es doch wie ich indem du den Vendor Ordner hochlädst,
dann brauchst du auf der Konsole nicht rumhacken ;)

//EDIT:
Jan war schneller :)

Mir sind noch Verbesserungen eingefallen. Oder ich habe die Funktion 
noch nicht ausfindig gemacht:

Gleichzeitig mehrere Parts löschen. Angenommen ich habe 100 verschiedene 
Widerstände und möchte 20 davon löschen oder z.B. in eine andere 
Kategorie verschieben.

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


Lesenswert?

Hallo,

mein Hoster erlaubt glaub ich so um die 200MB Upload, sollte also kein 
Problem darstellen.

Jan B. schrieb:
> Zu dem composer Problem: Versuche mal COMPOSER_HOME=$(pwd) vor den
> Befehl zu setzen

Werde ich nachher mal probieren, habe es inzwischen mit dem Ordner 
probiert und es geht.

Auch die Datenbank hat er übernommen, das passt auch.
Das einzige was er nicht übernommen hat, sind die Media-Dateien.
Mal sehen ob sich da was machen lässt.

Auch noch ein Verbesserungstipp/Schönheitsfehler:
Wenn man denn Hersteller global deaktiviert, wird das Auswahlfeld in 
denn Suchoptionen trotzdem noch angezeigt.

Mfg,
Tropaion

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


Angehängte Dateien:

Lesenswert?

Ich habe gerade noch etwas herausgefunden.

Ich habe die Bilder richtig hochgeladen und wenn ich auf Part bearbeiten 
gehe, zeigt ihr mir auch denn korrekten Pfad zum Bild an.

Drücke ich jedoch auf übernehmen, meldet er "Ungültiger Klassenname: 
"Part"".
Kann das der Grund sein warum die Bilder nicht angezeigt werden?

Im Grunde kann ich bei denn Bauteilen alles bearbeiten außer 
Dateianhänge, weil da immer diese Fehlermeldung kommt.

Mfg,
Tropaion

: Bearbeitet durch User
von Jan B. (do9jhb)


Lesenswert?

Hi,

hast du den data/media/ Folder aus der alten Installation in die neue 
Version kopiert.
Um den Fehler das man alte Anhänge nicht speichern kann, kümmere ich 
mich heute Abend. Aber eigentlich sollte der Fehler nicht verhindern, 
dass die Attachements zu mindest angezeigt werden. Aber ich schaue 
nachher mal.

Gruß
Jan B.

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


Lesenswert?

Hallo,

ja, das hab ich hinüberkopiert.
Angezeigt werden nur die Dateinamen, nicht die Bilder.

Du kannst es gerne auch selbst verifizieren:
fabian.cyberlabs.at

Habe das mit Composer in der Konsole noch einmal probiert, jetzt meldet 
er:
1
[user@www.cyberlabs.at]$ COMPOSER_HOME=$(pwd) php composer.phar install -o                                                                                                                     
2
                                                                                                    
3
  [ErrorException]                                                                                                                                                                                    
4
                                                                                                    
5
  file_exists(): open_basedir restriction in effect. File(/tmp/composer-cacert-e62a07e61e5870effa81b
6
430e1900778943c228bd7da1259dd6a955ee2262b47.pem) is not within the allowed path(s): (/home/.sites/11
7
7/site3029/web:/home/.sites/117/site3029/tmp:/usr/share/pear)                                       
8
                                                                                                    
9
                                                                          
10
[user@www.cyberlabs.at]$

Mfg,
Tropaion

: Bearbeitet durch User
von Jan B. (do9jhb)


Lesenswert?

Hi,

scheinbar liefert der Server, wenn man versucht die Dateien aus dem 
data/media folder aufzurufen, einen 500 Internal Server Error zurück.

Hat der Server Zugrifsrechte auf data/media/ und alle Dateien darin?
Testweise kannst du auch mal probieren die .htaccess in data/ und in 
data/media umzubenennen, vielleicht gibt es da die selben Probleme, wie 
bei der .htaccess im Hauptvereichnis?

Gruß

Jan B.

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


Lesenswert?

Hallo,

data hat die Rechte "777", daran liegt es sicher nicht.
Ich habe jetzt .htaccess in data und in media gelöscht und jetzt geht 
es.

Hatte Anfangs nur die eine Datei in /media gelöscht, das brachte nichts, 
nur wenn ich beide lösche.

Der Fehler "Ungültiger Klassenname: "Part"" kommt aber immer noch. Kann 
das auch an .htaccess liegen?

Wäre es evtl. sinnvoll das ich alle .htaccess-Dateien lösche, um Fehler 
vorzubeugen?

Mfg,
Tropaion

von Jan B. (do9jhb)


Lesenswert?

Hi,

scheinbar mag dein Hoster keine .htaccess Dateien. Dann kann es 
vielleicht nicht schaden die restlichen auch zu löschen, wenn sie eh 
nicht funktionieren.
Das einzige Problem, ist dass ohne den Schutz durch die .htacess 
möglicherweise möglich ist, Dateien zu sehen, die man nicht sehen 
sollte.
Scheinbar lässt sich die config.php (wo ein relativ unsicherer Hash des 
AdminPW drinsteht, und die Zugangsdaten zur Datenbank) aber nicht so 
ohne weiteres anzeigen, also dürfte sich der potentielle Schaden in 
Grenzen halten. Trotzdem solltest du das im Hinterkopf behalten.

Zu dem Problem "Ungültiger Klassenname", das werde ich morgen fixen, 
dass sollte eigentlich kein großes Problem, das zu beheben. Der Fehler 
rührt daher, dass zu jedem Anhang der Name der Klasse des enthaltenen 
Bauteils gespeichert wird (hier z.B. Part), und dann mit Hilfe dieses 
Namens ein Objekt mit der Klasse erzeugt wird. Da ich aber vor kurzem 
die Klassen in Namespaces eingeordnet habe, hat sich der Klassenname 
verändert (der vollständige Name lautet nun \PartDB\Part) und dann 
findet er keine Klasse mehr zu dem alten Namen.
Das sollte sich aber wie gesagt relativ einfach beheben lassen.

Gruß
Jan B.

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


Lesenswert?

Jan B. schrieb:
> scheinbar mag dein Hoster keine .htaccess Dateien. Dann kann es
> vielleicht nicht schaden die restlichen auch zu löschen, wenn sie eh
> nicht funktionieren.

Ich kann auch mal meinen Hoster anschreiben, mal sehen ob der was machen 
kann. Meistens ist der da eh recht flexibel.

Jan B. schrieb:
> Zu dem Problem "Ungültiger Klassenname", das werde ich morgen fixen

Super, danke, wäre toll. Dann kann ich morgen das fertig einrichten und 
in Betrieb nehmen ;)

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


Lesenswert?

Hallo,

mein Hoster hat mir geschrieben, das er die "Options"-Funktionen von 
.htaccess nicht unterstützt. Ich hab diese auskommentiert und dann 
funktioniert es.

Bei meiner zweiten Datenbank ist mir noch etwas aufgefallen.
Bei dieser meldet er auf der Startseite: "Bitte beachten Sie, dass vor 
der Verwendung der Datenbank mindestens eine Category hinzufügt werden 
muss".
(BTW, da ist ein kleiner Übersetzungsfehler darin, habe allg. ein paar 
kleine Anzeigefehler gefunden).

Die Warnung ergibt für mich keinen Sinn, da genug Kategorien definiert 
sind.

Mfg,
Tropaion

von Jan B. (do9jhb)


Lesenswert?

Hi,

ich habe den "Ungültige Klassenname" Fehler behoben. Findest du in der 
neusten Version.

Zu dem "Bitte beachten sie das mindestens eine Kategorie hinzugefügt 
werden muss": Das Panel listet eine Reihe von möglichen Empfehlungen 
auf, die man durchführen kann. Bei Dingen die erledigt wurden, sollte 
ein Haken vor der "Aufgabe" erscheinen. Also wenn vor dem Hinweis zum 
Hinzufügen von Kategorien ein Haken erscheint ist alles gut.


Das ist noch ein ziemlich alter Bestandteil von Part-DB, und ich kann 
verstehen dass es möglicherweise etwas verwirrend ist. Wenn ich lust 
habe, überarbeite ich diese Hinweise mal.

Gruß
Jan B.

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


Lesenswert?

Hallo,

danke für denn Bugfix, jetzt funktioniert alles.

Was mir gerade noch aufgefallen ist, wenn man Baugruppenfunktion global 
deaktiviert, werden sie in der Liste links trotzdem noch angezeigt.

Ich habe gesehen, das man jetzt auch 3D-Footprints hinzufügen kann, gibt 
es da die Standards auch schon, so wie die Bilder?

Mfg,
Tropaion

: Bearbeitet durch User
von Philipp H. (hansimglueck2)


Lesenswert?

Hallo nach einem update der nextgen bekomme ich nun den Fehler:
1
Es ist ein schwerwiegender Fehler aufgetreten:
2
3
Class 'PartDB\HTML' not found
4
5
(Exception wurde geworfen in /var/www/html/Part-DB/index.php, Zeile 51)

von Jan B. (do9jhb)


Lesenswert?

Philipp H. schrieb:
> Hallo nach einem update der nextgen bekomme ich nun den Fehler:Es
> ist ein schwerwiegender Fehler aufgetreten:
>
> Class 'PartDB\HTML' not found
>
> (Exception wurde geworfen in /var/www/html/Part-DB/index.php, Zeile 51)

Hi,
Vermutlich musst du die Composer Abhängigkeiten updaten (siehe 
https://github.com/jbtronics/Part-DB/wiki/Installation unter Update)

@Tropaion:

Ja es gibt fertige 3D-Modelle (extrahiert aus KiCAD): Die sind aber 
normalerweise nicht mitgeliefert, da sie ziemlich groß sind: 
https://github.com/jbtronics/PartDB-3D

Gruß

Jan B.

von Philipp H. (hansimglueck2)


Lesenswert?

Super danke und für alle die noch mehr 3D Files brauchen

http://smisioto.no-ip.org/elettronica/kicad/kicad-en.htm

müssen zum teil nur konvertiert werden hab aber gerade nicht im Kopf wie 
Ichs damals gemacht hab ;-)

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


Lesenswert?

Super, danke!

Konvertieren ist für mich kein Problem.^^
Welches Programm verwendet Ihr um die mit Eagle 3D-Boards zu erstellen?

Mfg,
Tropaion

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


Lesenswert?

Hallo Jan,

ich habe mir ein bisschen angesehen, wie smarty funktioniert und hätte 
eine Frage dazu.

Welcher Variable sagt, ob es ein Mobilgerät oder Pc ist?
Weil die Funktion für die Variable $mobile ist ja auskommentiert in der 
index.php.

Was mir auch noch aufgefallen ist, wenn sich die Footprint-Bilder 
auflisten lässt werden nicht alle angezeigt. (z.B.: SMD-0805,...) obwohl 
die Bilder vorhanden sind.

Und, wenn man in der Ansicht oder Bearbeitungsansicht eines Parts ist 
und man möchte wieder zurück zu der Kategorie wo das Part drinnen ist, 
muss man zweimal auf die Kategorie klicken. Einmal zu deselectieren und 
dann wieder zum selectieren dann lädt sie erst.

Danke und Mfg,
Tropaion

: Bearbeitet durch User
von Jan B. (do9jhb)


Lesenswert?

Fabian P. schrieb:
> Welcher Variable sagt, ob es ein Mobilgerät oder Pc ist?
> Weil die Funktion für die Variable $mobile ist ja auskommentiert in der
> index.php.

Gar keine :). Der Server hat keine Ahnung ob das Gerät ein Handy oder PC 
ist. Der gleiche HTML-Code wird im Idealfall immer passend zum Gerät 
dargestellt (Stichwort: Responsive Design). Und die Unterscheidung ob 
jetzt z.B. die Leiste z.B. in der mobile ansicht dargestellt wird, 
geschieht nur auf Basis von CSS Media Query auf Grund der Seitenbreite.


Zu den Problemen: Ich arbeite gerade daran, sollte nicht so schwierig zu 
fixen sein.

Gruß
Jan B.

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


Lesenswert?

Ok, danke.

Weil ich wollte mit einer if-Anweisung ausprobieren:
Am PC -> HTML Code ausführen
Am Handy -> Nicht

Jan B. schrieb:
> Ich arbeite gerade daran, sollte nicht so schwierig zu
> fixen sein.

Super, vielen Dank!
Finde echt toll wie fix du daran arbeitest.

Mfg,
Tropaion

von Jan B. (do9jhb)


Lesenswert?

Fabian P. schrieb:
> Weil ich wollte mit einer if-Anweisung ausprobieren:
> Am PC -> HTML Code ausführen
> Am Handy -> Nicht

Also zumindest, wenn es darum geht, etwas auf einem Computer anzuzeigen, 
und auf einem Handy nicht, dann kann man es mit Bootstrap ungefähr so 
machen:
1
<div class="hidden-xs-block hidden-sm-block"> <!-- Hier HTML einfügen --> </div>
. Für genaueres siehe hier: 
https://getbootstrap.com/docs/3.3/css/#responsive-utilities .

Wenn es um Javascript geht, dann kann man es entweder manuell machen, 
oder man benutzt eine Bibliothek wie z.B. Modernizr 
(https://modernizr.com/download?setclasses).

Fabian P. schrieb:
> Super, vielen Dank!
> Finde echt toll wie fix du daran arbeitest.

Ich habe noch ein paar Wochen Zeit bis ich mit dem Studium anfange, und 
bis dahin habe ich was zu tun xD

Gruß
Jan B.

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


Lesenswert?

Jan B. schrieb:
> Also zumindest, wenn es darum geht, etwas auf einem Computer anzuzeigen,
> und auf einem Handy nicht

Super, danke, werde ich mir ansehen.
Verwendest du bei Part-DB auch Bootstrap?

Jan B. schrieb:
> Ich habe noch ein paar Wochen Zeit bis ich mit dem Studium anfange, und
> bis dahin habe ich was zu tun xD

Na dann ;).
Hast du eig. einen Zeitplan wann du mit was fertig sein willst?

Mfg,
Tropaion

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


Angehängte Dateien:

Lesenswert?

Hallo Jan,

jetzt habe ich noch einmal eine Frage.

Gibt es eine Möglichkeit, das die Werte aufsteigend angezeigt werden 
(siehe Foto)?

Mfg,
Tropaion

von Jan B. (do9jhb)


Lesenswert?

Fabian P. schrieb:
> Hallo Jan,
>
> jetzt habe ich noch einmal eine Frage.
>
> Gibt es eine Möglichkeit, das die Werte aufsteigend angezeigt werden
> (siehe Foto)?
>
> Mfg,
> Tropaion

Bisher nicht. Das sollte mit Datatables aber eigentlich machbar sein.
Vermutlich ist es sinnvoll, generell Natural Sorting (also 10>2.0) zu 
aktivieren, da man ja insgesamt recht viel mit "normalen" Werten zu tun 
hat, oder?

Gruß
Jan B.

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


Lesenswert?

Hallo Jan,

Jan B. schrieb:
> generell Natural Sorting (also 10>2.0) zu
> aktivieren, da man ja insgesamt recht viel mit "normalen" Werten zu tun
> hat, oder?

Ja, finde ich auch. Ich habe oft die selben Bauteile mit vielen 
verschiedenen Werten, da wäre das toll wenn das richtig Sortiert ist.

Das hat mich bei der alten Part-DB auch schon ein wenig gestört.
Wenn ich das richtig sehe dürfte das damit gehen, oder?
https://datatables.net/plug-ins/sorting/natural

Ist das viel Aufwand die Funktion einzubauen?

Auf GitHub steht, du hast denn Treeview-Bug behoben, bei mir hat sich 
nichts geändert. Muss ich /vendor auch updaten?

Danke und Mfg,
Tropaion

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


Lesenswert?

Hallo Jan,

ich hätte da noch eine gute Idee für eine Funktion.
Es gibt ja immer die Detailinfo zu Parts, wo man Barcode erzeugen kann 
und Übersicht drucken,... .
Es wäre toll wenn es so etwas auch für ganze Lagerorte bzw. 
Unterlagerorte und Kategorien gäbe.

Mfg,
Tropaion

von Jan B. (do9jhb)


Lesenswert?

Hi,

Möglicherweise hat dein Browser die aktualisierten JavaScript Dateien 
noch nicht geladen:
Probier Mal auf den aktualisieren Button deines Browsers zu klicken. 
Vielleicht hilft auch die Tasten Kombination strg+Shift+R . Oder du 
versuchst Mal den Browser cache Zu löschen.


An der Natural Sortierung arbeite ich gerade. Ich versuche das Plugin 
noch so zu modifizieren dass SI Präfixe erkannt werden ( so dass: 10n > 
220p).


Gruß

Jan B.

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


Lesenswert?

Hallo Jan,

Jan B. schrieb:
> Ich versuche das Plugin
> noch so zu modifizieren dass SI Präfixe erkannt werden ( so dass: 10n >
> 220p).

WoW, sicher nicht so einfach, bin schon gespannt!

BTW, mich würde interessieren, ist eig. einen Update-Funktion geplant?

Danke und Mfg,
Tropaion

von Jan B. (do9jhb)


Lesenswert?

Hi,

Natural sorting ist jetzt in der aktuellen Version drin. Es unterstützt 
auch die SI prefixe. Leider klappt das mit der "natural" sortierung nur, 
wenn die Zahl am Anfang des Wortes steht, steht die Zahl weiter hinten 
im Wort, dann wird es "normal" sortiert. Ich werde die Tage mal dran 
weiter experimentieren, vielleicht bekomme ich es hin, dass die Zahl 
überall stehen kann.

@Tropaion:
Was stellst du dir denn unter einer Update-Funktion, denn genau vor?

Gruß
Jan B.

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


Lesenswert?

Hallo Jan,

Jan B. schrieb:
> Was stellst du dir denn unter einer Update-Funktion, denn genau vor?

Naja, man klickt auf Update und es wird automatisch die aktuelle Version 
von Part-DB reingeladen ;).

Jan B. schrieb:
> Natural sorting ist jetzt in der aktuellen Version drin.

Super, danke!
Werde ich gleich ausprobieren.

Jan B. schrieb:
> sortierung nur,
> wenn die Zahl am Anfang des Wortes steht

Finde ich jetzt nicht so schlimm. Bei denn meisten Bauteilen bei denen 
es relevant ist, schreibt man eig. normalerweise zuerst denn Wert. (4kR, 
2pF, 4mH,...).

Habe gerade die Funktion "Bauteileigenschaften" entdeckt, die ist echt 
tool! Aber ist das immer so, das das was in denn Eigenschaften steht 
auch in denn Kommentaren angezeigt wird?

Danke und Mfg,
Tropaion

EDIT:
Habe es gerade getestet, die Sortierung ist super.
Was mM. nach etwas störend ist, ist das man zuerst auf Namen klicken 
muss, damit er sortiert. Kann man das nicht so einstellen das er 
standardmässig nach oben sortiert?#

EDIT:
Gerade noch einen Bug entdeckt.
Bei Lagerorten funktioniert der Unterkategorien einblenden Button nicht.

: Bearbeitet durch User
von Jan B. (do9jhb)


Lesenswert?

Fabian P. schrieb:
> Naja, man klickt auf Update und es wird automatisch die aktuelle Version
> von Part-DB reingeladen ;)

Naja wenn man es als Git Report eingerichtet hat, reicht ein "git pull" 
um die neue Version Zu laden xD Aber ich schaue Mal was ich machen kann.

Fabian P. schrieb:
> Habe gerade die Funktion "Bauteileigenschaften" entdeckt, die ist echt
> tool! Aber ist das immer so, das das was in denn Eigenschaften steht
> auch in denn Kommentaren angezeigt wird?

Leider ja. Bisher ist es nur möglich die Bauteileeigenschaften aus der 
Beschreibung bzw Kommentarfeld zu extrahieren. Daher müssen die 
Eigenschaften immer in den Feldern stehen.
Langfristig ist geplant, unabhängig von den kommentarfeldern, 
Eigenschaften anlegen zu können.

Gruß
Jan B.

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


Lesenswert?

Jan B. schrieb:
> Naja wenn man es als Git Report eingerichtet hat

Ja stimmt schon, aber ehrlich gesagt kenne ich keinen einzigen 
Web-Hoster der sowas anbietet ohne das man sich einen vServer mietet.
Darum haben ja auch die meisten Webseiten eine Update-Funktion.

Jan B. schrieb:
> Leider ja

Ok, np, gut zu Wissen :)

Fabian P. schrieb:
> Gerade noch einen Bug entdeckt.
> Bei Lagerorten funktioniert der Unterkategorien einblenden Button nicht.

Mache ich da was falsch oder ist das noch nicht implementiert?

Danke und Mfg,
Tropioan

von Julian W. (julian-w) Benutzerseite


Lesenswert?

Fabian P. schrieb:
> Ja stimmt schon, aber ehrlich gesagt kenne ich keinen einzigen
> Web-Hoster der sowas anbietet ohne das man sich einen vServer mietet.

netcup z.B. da hast einen ssh-Zugang standardmäßig dabei mit git. Oder 
manitu richtet dir einen auf Nachfrage ein, ob da aber git installiert 
ist weiß ich nicht. Bin bei beiden Kunde ;)

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


Lesenswert?

Ok, wusste ich nicht.

Aber ich möchte ehrlich gesagt jetzt nicht Hoster wechseln deswegen^^
Hab auch meine Domains über denn laufen.

Der Hoster hat zwar ein Terminal aber leider kein Git installiert.
Aktuell versuche ich ein Bash-Script zu schreiben, aber leider kann der 
Server auch keinen rsync-Befehl.
1
#!/bin/bash
2
3
wget https://github.com/jbtronics/Part-DB/archive/nextgen.zip
4
unzip nextgen.zip
5
rm nextgen.zip
6
rm -r ./Part-DB-nextgen/data
7
rm -r ./Part-DB-nextgen/.htaccess
8
mv Part-DB-nextgen/* ./
9
rm -r ./Part-DB-nextgen

Und er kopiert auch die Dateien, die einen "." wie ".htaccess" haben 
leider nicht mit....

Mfg,
Tropaion

von Steffen U. (dundeefsk)


Lesenswert?

MV kopiert keine versteckten Dateien,
kann man aber leicht umgehen:
https://simonstamm.de/alle-dateien-inklusive-versteckte-hidden-files-verschieben/

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


Lesenswert?

Steffen U. schrieb:
> MV kopiert keine versteckten Dateien,
> kann man aber leicht umgehen:

Interessant, wusste ich nicht.
Habe es gerade getestet, die versteckten Dateien kopiert er jetzt auch.

Ein Problem gibt es jetzt noch beim überschreiben der Ordner meldet er:
1
mv: cannot move `Part-DB-nextgen/.vs' to `./.vs': Directory not empty                               
2
mv: cannot stat `Part-DB-nextgen/..?*': No such file or directory

Gibt es da auch einen Workaround?

Mfg,
Tropaion

EDIT:
Ich habe es jetzt so gelöst, ich denke jetzt geht alles:
1
#!/bin/bash
2
3
wget https://github.com/jbtronics/Part-DB/archive/nextgen.zip
4
unzip nextgen.zip
5
rm nextgen.zip
6
rm -r ./Part-DB-nextgen/data
7
rm -r ./Part-DB-nextgen/.htaccess
8
cp -arv ./Part-DB-nextgen/. ./
9
rm -r ./Part-DB-nextgen

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


Angehängte Dateien:

Lesenswert?

Hallo,

habe das Updaten jetzt auch per PHP ermöglicht, geht am schnellsten und 
einfachsten.

Ist zwar nicht am schönsten, aber es funktioniert und reicht für meine 
Zwecke. Kann auch gern weiterverwendet werden.

Theoretisch könnte man auch noch denn composer-Update Befehl einbauen, 
aber da der bis jetzt bei mir noch nicht geht, ist das egal.

Ich möchte dann noch eine Ausgabepufferung einbauen, damit man nicht 
dauernd vor einer leeren Seite sitzt. Wollte damit eh schon immer mal 
spielen :D

Mfg,
Tropaion

: Bearbeitet durch User
von Jan B. (do9jhb)


Lesenswert?

Fabian P. schrieb:
> Hallo,
>
> habe das Updaten jetzt auch per PHP ermöglicht, geht am schnellsten und
> einfachsten.
>
> Ist zwar nicht am schönsten, aber es funktioniert und reicht für meine
> Zwecke. Kann auch gern weiterverwendet werden.
>
> Theoretisch könnte man auch noch denn composer-Update Befehl einbauen,
> aber da der bis jetzt bei mir noch nicht geht, ist das egal.
>
> Ich möchte dann noch eine Ausgabepufferung einbauen, damit man nicht
> dauernd vor einer leeren Seite sitzt. Wollte damit eh schon immer mal
> spielen :D
>
> Mfg,
> Tropaion

Ok, sehr schön xD
Ich werde Mal die Tage versuchen dass irgendwie in Part-DB zu 
integrieren/umzusetzen.

Ich hab übrigens das Problem mit den Unterlagerorten behoben. Und es 
gibt jetzt eine Option in den Einstellungen, mit der man eine Initiale 
Sortierung aktivieren kann..

Gruß
Jan B.

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


Lesenswert?

Hallo Jan,

Jan B. schrieb:
> Ich werde Mal die Tage versuchen dass irgendwie in Part-DB zu
> integrieren/umzusetzen.

Wenn du das machst sollte man wirklich denn Composer-Befehl noch 
einbauen und das mit .htacces löschen auskommentieren (das brauch in dem 
nur ich).

Wenn du willst kann ich mir das auch ansehen.
Bzw. gibt es Anpassungen die du benötigst?
So lange es in meinem Können liegt helfe ich gerne ;).

Aber wenn du es einbaust wird ein Ausgabepuffer wahr. nicht nötig sein 
weil du ja das über Smarty machst oder?

Jan B. schrieb:
> Ich hab übrigens das Problem mit den Unterlagerorten behoben. Und es
> gibt jetzt eine Option in den Einstellungen, mit der man eine Initiale
> Sortierung aktivieren kann..

Hab ich schon gesehen, funktioniert einwandfrei!
Vielen Dank für denn fixen Bugfix :D

Mfg,
Tropaion

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


Angehängte Dateien:

Lesenswert?

Hallo,

habe das Script etwas verschönert und verkürzt, bzw. einfacher 
erweiterbar gemacht und Composer-Update hinzugefügt.

Mfg,
Tropaion

von pc-baerli (Gast)


Lesenswert?

Hallo Zusammen,
Mit Freude sehe ich wie dieses geniale Bauteile-Datenbankprogramm weiter 
entwickelt und verbessert wird ...
Ein grosses Lob und Danke an die fleissigen Programmierer...

Leider hab ich den Anschluss etwas verloren, da ich momentan recht 
beschäftigt bin...

Ich möchte noch 2 Anregungen / Wünsche platzieren:
-> die gleichen Bauteilen  an verschiedenen Lagerorten einlagern können
-> ein Loggen der Ein- und Ausbuchungen aus den Lagerorten um Material 
Bewegungen zu verfolgen ..

Ich denke, das sind Funktionen die einigen Usern (auch mir) 
zusätzlichen Nutzen bringen würden...

Gruss Hans

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


Lesenswert?

Hallo,

pc-baerli schrieb:
> -> ein Loggen der Ein- und Ausbuchungen aus den Lagerorten um Material
> Bewegungen zu verfolgen .

Finde ich auch eine gute Idee, aber zahlt sich eig. erst dann aus, wenn 
das User-System implementiert ist, denke ich.

Mfg,
Tropaion

von Stefan L. (leubi)


Lesenswert?

Moin,
ich hatte da auch noch eine Anregung.

Unter Tools ist ja die Option Import von CSV und XML Dateien.

Wie wäre es wenn es da auch noch eine Export Option geben würde?

Eventuell noch mit einer Auswahl Möglichkeit was in der Datei exportiert 
werden soll?

LG

Stefan

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


Lesenswert?

Hi,

Stefan L. schrieb:
> Eventuell noch mit einer Auswahl Möglichkeit was in der Datei exportiert
> werden soll?

Da muss ich mich anschließen!
Mir würde es gefallen wenn man z.B. ganz Lagerorte zum exportieren 
auswählen kann.
Ich habe z.B. einige Sortimente die immer gleich sind, da würde ich das 
gerne als Lagerort mit Inhalt exportieren/importieren können.

Mfg,
Tropaion

von Jan B. (do9jhb)


Lesenswert?

Stefan L. schrieb:
> Wie wäre es wenn es da auch noch eine Export Option geben würde?

Hi,

Es gibt sogar schon eine Export Funktion, man kann aber bisher nur die 
Suchergebnisse exportieren. Wenn ich Zeit habe kann ich die Tage, 
versuchen die Exportfunktion auch für Kategorienteile und so zu 
aktivieren. Mittelfristig müsste man aber die gesamte Import/Export 
Funktionen neu implemtieren, weil das gesamte Export system ist noch 
komplett prozedual und nicht wirklich erweiterbar. Wenn man es neu 
schreibt, dann kann man auch noch mehr Formate und auch die Möglichkeit 
die zu exportierenden spalten auszuwählen.

Gruß
Jan B.

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


Lesenswert?

Hi,

wie kann man eine Kategorie exportieren, finde die Funktion irgendwie 
nicht.

Mfg,
Tropaion

von Ludwig K. (hellas)


Lesenswert?

Hier eine kleine Liste meinerseits, was mir im Umgang mit Part-DB bisher 
aufgefallen ist und man u.U. verbessern könnte:

- BB-Code wird im Kommentarfenster des Bauteils als Text angezeigt (z.B. 
["b"]["/b"]  --> <strong></strong>)
(die "-Zeichen musste ich wegen Spamverdacht hier leider einfügen)

- System\Konfiguration\Allgemeine Einstellungen:
--> Menüpunkt "Tools -> Footprints" deaktivieren  wird nicht ausgeführt 
- bleibt weiterhin sichtbar
--> Menüpunkt "Hilfe" deaktivieren ohne Funktion, Hilfe wird nicht 
angezeigt
--> Baugruppenfunktion global deaktivieren * funktioniert nicht

- Bilder als Dateianhänge in den Detailinfos sollten nicht direkt 
aneinander sitzen (Cellspacing).
Es wäre zu überlegen, ob man die Bilder auch nebeneinander anordnen 
könnte.
--> MouseOver-Bilddarstellung ist zu klein, ein Mausklick auf das Bild 
öffnet kein zusätzliches Anzeigefenster (zumindest bei Firefox)

- Einkaufsinformationen in den Detailinfos deaktivierbar machen.


- Die Anzeige der Dateianhänge in der tabellarischen Übersicht ist 
unglücklich.
Wenn man z.B. ein Datenblatt und eine BDA auflisten möchte, kostet das 
gleich zwei Zeilen. Vielleicht lässt sich das mit zusätzlichen Icons 
ersetzen, die anzeigen worum es sich handelt. Die Dateinamen der 
Dokumente werden ja unter Details dann angezeigt.

Frage: wie kann man nach  Menüpunkt "System" deaktivieren, diesen 
Menüpunkt wieder sichtbar machen??
(Ich habs sicherheitshalber noch nicht probiert...)

Kann irgendwie eine kleine Liste zu den gängigsten BB-Codes mit kurzem 
Beispiel  integriert/hinterlegt/aufgerufen werden?

Ich hoffe, das hilft erst einmal weiter.

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


Lesenswert?

Hallo,

Ludwig K. schrieb:
> BB-Code wird im Kommentarfenster des Bauteils als Text angezeigt

Also bei mir geht der BB-Code.

Ludwig K. schrieb:
> Kann irgendwie eine kleine Liste zu den gängigsten BB-Codes mit kurzem
> Beispiel  integriert/hinterlegt/aufgerufen werden?

Ich finde, im Internet findet man genug dazu. Auf Wikipedia sind die 
Befehle sehr gut aufgelistet: https://de.wikipedia.org/wiki/BBCode

Ludwig K. schrieb:
> - System\Konfiguration\Allgemeine Einstellungen:
> --> Menüpunkt "Tools -> Footprints" deaktivieren  wird nicht ausgeführt
> - bleibt weiterhin sichtbar
> --> Menüpunkt "Hilfe" deaktivieren ohne Funktion, Hilfe wird nicht
> angezeigt
> --> Baugruppenfunktion global deaktivieren * funktioniert nicht

Bei mir funktioniert das alles einwandfrei.
Verwendest du die aktuellste Version?

Ludwig K. schrieb:
> Frage: wie kann man nach  Menüpunkt "System" deaktivieren, diesen
> Menüpunkt wieder sichtbar machen??

In dem du denn Link direkt eingibst: www.domain.de/system_config.php
Oder du bearbeitest die Config-Datei im Ordner data manuell.

Mfg,
Tropaion

: Bearbeitet durch User
von Jan B. (do9jhb)


Lesenswert?

Hi Ludwig,

wie Tropaion schon angemerkt hast, vermutlich benutzt du eine ältere 
Version, weil ich hatte zwischenzeitlich ein Teil deiner Probleme schon 
behoben: Hole dir am besten mal die aktuellste Version aus dem "nextgen" 
Branch auf GitHub (https://github.com/jbtronics/Part-DB/tree/nextgen). 
Möglicherweise musst du noch die Composer Abhängigkeiten 
aktualisieren/installieren (Siehe 
https://github.com/jbtronics/Part-DB/wiki/Installation#updates).

Weiterhin habe ich aber heute morgen noch versucht deine anderen Ideen 
umzusetzen:
In den Detailinfos ist es jetzt möglich mit einem Klick auf ein Bild, 
dieses in einem neuen Tab zu öffnen.
Weiterhin werden die Dateianhänge jetzt als kleines Icon in der 
Übersichtstabelle angezeigt (wenn man den Mauszeiger darüber schweben 
lässt, wird der Name angezeigt). Das alte Verhalten lässt sich in den 
Einstellungen aktivieren.

Außerdem gibt es jetzt unter Konfiguration -> Aussehen -> Detailinfos, 
die Möglichkeit die Panels mit den Dateianhängen und den Bestellinfos 
auszublenden, wenn ein Bauteil keine Anhänge oder Bestelldaten hat. Auch 
das Aktionen Panel ist ausblendbar. Weiter besteht die Möglichkeit die 
Lieferanten (und damit auch die Bestellinfos) global zu deaktivieren.

Hoffe das hilft dir weiter.

Gruß
Jan B.

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


Lesenswert?

Hallo Jan,

willst du das Update-Script eig. einbauen das ich geschrieben habe bzw. 
allgemein eines einbauen?

Wenn ja hätte ich noch zwei Ideen dazu.

- Man könnte das Script ganz einfach erweitern um zu prüfen, ob der 
composer-Befehl funktioniert und wenn nicht, lädt er denn /vendor-Ordner 
von GitHub runter.

- Man könnte das Update-Script dann auch noch mit ein paar Handgriffen 
dann auch als Neuinstallation-Script verwenden.

Man lädt dann einfach install.sh und install.php runter, fährt 
install.php aus und schon ist Part-DB installiert, mit Composer und 
alles.

Man könnte auch zwischen Stable und Unstable-Updater/Installer 
unterscheiden.

Was hältst du davon?

Mfg,
Tropaion

: Bearbeitet durch User
von Jan B. (do9jhb)


Lesenswert?

Hi Tropaion,

ich denke nach ob es Sinn machen würde, dein Update shellscript komplett 
nach PHP zu migrieren. Das hätte nämlich den Vorteil, dass es auch von 
Windows bzw. Windows Server unterstützt wird, und dass man nicht davon 
abhängt, dass alle Befehle (wie z.B. unzip) auch auf dem System und so 
Kram wie die PATH variablen richtig eingerichtet sind. Außerdem dürfte 
es so einfacher sein, Rückmeldungen an den Nutzer über den aktuellen 
Zustand zu geben, denn für asynchrone Programmierung ist PHP nicht 
wirklich ideal. Dann könnte man auch irgendeinen Option einbauen, mit 
denen man zwischen Release und Development Channel wählen kann.

Fabian P. schrieb:
> Man lädt dann einfach install.sh und install.php runter, fährt
> install.php aus und schon ist Part-DB installiert, mit Composer und
> alles.
Das wäre natürlich cool. Da müssen wir nur bedenken, dass wir keinen 
Zugriff auf die normalerweise verwendeten Bibliotheken und Templates 
haben, weswegen man alles in "purem" PHP schreiben müsste. Da könnte es 
dann auch sinnvoll sein, ein Shellskript zu verwenden, denn dann bleibt 
die PHP datei relativ simpel. (und für eine einmalige Aktion, kann man 
denke ich auch verzichten, Windows unterstützen.)


Würde es Sinn machen, die Footprint images, aus dem Repo und damit auch 
aus den Zip dateien zu entfernen? Weil dann würde die ZIP Datei 
vermutlich ca. 40MB kleiner ausfallen und würde deutlich schneller 
heruntergeladen werden.
Es sollte möglich sein, dass mit den Footprintbildern über Composer 
laufen zu lassen, dann würden die Bilder nur heruntergeladen werden, 
wenn es eine Änderung in dem Footprint Repo gäbe, was den Updateprozess 
deutlich beschleunigen sollte.

Gruß
Jan B.

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


Lesenswert?

Hallo Jan,

Jan B. schrieb:
> ich denke nach ob es Sinn machen würde, dein Update shellscript komplett
> nach PHP zu migrieren.

Ja, da habe ich auch schon überlegt, das zu probieren.
Aber irgendwie fehlt mir da gerade ein Ansatz wie man das gut 
realisiert, aber da findet man sicher gute Anregungen im Internet. Da 
ich zur Zeit eh genug Freizeit habe werde ich das sicher probieren.
Ist sicher eine interessante Beschäftigung und PHP mag ich allg. gerne.

Jan B. schrieb:
> wie die PATH variablen richtig eingerichtet sind.

Wie meinst du das? So lange das Shell-Script im Wurzelverzeichnis von 
Part-DB ist sollte es mit dem Path keine Probleme geben.

Jan B. schrieb:
> weswegen man alles in "purem" PHP schreiben müsste.

Auch dann könnte man, denke ich, wieder viel vom Update-Script 
adaptieren, weil ja nicht viel Unterschied ist.

Jan B. schrieb:
> Würde es Sinn machen, die Footprint images, aus dem Repo und damit auch
> aus den Zip dateien zu entfernen?

Im allgemein würde ich sagen, ja. Was ich so mitbekommen haben, hosten 
viele Ihre Part-DB von zu Hause aus. Bei mir würde das keine Rolle 
spielen, weil mein Hoster eine so schnelle Anbindung hat das ich da 
wahr. kaum Unterschied merke. Mit dem aktuellen Script dauert bei mir 
ein Update nicht mal 10s.

Jan B. schrieb:
> Es sollte möglich sein, dass mit den Footprintbildern über Composer
> laufen zu lassen, dann würden die Bilder nur heruntergeladen werden,
> wenn es eine Änderung in dem Footprint Repo gäbe, was den Updateprozess
> deutlich beschleunigen sollte.

Ehrlich gesagt, würde ich dieses Composer-"Zeug" so viel wie möglich 
vermeiden, weil man dann im Grunde wieder Shell-Abhängig ist.

Wenn dann, würde ich die Footprint-Bilder auch über ein PHP-Script 
verwalten.

Allgemein könnte das mit dem Composer Update über ein PHP-Update Script 
problematisch werden. Was ist z.B. wenn man über PHP-Update denn 
Composer Update Befehl ausführt aber nicht funktioniert? Gibt es eine 
Möglichkeit, über PHP festzustellen das der Composer korrekt 
funktioniert?

Kenne mich mit denn Composer Commands nicht wirklich aus.
Habe mir das nur einmal ganz kurz angesehen.

Vll. wäre sogar zu bevorzugen, das man bei denn Stable-Version nur mehr 
denn /vendor-Ordner übergibt und Composer komplett entfernt.

Mfg,
Tropaion

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


Lesenswert?

Was würdest du davon halten, wenn man zwischen Windows oder Linux 
unterscheidet und entsprechende CMD-Commands ausführt?

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


Angehängte Dateien:

Lesenswert?

Hallo Jan,

ich arbeite gerade an dem reinem PHP Update-Script (siehe Anhang) und 
hätte da eine Frage an dich.

Wie kann ich in der config.php Variablen auslesen/überschreiben?

Ich möchte nämlich zwei hinzufügen:
1
$config['update']['currentVersion']  = 'v0.4.0RC1.beta1';
2
$config['update']['newestVersion']  = 'v0.4.0RC1.beta1';

Danke und Mfg,
Tropaion

: Bearbeitet durch User
von Jan B. (do9jhb)


Lesenswert?

Hi Tropaion,

Fabian P. schrieb:
> Wie kann ich in der config.php Variablen auslesen/überschreiben?

Wenn du eine neue Variable hinzufügen willst, solltest du einen 
Standardwert in inc/config_default.php setzen. Du musst dem aktuellen 
Skript mit
1
global $config;
 sagen, dass es das globale Array $config überhaupt gibt. Danach kannst 
du Werte auslesen und hineinschreiben. Wenn du dann die Werte aus 
$config auch in die config.php speichern willst, musst du die Funktion 
saveConfig() aufrufen. Damit aber die benötigten Dateien geladen werden, 
solltest du ganz oben in deiner Datei den Befehl
1
include_once("start_session.php");
 ausführen, dann setzt er bestimmte Einstellungen (z.B locale, 
ErrorHandler, globale Konstanten) und bindet alle benötigten Dateien 
ein.

Gruß
Jan B.

Beitrag #5143645 wurde vom Autor gelöscht.
von Fabian P. (Firma: wiki.flowerhouse.at) (tropaion)


Angehängte Dateien:

Lesenswert?

Hallo Jan,

danke für die Info!
Eig. ganz simpel wenn man es weiß ;)

Aktuell funktioniert jetzt:
 - prüfen ob eine neue Stable-Version auf GitHub verfügbar ist
 - download von github, entweder stable oder unstable, abhängig von
   $config['update']['type']
 - entpacken der zip-Datei

Das einzige was noch fehlt und wo ich nicht genau weiß wie ich das schön
machen soll, ist, die alten Daten mit denn neuen zu überschreiben.

Kennst du da eine gute Methode?

Danke und Mfg,
Tropaion

von Jan B. (do9jhb)


Lesenswert?

Hi,

ich würde die alten Daten einfach mit den neuen überschreiben. Man muss 
sich aber dann einen Mechanismus überlegen, um alte Dateien zu löschen 
die in dem neuem Archiv nicht mehr existieren, sonst bleiben die nicht 
mehr benötigten Dateien erhalten.

Ich habe mal auf die schnelle diesen Code hier gefunden 
(http://maxmorgandesign.com/simple_php_auto_update_system/), vielleicht 
kannst du da Teile von übernehmen.

Weiterhin habe ich mal die Code dokumentation der aktuellen Version 
hochgeladen, man findet sie hier 
(https://jbtronics.github.io/Part-DB/phpdoc/).

Gruß
Jan B.

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


Lesenswert?

Jan B. schrieb:
> Ich habe mal auf die schnelle diesen Code hier gefunden

Ja, das habe ich auch schon gefunden, gefällt mir aber nicht besonders.
Meine Überlegung ist, das ich alles rekursiv bis auf /data lösche und 
dann einfach direkt die ZIP-Datei ins Wurzelverzeichnis entpacke.

Dadurch spart man sich im Grund auch denn kompletten Part mit dem 
verschieben und auch denn Speicherplatz denn man sonst kurzzeitig zum 
entpacken braucht.

Jan B. schrieb:
> Weiterhin habe ich mal die Code dokumentation der aktuellen Version
> hochgeladen, man findet sie hier

Cool, wusste gar nicht das es sowas gibt.
Mal sehen ob ich das mit dem Frontend überhaupt hinbekom, hab das so in 
der Art eig. noch nie gemacht mit einem Template-Engine.

Normalerweise schreibe ich ja uC-Programme in C ;).

Mfg,
Tropaion

: Bearbeitet durch User
von Matthias F. (idefix)


Lesenswert?

Hi,

super Idee, mit dem Update direkt aus der PartDB raus.
Ich denke es macht Sinn, das Update in mehrere Teile aufzuteilen.
1. Update vom Update Script selber (damit ist immer zuerst die neue 
Version vom Update Script verfügbar)
2. Update von PartDB selber. Da das Update Script selbstständig laufen 
sollte, wäre das Risiko null, wenn man alle Dateien vor dem Update 
löscht (mit ein paar Ausnahmen, wie Configdateien oder andere manuell 
hinzugefügt Ordner). Vielleicht sollte man ein bis zwei Ordner 
festlegen, die vom Update nicht gelöscht werden.
3. Update von Abhängigkeiten mittels Composer
4. Update von weitere Repositories wie z.B. die 3-D Modelle, ...

Ich würde allerdings auch einen Mechanismus einbauen, damit man über ein 
Konfigflag das automatische Update abschalten kann.

Schritt 3 und 4 könnte man dann auch manuell getrennt vom Hauptupdate 
anstoßen.

von Jan B. (do9jhb)


Lesenswert?

Hi,

Matthias F. schrieb:
> Da das Update Script selbstständig laufen
> sollte, wäre das Risiko null, wenn man alle Dateien vor dem Update
> löscht (mit ein paar Ausnahmen, wie Configdateien oder andere manuell
> hinzugefügt Ordner).

Ich sehe das Problem, wenn man das Updateskript komplett selbstständig 
schreibt, wird es ziemlich kompliziert, das normale Design von Part-DB 
zu benutzen, weil man mindestens Bootstrap und Fontawesome einbinden 
muss. Außerdem vereinfacht Smarty die Übersetzung der Oberfläche und den 
Schutz vor XSS Injection enorm. Weiterhin müsste das Updateskript 
vermutlich große Teile von start_session.php mitbringen, weil Dinge wie 
locales, Übersetzungsdateien gesetzt und verschiedene Variablen wie BASE 
oder $config geladen werden.

Daher würde ich eine Art Hybridmodell für den Updater vorschlagen:
Normalerweise benutzt das Updateskript, die vorhandenen Bibliotheken und 
die Templateengine zur Ausgabe. Das Skript sollte vorher checken, ob es 
möglich ist, das Update durchzuführen (Check der Permissions, Überprüfen 
der heruntergeladenen Update-Datei). Danach führt es den eigentlichen 
Updateprozess durch (gerne so wie von idefix beschrieben), dabei muss 
dafür gesorgt werden, dass das Skript nicht abgebrochen wird, indem der 
Nutzer den Browser schließt. Normalerweise sollte das Update so gut 
durchlaufen.

Falls es doch zu einem Fehler kommen sollte, und nun benötigte 
Bibliotheken für den Updater fehlen, dann erkennt der Updater dies, und 
wechselt in eine Art Failsafe Modus, in dem er das Archiv neu entpackt 
und dabei nur ganz simple Ausgaben auf Englisch (mit echo etc.) 
geschehen. In diesem Modus benötigt er dann keine externen Bibliotheken 
mehr, kann dafür aber nur alles auf einen funktionierenden Stand bringen 
und ist nicht wirklich visuell schön.

Auf diese Weise, könnte man Codeduplikation größtenteils vermeiden und 
der Updater würde relativ einfach bleiben (vor allem kein Misch-Masch 
von PHP und HTML).

Gruß
Jan B.

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


Lesenswert?

Hallo,

Jan B. schrieb:
> Ich sehe das Problem, wenn man das Updateskript komplett selbstständig
> schreibt, wird es ziemlich kompliziert

Glaub ich ehrlich gesagt gar nicht, das es so kompliziert wird.

Jan B. schrieb:
> weil man mindestens Bootstrap und Fontawesome einbinden
> muss.

Warum muss man das?

Jan B. schrieb:
> Weiterhin müsste das Updateskript
> vermutlich große Teile von start_session.php mitbringen, weil Dinge wie
> locales, Übersetzungsdateien gesetzt und verschiedene Variablen wie BASE
> oder $config geladen werden.

Macht ja nichts, während dem kopieren der Dateien braucht man das eh 
nicht.

Jan B. schrieb:
> Daher würde ich eine Art Hybridmodell für den Updater vorschlagen:

Da muss ich ehrlich sagen, dafür reichen meine Kenntnisse leider nicht 
;)

Jan B. schrieb:
> dabei muss
> dafür gesorgt werden, dass das Skript nicht abgebrochen wird, indem der
> Nutzer den Browser schließt.

Das ist schon eingebaut.
Geht ganz einfach mit: ignore_user_abort (true);

Jan B. schrieb:
> Falls es doch zu einem Fehler kommen sollte, und nun benötigte
> Bibliotheken für den Updater fehlen, dann erkennt der Updater dies, und
> wechselt in eine Art Failsafe Modus

Ich hätte denn Updater, der für das überschreiben der alten Daten 
zuständig ist sowieso autonom gemacht, damit so etwas nicht auftritt.

Mfg,
Tropaion

von Jan B. (do9jhb)


Lesenswert?

Fabian P. schrieb:
> Da muss ich ehrlich sagen, dafür reichen meine Kenntnisse leider nicht
> ;)

Eigentlich muss man nur prüfen, ob
1
file_exist(__DIR__ ."start_session.php")
 und
1
class_exist("\Smarty")
 true sind, wenn nicht, dann springt er in den Failsafe mode. Das selbe 
tut er, wenn irgendeine Exception auftritt.

Fabian P. schrieb:
> Jan B. schrieb:
>> weil man mindestens Bootstrap und Fontawesome einbinden
>> muss.
>
> Warum muss man das?

Wenn du irgendeine Ausgabe tätigen willst, sollte das aus Designgründen 
mindestens in einem simplen Panel geschehen, und für dieses braucht man 
mindestens bootstrap.min.css .

Gruß
Jan B.

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


Lesenswert?

Hallo Jan,

Jan B. schrieb:
> true sind, wenn nicht, dann springt er in den Failsafe mode. Das selbe
> tut er, wenn irgendeine Exception auftritt.

Ok, das denke ich könnte ich noch hinbekommen ;).

Jan B. schrieb:
> Wenn du irgendeine Ausgabe tätigen willst, sollte das aus Designgründen
> mindestens in einem simplen Panel geschehen, und für dieses braucht man
> mindestens bootstrap.min.css .

Ehrlich gesagt, habe ich noch nie mit Bootstrap gearbeitet.

Aber jetzt schau ich mal, das die allgemein Funktionen für ein Update 
funktionieren.

Meine Idee war ja so:
Wenn man die Seite System -> Konfigurieren aufruft, wird die Funktion 
(nur wenn stable update eingestellt ist) checkUpdate(); ausgeführt.
Wenn currentVersion != newestVersion ist, wird angezeigt das ein Update 
verfügbar ist und man kann auf Update herunterladen klicken.

Wenn das Update heruntergeladen ist kann man denn Button "Update 
installieren" drücken und im Hintergrund werden die Dateien 
überschrieben, was eine autonomes PHP-Script macht.

Währendessen ist die Seite nicht erreichbar.
In WP ist das ähnlich gelöst.

Mfg,
Tropaion

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


Angehängte Dateien:

Lesenswert?

Hallo Jan,

die Funktionsbibliothek für Updates funktioniert jetzt.
Wenn man die Variablen richtig setzt und die Funktionen nacheinander 
ausführt, wir Part-DB upgedated, habe ich bereits getestet.

Kurze Übersicht zu denn Funktionen:
checkUpdate() - Gibt die aktuellste Version von Part-DB zurück (tagname)
 (nur Releases).

downloadUpdate($updateType, $newestVersion) - Abhängig vom $updatedType 
(stable oder unstable) wird die Version von $newestVersion 
heruntergeladen (muss tagname sein).

rmdirr($dirname, $deleteExceptions) - Löscht alle Ordner und Dateien in 
$dirname mit Ausnahme von denn Ordnern/Dateien die im Array 
$deleteExceptions gelistet sind.

unzipUpdate($dirname, $newestVersion, $unzipExceptions) - Entpackt 
$newestVersion.zip in $dirname mit Ausnahme von denn Ordnern/Dateien die 
im Array $unzipExceptions gelistet sind. Unter Linux kann man dann auch 
noch die Rechte einstellen mit denen dir Ordner erstellt werden sollen. 
(siehe: mkdir($target, 0700, true);)

Mfg,
Tropaion

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


Angehängte Dateien:

Lesenswert?

Kleinen Fehler ausgebessert und Kommentare hinzugefügt.
Gestern wohl übersehen, war etwas spät :D

von Jan B. (do9jhb)


Lesenswert?

Fabian P. schrieb:
> Kleinen Fehler ausgebessert und Kommentare hinzugefügt.
> Gestern wohl übersehen, war etwas spät :D

Ok danke xD

Ich bin momentan zwar mit dem Berechtigungssystem für die Benutzer und 
Gruppen beschäftigt, werde aber die Tage Mal versuchen deine 
Updatefunktionen einzubauen.

Gruß

Jan B.

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


Angehängte Dateien:

Lesenswert?

Hi Jan,

Jan B. schrieb:
> Ich bin momentan zwar mit dem Berechtigungssystem für die Benutzer und
> Gruppen beschäftigt, werde aber die Tage Mal versuchen deine
> Updatefunktionen einzubauen.

Ist ja kein Stress ;)
Leider kann ich beim implementieren nicht helfen, ich bekomme es, wenn 
dann nur autonom hin.

Aber wenn du willst kann ich ein Installationsscript machen, weil das 
bekomme ich hin.

Und, soll ich auch noch eine "composer-update" Funktion einbauen?
Man müsste dann halt evtl. auch die Möglichkeit einbauen, das man 
Einstellen kann ob composer unterstützt wird oder nicht, damit /vendor 
heruntergeladen wird.

Und checkUpdate() funktioniert nur für Releases, wenn du willst kann ich 
auch noch eine Möglichkeit finden, zu prüfen ob sich was bei nextgen 
geändert hat.
Wäre vll. von Vorteil.

Mfg,
Tropaion

EDIT:
Man kann jetzt auch das letzte Commit-Datum in nextgen mit checkUpdate() 
auslesen.

: Bearbeitet durch User
von Stefan L. (leubi)


Lesenswert?

Moin,
mit Spannung verfolge ich die Entwicklung mit dem Auto Updater.

Eine Sache fehlt meiner Meinung noch daran.

In der .htaccess Datei an der ersten Stelle steht drinnen
<IfModule mod_php5.c> so weit so gut.
Da ich aber auf meinem Server PHP 7 laufen habe muss ich das in
<IfModule mod_php7.c> ändern.

Mache ich dieses nicht, dann wird bei Part-DB unter System, 
Konfiguration
.htaccess funktioniert  nein angezeigt.
Ok für mich ist das nicht weiter schlimm da ich in der Datei noch die 
Passwortabfrage mit reinschreibe, aber was machen diejenigen die nicht 
wissen welches PHP bei ihnen läuft oder von der Materie keine Ahnung 
haben?

Könnte man da nicht noch eine PHP Versionsabfrage mit einbauen, die die 
Datei dann ändert?

Lg
Stefan

von Jan B. (do9jhb)


Lesenswert?

Hi,

Stefan L. schrieb:
> In der .htaccess Datei an der ersten Stelle steht drinnen
> <IfModule mod_php5.c> so weit so gut.
> Da ich aber auf meinem Server PHP 7 laufen habe muss ich das in
> <IfModule mod_php7.c> ändern.

Ich hab es das <IfModule mod_php7.c> mal einfach zur .htaccess 
hinzugefügt. Jetzt sollte die Anzeige auch mit PHP korrekt 
funktionieren.

Außerdem habe ich noch ein paar Headers in die .htaccess eingebaut, die 
den Betrieb von Part-DB etwas sicherer machen dürften.

Die aktuelle Version findest du wie immer hier 
(https://github.com/jbtronics/Part-DB/tree/nextgen).

Gruß
Jan B.

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


Lesenswert?

Hallo Jan,

was mir gerade eingefallen ist und ich mich schon öfters gefragt habe...
Für was ist das Admin Passwort aktuell gut? Hat das irgendeine 
Verwendung?

Mfg,
Tropaion

von Jan B. (do9jhb)


Lesenswert?

Fabian P. schrieb:
> Hallo Jan,
>
> was mir gerade eingefallen ist und ich mich schon öfters gefragt habe...
> Für was ist das Admin Passwort aktuell gut? Hat das irgendeine
> Verwendung?
>
> Mfg,
> Tropaion

Hi,

Soweit ich weiß, ist das Admin Password Momentan nur dazu eine Änderung 
der Datenbankzugangsdaten zu autorisieren. Außerdem lässt sich damit 
unter system_debug.php das Debugging aktivieren.

Vermutlich werde ich das Admin Password ersetzen, wenn das 
Benutzersystem fertig ist. Oder werde zumindest den Hashalgorithmus 
ändern, denn das jetzt verwendete sha256 ist nicht unbedingt, dass beste 
für Passwörter.

Gruß
Jan B.

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


Lesenswert?

Jan B. schrieb:
> Soweit ich weiß, ist das Admin Password Momentan nur dazu eine Änderung
> der Datenbankzugangsdaten zu autorisieren. Außerdem lässt sich damit
> unter system_debug.php das Debugging aktivieren.

Ok, danke, wusste ich nicht.

Jan B. schrieb:
> Oder werde zumindest den Hashalgorithmus
> ändern

Wäre eine gute Idee.
Ich würde sowas wie hash('sha512', $password . $username); nehmen, das 
ist schon ziemlich sicher.

BTW, darf man fragen wie du mit dem User-System vorankommst?

Mfg,
Tropaion

von Jan B. (do9jhb)


Lesenswert?

Fabian P. schrieb:
> Wäre eine gute Idee.
> Ich würde sowas wie hash('sha512', $password . $username); nehmen, das
> ist schon ziemlich sicher.

PHP hat für Passwörter, sogar schon eine eigene Funktion 
(http://php.net/manual/de/function.password-hash.php). Sie erzeugt für 
jedes Password ein eigenen Salt, wodurch Rainbow-Table Angriffe sehr 
schwierig werden. Momentan verwendet PHP für die Funktion bcrypt, dies 
wird aber veränder, sobald bessere Algorithmen zur Verfügung stehen 
(wodurch auch Part-DB immer die beste Version benutzt). Für ältere PHP 
Versionen gibt es Polyfill, damit kann man die password_* Funktionen bis 
PHP 5.2 verwenden.

Fabian P. schrieb:
> BTW, darf man fragen wie du mit dem User-System vorankommst

Die Möglichkeiten zum Anlegen/Bearbeiten von Benutzern und Gruppen (plus 
so Kram wie Login und Passwort ändern Dialog) habe ich schon seit 
längerem fertig. Heute habe ich das grundlegende Berechtigungssystem 
fertiggestellt und angefangen die Berechtigungen umzusetzten bzw auch 
wirklich abzufragen. Bisher kann ich den Zugang zu den Datenstrukturen 
wie Footprints, Kategorie, Lagerorte etc. Kontrollieren. Jetzt fehlen 
nur noch die Berechtigungen für die Bauteile und Kleinkram wie 
Einstellungen, Datenbankupdate etc.
Danach kommt noch etwas Feinschliff und dann sollte das Benutzersystem 
eigentlich bereit zur Auslieferung sein.

Ich denke, dass ich das noch diese Woche fertig bekommen sollte.

Gruß
Jan B.

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


Lesenswert?

Jan B. schrieb:
> PHP hat für Passwörter, sogar schon eine eigene Funktion

Höre ich zum ersten mal, gut zu Wissen.

Jan B. schrieb:
> Jetzt fehlen
> nur noch die Berechtigungen für die Bauteile und Kleinkram wie
> Einstellungen, Datenbankupdate etc.
> Danach kommt noch etwas Feinschliff und dann sollte das Benutzersystem
> eigentlich bereit zur Auslieferung sein.
>
> Ich denke, dass ich das noch diese Woche fertig bekommen sollte.

WoW, finde ich toll! Ich muss sagen du arbeitest echt schnell :D

Danke und Mfg,
Tropaion

von Jan B. (do9jhb)


Angehängte Dateien:

Lesenswert?

Hi,

anbei mal ein paar Screenshots von dem aktuellem Stand der 
Benutzerverwaltung.

Gruß

Jan B.

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


Lesenswert?

Hallo,

danke für die Screenshots, sieht gut aus!
Machst du die Icons und Symbole eig. selbst?

Mfg,
Tropaion

von Jan B. (do9jhb)


Lesenswert?

Fabian P. schrieb:
> Hallo,
>
> danke für die Screenshots, sieht gut aus!
> Machst du die Icons und Symbole eig. selbst?
>
> Mfg,
> Tropaion

Ne, die sind von Fontawesome (http://fontawesome.io).

Gruß
Jan B.

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


Lesenswert?

Jan B. schrieb:
> Ne, die sind von Fontawesome

Ok, danke.

Mir ist gerade noch eine Frage aufgekommen, weil ich es verwenden 
wollte.
Kann man bei der Importfunktion auch gleich denn Bildlink mitangeben?

Mfg,
Tropaion

von Ludwig K. (hellas)


Lesenswert?

Hallo Jan und Mitstreiter,
vielen Dank für eure Mühe. Dank der Tips und der guten Installdoku hat 
das Update auf die die aktuelle nextgen-Version super funktioniert. Die 
Neuerungen werde ich die Tage ausprobieren. Danke Jan fürs einpflegen 
meiner Vorschläge.

Wenn eure Updateskripte fehlerfrei laufen, werde ich das nächste Update 
vornehmen. Das wird wohl für viele eine Erleichterung darstellen, die 
PartDB extern bei einem Provider laufen lassen.

Muss der Vendor-Ordner auch regelmässig mit aktualisiert werden?
Ich freu mich schon auf die Benutzerverwaltung :-)

von Jan B. (do9jhb)


Angehängte Dateien:

Lesenswert?

Hi,

Fabian P. schrieb:
> Kann man bei der Importfunktion auch gleich denn Bildlink mitangeben?

Bisher geht das leider nicht. Man sollte die Import/Exportfunktion aber 
Allgemein mal neu schreiben, da sollte sich so etwas einbauen lassen.

Ludwig K. schrieb:
> Muss der Vendor-Ordner auch regelmässig mit aktualisiert werden?
> Ich freu mich schon auf die Benutzerverwaltung :-)

Im Idealfall sollte man den vendor/ gleich mitaktualisieren, denn ab und 
zu braucht Part-DB mal eine neue Bibliothek, und wenn die fehlt, kann es 
merkwürdige Fehler geben. Der Updater sollte sich aber um diese 
Abhängigkeiten automatisch kümmern, dann braucht man sich keine Sorgen 
mehr um die Abhängigkeiten zu machen.

Gruß
Jan B.

PS: Anbei sind noch ein paar Screenshots von dem Benutzersystem, und 
vorallem von den bisher möglichen Berechtigungen. Bin beinahe fertig, es 
fehlen nur noch ein paar Kleinigkeiten.

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


Lesenswert?

Hallo Jan,

sieht sehr gut aus.

Jan B. schrieb:
> Bisher geht das leider nicht.

Schade, dann mach ich es ohne.

Jan B. schrieb:
> Im Idealfall sollte man den vendor/ gleich mitaktualisieren

Ich finde, man sollte ein Auswahlfeld machen wo man  wählen kann ob 
composer unterstützt wird oder nicht und dann vendor von github 
heruntergeladen wird oder der composer Befehl exec wird. Oder man macht 
gleich nur ersteres.

MFG,
Tropaion

von Ludwig K. (hellas)


Lesenswert?

ich wüsste derzeit nicht wie ich den Composer-Befehl bei meinem Provider 
ausführen sollte. Daher meine Frage. Mit der Optionsauswahl zur 
Aktualisierung/Download wäre aber dem Problem ausreichend Genüge getan.

Die Bilder zum Benutzersystem sehen schon sehr vielversprechend aus!

von Jan L. (ranzcopter)


Lesenswert?

Jan B. schrieb:
> PS: Anbei sind noch ein paar Screenshots von dem Benutzersystem, und
> vorallem von den bisher möglichen Berechtigungen. Bin beinahe fertig, es
> fehlen nur noch ein paar Kleinigkeiten.

das dürfte die feinst-granulierte Rechteverwaltung sein, die mir bislang 
untergekommen ist - Hut ab!

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


Angehängte Dateien:

Lesenswert?

Hallo Jan,

mir ist gerade noch ein Fehler aufgefallen.
Die XML-Export-Funktion verwendet andere Tag-Namen als die 
Import-Funktion.
Export -> Import funktioniert also nicht.

Und eine Funktion die auch noch toll wäre:
Wenn man auf "Änderungen übernehmen" klickt, soll er eine Rückmeldung 
geben, das Speichern erfolgreich war.

Und, ich wollte gerade die Datei importieren, gibt es da ein Limit oder 
so?
Weil er lässt mich denn Import nicht abschließen.

Danke und Mfg,
Tropaion

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


Angehängte Dateien:

Lesenswert?

Hallo Jan,

ich hätte da noch zwei Fragen.
Ist es möglich, das bei Natural Sorting auch "k" und "M" berücksichtigt 
werden?
Wenn ja, wie geht das?

Und, wenn ich nach Lagerort sortiere, kann man dann trotzdem auch noch 
Natural Sorting aktiviert haben?

Danke und Mfg,
Tropaion

von Jan B. (do9jhb)


Lesenswert?

Hi,

ich habe das Benutzersystem jetzt endlich fertig und habe es in den 
"nextgen" branch integriert. Es sind noch nicht alles fertig getestet, 
also kann es sein das manches noch etwas buggy ist, bzw. z.B. Werte 
nicht gespeichert werden. Über Bugmeldungen wäre ich daher sehr dankbar.
Im Großen und Ganzen sollte es dennoch funktionieren, ihr solltet aber 
unbedingt ein Datenbankbackup vorher gemacht haben (z.B. mit 
phpmyadmin).

Ladet euch für das Update die neuste Version von Github herunter 
(https://github.com/jbtronics/Part-DB/tree/nextgen) und entpackt es auf 
eurem Server. Danach solltet ihr
1
composer install -o
 durchführen, bzw. die aktuelle vendor.zip 
(https://github.com/jbtronics/Part-DB/blob/gh-pages/vendor.zip?raw=true) 
entpacken.

Wenn ihr nun startup.php aufruft, wird er euch ein Datenbankupdate 
anbieten: Führt dieses durch. Nachdem das Update erfolgreich war, könnt 
ihr euch oben rechts mit dem Usericon einloggen. Benutzt dafür "admin" 
als Benutzername und "admin" als Password. Unter System->Benutzer könnt 
ihr nun einen neuen Benutzer anlegen.

Im Auslieferungszustand ist Part-DB so konfiguriert, dass wenn ihr nicht 
eingeloggt seit, nur lesender Zugriff auf die Datenbank möglich ist. 
Möchtet ihr das klassische Verhalten zurück (so dass der anonymous user 
auch Bauteile bearbeiten darf), so müsst ihr unter System->Benutzer dem 
anonymous User die Gruppe users oder admins (wenn anonymous auch 
administrative Einstellungen ändern können soll).

Wenn einer von euch es ausprobieren sollte, dann freue ich mich über 
Rückmeldungen und/oder Bugmeldungen :)

Gruß
Jan B.

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


Angehängte Dateien:

Lesenswert?

Hallo Jan,

Danke für das schnelle implementieren, sieht sehr gut aus!

habe gerade das Update durchgeführt und ein paar Sachen probiert.
Bis jetzt habe ich keine Fehler gefunden.

Mir ist aber aufgefallen, das, auch wenn man ausgeloggt ist, der Button 
"Angaben verändern" angezeigt wird. Und auch die Buttons "Änderungen 
übernehmen" und "Änderungen verwerfen" sind aktiv. Man kann halt nur 
keine anderen Inhalte reinschreiben.

Wäre es nicht sinnvoller, denn Button "Angaben verändern" gleich 
komplett zu verstecken?

Achja, und Chrome liefert ein paar Erros und eine Meldung zurück, die 
sind aber denke ich harmlos (siehe Bild).

Was mir auch noch aufgefallen ist, hast du die Importfunktion entfernt?

Danke und Mfg,
Tropaion

: Bearbeitet durch User
von Jan B. (do9jhb)


Lesenswert?

Hi,

Fabian P. schrieb:
> Mir ist aber aufgefallen, das, auch wenn man ausgeloggt ist, der Button
> "Angaben verändern" angezeigt wird. Und auch die Buttons "Änderungen
> übernehmen" und "Änderungen verwerfen" sind aktiv. Man kann halt nur
> keine anderen Inhalte reinschreiben.

Ok macht Sinn, ich habe es jetzt so verändert, dass die Buttons 
deaktiviert sind, wenn der Nutzer nicht die Berechtigung 
Bauteile->Allgemein->Bearbeiten hat.

Fabian P. schrieb:
> Achja, und Chrome liefert ein paar Erros und eine Meldung zurück, die
> sind aber denke ich harmlos (siehe Bild).

Das mit "The anchor must contain #" ist mehr oder weniger normal, ich 
weiß nicht genau woran das liegt, es stört aber nicht sonderlich. Zu den 
anderen Fehlern: Bist du sicher das der Ordner icons auf deinem Server 
existiert, bzw. auch von außen zugreifbar ist?

Fabian P. schrieb:
> Was mir auch noch aufgefallen ist, hast du die Importfunktion entfernt?

Nein, sie ist aber für den anonymous User deaktiviert, da man zum 
Importieren, Schreibrechte benötigt, die anonymous nicht hat. Beim user 
admin sollte die Importfunktion angezeigt werden.


Für alle die das Benutzersystem mal testen wollen, ohne es zu 
installieren, können dies in der Online-Demo tun 
(http://part-db.bplaced.net/startup.php). Für einen User mit 
Schreibrechten, müsst ihr euch mit user:user einloggen.

Gruß
Jan B.

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.