Udo Neist schrieb: > Dann wäre es doch viel sinnvoller, die Fehlermeldung zu korrigieren. Klar könnte man sie noch etwas genauer formulieren, ich wollte aber nicht überall im Skript bei jedem Schreibzugriff noch eine Überprüfung auf korrekte Dateirechte und ein Versuch dies automatisch zu korrigieren einbauen, weil sowieso geplant ist eine zentrale Überprüfung auf korrekte Dateirechte einzubauen. Die hats jetzt halt nur noch nicht in die 0.3.0 geschafft... Ich gebe dir schon Recht, ich finde auch eine Überprüfung der Dateirechte (und ein Versuch, diese automatisch zu korrigieren) muss eingebaut werden. Aber ich dachte halt, bei der 0.2.2 ging das ja auch ohne, und es gibt ja eine gute Dokumentation in der beschrieben ist wie man die Rechte setzt muss, da kann diese Funktion noch aufs nächste Release warten (wir können ja nicht alle Punkte unserer ToDo-Liste in die 0.3.0 einbauen, sonst wird die nie fertig...). Aber von mir aus kann ich das noch einbauen, damit das dann in der 0.3.0 RC2 drin ist. > Die config_defaults.php führt in die Irre. Viele PHP-Projekte schleppen > eine solche Datei mit, die dann oft vom Anwender umkopiert werden soll, > damit die Installation klappt. Ja das stimmt, aber trotzdem sollte man einen kurzen Blick in die Installationsanleitung werfen :-) Ich habe hier halt ein etwas anderes Konzept gewählt weil ich der Meinung bin, dass solche Aufgaben ein grafischer Installer übernehmen soll (wenn sowieso eine grafische Oberfläche vorhanden ist) und nicht ein händisches Rumkopieren von Dateien. Wozu von Hand Dateien rumkopieren, wenn es im Installer viel einfacher und schneller geht und man so auch noch nichts falsch machen kann? Den Dateinamen "config_defaults.php" könnte ich natürlich in "DontToucheMe.php" umbenennen, das würde das Problem beheben, ist aber nicht gerade Entwicklerfreundlich ;-)In dieser Datei werden halt Standardwerte für die Konfiguration geladen, für den Fall dass diese in der config.php nicht definiert sind. Da fand ich halt "config_defaults" passend ;-) Ich hätte aber zwei Vorschläge, diesem Problem entgegenzuwirken: - Eine fette Warnung in die config_defaults.php einbauen "do not copy...read manual at http://......!" - Mal schauen ob das Skript feststellen kann, ob der Benutzer die config_defaults.php als Vorlage verwendet hat, um dann eine Fehlermeldung ausgeben zu können. > Einfach die Datei gleich schon im > data-Verzeichnis unterbringen und eventuell auch defaults.php nennen > oder eine leere config.php mitliefern? Die config.php aus 0.2.2 würde ja > entsprechend umgeschrieben. Eine leere config.php mitliefern ist schlecht, dann wird die config.php des Benutzers bei jedem Systemupdate mit dieser config.php überschrieben. Eine defaults.php mitzuliefern dient irgendwie nicht der Bekämpfung der Ursache, sondern des Symptoms. Die Ursache ist: Der Benutzer meint fälschlicherweise, er müsse seine config von Hand anlegen. Mit einer defaults.php lässt man ihn auch noch glauben, das sei richtig so. Die wirklich richtige Lösung wäre aber, ihm klarzumachen dass er keine config anzulgenen braucht, sondern einfach http://localhost/part-db/ aufrufen muss und der Installer dann alles für ihn erledigt. ...meine Meinung! :-) > PS: SVN speichert die Datei/Verzeichnisrechte, da sollte man diese von > Anfang an auch richtig einstellen :-) Oh das wusste ich gar nicht, danke :-D mfg
Urban B. schrieb: > Ich gebe dir schon Recht, ich finde auch eine Überprüfung der > Dateirechte (und ein Versuch, diese automatisch zu korrigieren) muss > eingebaut werden. Aber ich dachte halt, bei der 0.2.2 ging das ja auch > ohne, und es gibt ja eine gute Dokumentation in der beschrieben ist wie > man die Rechte setzt muss, da kann diese Funktion noch aufs nächste > Release warten (wir können ja nicht alle Punkte unserer ToDo-Liste in > die 0.3.0 einbauen, sonst wird die nie fertig...). > > Aber von mir aus kann ich das noch einbauen, damit das dann in der 0.3.0 > RC2 drin ist. Schwerwiegend ist das ja nicht, könnte man ja mit einfachen Mitteln erreichen. Einfach eine kleine Liste von Dateien/Verzeichnisse und deren Rechte mitliefern, die dann bei der Installation geprüft werden können. Könnte man aber auch in eine 0.3.1 rein nehmen. > Den Dateinamen "config_defaults.php" könnte ich natürlich in > "DontToucheMe.php" umbenennen, das würde das Problem beheben, ist aber > nicht gerade Entwicklerfreundlich ;-)In dieser Datei werden halt > Standardwerte für die Konfiguration geladen, für den Fall dass diese in > der config.php nicht definiert sind. Da fand ich halt "config_defaults" > passend ;-) > > Ich hätte aber zwei Vorschläge, diesem Problem entgegenzuwirken: > - Eine fette Warnung in die config_defaults.php einbauen "do not > copy...read manual at http://......!" > - Mal schauen ob das Skript feststellen kann, ob der Benutzer die > config_defaults.php als Vorlage verwendet hat, um dann eine > Fehlermeldung ausgeben zu können. Letzteres wäre wohl das sinnvollste. >> Einfach die Datei gleich schon im >> data-Verzeichnis unterbringen und eventuell auch defaults.php nennen >> oder eine leere config.php mitliefern? Die config.php aus 0.2.2 würde ja >> entsprechend umgeschrieben. > > Eine leere config.php mitliefern ist schlecht, dann wird die config.php > des Benutzers bei jedem Systemupdate mit dieser config.php > überschrieben. Kommt auf das Systemupdate drauf an. Ich weiß jetzt nicht auswendig, ob bei SVN eine Datei als Tabu zum Update markiert werden kann. Ich glaube aber sowas mal gelesen zu haben. Für ein internes Systemupdate ist die config.php sowieso für ein Überschreiben zu schützen, am besten immer eine Kopie vor dem Update machen. > Eine defaults.php mitzuliefern dient irgendwie nicht der Bekämpfung der > Ursache, sondern des Symptoms. Die Ursache ist: Der Benutzer meint > fälschlicherweise, er müsse seine config von Hand anlegen. Mit einer > defaults.php lässt man ihn auch noch glauben, das sei richtig so. Die > wirklich richtige Lösung wäre aber, ihm klarzumachen dass er keine > config anzulgenen braucht, sondern einfach http://localhost/part-db/ > aufrufen muss und der Installer dann alles für ihn erledigt. > > ...meine Meinung! :-) Könnte man auch irgendwo tief im System verstecken. Wichtig ist nur, dass der User nicht direkt mit der config-defaults.php bzw. config.php in Berührung kommt. Leider gibt es keinen Standard für solche Zwecke :( >> PS: SVN speichert die Datei/Verzeichnisrechte, da sollte man diese von >> Anfang an auch richtig einstellen :-) > > Oh das wusste ich gar nicht, danke :-D :-D Wäre ja doof, wenn es nicht so wäre.
Urban B. schrieb: > Peter Müller schrieb: >> Egal, mit welcher Auswahl ich es versuche, ich bekomme immer dieselbe >> Fehlermeldung ... > > Bei welchem Webhoster bist du? > > Füge bitte mal am Anfang der start_session.php die folgenden Zeilen ein: >
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
> > Und stelle hier die Ausgabe rein, vielleicht sieht man da was > auffälliges. > Mein Webhoster ist hostpoint.ch Also ich hab den Code reinkopiert und folgende Meldungen bekommen ... LC_ALL = false LC_COLLATE = false LC_CTYPE = false LC_MONETARY = false LC_NUMERIC = false LC_TIME = false LC_MESSAGES = false Gruss Peter
Udo Neist schrieb: > Kommt auf das Systemupdate drauf an. Ich weiß jetzt nicht auswendig, ob > bei SVN eine Datei als Tabu zum Update markiert werden kann. Du darfst nicht vergessen, dass SVN NICHT der Update-Mechanismus von Part-DB darstellt. Das einzige "offizielle" Verfahren, seine Part-DB aktuell zu halten, ist immernoch über den manuellen Download des *.tar.gz Archives mit anschliessendem Überschreiben der alten Dateien. Part-DB über SVN aktuell zu halten kann sogar auch mal richtig schiefgehen, wenn z.B. ein Datenbankupdate in den Trunk geladen wird, das sich als fehlerhaft herausstellt. Solange dieses Update noch nicht offiziell rausgegeben wurde, können wir es nochmal verändern. Wer zu diesem Zeitpunkt aber bereits seine Part-DB über SVN aktualisiert hat, hat Pech gehabt... Daher kann man nur davon abzuraten, Part-DB im produktiven Einsatz über SVN zu aktualisieren, dies sollten wirklich nur Entwickler mit ihren Testinstallationen von Part-DB machen. Udo Neist schrieb: >>> PS: SVN speichert die Datei/Verzeichnisrechte, da sollte man diese von >>> Anfang an auch richtig einstellen :-) >> >> Oh das wusste ich gar nicht, danke :-D > > :-D Wäre ja doof, wenn es nicht so wäre. Hmm bist du dir wirklich sicher dass das so funktioniert? Im Internet konnte ich dazu nichts finden, in Google Code sieht man die Dateirechte nirgens und wenn ich die Rechte einer Datei verändere wird sie von SVN nicht als "verändert" markiert... Ausserdem, was nützen die UNIX Dateirechte wenn jemand unter Windows auf einer NTFS Partition arbeitet?
Peter Müller schrieb: > Mein Webhoster ist hostpoint.ch > > Also ich hab den Code reinkopiert und folgende Meldungen bekommen ... > LC_ALL = false > LC_COLLATE = false > LC_CTYPE = false > LC_MONETARY = false > LC_NUMERIC = false > LC_TIME = false > LC_MESSAGES = false Ahh, ich glaube ich habe das Problem gefunden. Hostpoint erwartet vermutlich "de_CH.UTF-8" statt "de_CH.utf8": http://support.hostpoint.ch/index.php?page=ArticleDetailPage&navigation=7&category=29&article=57 Ich bau das noch in Part-DB ein, habe da sowieso grad noch Optimierungspotential entdeckt :-)
Ich stimme dir da schon zu, nur will ich darauf hinaus, dass wir mit dem Installer auch ohne Eingriffe ins System direkt starten können. Existiert keine config.php wird eine angelegt. Stimmen die Rechte nicht, wird das angezeigt. Alles andere ist Blödsinn. Mit den Rechten unter Windows müssen wir eh schauen. Das ist eine eigene Geschichte und sollte später auch berücksichtigt werden. Man kann ja eine Umfrage starten, wer Part-DB auf welchem OS nutzt :-)
Also ich habe mal angefangen zumindest eine rudimentäre Überprüfung der Dateirechte einzubauen, die "data" auf Schreibrechte überprüft. Nur habe ich da gewisse Schwierigkeiten... In der Doku habe ich ja z.B. für das Verzeichnis "data" die Rechte auf 755 zu stellen. Das gilt allerdings nur, wenn der Besitzer des Ordners dem Webserver (www-data) entspricht. Das ist aber nicht immer der Fall, das kommt auf die Infrastruktur drauf an. Bei einem Hoster kann es ja durchaus sein, dass die Dateien, die über FTP hochgeladen wurden, dem FTP-Benutzer gehören und nicht dem Webserver. Das heisst also, es bringt nichts wenn ich "data" auf 755 prüfe, das einzig Sinnvolle ist, mit is_writable() auf Schreibrechte zu prüfen. Gibt diese Funktion "false" zurück, kann ich versuchen mit chmod() die Rechte auf 755 zu setzen. Geht das nicht, kann ich die Meldung ausgeben dass man die Rechte von Hand ändern muss (mit Verweis auf die Doku). Wurden die Rechte erfolgreich geändert, aber die Datei ist immernoch nicht beschreibbar, kann man es mit 775 und schlussendlich mit 777 versuchen. Das ist irgendwie ein ziemliches Gebastel. Eine andere Idee habe ich aber nicht, die dann auch auf jedem System funktioniert. Gibts bessere Vorschläge? :-)
Ich würde es so machen, damit hätten wir ein Problem weniger. Eine elegantere Methode können wir ja immer noch in spätere Releases einbauen :-)
Okay, habe die Änderungen mal hochgeladen (r643). Falls es Probleme gibt, bitte melden :-)
Urban B. schrieb: > Ahh, ich glaube ich habe das Problem gefunden. Hostpoint erwartet > vermutlich "de_CH.UTF-8" statt "de_CH.utf8": > http://support.hostpoint.ch/index.php?page=Article... > > Ich bau das noch in Part-DB ein, habe da sowieso grad noch > Optimierungspotential entdeckt :-) Hallo, Habs leider nicht hinbekommen , weil ich weiss nicht, wie das mit den SVN geht ... nun gut ich habe jetzt mal die Version 2.1 heruntergeladen und installiert ... stehe leider aber schon wieder an ... Bei der Navigation in "Kategorien","Baugruppen" oder "Verwaltung / Tools" passiert nichts, wenn ich entweder "alle Anzeigen" oder "alle Schliessen" klicke ... Sollte aber für ein DB-Update in die Verwaltung kommen ;-) Die Navigation in den Online "Test-Datenbanken" gehen .... Habe die Datenbank jetzt etwa 3 Mal neu installiert inkl. Datenbank ... immer mit demselben Ergebnis -> Navigation funktioniert nicht , auch eine bereits eingegebene Kategorie ist nicht sichtbar Was mache ich falsch ?
Gast
#3179938
Christopher K. schrieb: > Das war ja fast zu einfach um wahr zu sein. Danke ich habs geschafft. > Hab gleich auf RC1 geupdated. > > Zeile in der config_defaults.php lautet in meinem Fall nun $config['table']['category_parts']['columns'] = 'hover_picture;name;description;instock_mininstock;footprint;storelocati on;datasheets;attachements;button_decrement;button_increment;suppliers;s upplier_partnrs'; > Geniales Script... netten Abend wünsche ich noch. > > PS: Beim update meldete der Server "File does not exist: > /usr/share/javascript/toggle.js". > > Lösung war: In der Datei "/etc/apache2/conf.d/javascript-common.conf" > die Zeile "Alias /javascript /usr/share/javascript/" > Kommentieren/Löschen und Apache neu starten. Der String 'id' bei der configzeile:$config['table']['category_parts']['columns'] läuft in ein leeres case. https://code.google.com/p/part-db/source/browse/trunk/lib/class.Part.php ZEile 1141 Möchte diese Nummer auch auflistenlassen. Benutze für die Sortierung in der Schublade gleich die ID Nummer. Was muss da geändert werden?
Gast
#3180058
Hm bei mir bleibt beim SVN Update die Part-DB nach dem Dateirechte setzen hängen. http://www.partdb.grautier.com/svn/ Die RC1 bin ich grade noch am uploaden, sollte heute Abend auch wieder Funktionieren. Zum Dateirechte setzen oben steht da ja was zu, ich würde das nicht vom Script setzen lassen sondern einfach nur mit dem jeweiligen PHP User schauen ob es beschreibbar ist oder nicht, so wie es auch bei CMS Systemen gemacht wird, und dan nur ausgeben was der Benutzer noch ändern muss, das ist am Problemlosesten.
Gibt es irgendwo eine Übersicht über die Funktionen der Part-DB? Ist das nur eine Datenbank, oder gibt es auch ein Frontend mit GUI? Ich müsste meine Lagerhaltung (bei den Bauteilen) nämlich auch mal endlich auf eine solidere Basis stellen... Edit: Ich hab gerade den zugehörigen Artikel gefunden: http://www.mikrocontroller.net/articles/Part-DB_RW_-_Lagerverwaltung Wenn noch Fragen offen bleiben sollten, melde ich mich nochmal. Mit freundlichen Grüßen Thorsten Ostermann
Peter Müller schrieb: > Urban B. schrieb: >> Ahh, ich glaube ich habe das Problem gefunden. Hostpoint erwartet >> vermutlich "de_CH.UTF-8" statt "de_CH.utf8": >> http://support.hostpoint.ch/index.php?page=Article... >> >> Ich bau das noch in Part-DB ein, habe da sowieso grad noch >> Optimierungspotential entdeckt :-) > > > Hallo, > Habs leider nicht hinbekommen , weil ich weiss nicht, wie das mit den > SVN geht ... Wenn du die 0.3.0 RC1 installiert hast, kannst du vorübergehend folgendes machen: In der config_defaults.php die Zeile
1 | |
durch diese hier ersetzen:
1 | |
und dann unter System -> Konfiguration die Sprache auf "de_CH (UTF-8)" einstellen. An der config_defaults.php darf man eigentlich NICHTS verändern wie ich schonmal erwähnt habe. Da diese Änderung aber in der RC2 gleich standardmässig mit eingebaut ist, kann man hier mal eine Ausnahme machen. > stehe leider aber schon wieder an ... > Bei der Navigation in "Kategorien","Baugruppen" oder "Verwaltung / > Tools" passiert nichts, wenn ich entweder "alle Anzeigen" oder "alle > Schliessen" klicke ... Hast du mal überprüft ob die Dateirechte für die Javascript-Dateien korrekt sind? Christian schrieb: > Der String 'id' bei der > configzeile:$config['table']['category_parts']['columns'] läuft in > ein leeres case. Ja, weil dies in der 0.3.0 RC1 noch nicht möglich war. Du musst die Datei lib/lib.export.php mit dieser hier ersetzen, dann sollte es gehen: https://code.google.com/p/part-db/source/browse/trunk/lib/lib.export.php K. J. schrieb: > Hm bei mir bleibt beim SVN Update die Part-DB nach dem Dateirechte > setzen hängen. mmh ok schade, aber irgendwie habe ich das schon fast vermutet dass es da Probleme geben wird ;-) > Zum Dateirechte setzen oben steht da ja was zu, ich würde das nicht vom > Script setzen lassen sondern einfach nur mit dem jeweiligen PHP User > schauen ob es beschreibbar ist oder nicht, so wie es auch bei CMS > Systemen gemacht wird, und dan nur ausgeben was der Benutzer noch ändern > muss, das ist am Problemlosesten. Jup, werde ich dann wohl noch so ändern. mfg
Gast
#3180308
Urban B. schrieb: > Christian schrieb: >> Der String 'id' bei der >> configzeile:$config['table']['category_parts']['columns'] läuft in >> ein leeres case. > > Ja, weil dies in der 0.3.0 RC1 noch nicht möglich war. Du musst die > Datei lib/lib.export.php mit dieser hier ersetzen, dann sollte es gehen: > https://code.google.com/p/part-db/source/browse/tr... Betreffend dem export der datei hab ichs soweit verstanden. Ich schreibe von der Auflistung der Treffern bei der Suche oder der Kategorieauflistung der Bauteilen. Die Parameter die angezeit werden, können via configzeile: configzeile:$config['table']['category_parts']['columns'] bearbetet werden. Kann da jetzt einfach den String 'id' angewendent werden für die Auflistung?
Ups, nicht richtig gelesen, sorry ;-) Das mit dem String "id" hatte ich in der RC1 noch vergessen, ist mittlerweile aber schon eingebaut in dieser Datei: https://code.google.com/p/part-db/source/browse/trunk/lib/class.Part.php Ist dann also ab der 0.3.0 RC2 mit drin.
Urban B. schrieb: > Hast du mal überprüft ob die Dateirechte für die Javascript-Dateien > korrekt sind? Es hat funktioniert ... hatte da etwas vile Probleme mit den "Datei-Rechten" Nun funktioniert die Navigation , wie sie sollte :-) 2 Fragen hätte ich noch: 1. das Administatoren Passwort wird trotz korrekter Eingabe nicht wieder erkannt und akzeptiert 2. kann eine Vorgänger-Datenbank vom Rel 1.04 RC in die neue Datenbank übernommen werden - oder irgendwie zumindestens die Artikel , Lagerorte usw Danke für Eure Hilfe Peter
Peter Müller schrieb: > 1. das Administatoren Passwort wird trotz korrekter Eingabe nicht wieder > erkannt und akzeptiert Hoppla, da ist was vergessen gegangen ;-) werde ich sofort korrigieren. Vorübergehend muss man dann halt die Datenbankeinstellungen direkt in der config.php ändern. > 2. kann eine Vorgänger-Datenbank vom Rel 1.04 RC in die neue Datenbank > übernommen werden - oder irgendwie zumindestens die Artikel , > Lagerorte > usw Das ist zwar schon eine relativ alte Version, sollte aber eigentlich möglich sein. Einfach unbedingt ein Backup der Datenbank anlegen. Wenns nicht klappt, könnte man versuchen zuerst mit Part-DB 0.2.2 die Datenbank auf eine neuere Version zu aktualisieren, und erst dann 0.3.0 zu verwenden.
Urban B. schrieb: > Das ist zwar schon eine relativ alte Version, sollte aber eigentlich > möglich sein. Einfach unbedingt ein Backup der Datenbank anlegen. Wenns > nicht klappt, könnte man versuchen zuerst mit Part-DB 0.2.2 die > Datenbank auf eine neuere Version zu aktualisieren, und erst dann 0.3.0 > zu verwenden. Hat geklappt mit dem update der Datenbank auf 0.3.0 .... Musste allerdings den Umweg über die Version 2.2 (2.1) machen ... Das mit den Dateirechten hat sich jetzt auch geklärt ... Irgendwie hat mir Filezilla diese Datei-Rechte "vermurkst" ... ... mit dem guten alten WS-FTP95 hats sofort auf Anhieb geklappt. Besten Dank für die gute Unterstützung Gruss Peter
Funktionieren Ihr bei Euch die Links auf der Startseite (unten) ? Könnt Ihr den "Titel der Seite:" in der Konfiguration ändern ? Danke für Feedbacks Peter
Peter Müller schrieb: > Funktionieren Ihr bei Euch die Links auf der Startseite (unten) ? Nope, die URLs, die der Google Feed ausliefert sind ja gar keine gültige Adressen (bzw. die gültige Adresse ist in einem anderen XML-Eintrag). Ich schreibs mal in unsere ToDo Liste. > Könnt Ihr den "Titel der Seite:" in der Konfiguration ändern ? Nein, auch das geht nicht :-) Liegt daran, dass die entsprechende Einstellung in der zweiten Hälfte der config_defaults.php liegt, und damit nicht automatisch in der config.php abgelegt wird, das kann man nur manuell machen. Allerdings frage ich mich, ob das überhaupt jemand braucht? Wenn man den Eintrag in der Konfigurationsseite entfernen würde, ginge es einfach nicht mehr übers Webinterface. Manuell ist es aber nach wie vor mäglich, den Titel per $manual_config in der config.php zu ändern:
1 | |
Zum Testen habe ich mal part-db auf meinem Win7 Rechner zusammen mit einem WAMP System (UniServer) ausprobiert. Leider schlägt schon die Funktion zum Testen der Dateirechte an und meckert. Schnell hat sich gezeigt, dass anscheinend unter Windows die Verzeichnisse (z.B. data) keine "execute" Rechte haben. Nachdem ich einfach mal die "x" Flags bei den Verzeichnissen aus der Abfrage entfernt hatte, lief alles. Gibt es dafür eine bessere Lösung ?
Welche Version hast du installiert? Die Frage ist deshalb wichtig, weil wir ja weiter oben schon die Problematik der Rechtevergabe unter Windows für die Entwicklerversion angesprochen haben. Man müsste im Installer wohl noch das Betriebssystem berücksichtigen.
Okay dann baue ich noch eine Konstante in start_session.php ein:
1 | |
Wenn diese "true" ist, dann wird halt das executable Bit einfach ignoriert in der Überprüfung der Rechte. Ausserdem gibts noch einen anderen Bug bei Windows, wegen den mühsamen Dateipfaden die aus Slashes und Backslashes bestehen. Es gibt ein paar str_replace() im Code, die nur mit Unix Pfaden zurechtkommen. Da muss ich mir noch was einfallen lassen...
Nimm doch einfach DIRECTORY_SEPARATOR. Ist zwar eigentlich nicht wirklich sinnvoll nutzbar, da PHP mit dem "/" auch unter Windows zurecht kommt, aber bei einigen Funktionen muss das wohl genutzt werden. http://stackoverflow.com/questions/6654157/how-to-get-a-platform-independent-directory-separator-in-php
Udo Neist schrieb: > Welche Version hast du installiert? Die letzte von gestern Abend aus SVN. Sollte also die r645 sein.
Dirk B. schrieb: > Die letzte von gestern Abend aus SVN. Sollte also die r645 sein. Da haste gerade ne Version erwischt, die die Überprüfung von Datei-/Verzeichnisrechten enthält, aber auf Windows noch nicht getestet wurde. Aber Urban ist wohl dran, diese Probleme zu beheben.
Also ich sehe momentan zwei Lösungswege, um das Pfad-Problem zu beheben: 1. Variante Für alle Pfade immer direkt das korrekte Pfad-Trennzeichen (je nach Betriebssystem) verwenden. Damit dürften wir aber in unserem gesamten Code NIRGENDWO ein "/" oder "\" verwenden, sondern immer nur DIRECTORY_SEPARATOR! Ist mühsam, aber verhindert so komische Pfade, in denen Slashes und Backslashes gleichzeitig vorkommen. Für die Dateipfade in der Datenbank (z.B. für Footprint Bilder) könnten wir uns vielleicht darauf einigen, dass IMMER Slashes verwendet werden, also auch unter Windows. Wird Windows benutzt, müssten dann halt beim Abspeichern und beim Auslesen aus der Datenbank die Pfade entsprechend umgewandelt werden. Das stellt sicher, dass die Datenbank komplett Betriebssystemunabhängig ist, was natürlich anzustreben ist. in den HTML bzw. TMPL Dateien könnte man dies mit einer Template-Variable für DIRECTORY_SEPARATOR machen, damit auch im HTML Code die richtigen Pfad-Trennzeichen verwendet werden können. 2. Variante in unserem Code immer mit Slashes arbeiten (so wie bisher). Dadurch können bei Windows dann aber Pfade entstehen, die Slashes wie auch Backslashes enthalten. Sieht nicht schön aus, funktioniert aber weil Windows (bzw. Apache) das toleriert. Allerdings müsste man dann bei allen str_replace() Operationen immer aufpassen, dass es betriebssystemunabhängig funktioniert, was relativ mühsam sein kann.
Ne Idee wäre, eine Funktion zu schreiben, die einen Pfad entsprechend korrigiert. Also Slash/Backslash-Kombinationen per RegEx umschreibt und auch die Pfade richtig setzt. Kann ja auch gleich auf is_dir() oder is_file() prüfen. Wenn das Ergebnis halt nicht existent ist, wird false zurückgeliefert, ansonsten den zum Betriebssystem passenden Pfad.
Eigentlich könnten wir ja auch gleich alle Pfade IMMER mt Slashes schreiben und keine Backslashes mehr zulassen. Auch bei der Konstante "BASE". Aufpassen muss man dann nur noch bei Pfaden, die vom System geliefert werden (z.B. realpath(), scandir(), ...). Die muss man dann sofort in Unix Pfade umschreiben.
Urban B. schrieb: > Eigentlich könnten wir ja auch gleich alle Pfade IMMER mt Slashes > schreiben und keine Backslashes mehr zulassen. Auch bei der Konstante > "BASE". Ich habe das jetzt mal so eingebaut (r646). Ich hoffe, damit sind die Probleme mit Windows-Pfaden behoben. Mit XAMPP 1.8.1 auf Win7 konnte ich auf den ersten Blick jedenfalls keine Probleme mehr feststellen. Übrigens habe ich die nächsten 3 Wochen sehr wahrscheinlich nur an den Wochenenden Internetzugang, also nicht wundern wenn ich nicht erreichbar bin ;-)
Gast
#3189225
Beim RC1 wurden bei mir anfänglich die Kategorien links nicht aufgelistet die ich engetragen habe. Konnte es im File class.StructuralDBElement.php Zeile 379ff. zum Anzeigen bringen.
1 | |
2 | |
3 | |
Wieso Funktioniert es auf der Testdatenbank ohne str_replace?
1 | |
ersetzt mit
1 | |
Danke für eine kleine Rückmeldung.
Gast
#3190790
Hab in den Kategorien eine Kategorie MOSFET's gennant. Dieses Zeichen ' darf nicht geschrieben werden. Dann läufts wenn der Name MOSFET gebraucht wird.
@Christian Jup da fehlte noch was, hab ein htmlentities() und ein addslashes() eingebaut (r650), damit sollten jetzt alle Sonderzeichen korrekt dargestellt werden. Ist dann in der RC2 mit drin. mfg
Gast
#3196336
Ich habe die ganze Zeit Version 0.2.2 verwendet. Jetzt wollte ich mal die neue Version 3 testen, aber ich bekomme das mit der Datenbank nicht hin. Das Autoupdate der Datenbank scheitert immer von V12 nach V13. Von V11 auf V12 scheint es problemlos zu klappen. Beim Update von V12 --> V13 bekomme ich den folgenden Fehler Fehlermeldung: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'description' at row 1 Manchmal bleibt er auch schon hier hängen: Schritt: UPDATE `footprints` SET filename = REPLACE(filename, 'ä', 'ä')...FEHLER! Fehlermeldung: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'filename' in 'field list' Ich spiele dann immer den SQL Dump der Version 0.2.2 ein. Die Version 0.2.2 funktioniert auch problemlos. Die Dateien aus dem Archiv habe ich in einen komplett lehren Ordner des Webservers entpackt, nur die alte config.php habe ich eingefügt. Hat jemand eine Idee? Danke
OK also ich habe mal eine kleine Änderung in der class.Database.php eingefügt, ersetze diese Datei mal mit dieser hier: https://part-db.googlecode.com/svn/trunk/lib/class.Database.php Es gibt wohl noch ein Problem wenn man nach einem Update-Fehler manuell wieder eine ältere Datenbank einspielt. Denn das neu einspielen kriegt Part-DB grundsätzlich ja nicht mit und macht dann beim nächsten Update-Versuch wieder dort weiter, wo beim letzten Mal der Fehler auftrat. Das ist natürlich falsch, das Update müsste dann wieder von Vorne beginnen. Vermutlich kommt daher dann das Problem mit der Spalte footprints.filename. Wenn du die Datenbank wieder auf den älteren Stand zurücksetzt, müsstest du in der config.php die folgenden zwei Werte auf "0" zurücksetzen:
1 | |
2 | |
Ich muss mal schauen ob man das noch irgendwie verbessern kann, so dass Part-DB merkt dass ein Backup eingespielt wurde und dann entsprechend das Update wieder von Vorne beginnt. Ich denke das sollte möglich sein...
Gast
#3196531
Ich fürchte fast dass ich da noch mehr Probleme bekommen werde. Nach der Aufforderung eine Zeitzone/Sprache erhalte ich die Meldung: Die gewählte Sprache "de_DE.UTF-8" wird vom Server nicht unterstützt! Bitte installieren Sie diese Sprache oder wählen Sie eine andere. Möglicherweiße liegt das daran dass es auf einem Windowssystem installiert ist? Danke
Juergen F schrieb: > Die gewählte Sprache "de_DE.UTF-8" wird vom Server nicht unterstützt! > Bitte installieren Sie diese Sprache oder wählen Sie eine andere. Dieses Problem (bei Windows Servern) wurde bereits gemeldet und sollte inzwischen behoben sein. Am besten wartest du noch auf die RC2, da ist dieser Bugfix dann drin. mfg
Kleiner Verbesserungsvorschlag: Die Vorschaubilder der Artikel werden derzeit teilweise sehr stark verzogen, da immer nur in eine Richtung runter skaliert wird. Könnte man nicht Höhe und Breite zusammen so lange verringern bis es die entsprechenden Größe haben? Ich hätte noch eine Idee für die zukünftigen Versionen: Die Artikel noch um eine Gewichtsfeld zu erweitern. Sowie bei den Lagerorten ein max. zulässiges Gesamtgewicht definieren. Dabei lässt sich pro Fach ein Gewicht definieren, sowie den übergeordneten Regal bzw Sortimentkasten ein Gesamtgewicht eingeben. Grüße Gerald
Dazu müsste ein max-width oder max-height im entsprechenden Thema schon reichen. Bei großen Bildern macht man das jedoch nicht, da skaliert man die Bilder schon vorher, um die Datenmenge zu verringern. Besser wäre es aber, wenn die Bilder im Vektor(SVG)-Format wären, aber leider können nur wenige Browser sowas direkt verarbeiten. Wenn das gewünscht wird, kann ich eine passende Funktion besteuern.
Gerald *. schrieb: > Die Vorschaubilder der Artikel werden derzeit teilweise sehr stark > verzogen, da immer nur in eine Richtung runter skaliert wird. Stimmt, das wollte ich eigentlich auch schon lange mal verbessern. Ich habe jetzt die CSS-Datei entsprechend angepasst, wird nachher noch ins SVN hochgeladen ist dann in der RC2 drin. Für grosse Bilder sollen später mal automatisch Thumbnails verwendet werden, da sonst die Performance stark leiden kann. Aber das muss noch ein bisschen warten... > Die Artikel noch um eine Gewichtsfeld zu erweitern. Ich füge das mal unserer ToDo-Liste hinzu.
Hallo Zusammen, Ich bin echt begeistert von der Lager-Verwaltung Datenbank und habe schon fleissig -> Artikel in die Datenbank abgelegt. Da ich teils ein bisschen grössere Artikel einlagere, wie Kompressoren, habe ich nun das Problem , dass sich zum Beispiel einer in der Lagerhalle, einer auf der Baustelle und einer in Reparatur befindet ... Aktuell habe ich mir denselben Artikel 3x erstellt um ihn an 3 verschiedenen Orten "lagern" zu können ... Die Lagerbewegungen habe ich in die Notizen geschrieben. Was natürlich nicht so tolle ist. Frage: Habt Ihr mir eine Idee wie ich das besser handhaben könnte ... Oder gibt es die Möglichkeit mehrere Lagerorte für ein und denselben Artikel in dieses Programm zu implementieren ? Gruss Peter
Hallo Peter, Momentan gibt es keine "saubere" Variante, um den selben Artikel an mehreren Orten gleichzeitig zu lagern. In unserer ToDo-Liste ist aber schon ein Punkt aufgeführt, der diese Thematik anspricht. Das kann aber noch dauern bis das eingebaut wird. So eine Funktion ist aber auch nicht ganz trivial. Es gibt mehrere Probleme, die mit dem Einbauen dieser Funktion auftreten werden. Diese beginnen schon bei den "+" und "-" Buttons in den Artikellisten. Aus welchem Lagerort sollen die Artikel nun abgebucht/eingebucht werden wenn so ein Button geklickt wird? Dasselbe beim Abfassen einer ganzen Baugruppe, welche Artikel sollen von welchem Lagerort abgebucht werden? Fragen über Fragen... ;-) Momentan muss man halt irgendwie improvisieren wenn man den selben Artikel an verschiedenen Orten lagert. Sei es mit Kommentaren, oder mit dem Erstellen von mehreren, gleichnamigen Artikeln (für jeden Lagerort einen). mfg
Bei der "Version 0.3.0 RC1 (unstable)" hat sich ein Vertipper eingeschlichen. Bei "Bearbeiten - Footprints" steht im Hinweis-Text: "Dateinaben" statt "Dateinamen". Bitte nicht gleich steinigen, dass ich hier solche Banalitäten poste, aber ich weiß nicht wo ich das sonst "melden" könnte.
Christian R. schrieb: > "Dateinaben" statt "Dateinamen". Danke, wird korrigiert. Christian R. schrieb: > Bitte nicht gleich steinigen, dass ich hier solche Banalitäten poste, > aber ich weiß nicht wo ich das sonst "melden" könnte. Passt schon :-)
Hmmm, irgendwie bekomme ich es nicht hin den Link zu meinem Datenblatt
anzugeben.
Ich kann nur eine Datei auswählen, welche ich hochladen will, aber ich
kann kein Link eintragen.
Und dann ist mir noch aufgefallen dass der Titel ("Part-DB 0.3.0") nicht
geändert werden kann. Man kann zwar einen Titel eingeben, dieser wird
jedoch ignoriert.
Christian R. schrieb: > Ich kann nur eine Datei auswählen, welche ich hochladen will, aber ich > kann kein Link eintragen. Stimmt...Wird korrigiert. Christian R. schrieb: > Und dann ist mir noch aufgefallen dass der Titel ("Part-DB 0.3.0") nicht > geändert werden kann. Man kann zwar einen Titel eingeben, dieser wird > jedoch ignoriert. Ist bereits behoben, kommt dann in die 0.3.0 RC2.
Ich habe gerade PartDB installiert, jetzt zeigt der mir an "Datenbank-Update notwendig!" Was will der von mir bzw. was muss ich machen?
Bei "Verwaltung/Tools" sollte unter "Konfiguration - Datenbank" ein Button "Jetzt Datenbank Updaten" vorhanden sein. Da drauf klicken ;-) Mal was anderes... Wenn ich eine Datei (Datenblatt) hoch laden möchte bekomme ich die Fehlermeldung "Es gab ein Fehler beim Hochladen der Datei!". Ich nehme an dass der Ordner nicht genügend Rechte hat. Welchen Ordner muss ich denn welche Rechte (CHMOD) geben?
Christian R. schrieb: > Wenn ich eine Datei (Datenblatt) hoch laden möchte bekomme ich die > Fehlermeldung "Es gab ein Fehler beim Hochladen der Datei!". Ich nehme > an dass der Ordner nicht genügend Rechte hat. Welchen Ordner muss ich > denn welche Rechte (CHMOD) geben? Da muss ich noch eine gescheitere Fehlermeldung einbauen. Es gibt grundsätzlich zwei mögliche Fehlerquellen: - fehlende Schreibrechte im Ordner data/media/ - maximale Dateigrösse für Uploads überschritten (php.ini) Für letzteren Punkt siehe auch "PHP konfigurieren": http://www.partdb.grautier.com/svn/documentation/dokuwiki/doku.php?id=anforderungen
Christian R. schrieb: > Bei "Verwaltung/Tools" sollte unter "Konfiguration - Datenbank" ein > Button "Jetzt Datenbank Updaten" vorhanden sein. Da drauf klicken ;-) Bei Verwaltunng/Tools ist garnichts. Wer noch mal gucken möchte: http://peter-partdb.comze.com , Benutzer: gast, Passwort: gast
Peter K. schrieb: > Bei Verwaltunng/Tools ist garnichts. Wer noch mal gucken möchte: > http://peter-partdb.comze.com , Benutzer: gast, Passwort: gast Auf deinem Server läuft PHP 5.2.17, benötigt wird aber mindestens 5.3.0. Du musst also entweder erstmal deine PHP Version aktualisieren oder einen anderen Host suchen. Bist du sicher dass du Part-DB auf einem öffentlichen Server installieren möchtest? In den meisten Fällen reicht ein Server im eigenen LAN. Siehe Doku: http://www.partdb.grautier.com/svn/documentation/dokuwiki/index.php
Gast
#3204284
Das ganze ist eigentlich Passwortgeschützt durch htaccess, ich habs gerade nur mal rausgehauen. Kann man das mit den PHP nicht irgendwie umgehen, mein Hoster will nicht updaten. Villeicht versuch ichs mal bei Kilu. Ich will das auf einen Hoster packen, weil mein Server-PC nicht immer an ist. Ich könnte den Server zwar auf den Werkstatt-PC laufen lassen, aber wenn ich dann nur mal schnell auf den Laptop gucken will, ob ich genügend xxx hab ist es blöd, ihn jedesmall anzuschalten PS: Hab gerade vergessen mich anzumelden
Für genau diese Fälle habe ich ja myparts.info registriert. Leider ist das bisher noch nicht nutzbar. Nochmal zur Erinnerung, wie das gedacht ist (wer das noch weiß kann den folgenden Text einfach überspringen) : -Eine Große Datenbank, in der die Bauteile angelegt sind (samt Preise diverser Verkäufer, Links zu Datenblättern, Footprints, usw.) -Jeder User bekommt eigene Lagerplätze Nun hätte jeder User die Möglichkeit kostenlos (ohne extra einen eigenen Webspace mieten zu müssen) seine eigenen Lagerplätze anzulegen und braucht nur noch die Bauteile auswählen und die Stückzahl eintragen. Man braucht keine Footprints raus suchen (sind schon beim Bauteil verknüpft), keine Datenblätter raus suchen (sind ebenfalls schon Verknüpft), die Preise sind auch schon eingetragen, usw. Man kann also sehr schnell sein eigenes Lager eintragen. Wenn ein User nun ein Bauteil hat, welches noch nicht existiert müsste er es zwar genauso anlegen wie derzeit auch, aber das muss er halt nur für dieses eine Bauteil und nicht für alle. Wenn ich z.B. ein 74ALS30 anlege, dann muss ich alle Daten (Footprints, Datenblatt, Preise) damit verknüpfen. Wenn nun ein anderer User das gleiche Bauteil benötigt, dann erspart er sich die Arbeit, da das Bauteil schon vorhanden ist. Einfach auswählen, einem (eigenen) Lagerplatz zuordnen und die Stückzahl eintragen. Fertig. Die Vorteile: -Viel weniger Arbeit beim Anlegen des eigenen Lagers -Aktuelle Daten (wenn sich der Preis bei Reichelt ändert profitieren andere User direkt von der Aktualisierung des anderen Users) -Relativ kleine Datenmengen auf dem Server. Ein Datenblatt/Footprint/usw. muss nur einmal vorhanden sein, wodurch die Datenmenge von 1000 User nur unerheblich größer ist als von einem User (sofern der eine User über ein riesiges Bauteilspektrum verfügt). Der Nachteil: -Ein User kann Daten zerstören, welche von einem anderen User mit genutzt werden (z.B. den Preis bei Conrad & Co. verfälschen). Der Nachteil ist gravierend und muss unbedingt vermieden werden. Dazu fällt mir die folgende Möglichkeit ein: Wenn ein User ein neues Bauteil anlegt oder einen Preis ändert dann müsste das "lokal" sein, also nur für ihn selber. Gleichzeitig müsste der Eintrag in einer Liste auftauchen, welche von Moderatoren "geprüft" wird. Sobald die Daten geprüft wurden müssten diese von lokal auf global geändert werden. Beispiel: Ich ändere den Preis eines Bauteils. Dieser neue Preis erscheint nun sofort bei mir, aber alle anderen sehen noch den alten Preis. Meine Preisänderung taucht nun in einer Liste auf. Sobald ein Moderator diese Änderung bestätigt wird der Preis in die "normale große Datenbank" übernommen und ist ab nun für alle User sichtbar. Diese Methode benötigt freiwillige Moderatoren. Um das zu realisieren fehlt Part-DB folgendes: -Eine Benutzerverwaltung (nötig, da viele User eine gemeinsame Datenbank nutzen) -Eine Funktion welche neben den globalen Daten auch lokale Daten nutzt, welche dann nach einer Prüfung global werden Was irgendwann vielleicht auch mal interessant sein könnte (Zukunftsmusik): Wenn man ein Bauteil braucht welches bei normalen Händlern nicht mehr zu bekommen ist, dann wäre "Suche Bauteil"-Funktion nützlich. Dies könnte man so realisieren dass man dieses Bauteil als "gesucht" markiert (am besten mit einem Preis dem man dafür bietet) und andere User (welches dieses Bauteil besitzen) eine Benachrichtigung bekommen. Die Benachrichtigung kann entweder per Mail/PN erfolgen, oder ganz dezent indem irgendwo ein Symbol erscheint wenn jemand ein Bauteil sucht was man selber im Bestand hat. Per Klick auf das Symbol könnte man dann im PopUp-Fenster genaueres erfahren. Auf dieser Weise könnte so mancher noch zu einem Bauteil kommen, welches er sonst nirgendwo anders bekommen kann und dementsprechend kann so mancher User alte Restbestände die irgendwann in der Tonne landen würden sogar noch verkaufen/verschenken. So, genug gespamt ;-)
Peter K. schrieb: > Kann man das mit den PHP nicht irgendwie umgehen Ich weiss jetzt grad nicht auswendig welche für Part-DB relevanten Neuerungen nach PHP 5.2.17 kamen, aber ich glaube es sind schon einige. Es hat schon einen Grund, warum wir PHP 5.3 voraussetzen ;-) Um herauszufinden, was genau die Probleme verursacht bei PHP 5.2.17 könntest du mal das Debugging aktivieren (http://peter-partdb.comze.com/partdb/system_debug.php) und schauen ob irgendwelche gescheiten Fehlermeldungen auftreten beim Aufrufen der Startseite. > mein Hoster will nicht updaten. Das kann man von einem free Hoster ja auch nicht erwarten ;-) Ich persönlich bin der Meinung, wer Webspace braucht soll ihn auch bezahlen. Man bekommt für sehr wenig Geld gescheite Server mit aktueller Software (PHP, MySQL, ...). Die sind dann auch zuverlässiger (nur so nebenbei: dein Server meldete vorher mal "Server überlastet") und es gibt einen kompetenten Support, häufig sogar Sonntags (eigene Erfahrung) :-) mfg
Auf der Hauptseite kommt jetzt: Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM, expecting T_VARIABLE in /home/aXXXXXXX/public_html/partdb/lib/class.DBElement.php on line 250
Gast
#3204350
Es gibt im Grunde mehrere Wege um den Multiuser Support ins naechste DB-Layout einzubauen: . Man aendert das Schema fuer 'part' und fuegt ein zusaetzliches Feld owner hinzu. Ist fuer Workgroups nicht geeignet . Fuer ein modernes Usermanagement mit ACLs braucht es einfach fuer die 'parts' eine zusaetzliche Table 'acl_parts'. Dort traegt man den Fremdschluessel fuer das Part auf das sich der ACL-Eintrag bezieht, den User sowie Rechte (Lesen,Schreiben etc.) ein. Fertig! Loesung Zwei hat den Vorteil, dass man das parts Layout nicht antasten muss. Wenn man mittels SELECT eine Kategorie listet, dann kann man den Rechtecheck z.B. mittels Join an die ACL Tabelle loesen. Das ganze koennte man ja auch als vorbereitende Massnahme machen, ohne den Code dafuer schon haben. Die Felder sind dann auf jeden Fall da.
Klingt als wenn sich der Aufwand in Grenzen halten würde. Die Daten für myparts.info habe ich ja schon an manche Entwickler weiter gegeben. Wenn die "untergegangen" sind kann ich die gerne noch mal zusenden.
Gast
#3204385
@Christian R.: Vor allem wuerde Multiuser-Support dem Projekt einen gewaltigen Schub geben. Schliesslich hat nicht jeder potentielle User das Know How und/oder die Resourcen, die Installation vorzunehmen. Wichtig waere auch weitere Sprachversion 'English'. Das Aufwand bei part-db ist aesserst niedrig verglichen mit vielen anderen Programmen. Oft sind es nur einzelne Woerter, die man in mehreren Sprachen vorhalten muss. Diese zwei Schritte wuerden den Nutzerkreis potenzieren! Und damit auch neue Entwickler auf dieses Projekt aufmerksam machen.
Peter K. schrieb: > Auf der Hauptseite kommt jetzt: > Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM, expecting > T_VARIABLE in /home/aXXXXXXX/public_html/partdb/lib/class.DBElement.php > on line 250 Genau das habe ich befürchtet. Vergiss deinen aktuellen Hoster, mit PHP 5.2 läuft Part-DB nicht. @Christoph & Christian In der Softwareentwicklung hört sich eine Änderung schnell mal "einfach" an. Geht es dann an die Umsetzung, merkt man dann aber meistens dass es eben doch "etwas" umfangreicher ist ;-) Seit Part-DB 0.2.2 haben wir ja auch "nur" auf Templates und OOP umgestellt. Hat aber trotzdem über ein halbes Jahr und rund 10'000 Codezeilen gedauert ;-) Eine Benutzerverwaltung, die schlussendlich für Firmen, aber auch für myparts.info geeignet ist, wird sehr aufwändig. Für Firmen ist wichtig, dass man jedem Benutzer verschiedene Rechte zuweisen kann, damit z.B. der Monteur die Preise nicht sehen kann. Ausserdem greifen dort alle Benutzer auf den selben Lagerbestand zu. Für myparts.info sind ganz andere Sachen wichtig. Jeder Benutzer braucht seinen eigenen Lagerbestand und es braucht ein Moderatoren-Feature. Dafür braucht man keine Möglichkeit, einem Benutzer das Leserecht für Preise zu entziehen.
Gast
#3204405
Urban B. schrieb: > @Christoph & Christian > In der Softwareentwicklung hört sich eine Änderung schnell mal "einfach" > an. Geht es dann an die Umsetzung, merkt man dann aber meistens dass es > eben doch "etwas" umfangreicher ist ;-) Ist schon klar, dass das etliche Aenderungen am Code erfordert und nicht mal so schnell gecoded ist. Hab auch Erfahrung mit Softwareentwicklung und den Requests der User :-) Zum Thema Rechtevergabe: IMHO sollte auch es nicht der Zweck der part-db sein, mit professionellen ERP Systemen zu konkurrieren ;-) Also Spalten ausblenden waere wohl mit Sicherheit Overkill. Die Lokalisierung ist aber wohl einfacher als die Rechtevergabe. Und aktiviert mit Sicherheit neues Entwicklerpotential! Es gibt ja nicht so viele Strings, die der User im Browser am Ende sieht. Und statt "Neues Teil in dieser Kategorie" koennte man im Sinne von i18n("catview_invoke_newpart") eine Funktion aufrufen. Dann braucht es noch eine Tabelle fuer die jeweilige Sprache und fertich. Kinds regards
Ich habs jetzt bei Kilu installiert. Es zeigt mir aber nichts an, auch nicht bei Verwaltung/Tools http://peter-partdb.kilu.de/partdb/
Christoph schrieb: > IMHO sollte auch es nicht der Zweck der part-db sein, mit > professionellen ERP Systemen zu konkurrieren ;-) Also ich habe selbst auch schon ein paar ERP Systeme angeschaut, und musste feststellen, dass diese für einen kleinen Betrieb einfach masslos überdimensioniert und dadurch viel zu kompliziert sind. Ich konnte kein (günstiges oder freies) einfaches Lagerverwaltungssystem finden, das für kleinere Betriebe wirklich geeignet ist. Ich finde, hier könnte Part-DB eine Lücke schliessen. Mit den professionellen ERP-Systemen soll Part-DB natürlich nicht konkurrenzieren. Aber erstens ist die Benutzerverwaltung derzeit grad noch kein Thema, und zweitens sollten wir uns dazu auch mal die Meinung von K.J. anhören, er ist schliesslich der Chef hier :-) Bezüglich Lokalisierung: Das sehe ich ähnlich. Früher oder später sollten zusätzliche Sprachen verfügbar sein. Aber momentan haben andere Sachen eine höhere Priorität... Peter K. schrieb: > Ich habs jetzt bei Kilu installiert. Es zeigt mir aber nichts an, auch > nicht bei Verwaltung/Tools > http://peter-partdb.kilu.de/partdb/ Da scheint JavaScript einfach nicht zu laufen. Sind die Dateirechte für alle Dateien im "javascript" Ordner korrekt? Irgendwas stimmt aber sowieso nicht bei deiner Installation, weil die Umlaute nicht korrekt dargestellt werden. Wie lädst du die Dateien auf den Webserver hoch? Es scheint als würden die PHP Dateien nicht als UTF-8 interpretiert werden. mfg
Normalerweise erkennt ein FTP-Client automatisch ob Text- oder Binarytransfermode genutzt werden soll. Wenn man unsicher ist, dann nimmt man Binary für den gesamten Upload. Grüße Udo
Bei der Version "0.3.0 RC1 (unstable)" ist die Sortierung etwas "merkwürdig" Hier ist mal ein Screenshot: http://abload.de/img/sortierungtsain.png Hier ist ein Screenshot von meiner alten Version: http://abload.de/img/sortierung6xxsh.png Ich erkenne nicht nach was da sortiert wird. Edit: Ich hatte aus Versehen den Screenshot meiner alten Version statt der 0.3.0 hochgeladen ...habe ich hiermit korrigiert
Gast
#3204472
das Javascript Verzeichnis ist jetzt auf 777
Peter K. schrieb: > Ich habs jetzt bei Kilu installiert. Es zeigt mir aber nichts an, auch > nicht bei Verwaltung/Tools > http://peter-partdb.kilu.de/partdb/ Ja, so hat es bei mir auch ausgesehen wie ich es mit Filezilla auf meinen Webserver hochgeladen hatte ... mit dem ws-ftp95 hat es dann auf Anhieb geklappt... Versuch's mal einem anderen File-uploader
Gast
#3204508
Peter K. schrieb: > das Javascript Verzeichnis ist jetzt auf 777 das ist unklug. da koennen schlimme dinge passieren. ausserdem hast Du ein Problem mit den Umlauten, da ist wahrscheinlich der falsche Zeichensatz eingestellt.
Auf was soll ich dann Stellen? Kann man den Zeichensatz Nachher noch ändern
Gast
#3204519
Peter K. schrieb: > Auf was soll ich dann Stellen? Kann man den Zeichensatz Nachher > noch > ändern Der Webserver liefert als Encoding iso-8859-1 aus, aber die Part-DB ist in utf-8. Dann wird aus den Umlauten, dass was man auf der Startseite sieht. Wie man das jetzt umstellt, das koennen die Experten besser beantworten. Ist unter Umstaenden eine Sache der Webserver-Konfig, hatte ich mal nach einer Neuinstallation mit Apache.
Noch eine Sache zur Version "0.3.0 RC1 (unstable)". Wenn ich einen Preis eingebe wird nur der Punkt akzeptiert, aber ich kann kein Komma eingeben (obwohl der Preis nachher per Komma angezeigt wird).
Noch eine Frage: Was muss ich nochmal machen um den Bestand ohne Mindestbestand angezeigt zu bekommen (siehe Vergleich der beiden Screenshots ein paar Beiträge weiter oben)?
Christian R. schrieb: > Bei der Version "0.3.0 RC1 (unstable)" ist die Sortierung etwas > "merkwürdig" Uups, ich dachte das hätte ich behoben (habe nämlich vor langer Zeit auch schon bemerkt dass falsch sortiert wird) schäm Peter K. schrieb: > Auf was soll ich dann Stellen? Beim Verzeichnis "javascript" sollte 555 für das Verzeichnis, und 444 für die Dateien passen. Steht alles in der Doku: http://www.partdb.grautier.com/svn/documentation/dokuwiki/doku.php?id=installation > Kann man den Zeichensatz Nachher noch ändern Der Zeichensatz der PHP Dateien muss man nicht ändern. Alle Dateien von uns sind UTF-8 codiert und sollen auch genau so verwendet werden. Man muss einfach beim Hochladen aufpassen, dass die Dateien nicht mit einem falschen Zeichensatz interpretiert und dann irgendwie umgewandelt werden. Wie Udo schon erwähnte, sollte man hier einfach "binary" verwenden wenn man sich nicht sicher ist. In Filezilla gibts dazu die Einstellung "Standard-Transfertyp: Binär" unter "Übertragungen -> Dateitypen". Christian R. schrieb: > Wenn ich einen Preis eingebe wird nur der Punkt akzeptiert, aber ich > kann kein Komma eingeben (obwohl der Preis nachher per Komma angezeigt > wird). Das Komma wird halt nicht immer gerne als Dezimalpunkt gesehen, weil es im englischsprachingen Raum als Tausendertrenner verwendet wird wenn ich micht jetzt nicht irre. Der Punkt hingegen wird eigentlich immer als Dezimalpunkt interpretiert, was zu keinen Verwechslungen führen kann. Deshalb wird halt in Part-DB das Komma nicht angenommen... Christian R. schrieb: > Was muss ich nochmal machen um den Bestand ohne Mindestbestand angezeigt > zu bekommen In der config.php diese Zeile einfügen:
1 | |
Gast
#3204814
Urban B. schrieb: >> Kann man den Zeichensatz Nachher noch ändern > > Der Zeichensatz der PHP Dateien muss man nicht ändern. Alle Dateien von > uns sind UTF-8 codiert und sollen auch genau so verwendet werden. Man > muss einfach beim Hochladen aufpassen, dass die Dateien nicht mit einem > falschen Zeichensatz interpretiert und dann irgendwie umgewandelt > werden. Wie Udo schon erwähnte, sollte man hier einfach "binary" > verwenden wenn man sich nicht sicher ist. In Filezilla gibts dazu die > Einstellung "Standard-Transfertyp: Binär" unter "Übertragungen -> > Dateitypen". Das ist so nicht ganz korrekt. Sein Webserver (Apache) liefert als Content Type "Content-Type: text/html; charset=iso-8859-1" das sorgt fuer die defekten Zeichen. Selbst dann wenn die Dateien korrekt hochgeladen wurden. Unicode Zeichen sind schließlich Multibyte und iso-8859 sind SingleByte Kann man aber umstellen, z.B. mit AddDefaultCharset und Co., manches geht auch in .htaccess Dateien.
Christoph schrieb: > Das ist so nicht ganz korrekt. Sein Webserver (Apache) liefert als > Content Type > "Content-Type: text/html; charset=iso-8859-1" Ach so, das habe ich gar nicht gesehen. Aber dazu steht doch die Zeile
1 | |
im Header jeder (durch PHP generierten) HTML-Datei, die dann dem Client gesendet wird? Oder habe ich da etwas falsch verstanden? Christoph schrieb: > Kann man aber umstellen, z.B. mit AddDefaultCharset und Co., manches > geht auch in .htaccess Dateien. Das habe ich grad unseren .htaccess Dateien noch hinzugefügt. Nach etwas Recherche im Internet bin ich aber verwirrt was das "AddDefaultCharset" genau bewirkt. Grundsätzlich teilt es doch dem Client mit, wie eine Datei codiert ist, die dem Benutzer geschickt wird. Bei HTML ist das aber doch irgendwie nicht relevant wenn im Header der Zeichensatz angegeben ist?! Was ich auch noch nicht in Erfahrung bringen konnte: Wie interpretiert Apache bzw. der PHP Interpreter eigentlich eine *.php Datei, also welcher Zeichensatz wird verwendet? Der Interpreter muss ja wissen, wie die Datei codiert ist, und in der Datei ist dies nicht direkt ersichtlich. Ermittelt der Interpreter den Zeichensatz einfach anhand des Inhaltes, also z.B. am Vorhandensein von gängigen Multibyte-Zeichen?
Gast
#3204862
Urban B. schrieb: >> Das ist so nicht ganz korrekt. Sein Webserver (Apache) liefert als >> Content Type >> "Content-Type: text/html; charset=iso-8859-1" > > Ach so, das habe ich gar nicht gesehen. Aber dazu steht doch die > Zeile<meta http-equiv="content-type" content="text/html; charset=utf-8"> > im Header jeder (durch PHP generierten) HTML-Datei, die dann dem Client > gesendet wird? Oder habe ich da etwas falsch verstanden? Aber das was der Webserver von sich aus sendet, kommt zuerst. Dannach erst die Ausgabe des Skriptes. Mein Firefox hatte bei der Seite von Peter K. iso-8859-1 aktiv. Kann man unter "Page Info" ansehen. Vielleicht gilt einfach das erste, was der Browser sieht. Oder noch schlimmer, jeder Browser macht es anders ==> Chaos. > > Christoph schrieb: >> Kann man aber umstellen, z.B. mit AddDefaultCharset und Co., manches >> geht auch in .htaccess Dateien. > > Das habe ich grad unseren .htaccess Dateien noch hinzugefügt. Nach etwas > Recherche im Internet bin ich aber verwirrt was das "AddDefaultCharset" > genau bewirkt. In die .htaccess wuerde ich das nicht von Haus aus reinschreiben. Denn bei manchen Direktiven kommt es zu einem 500 Internal Server Error, wenn man diese in der zentralen Apache Config (global oder fuer den Virtual Hosts) fuer die Verwendung in .htaccess geblockt hat. > Grundsätzlich teilt es doch dem Client mit, wie eine > Datei codiert ist, die dem Benutzer geschickt wird. Bei HTML ist das > aber doch irgendwie nicht relevant wenn im Header der Zeichensatz > angegeben ist?! s.o. > > Was ich auch noch nicht in Erfahrung bringen konnte: > Wie interpretiert Apache bzw. der PHP Interpreter eigentlich eine *.php > Datei, also welcher Zeichensatz wird verwendet? Der Interpreter muss ja > wissen, wie die Datei codiert ist, und in der Datei ist dies nicht > direkt ersichtlich. Ermittelt der Interpreter den Zeichensatz einfach > anhand des Inhaltes, also z.B. am Vorhandensein von gängigen > Multibyte-Zeichen? Gute Frage. In Variablennamen duerfen diese Zeichen ja nicht vorkommen, nur in Strings. Und die interpretiert ja erst der Browser. Unklar ist was bei Stringbearbeitung bearbeitung, da muss php dann doch wissen dass es UTF-8 ist.....
mmh jedesmal wenn ich denke, jetzt habe ich das mit den Zeichensätzen richtig begriffen, werde ich wieder eines besseren belehrt, das fängt langsam an zu nerven ;-) OK nach einem kurzen Test scheint die Zeichensatz-Angabe im HTML-Header tatsächlich wirkungslos, wenn ich im PHP Skript ganz am Anfang den Zeichensatz per header() auf was anderes als UTF-8 setze. Spontan würde ich dann also einfach sagen, wir bauen in start_session.php ganz am Anfang diese Zeile ein:
1 | |
Damit sollte dann der HTTP Header ja bei jeder Seite von Part-DB auf UTF-8 gesetzt werden. Christoph schrieb: > In die .htaccess wuerde ich das nicht von Haus aus reinschreiben. Denn > bei manchen Direktiven kommt es zu einem 500 Internal Server Error, wenn > man diese in der zentralen Apache Config (global oder fuer den Virtual > Hosts) fuer die Verwendung in .htaccess geblockt hat. Das ist blöd...dann kommt das halt wieder raus. Christoph schrieb: > Gute Frage. In Variablennamen duerfen diese Zeichen ja nicht vorkommen, > nur in Strings. Und die interpretiert ja erst der Browser. Unklar ist > was bei Stringbearbeitung bearbeitung, da muss php dann doch wissen dass > es UTF-8 ist..... Stimmt... Dazu habe ich grad folgendes gefunden: http://www.gerd-riesselmann.de/softwareentwicklung/php-und-utf-8-eine-anleitung-teil-3-php-string-funktionen Das wird ja immer besser... Dann ersetze ich jetzt halt alle strlen() noch durch mb_strlen() usw. ;-) mfg
Erstmal vielen Dank für die schnelle Hilfe, der mit dem Mindestbestand ausblenden hat geklappt. Nun habe ich aber immer noch das Problem dass ich kein Datenblatt hochladen kann (das mit der URL ist ja ein anderes Thema). Es kommt immer noch die Fehlermeldung "Es gab ein Fehler beim Hochladen der Datei!". Nun habe ich mir nochmal die Installationanleitung angesehen. Alle Dateien haben nun die Rechte 444, alle Ordner haben die Rechte 555. Der Ordner "Data" hat die Rechte 755 (sowie alle Unterorder) und die Dateien da drin (und in den Unterordnern) haben die Rechte 644. Nun komme ich aber mit folgendem Satz nicht klar: "Ausserdem sollten alle Dateien dem Besitzer „www-data“ gehören: " Wie kann ich das denn einstellen? Ich verwende FireFTP, aber ich habe kein Plan wie ich die Benutzerrechte damit ändern kann :-/ Außerdem bin ich mir nicht sicher ob sich das auf "alle" Dateien bezieht oder nur auf die Dateien im "Data"-Ordner.
Christian R. schrieb: > Nun habe ich aber immer noch das Problem dass ich kein Datenblatt > hochladen kann (das mit der URL ist ja ein anderes Thema). Es kommt > immer noch die Fehlermeldung "Es gab ein Fehler beim Hochladen der > Datei!". Also die Fehlermeldung habe ich mittlerweile aussagekräftiger gestaltet, du kannst es mal probieren mit der aktuellsten Version der lib/lib.php: https://part-db.googlecode.com/svn/trunk/lib/lib.php Ausserdem gibts jetzt in der Doku einen Hinweis auf mögliche Probleme beim Upload. Das Problem ist nämlich hauptsächlich, dass in der Standardeinstellung von PHP nur Dateien bis 2MB hochgeladen werden können. Ab morgen sollte der entsprechende Abschnitt in der Doku der Online Demo verfügbar sein, aber es ist nicht viel, daher kann ichs gleich hier posten: > Die Standardeinstellungen von PHP sind in der Regel ganz in Ordnung. > Möchte man aber auch etwas grössere Dateien hochladen können (z.B. > Dateianhänge in Part-DB), muss man eventuell das Dateigrössen-Limit für > Uploads anpassen. Dies macht man in der Datei "php.ini", welche sich bei > Debian-basierten Betriebssystemen im Verzeichnis "/etc/php5/apache2/" > befindet. > > sudo gedit /etc/php5/apache2/php.ini > > In dieser Datei nach dem Stickwort "upload_max_filesize" suchen und den > Wert entsprechend anpassen. Ausserdem müssen die Werte "post_max_size" > und "memory_limit" mindestens gleich gross sein wie > "upload_max_filesize". Christian R. schrieb: > "Ausserdem sollten alle Dateien dem Besitzer „www-data“ gehören: " Auch diesbezüglich habe ich die Doku um einen Kommentar erweitert: > Bei gemieteten Webservern, bei denen man die Dateien per FTP hochlädt, > ist der Besitzer der Dateien häufig ein FTP-Benutzer, und nicht der > Benutzer von Apache. In diesem Fall müssen die Rechte für „data“ 775 > bzw. 664, oder sogar 777 bzw. 666 lauten, damit Apache auch > Schreibrechte in diesem Verzeichnis erhält.
Vielen Dank für deine Hilfe. An der Dateigröße kann es in dem Fall nicht liegen, da die Datei gerade mal 129kb klein ist. Dank deiner verbesserten lib.php bekomme ich nun folgende Fehlermeldung: Sie haben keine Schreibrechte im Verzeichnis "/www/htdocs/xxxxxxxx/xxxxxxxx/holle/data/media/"! Das war schon ein Kampf die lib.php hochzuladen (ich hatte keine Schreibrechte mehr, weil ich ja alle Ordner auf 555 gestellt hatte) ;-) Nun habe ich dem Ordner "Data" und alle Unterordner CHMOD 775 gegeben ...gleiches Ergebnis. Mit CHMOD 777 klappt es nun, aber ist das nicht etwas gefährlich? Gibt es da keine andere Möglichkeit, z.B. dass PHP sich als Benutzer ausgibt und somit 755 reicht? Nun gibt es da noch ein Problem: Ich habe das Datenblatt nun hoch laden können (mit CHMOD 777). Wenn ich es nun lösche und wieder neu hoch laden möchte bekomme ich folgende Fehlermeldung: Die Datei "/www/htdocs/xxxxxxxx/xxxxxxxx/holle/data/media/24C08.pdf" existiert bereits! Das Problem wird sein dass die Datei nur aus der Datenbank gelöscht wird (also der Link), aber die Datei auf dem Server verbleibt, weil die Rechte zum löschen der Datei nicht ausreichen, denn diese wird mit 644 angelegt.
Gast
#3205385
Christian R. schrieb: > Mit CHMOD 777 klappt es nun, aber ist das nicht etwas gefährlich? > Gibt es da keine andere Möglichkeit, z.B. dass PHP sich als Benutzer > ausgibt und somit 755 reicht? 777 ist natuerlich nicht ideal. JEDER auf diesem System (also insbesondere andere Hosting-Kunden), kann in das Verzeichnis reinschreiben. Christian R. schrieb: > Das Problem wird sein dass die Datei nur aus der Datenbank gelöscht wird > (also der Link), aber die Datei auf dem Server verbleibt, weil die > Rechte zum löschen der Datei nicht ausreichen, denn diese wird mit 644 > angelegt. Um eine Datei zu loeschen, sind auf Unix die Zugriffsrechte am Verzeichnis relevant. D.h. solange Du Files im Verzeichnis ablegen kannst, kannst Du sie auch loeschen. Ideal waere es, wenn das Datenverzeichnis vom part-db Installer erzeugt wuerde (z.B. in einem Skript). Dann gehoert das Verzeichnis dem Webserver-Nutzer und man kann 755 einstellen. Waehrend der Installation muesste das uebergeordnete Verzeichnis per FTP auf 777 gestellt werden und nachher wieder auf 755 zurueck.
Ich hatte ja den Installer benutzt, aber irgendwas ist da falsch gelaufen. Ich erinnere mich noch daran dass ich einige Ordner von Hand anlegen musste, da das automatische Anlegen fehlgeschlagen ist. Muss mich da mal durchwuseln, vielleicht finde ich ja noch einen Weg um per FireFTP (FTP-Programm vom Firefox) den Owner zu ändern.
Gast
#3205403
Christian R. schrieb: > Ich hatte ja den Installer benutzt, aber irgendwas ist da falsch > gelaufen. Ich erinnere mich noch daran dass ich einige Ordner von Hand > anlegen musste, da das automatische Anlegen fehlgeschlagen ist. Ah, wusste nicht, dass der Installer die Ordner anlegen kann. Vielleicht sollte ich mal eine neue Version der part-db installieren ;-) > Muss mich da mal durchwuseln, vielleicht finde ich ja noch einen Weg um > per FireFTP (FTP-Programm vom Firefox) den Owner zu ändern. Aendern des Eigentuemers: nur root darf das :-(
Ich weiß nicht mehr genau ob der Installer auch Ordner angelegt hat, ich weiß nur noch dass ich selber Ordner anlegen musste. So, habe nun über das eingebettete FTP-Programm meines Hosters den Owner ändern können (hatte die Auswahl zwischen meinem Benutzeraccount und PHP-User. Nun hat der Ordner "Data" und alles da drin (Unterordner, Dateien) den neuen Benutzer www-data. Der Ordner Data/Media hat immer noch 777 und als Owner www-data und trotzdem klappt das mit dem Löschen nicht (aus der Datenbank wird die Verknüpfung gelöscht, aber auf dem Server bleibt die Datei vorhanden). Edit: Habe die Rechte von Data/Media nun auf 755 gesetzt, das hochladen des Datenblatts klappt nun auch mit 775. Warum das mit dem löschen nicht klappt ist mir ein Rätsel. Ich werde nun erst einmal alles wieder auf 755 setzen, da das mit dem neuen Owner ja ausreichend ist.
Christian R. schrieb: > Das Problem wird sein dass die Datei nur aus der Datenbank gelöscht wird > (also der Link), aber die Datei auf dem Server verbleibt, weil die > Rechte zum löschen der Datei nicht ausreichen, denn diese wird mit 644 > angelegt. Das Problem ist eher, dass Part-DB gar nicht erst versucht, die Datei zu löschen ;-) Werde ich noch korrigieren... Christoph schrieb: > Ideal waere es, wenn das Datenverzeichnis vom part-db Installer erzeugt > wuerde (z.B. in einem Skript). Dann gehoert das Verzeichnis dem > Webserver-Nutzer und man kann 755 einstellen. Das ist aber auch irgendwie blöd, weil das funktioniert dann ja nur wenn man eine Neuinstallation macht. Hat man bereits ein Data-Verzeichnis mit Daten aus einer bestehenden Installation, muss man das ja z.B. per FTP hochladen und man hat wieder das gleiche Problem wie vorher... Um dies zu umgehen müsste man z.B. eine Import/Export Funktion anbieten, damit man die Daten aus einer bestehenden Installation exportieren, und dann bei einer Neuinstallation wieder Importieren (per Dateiupload) kann. Wäre sicher eine elegante Lösung, aber nicht mehr für die Version 0.3.0 :-) Christoph schrieb: > Ah, wusste nicht, dass der Installer die Ordner anlegen kann. Der Installer legt auch keine Ordner an, der "data" Ordner ist bereits im Archiv enthalten (inkl. ein paar Dateien, z.B. .htaccess). Nur die config.php wird vom Installer angelegt.
Urban B. schrieb: > Der Installer legt auch keine Ordner an, der "data" Ordner ist bereits > im Archiv enthalten (inkl. ein paar Dateien, z.B. .htaccess). Nur die > config.php wird vom Installer angelegt. Hmmm, dann verwechsle ich da anscheinend was mit mysqldumper. Zum Thema Installer: Wäre es nicht machbar eine PHP-Datei in den Ordner zu legen, dieser die Rechte 777 zu geben und die benennt dann die Ordner um, erstellt diese neu (somit ist www-data der Owner) und kopiert dann die Dateien und Order aus den umbenannten Ordnern in die neu erstellen Ordner. Danach einfach die umbenannten Ordner löschen. ...nicht gleich steinigen, ist nur so ein Gedanke (habe keinen Plan von PHP und Unix) ;-)
Gibt es schon etwas neues bezüglich "URL für Datenblatt eintragen" (Version 0.3.0) ?
Christian R. schrieb: > Gibt es schon etwas neues bezüglich "URL für Datenblatt eintragen" > (Version 0.3.0) ? Ist bereits im SVN, kommt dann in die 0.3.0 RC2 die ich wahrscheinlich bald veröffentlichen werde. Alle wichtigen Bugfixes und sonstige Verbesserungen, die seit der RC1 gemeldet wurden, sind dann in der RC2 drin. Testen kann man die RC2 in dieser Demo: http://www.partdb.grautier.com/svn/
So, ich denke es ist an der Zeit, die RC2 zu veröffentlichen. Ich warte aber noch bis morgen, damit die Doku in der Online-Demo noch aktualisiert wird (habe heute noch Änderungen ins SVN hochgeladen). Das Archiv kann man jetzt übrigens per tools.sh, oder noch einfacher direkt in Part-DB mit den Entwickler-Tools erstellen lassen. Das garantiert korrekte Dateirechte, Besitzer und Gruppen aller Dateien und Verzeichnisse. Auch werden benutzerspezifische Dateien wie die config.php automatisch ausgeschlossen usw. Ich würde mich übrigens freuen wenn sich jemand am Erweitern der Doku beteiligen würde, hier gibts noch viel zu tun :-) Einerseits ist die FAQ-Seite noch ziemlich leer, andererseits könnte man vielleicht die Installationsanleitung zweiteilen. Einmal für die Installation auf einem Server mit "direktem Zugang" (auch SSH), und einmal für die Installation auf einem Webspace per FTP. Da könnte man ja auch Screenshots von FileZilla o.ä. mit einbauen usw. Damit man Schreibrechte im DokuWiki erhält, muss man im Part-DB Ordner "data" einfach eine (leere) Datei mit dem Namen "ENABLE-DOKUWIKI-WRITE-PERMS.txt" erstellen. mfg
So, die 0.3.0 RC2 ist jetzt online: https://code.google.com/p/part-db/downloads/detail?name=Part-DB_0.3.0.RC2.tar.gz Installationsanleitung: http://www.partdb.grautier.com/svn/documentation/dokuwiki/doku.php Nebst vielen anderen Bugfixes ist jetzt insbesondere auch die Kompatibilität mit Windows einiges besser geworden. Also diejenigen, die mit der RC1 Probleme unter Windows hatten, sollten es doch bitte mit dieser Version nochmal versuchen. Viel Spass beim testen :-)
Hallo Leute, ist das Preissuchscript von 2010 mit der 0.3RC1 kompatibel ? Gruß
Hallo Maximilian, Es hat sich vieles an der Datenbank verändert und damit ist dieses Skript leider nicht mehr kompatibel. Vielleicht gibt es ja einen Freiwilligen, der es aktualisiert? :-) mfg
Gast
#3219271
Hallo an die Experten, ich nutze die part-db seit Jahren in der Ursprungsversion von C. Lechner mit einigen selbstgemachten Änderungen. Kann ich problemlos die bisher aufgebaute Datenbank in der aktuellen Version nutzen? Grüße
Hallo thirdgotti, Das sollte prinzipiell möglich sein. Wichtig ist einfach, dass du zuerst ein Backup der Datenbank anlegst damit nichts kaputtgehen kann. Es kann allerdings sein, dass das Update auf die Version 0.3.0 Probleme verursacht, dann solltest du mal versuchen zuerst auf die 0.2.2, und danach auf die 0.3.0 zu aktualisieren. So stehen die Changen sehr gut dass alles klappt. mfg
Gast
#3220171
Habe es hinbekommen. Allderdings muss man da etwas tiefer in die Datenbank. Es haben sich seit meiner "Uralt-Version" einige Tabellennamen und Spaltennamen geändert. Diese muss man von dem Import ändern. PHPMyAdmin machts möglich... Aber sonst scheint das jetzt zu laufen.
thirdgotti schrieb: > Allderdings muss man da etwas tiefer in die Datenbank. Es haben sich > seit meiner "Uralt-Version" einige Tabellennamen und Spaltennamen > geändert. Diese muss man von dem Import ändern. Das Ändern der Tabellennamen usw. sollte Part-DB selbst übernehmen. Es sei denn, in deiner alten Version gibts noch keine Tabelle "internal" mit dem Eintrag keyName="dbVersion". War der bei dir noch nicht vorhanden? Wenn du unsicher bist, kannst du mir deine uralt-DB auch per Mail schicken, dann kann ich mir das mal anschauen und ggf. das Update auf die neuste Version durchführen.
Urban B. schrieb: > Gerald *. schrieb: >> Die Vorschaubilder der Artikel werden derzeit teilweise sehr stark >> verzogen, da immer nur in eine Richtung runter skaliert wird. > > Stimmt, das wollte ich eigentlich auch schon lange mal verbessern. Ich > habe jetzt die CSS-Datei entsprechend angepasst, wird nachher noch ins > SVN hochgeladen ist dann in der RC2 drin. Die Lösung gefällt mir. Danke!
Gast
#3223385
Hi, ich würde gerne die Lagerverwaltung starten, aber es wird mir verwehrt. Es kommt immer die Fehlermeldung: Die gewählte Sprache "de_DE" wird vom Server nicht unterstützt! Bitte installieren Sie diese Sprache oder wählen Sie eine andere. Ich habe sämtliche Vorgaben ausprobiert, aber bei jeder gibts die Fehlermeldung. Ich habe als Server den XAMPP installiert. Wie kann ich Sprache "de_DE" installieren? Mit besten Grüßen Waldemar
Hallo, Waldemar schrieb: > Die gewählte Sprache "de_DE" wird vom Server nicht unterstützt! > Bitte installieren Sie diese Sprache oder wählen Sie eine andere. Nimm mal die neuste Version (0.3.0 RC2), dann sollte das klappen: https://code.google.com/p/part-db/downloads/detail?name=Part-DB_0.3.0.RC2.tar.gz mfg
Gast
#3224457
Hallo, vielen Dank, hat wirklich geklappt. Nur schlage ich mich jetzt ersteinmal damit rum, eine Datenbank anzulegen, da die ja vorausgesetzt wird. Darauf war ich nicht vorbereitet. Beste Grüße Waldemar
Gast
#3224489
Hi, aber auch DAS hat geklappt. Alles im grünen Bereich. Danke schön. Gruß Waldemar
Gast
#3225988
Hallo, habe mich heute mal rüber gemacht meine 0.2.2 SVN 512 mit der neuen RC2 upzudaten. allerdings habe ich jetzt auch das Problem mit der fehlenden Sprache. Geht es da um die Sprache von der Datenbank? Gruß
Gast
#3226463
Urban B. schrieb: > So, ich denke es ist an der Zeit, die RC2 zu veröffentlichen. Ich > warte > aber noch bis morgen, damit die Doku in der Online-Demo noch > aktualisiert wird (habe heute noch Änderungen ins SVN hochgeladen). > > Das Archiv kann man jetzt übrigens per tools.sh, oder noch einfacher > direkt in Part-DB mit den Entwickler-Tools erstellen lassen. Das > garantiert korrekte Dateirechte, Besitzer und Gruppen aller Dateien und > Verzeichnisse. Auch werden benutzerspezifische Dateien wie die > config.php automatisch ausgeschlossen usw. > > Ich würde mich übrigens freuen wenn sich jemand am Erweitern der Doku > beteiligen würde, hier gibts noch viel zu tun :-) > Einerseits ist die FAQ-Seite noch ziemlich leer, andererseits könnte man > vielleicht die Installationsanleitung zweiteilen. Einmal für die > Installation auf einem Server mit "direktem Zugang" (auch SSH), und > einmal für die Installation auf einem Webspace per FTP. Da könnte man ja > auch Screenshots von FileZilla o.ä. mit einbauen usw. > > Damit man Schreibrechte im DokuWiki erhält, muss man im Part-DB Ordner > "data" einfach eine (leere) Datei mit dem Namen > "ENABLE-DOKUWIKI-WRITE-PERMS.txt" erstellen. > > mfg Hallo Kami, ich würde mich bereit erklären die Grundfunktionen unserer Part-DB zu Beschreiben für alle Neulinge. Habe die alte Version schon auf Herz und Nieren getestet und seit fast 1,5Jahren im täglichen Produktionseinsatz... Jetzt muss ich meine 0.3.0 erstmal fertig updaten. kann mir keiner weiterhelfen? ich hänge aktuell immernoch im Installscript fest bei der Sprach- und Ländereinstellung. Ich denke die Datenbank ist bei diesem Schritt schon geupdatet und ich habe die Befürchtung wenn ich die alte Version wieder zurückspiele mir da noch mehr Probleme entstehen.
Gast
#3227345
@kirkdis: Ich glaube, Du musst auf Deinem Webserver das Locale de_DE installieren.
abcdef schrieb: > @kirkdis: > Ich glaube, Du musst auf Deinem Webserver das Locale de_DE installieren. das ist ne Synology DS107. Ich vermute jetzt auf der Kommandozeile von dem Linux. Wobei das dann etwas frickelig wird. Kann man das nicht umgehen? Bei den alten Versionen gabs das Problem nicht.
Den UTF-8 Zeichensatz kann ich leider nicht so einfach integrieren. Erstmal ist die Box offline und ich habe auch nicht so einfach die Möglichkeit mit dieser online zu gehen. Auf einem anderen Rechner herunterladen ist nicht so einfach möglich zumal ich nicht ganz firm mit der Kommandozeile unter Linux bin. Warum wird das nun in der neuesten Version abgefragt. Die Datenbank läuft und lief bis jetzt mit UTF8_gerneral_ci Einstellungen.
Hallo, Sorry bin grad in den Ferien und komme nur schlecht ins Internet... Kannst du noch bis nächsten Donnerstag warten? :-) Weiter oben hier im Thread hatte schonmal jemand das gleiche Problem, schau mal was ich ihm geschrieben habe, war ein Eintrag in der config_defaults.php um das Problem vorübergehend zu beheben. tut mir leid, muss jetzt wieder weiter :-) Grüsse Urban
Ah vielen Dank Urban. Werd ich dann mal ausprobieren. Schönen Urlaub noch
Also ich hab mir jetzt mal den Post von dir rausgesucht: Beitrag "Re: Lagerverwaltung Part-DB V0.2.2" allerdings unterscheiden sich diese Zeilen von der RC1 zur RC2. ich habe jetzt ein wenig rumgespielt aber leider keine Lösung bekommen um durch die Sprachabfrage durchzukommen. falls mir niemand anderes weiterhelfen kann werde ich wohl bis Donnerstag warten müssen. Schönes Wochenende allen.. Gruß Daniel
Hi, bin nun auf rev 674 mit debian und läuft super. Nur zur Info. ;) Meine Wünsch wäre es herausfinden zu können welches das letzte veränderte Bauteil ist, bzw das letzt hinzugefügte. Ist sowas vielleicht schon irgendwo mit eingebaut? Danke viiielmals für das tolle Skript. Grüße Christopher
Welches das jüngste Bauteil ist kann man anhand der ArtikelID sehen. aber eine suche direkt gibts soweit ich weiss nicht. Wenn das nicht allzuoft benötigt wird kann man den Umweg über die Datenbank gehen. Die ID sollte da in einer separaten Spalte aufgelistet sein ich denke sogar dass ein Änderungsdatum dort hinterlegt ist aber 100% sicher bin ich mir beim Datum nicht. Gruß Daniel
Gast
#3234686
Datum ist nicht vorhanden, aber das geht über die ID da die Fortlaufend sind, könte man der Statistik nochmal hinzufügen leider komme ich immer noch nicht mit dem Template System klar aber, ich schaue mal ob ich das hinbekomme.
Man könnte ein Log einbauen, dass Einfügen und Änderung von Einträgen mitschreibt. So könnte man auch nicht mehr verwendete Bestände aufspüren und eventuell aus dem Lager entfernen/entsorgen. Platz hat man ja bekanntlich fast so wenig wie Geld ;-) Edit: Ich kann mir das ja mal anschauen, ob ich so eine Funktion hinbekomme.
Hi, Es ist ja das "added date" und "modified date" in der Datenbank vorhanden bei den parts. Soweit war ich schon. ;)... Leider hab ich die functionen nicht finden können welche so ähnlich sind. Hätte mich selbst dran versucht. Ist aber fast schon zu hoch für mich. Es geht mit "mir" darum... Wir befüllen zu dritt die partdb. Und es gibt zb bei einem Stecker eine Änderung des Datenblattes oder des Bestellnummer. Nun würde ich gerne am Freitag wissen was sich über die Woche verändert hat. Hoffe ihr könnt euch vorstellen was ich in etwa damit bezwecken will. Dankeschön, Grüße aus Wien Chris
So, bin wieder zurück :-) kirkdis schrieb: > habe mich heute mal rüber gemacht meine 0.2.2 SVN 512 mit der neuen RC2 > upzudaten. > allerdings habe ich jetzt auch das Problem mit der fehlenden Sprache. > Geht es da um die Sprache von der Datenbank? Nein, das hat nichts mit der Datenbank zu tun. Man stellt das Land und die Sprache ein, damit z.B. automatisch die richtige Währung in der richtigen Formatierung angezeigt wird. Part-DB muss dazu dem Server-Betriebssystem mitteilen, welche Sprache man verwenden möchte. Stellt das Betriebssystem die gewünschte Sprache nicht zur Verfügung, kommt es zu einer Fehlermeldung. Laut diversen Berichten im Internet haben die Synology NAS anscheinend standardmässig kein UTF-8 Zeichensatz installiert. Ob das wirklich ein Problem darstellt, bin ich mir aber grad nicht sicher, muss mir das erstmal genauer anschauen. Mach doch bitte mal den folgenden Test: In der Datei lib/lib.start_session.php die gesamte Funktion own_setlocale() ausklammern und durch diese hier ersetzen:
1 | |
2 | |
3 | |
4 | |
kommt so die Fehlermeldung immernoch? Bezüglich dem Log: Also erstens habe ich bei der Tabelle "parts" die Spalten "datetime_added" und "last_modified" hinzugefügt. Es gibt aber in Part-DB noch keine Möglichkeit, diese Angaben irgendwie zu nutzen. Und zweitens ist es schon lange geplant, ein Log mit einzubauen, der jede Änderung aufzeichnet. Dazu existiert bereits die Klasse "Log", die auch schon in alle anderen Klassen mit eingebaut wurde. Es ist also alles schon vorbereitet. @Christopher Also wenn du auch Änderungen an Datenblättern usw. sehen willst, geht das (noch) nicht mit der Tabellenspalte "last_modified", weil dieses Feld nicht aktualisiert wird wenn du ein Datenblatt hinzufügst o.ä. Das wird aber noch geändert, so dass wirklich jede Änderung an einem Bauteil das "last_modified" aktualisiert. Würde es dir genügen, wenn du nur sehen würdest, welche Bauteile sich verändert haben, oder musst du auch wissen was sich daran verändert hat? Ersteres wäre keine grosse Sache, das könnte man relativ einfach realisieren. Zweiteres ist dann aber ein Fall für die Log-Klasse, das gibt noch sehr sehr viel Arbeit. mfg
Hi Urban. Hab ich mir doch gedacht das sowas kommen wird. Seit ja erst bei v.0.3.0 - Nun also... mir persönlich würde es ausreichen das Bauteil zu sehen welches sich verändert hat. (Inhaltlich muss "Ich" es dann mit meinen Cad-Zeichnungen abgleichen und zb die Bestellnummer in der Zeichnung gegen die neue ersetzen.) Ich denke vorerst ist nicht relevant was sich verändert hat. So viele Variablen sind es dann auch nicht. Das würde ich dann schon herausfinden. Hatte ich auch so bei meiner alten db. Also "einfach" eine normale Sortierfunktion....sozusagen. (Verändertes oder Neues Bauteil von oben nach unten sortiert.) - Natürlich wäre es genial auf einen Blick sehen zu können wer was und wann verändert hat. Aber soweit mag ich noch nicht denken, weil das wer gibts es ja noch nicht.. ;) - Das "last_modified" noch nicht bei Dateblätter aktualisiert wird ist mir noch gar nicht aufgefallen. Gut zu wissen. g DANKE Grüße aus Wien
Also ich habe den Code jetzt noch so angepasst, dass das "last_modified" auch bei Änderungen an Einkaufsinformationen, Preisinformationen und Dateianhängen aktualisiert wird. Ist dann im nächsten Release also mit drin. @Christopher Damit du die letzten Änderungen möglichst schnell in phpMyAdmin anzeigen kannst, gibt es folgende Möglichkeit: Datenbank wählen --> Tabelle "parts" wählen --> Reiter "SQL" wählen. Dort als Befehl folgendes eingeben:
1 | |
2 | |
3 | |
4 | |
Dann bei "SQL-Abfrage speichern:" irgend einen Namen eingeben und auf "OK" klicken. Die Abfrage ist jetzt gespeichert, mit einem Platzhalter für das Datum, und kann jederzeit wieder abgerufen werden. Zum Abrufen gehst du so vor: Wieder den Reiter "SQL" wählen und dann unten bei "Gespeicherte SQL-Abfrage" die eben erstellte Abfrage wählen. Dann bei "Variable" das Datum/Uhrzeit in dieser Form eingeben: "2013-07-01 00:00:00" (ohne ""). Auf "OK" klicken und es werden alle Bauteile aufgelistet, die nach dem eingegebenen Datum verändert wurden. mfg
Hallo Urban, also habe den setlocale code wie beschrieben eingefügt. Der Fehler ist aber nach wie vor aktuell. hmm gibts dafür einen Workaround und warum ist das jetzt mit der neuen Version plötzlich nötig. Die alte 021 hat es anscheinend nicht interessiert welche Spracheinstellung verwendet werden.
kirk disen schrieb: > also habe den setlocale code wie beschrieben eingefügt. Der Fehler ist > aber nach wie vor aktuell. hmm okay dein NAS hat wohl keine Sprachen installiert, die man mit setlocale() nutzen kann. aus http://forum.synology.com/enu/viewtopic.php?t=4232: > There are no locales on the DS' system, so only the default "C" locale works. kirk disen schrieb: > hmm gibts dafür einen Workaround und warum ist das jetzt mit der neuen > Version plötzlich nötig. Die alte 021 hat es anscheinend nicht > interessiert welche Spracheinstellung verwendet werden. Vorher war Part-DB eigentlich auch nur für die Verwendung in Deutschland vorgesehen. Mit der Funktion setlocale() ist Part-DB aber auch in anderen Ländern nutzbar, weil alle länderspezifischen Parameter direkt vom Betriebssystem geholt werden können. Zum Beispiel gibt es Länder, bei denen die Währung vor dem Betrag steht, und Länder, bei denen zuerst der Betrag und dann die Währung geschrieben wird. Dann gibt es Länder, bei denen der Punkt als Dezimalpunkt genommen wird, bei anderen Ländern ist es das Komma. Oder auch das Datumsformat ist je nach Land sehr unterschiedlich. Dank der setlocale() Funktion müssen wir Entwickler uns nicht um solche Sachen kümmern. Wir teilen einfach dem Betriebssystem mit, dass wir z.B. "Deutsch (Deutschland)" oder "Englisch (USA)" nutzen möchten, und das Betriebssystem liefert uns die Währungen und Datumsangaben direkt in der jeweils lokalen Schreibweise. Dass es aber so häufig zu Problemen kommt wegen dem setlocale() habe ich natürlich nicht geahnt. Bei "normalen" Linux-Servern sollte es eigentlich immer funktionieren. Bei Windows weiss man nicht so recht welche Länderbezeichnung man nehmen muss, das ist sehr mühsam. Und jetzt erfahre ich von dir, dass es wohl auf den Synology NAS gar keine locales gibt... Man könnte sich natürlich schon überlegen, all die Länderspezifischen Parameter in Part-DB zu hinterlegen, z.B. für jedes Land eine Datei in dem die Parameter aufgelistet sind. Das gibt zwar Arbeit, allerdings ist man diesbezüglich nicht mehr vom Betriebssystem abhängig. Vielleicht hat ja irgendwer bereits Erfahrung mit diesem Thema und kann uns ein paar Tipps geben? @ kirk disen Da anscheinend der Ländercode "C" auf deinem NAS vorhanden sein sollte, versuch doch mal diese own_setlocale():
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
ok Danke erstmal, mit dem letzten script der set locale hat es jetzt geklappt die Setuproutine zu beenden. Allerdings kommt jetzt danach nichts mehr, der Browser bleibt weiss ohne Fehlermeldung. Zum glück kann ich das neben der alten 512er SVN betreiben, so ist das System noch zugänglich auch wenn die neue 0.3.0 RC2 noch nicht funktioniert.
kirk disen schrieb: > Allerdings kommt jetzt danach > nichts mehr, der Browser bleibt weiss ohne Fehlermeldung. PHP >= 5.3 ist vorhanden, oder? Dann könntest du mal die Seite http://server/part-db/system_debug.php aufrufen um das Debugging zu aktivieren. Danach nochmal die Startseite von Part-DB aufrufen und schauen was kommt. Durch das Debuggen sollten die PHP Fehlermeldungen angezeigt werden, vorher wurden die unterdrückt, deshalb die weisse Seite.
er fragt mich nun nach dem administrator passwort. Ich glaube das hatte ich beim setup wohl vergessen einzugeben, kann ich das setup nochmals aufrufen um dieses erneut einzugeben?
Das Administratorpasswort kann man eigentlich gar nicht vergessen einzugeben, ohne dieses kann die Installation nicht fortgesetzt werden ;-) Du kannst aber einfach die Datei "config.php" im Verzeichnis "data" löschen, dann kommt der Installer wieder.
also habe gerade die config erneut ausgeführt, Admin pass neu gesetzt Datenbank aktualisiert. Danach aufs part-db und erneut White Screen. Anschliessend das debugging aktiviert und in nem neuen Tab wieder die Seite aufgerufen. Debugging zeigt mir nichts an. Sehr komisch das ganze... Irgendetwas läuft da schief.
Bei aktiviertem Debugging ist die Hauptseite immernoch weiss? Keine PHP Fehlermeldungen zu sehen? Dass im Debug-Log keine Fehler auftauchen, ist klar. Dort tauchen nur Part-DB interne Fehler auf, keine PHP Fehler. Vielleicht musst du bei deinem NAS erst irgendwas konfigurieren, damit PHP die Fehlermeldungen ausgibt. Ich kenne die Synology NAS überhaupt nicht, gibts da ein Webinterface bei dem man PHP konfigurieren, und evtl. auch gleich die PHP Logs anschauen kann? Normalerweise sollte das eigentlich nicht notwendig sein, da Part-DB versucht, die PHP Fehlermeldungen selber zu aktivieren. Nur vielleicht klappt das ja auf dem NAS nicht, keine Ahnung... Übrigens, schonmal das NAS neu gestartet? Als ich noch intensiv an Part-DB 0.3.0 programmiert habe, hat mein Server manchmal auch ganz komische Sachen gemacht, ein Neustart (mindestens von Apache) hat ihn dann jeweils wieder zur Vernunft gebracht ;-)
@kirk disen Gibts Neuigkeiten bezüglich deinem Problem? Wäre schon nicht schlecht wenn wird das Problem beheben könnten, es gibt sicher noch andere Leute die Part-DB auf einem NAS installieren möchten. @Alle Da hier im Forum seit der RC2 praktisch keine Bugs mehr gemeldet wurden, könnte man daher schon bald mal daran denken, die finale 0.3.0 rauszubringen. Ich habe in letzter Zeit noch ein paar kleinere Bugs behoben die ich beim "rumspielen" gefunden habe. Leider brauche ich persönlich Part-DB zur Zeit aber praktisch nicht, da ich grad keine Elektronikprojekte am laufen habe. Gibt es schon jemand der die RC2 im produktiven Einsatz hat und berichten kann wie es läuft? mfg
Hallo zusammen, ich hab mir heute Part-db Version 0.3.0 RC2 auf einem Windows Server2008 (IIS 6) installiert und musste dabei folgendes anpassen: Fehler auf jeder Seite:
1 | |
Lösung: Unter Windows / IIS gibt es wohl die Variable DOCUMENT_ROOT nicht und muss händisch nachgepflegt werden. In die start_session.php muss man folgendes einfügen:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
Fehler beim bearbeiten eines Bauteiles:
1 | |
Lösung: Der Rückgabewert $value in der lib.functions.php muss als Array deklariert werden:
1 | |
2 | |
Außerdem funktioniert bei mir die Anzeige des Artikelpreises nicht korrekt, der Wert wird zwar gespeichert aber in der Übersicht und beim Bestellen wird er nicht angezeigt. Gruß Bernhard
Ich würde den Code für DOCUMENT_ROOT kürzer fassen:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
Für implode() wäre es besser, vorher auf die Variable zu prüfen.
1 | |
Kurze Anmerkung noch für Mouser Besteller: Beim abscannen der Mousertütchen tritt das Problem auf dass Bindestriche gefolgt von Leerzeichen (also "- ") durch ein ß ersetzt werden. Sprich aus 863- LM317MBDTRKG wird 863ßLM317MBDTRKG. Dazu hab ich in der "edit_part_info.php" in Zeile 234 und 250 folgendes eingefügt: $new_supplierpartnr = str_replace("ß", "- ", $new_supplierpartnr); Nun können Mousertütchen munter abgescannt werden :) Gruß Bernhard
Es sieht mir eher danach aus, als ob der Barcodescanner falsch eingestellt ist. Einige der Codes sind verwandt, manche Codes oder Varianten kennen kein Leerzeichen. Da ich nur im Büro auf einen Barcodescanner zurückgreifen kann, kann ich leider dir nicht sagen, welchen Code Mouser selbst verwendet.
Udo Neist schrieb: > Es sieht mir eher danach aus, als ob der Barcodescanner falsch > eingestellt ist. Einige der Codes sind verwandt, manche Codes oder > Varianten kennen kein Leerzeichen. Da ich nur im Büro auf einen > Barcodescanner zurückgreifen kann, kann ich leider dir nicht sagen, > welchen Code Mouser selbst verwendet. Leider ist es ein ganz einfacher Scanner (CipherLAB 1000) zu dem es auch keine Software oder Konfigurationseinstellungen gibt. Von dem her war das jetzt für mich der einfachste Weg zum Ziel zu kommen. Eventuell stehen andere User vor einem ähnlichen Problem und können sich durch die zwei Zeilen Code einiges an Arbeit ersparen. Deine zwei obrigen Codeschnipsel funktionieren bei mir übrigens leider nicht :(
Zwei Klammern fehlten... Meine Tastatur hat leider ne Macke :(
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
1 | |
Eventuell müsste man für die Barcodescanner eine Korrekturfunktion einbauen, die fehlerhafte Scans korrigiert. Vielleicht eine produktbezogene Library, die eine entsprechende Funktion enthält.
Produktblatt CipherLAB 1000: http://www.cipherlab.com/livefiles/en/Documents/296/4-CPL10079%201070%20DE.pdf Unterstützte Codes: Codabar, Code 39, Code 93, Code 128, GS1 DataBar (RSS), Industrial 2 of 5, Interleave 2 of 5, Matrix 2 of 5, MSI, Italian und French Pharmacodes, Plessey, Telepen, UPC EAN GS1-128, u.v.m. Handbuch: http://www.cipherlab.com/livefiles/en/documents/937/1000_1090+_1100_1105_1200ScannerUserGuide_v3_01.zip
Immer die leidigen Windows-Probleme... ;-) @Borsty Bürste Kannst du mal die angehängte start_session.php ausprobieren? Bezüglich Barcode: Momentan werden Barcodes ja noch gar nicht offiziell unterstützt von Part-DB. Aber das kommt natürlich noch, K.J. hat ja schon damit begonnen. Was ich eigentlich sagen möchte: Das Feld für die Bestellnummer ist dafür vermutlich nicht ideal - ich denke mal, es kann durchaus mal Barcodes geben, die nicht mit der Bestellnummer übereinstimmen (?) Ein zusätzliches Feld, extra für den Barcode, würde die ganze Sache flexibler machen. Theoretisch ist dann auch das Problem mit fehlerhaften Zeichen kein wirkliches Problem mehr, ob der Barcode nun ein falsches Zeichen enthält ist völlig irrelevant, da es für den Menschen gar nicht lesbar sein muss. Diesen Barcode müsste man dann natürlich so wie die Bestellnummern, für jede Einkaufsinformation (Klasse "Orderdetails") separat zuweisen können. Ausserdem wäre vermutlich ein zusätzliches Feld für einen Barcode sinnvoll, welcher für ein ganzes Bauteil gültig ist. Damit kann man dann persönliche Beschriftungen realisieren, also die Bauteile im eigenen Lager mit eigenen Barcodes versehen. mfg
Urban B. schrieb: > Ausserdem wäre vermutlich ein zusätzliches Feld für einen Barcode > sinnvoll, welcher für ein ganzes Bauteil gültig ist. Man kann auch einen Artikel bei mehren Händlern bestellen, von daher müsste es bei den Preisen oder zumindest Händlerabhängig gespeichert sein.
Gerald *. schrieb: > Urban B. schrieb: >> Ausserdem wäre vermutlich ein zusätzliches Feld für einen Barcode >> sinnvoll, welcher für ein ganzes Bauteil gültig ist. > > Man kann auch einen Artikel bei mehren Händlern bestellen, von daher > müsste es bei den Preisen oder zumindest Händlerabhängig gespeichert > sein. Ja, man beachte das Wort "zusätzlich" in meinem Satz :-) Also für jede Einkaufsinformation einen Barcode, und zusätzlich für den Artikel an sich einen Barcode. Erstere(r) wird/werden verwendet um ein geliefertes Bauteil zu identifizieren/einzubuchen. Zweiteres wird verwendet, um ein Bauteil aus dem Lager zu identifizieren/abzubuchen (sofern man die eigenen Bauteile mit eigenen Barcodes versehen möchte). Aber alles zu seiner Zeit :-)
Gast
#3251118
Urban B. schrieb: > Aber alles zu seiner Zeit :-) Wann kommt endlich die Version 0.3.0?
Gast
#3251154
abcdef schrieb: > Wann kommt endlich die Version 0.3.0? Kanns kaum mehr erwarten ;-)
Urban B. schrieb: > Immer die leidigen Windows-Probleme... ;-) Ja echt furchtbar, ich fands ja schon schrecklich im IIS PHP zum laufen zu bekommen... als würde man das nicht brauchen... oO Naja aber der Webserver ist nun mal da und somit verwend ich ihn auch. > @Borsty Bürste > Kannst du mal die angehängte start_session.php ausprobieren? Jop soeben probiert und funktioniert :) Was ich übrigens etwas (furchtbar) umständlich finde ist die Zuweisung der Footprints, sonst scheint das Tool echt einen ganz brauchbaren Eindruck zu machen. Weiter so! Vorallem ist es schön dass man auch mal selbst was anpassen kann. Bei welchem Tool geht das denn heute noch so einfach?
Ist es eigentlich möglich die Bauteile je Kategorie unterschiedlich zu sortieren? Ich finde es vorallem bei den Widerständen etwas umständlich dass diese nicht nach Zahlenwerten sortiert werden. Bei IC's mag das ja sinn machen aber bei vielen Widerständen wird das schnell sehr unübersichtlich. Sprich 220 Ohm sollte z.b. nach 39 Ohm kommen, da größer. Ich habs auch schon probiert das Ohm wegzulassen und in der Spalte Name nur mit Zahlenwerten zu arbeiten. Funktioniert leider auch nicht. Wie lösen das andere?
abcdef schrieb: > Wann kommt endlich die Version 0.3.0? Wenn sie fertig ist :-) Aber du kannst ja die RC2 davon schonmal benutzen... Borsty Bürste schrieb: >> @Borsty Bürste >> Kannst du mal die angehängte start_session.php ausprobieren? > > Jop soeben probiert und funktioniert :) OK ich lads dann noch ins SVN, ebenso wie die Änderung in money_format(). Borsty Bürste schrieb: > Was ich übrigens etwas (furchtbar) umständlich finde ist die Zuweisung > der Footprints Jup, da stimme ich dir zu, das ist im Moment leider relativ mühsam. Geplant ist halt, dass man die Bilddatei mit dem neuen Dateimanager von Udo wählen kann, doch der ist noch nicht fertig. > sonst scheint das Tool echt einen ganz brauchbaren > Eindruck zu machen. Weiter so! Danke :-) Borsty Bürste schrieb: > Ist es eigentlich möglich die Bauteile je Kategorie unterschiedlich zu > sortieren? Nein, das ist zur Zeit nicht möglich. Borsty Bürste schrieb: > Sprich 220 Ohm sollte z.b. nach 39 Ohm kommen, da größer. Ich habs auch > schon probiert das Ohm wegzulassen und in der Spalte Name nur mit > Zahlenwerten zu arbeiten. Funktioniert leider auch nicht. Naja, das System erkennt natürlich nicht dass alle Bauteile in der angezeigten Kategorie Zahlen als Namen haben. Und dass "1 MOhm" grösser als "100 Ohm" ist, das merkt das System natürlich erst recht nicht ;-)
Urban B. schrieb: > Borsty Bürste schrieb: >> Was ich übrigens etwas (furchtbar) umständlich finde ist die Zuweisung >> der Footprints > Jup, da stimme ich dir zu, das ist im Moment leider relativ mühsam. > Geplant ist halt, dass man die Bilddatei mit dem neuen Dateimanager von > Udo wählen kann, doch der ist noch nicht fertig. Das hängt immer noch an dem blöden Uploader für einige Browser :( Flash will ich ja nicht einsetzen, so wird das für IE bis 10 und ein paar andere bei Einzeluploads bleiben. FF und Chrome sind da deutlich besser. Ansonsten ist der (Web-)Dateimanager nutzbar.
Leider muss ich nochmal mit einer "Kleinigkeit" kommen. Ich bin grad am einpflegen meiner ganzen Artikel und jetzt ist mir aufgefallen dass wenn ich ein Tütchen mit 5 x Widerstand 33 Ohm 0603 samt Einkaufsinformationen einpflege und darauf hin ein weiteres Tütchen mit den selben Widerständen und den selben Einkaufsinformationen eintrage mir part-db die Einkaufsinformationen vom ersten verwirft. Sprich ich hab dann zwei mal Widerstand 33 Ohm 0603 mit je 5 Stück aber nur einen Eintrag mit den Einkaufsinformationen. Hier wäre es verdammt wichtig dass part-db die Einkaufsinformationen prüft und bei dem selben Lieferanten die Stückzahl addiert und bei unterschiedlichen Lieferanten den neuen mit der neuen Stückzahl hinzufügt. Beispiel: Ich trage 4 x Attiny23 von Conrad mit Bestellnummer 423452 ein und eine Woche später entscheid ich mich die Teile bei Mouser zu bestellen also trag ich 6 x Attiny23 mit Bestellnummer von Mouser ein. Jetzt müsste es einen einzigen Eintrag Attiny23 geben Stückzahl 10 und unter Einkaufsinformationen stehen Conrad und Mouser. So wie es jetzt ist kann es zu einem Katastrophalen Durcheinander führen (siehe Anhang)... Ich muss jetzt nämlich nochmal alle Teile durchsehen und prüfen wieviele 33 Ohm von welchen Lieferanten kamen und welche davon obsolete sind. Wie auf dem Screenshot zu sehen funktioniert wohl auch die Sortierung nicht so wie sie sollte.
Borsty Bürste schrieb: > Ich bin grad am einpflegen meiner ganzen Artikel und jetzt ist mir > aufgefallen dass wenn ich ein Tütchen mit 5 x Widerstand 33 Ohm 0603 > samt Einkaufsinformationen einpflege und darauf hin ein weiteres Tütchen > mit den selben Widerständen und den selben Einkaufsinformationen > eintrage mir part-db die Einkaufsinformationen vom ersten verwirft. > > Sprich ich hab dann zwei mal Widerstand 33 Ohm 0603 mit je 5 Stück aber > nur einen Eintrag mit den Einkaufsinformationen. > > Hier wäre es verdammt wichtig dass part-db die Einkaufsinformationen > prüft und bei dem selben Lieferanten die Stückzahl addiert und bei > unterschiedlichen Lieferanten den neuen mit der neuen Stückzahl > hinzufügt. Moment mal - Ich bin mir nicht sicher ob ich das richtig verstanden habe. Also Schritt für Schritt: Borsty Bürste schrieb: > wenn ich ein Tütchen mit 5 x Widerstand 33 Ohm 0603 > samt Einkaufsinformationen einpflege und darauf hin ein weiteres Tütchen > mit den selben Widerständen und den selben Einkaufsinformationen > eintrage Du legst also für jedes Tütchen einen separaten Artikel an? Wozu das? Alle 10 Widerstände sind doch genau die selben, also brauchts dafür nur einen Artikel in der Datenbank, mit der Menge 10Stk. Borsty Bürste schrieb: > mir part-db die Einkaufsinformationen vom ersten verwirft. Das kann ich nicht nachvollziehen. Kannst du das reproduzieren und mir eine Schritt-für-Schritt Anleitung dazu geben? Borsty Bürste schrieb: > Hier wäre es verdammt wichtig dass part-db die Einkaufsinformationen > prüft und bei dem selben Lieferanten die Stückzahl addiert und bei > unterschiedlichen Lieferanten den neuen mit der neuen Stückzahl > hinzufügt. Auch hier verstehe ich dich nicht. Stückzahl und Lieferant sind zwei völlig verschiedene Dinge. Ob in deinem Lager der selbe Widerstand von sieben verschiedenen Herstellern stammt, ist völlig irrelevant. Wichtig ist nur zu wissen, wieviel Stück du insgesamt an Lager hast. Woher die kommen ist egal, schliesslich sind alle Widerstände identisch, auch wenn sie von verschiedenen Lieferanten kommen. Die Angabe der Lieferanten und Bestellnummern und Preise dient nur dazu, dass man sich merkt wo man das Bauteil zu welchem Preis bekommt. Borsty Bürste schrieb: > Ich trage 4 x Attiny23 von Conrad mit Bestellnummer 423452 ein und eine > Woche später entscheid ich mich die Teile bei Mouser zu bestellen also > trag ich 6 x Attiny23 mit Bestellnummer von Mouser ein. Nein, du fügst dem alten Bauteil einfach eine neue Einkaufsinformation für die Bestellung bei Mouser hinzu, und erhöhst den Lagerbestand des ATTiny's um 6. Ergebnis: Einen Artikel "ATTiny" mit Lagerbestand "6" und den zwei Einkaufsinformationen für Conrad und Mouser. Borsty Bürste schrieb: > Wie auf dem Screenshot zu sehen funktioniert wohl auch die Sortierung > nicht so wie sie sollte. Naja...er sortiert nach Name, und das ist ja korrekt :-) Aber ich füge noch hinzu dass bei identischem Namen auch die Beschreibung zur Sortierung benutzt wird. Also: Wenn ich dich richtig verstanden habe, hast du Part-DB falsch verstanden ;-)
Oh ok anscheinend hab ich mich tatsächlich etwas wirr ausgedrückt - bitte entschuldige! Ich möchte natürlich nicht für jedes Tütchen einen eigenen Artikel anlegen. Selbstverständlich soll part-db alle gleichen Artikel des selben Herstellers zusammenwürfeln, ganz egal wo ich die gekauft habe. Soweit schon klar :) ABER: Wenn ich dussel nicht merk dass es diesen Artikel ja schon gibt (was bei so vielen durchaus mal vorkommen kann) und ich leg den Artikel nochmal an, mit den selben Einkaufsinformationen und dem selben Hersteller wäre es schön wenn part-db meckern würde "Vorsicht den selben Artikel von dem selben Hersteller hab ich doch schon!". Aktuell ist es so dass er den Artikel nochmal anlegt und ich dann zwei gleiche Artikel mit den gleichen Daten in der Datenbank habe. Genau das soll ja nicht passieren ;-) Entweder part-db merkt dass es den Artikel gibt und fügt die zwei gleich zusammen oder es kommt einfach eine Fehlermeldung und lässt die Aktion nicht zu. Bei letzterem hab ich dann die Möglichkeit den schon vorhandenen Artikel zu finden und zu aktualisieren. Ich denke das ist nun etwas verständlicher :)
Ach so, ja jetzt verstehe ich dich :-) Grundsätzlich würde ich ja sagen, es ist Sache des Anwenders erstmal zu schauen obs den entsprechenden Artikel schon gibt. Aber einen dezenten Hinweis, dass es bereits einen Artikel mit dem selben Namen, selben Hersteller und selben Footprint gibt, wäre sicher machbar und sinnvoll. Aber wirklich nur wenn Name, Hersteller und Footprint exakt identisch sind, sonst gibts ständig Fehlalarme wenn man ein ähnliches Bauteil wie ein bereits existierendes anlegt, das nervt dann nur. Ich nehme das einfach mal in die ToDo-Liste auf.
So langsam nimmt Part-DB richtig gute Konturen an :-) Auf solche Kleinigkeiten kommen wir Entwickler auch nicht immer. Da ist es gut, dass es auch engagierte Tester gibt, die uns ein Feedback geben. Daumen hoch
Ich arbeite ja nun seit einigen Tagen mit Part-DB und mittlerweile 247 verschiedene Bauteile (laut Statistik, hihi) eingepflegt. Was noch schön wäre: - EDIT Funktion für mehrere Bauteile gleichzeitig (auch wäre es sinnvoll mehrere Bauteile gleichzeitig in eine andere Kategorie/Unterkategorie verschieben zu können) Aktuell mach ich das direkt in der Datenbank mit SQL Phrasen, im Tool selbst ist das fast nicht möglich. - Für jedes Bauteil sollte eine Art "Zustand" auswählbar sein der frei definiert werden kann (z.b. Neuware, ausgelötet, Pins verbogen, zum basteln, ...). Ich stell mir das über ein DropDown Menü vor. - Was ich persönlich etwas nervig finde ist die Tatsache dass man beim anlegen eines neuen Bauteiles (oder beim bearbeiten) keinen weiteren Browsertab öffnen kann. Sehr umständlich um mal eben den Preis zu checken oder die technischen Daten.... Ich verwende dazu aktuell einen zweiten Browser, nervt aber. - Export Funktion aller Bauteile für die Weiterverarbeitung in (ex-)bom.ulp. (das werde ich aber vermutlich die kommenden Tage selbst schreiben). Somit kann man dann die Eagle Projekte direkt mit Part-db Verknüpfen. Einfache zu realisierendes Features was part-db richtig "mächtig" macht. - In der Listenansicht der Bauteile wäre es schön den Hersteller zu sehen, eventuell als neue Spalte oder dafür z.b. die Spalte Dateianhänge weglassen. Wie werden die Bauteile eigentlich aus der Datenbank geholt? Ich wollte mir die Sortierung der Teile selbst noch anpassen, hab aber in der show_categorie_parts.php nur die dazugehörigen $REQUESTS gefunden, jedoch nirgends einen Select aus der DB. Ich hoffe das war nicht zuviel auf einmal xD Gruß Bernhard
@K.J. Ich habe mal den RSS-Feed Parser auf der Startseite umgeschrieben, weil vorher ja die Links nicht funktioniert haben. Allerdings funktioniert das in der Online Demo nicht, es kommt nur eine weisse Seite. Könntest du mal das Debugging aktivieren, damit hoffentlich ein paar nützliche Fehlermeldungen angezeigt werden? Borsty Bürste schrieb: > - EDIT Funktion für mehrere Bauteile gleichzeitig (auch wäre es sinnvoll > mehrere Bauteile gleichzeitig in eine andere Kategorie/Unterkategorie > verschieben zu können) Aktuell mach ich das direkt in der Datenbank mit > SQL Phrasen, im Tool selbst ist das fast nicht möglich. Jo das wäre sicherlich nützlich, gibt aber sehr viel Arbeit ;-) Wird also sicher noch länger dauern bis so eine Funktion kommt... Borsty Bürste schrieb: > - Für jedes Bauteil sollte eine Art "Zustand" auswählbar sein der frei > definiert werden kann (z.b. Neuware, ausgelötet, Pins verbogen, zum > basteln, ...). Ich stell mir das über ein DropDown Menü vor. Sowas ist schon geplant: https://code.google.com/p/part-db/issues/detail?id=30 Borsty Bürste schrieb: > - Was ich persönlich etwas nervig finde ist die Tatsache dass man beim > anlegen eines neuen Bauteiles (oder beim bearbeiten) keinen weiteren > Browsertab öffnen kann. Sehr umständlich um mal eben den Preis zu > checken oder die technischen Daten.... Ich verwende dazu aktuell einen > zweiten Browser, nervt aber. Also erstens könntest du in der Konfiguration die Popups auf "nicht modal" einstellen, dann kannst du den Browser weiterhin für andere Sachen benutzen (das Popup geht dann einfach in den Hintergrund). Und zweitens werden die Popups irgendwann vermutlich durch eine JavaScript Lösung abgelöst, so dass gar kein neues Browserfenster mehr geöffnet wird. Borsty Bürste schrieb: > - Export Funktion aller Bauteile für die Weiterverarbeitung in > (ex-)bom.ulp. (das werde ich aber vermutlich die kommenden Tage selbst > schreiben). Somit kann man dann die Eagle Projekte direkt mit Part-db > Verknüpfen. Einfache zu realisierendes Features was part-db richtig > "mächtig" macht. Hmm ich habe noch nie mit dem bom.ulp gearbeitet, könntest du mal kurz erklären wie das genau abläuft? Wozu brauchst du dazu die gesamte Datenbank zu exportieren, und in welchem Format? Das wäre eine Sache, die man sicherlich mit relativ wenig Aufwand noch einbauen könnte. Wobei ich mich frage, wie lange so ein Export dauert wenn man mehrere (zehn)tausend Bauteile in der DB hat... Dass man den Output vom bom.ulp (wenn ich das richtig verstanden habe) direkt in eine Baugruppe importieren kann, hast du gesehen oder? Borsty Bürste schrieb: > - In der Listenansicht der Bauteile wäre es schön den Hersteller zu > sehen, eventuell als neue Spalte oder dafür z.b. die Spalte Dateianhänge > weglassen. Füge mal die folgende Zeile in deine config.php ein und staune :-)
1 | |
Borsty Bürste schrieb: > Wie werden die Bauteile eigentlich aus der Datenbank geholt? Ich wollte > mir die Sortierung der Teile selbst noch anpassen, hab aber in der > show_categorie_parts.php nur die dazugehörigen $REQUESTS gefunden, > jedoch nirgends einen Select aus der DB. Das ist alles nicht so ganz einfach, da Part-DB jetzt objektorientiert programmiert ist. Die Datenbankabfragen sind also hauptsächlich in den lib/class.*.php Dateien. In der Klasse "PartsContainingDBElement" werden für jede anzuzeigende Kategorie die darin enthaltenen Teile aus der Datenbank geholt (Funktion "get_parts()"). Da kannst du die Sortierung anpassen. Doch wenn die Beiteile mehrerer Kategorien geholt werden müssen, holt wieder jede Kategorie ihre eigenen Teile, und nachher wird per PHP alles noch sortiert (Funktion "usort_compare()"). An diesen beiden Stellen müsstest du also die Sortierung anpassen. Dass die Artikelbeschreibung auch zur Sortierung herangezogen wird, ist übrigens im nächsten Release mit drin, falls du dies haben wolltest ;-) mfg
Gast
#3255308
@Urban B. mach ich zeitlich ist das immernoch etwas knap bei mir aber spätestens am we solte ich das machen können. Übrigens nebenbei ist zu vermelden das mittlerweile 5 große Firmen (>1k Mitarbeiter) die Part-db nutzen, Respekt an die momentanen Entwickler ich mach den Support für die grade nebenbei mit.
> Übrigens nebenbei ist zu vermelden das mittlerweile 5 große Firmen (>1k > Mitarbeiter) die Part-db nutzen, Respekt an die momentanen Entwickler > ich mach den Support für die grade nebenbei mit. Um es mit FB zu sagen: Gefällt mir :-) Wenn es mir zeitlich möglich ist, werde ich am Wochenende mal das Problem des Uploads für ältere Browser angehen. Damit das auch endlich mal aus meiner ToDo-Liste raus ist.
K. J. schrieb: > @Urban B. mach ich zeitlich ist das immernoch etwas knap bei mir aber > spätestens am we solte ich das machen können. OK kein Problem, nur kein Stress :-) Also es geht übrigens nur darum, dass du hier das Administratorpasswort eintippst: http://www.partdb.grautier.com/svn/system_debug.php Danach sollte man hoffentlich die Fehlermeldungen auf der Startseite sehen. Ich kann den Fehler bei mir (leider?) nicht nachvollziehen, hier funktioniert es tadellos... K. J. schrieb: > Übrigens nebenbei ist zu vermelden das mittlerweile 5 große Firmen (>1k > Mitarbeiter) die Part-db nutzen, Respekt an die momentanen Entwickler > ich mach den Support für die grade nebenbei mit. Wow, das ist doch mal eine gute Nachricht! Vielleicht kommt dadurch ja auch mal die ein oder andere Spende zustande ;-)
@K.J. ich habe soeben den Fehler auf der Startseite gefunden, auf dem Webspace meines Hosters wird nämlich eine Fehlermeldung angezeigt weil ich direkt beim Funktionsaufruf auf ein Array-Element zugegriffen habe, also sowas wie funktion()[0]. Auf meinem Ubuntu Server frisst er das allerdings, drum habe ich es hier nicht gemerkt... naja, brauchst jetzt das Debugging nicht mehr zu aktivieren :-)
Hallo, bin gerade auf dieses Projekt gestossen, ich muss zugeben ich habe nicht alle 550 Kommentare gelesen, nur mal nach grratis und Hoster gesucht, aber nichts brauchbares gefunden. Darum meine Frage ob es bei irgendeinen freehoster laeuft? Habe bei Tripido mal einen Account angelegt, und die part-DB hochgeladen, dort laeuft PHP 5.3 zum laufen habe ich es allerding nicht bekommen. Geht das bei irgendeinen free hoster?
@Arne M. Ob Part-DB auf einem gratis Webspace läuft, kann ich dir nicht sagen. Aber beschreib doch, was denn bei deinem aktuellen Hoster für Probleme auftreten (Fehlermeldungen?). (wer/was ist eigentlich "Tripido"?) Ausserdem würde ich dir sowieso empfehlen, einen richtigen Hoster zu benutzen. Früher habe ich meine ersten Gehversuche auch mit freehostern gemacht, aber glaub mir, das ist es nicht wert. Die paar Kröten, die ein Webspace mit Domain kosten, sind gut investiert. Eigene Domain, keine Werbung, kein Spam an deine E-Mail Adresse, >99,9% Uptime, kompetenter Support, und, und, und. Gratis Hoster brauchen immer wieder starke Nerven und sind nicht selten mal für ein paar Stunden offline (selbst schon mehrfach erlebt). Manche Hoster bieten auch z.B. 30 Tage kostenloses Ausprobieren an, so kannst du auch prüfen ob der Hoster deine Ansprüche erfüllt, ohne dass du Geld dafür ausgibst. mfg EDIT: Und falls du Part-DB nur von zu Hause aus erreichen musst, brauchst du sowieso nicht zwingend einen Hoster sondern kannst deinen eigenen Webserver aufsetzen.
@Urban B Danke fuer deine Antwort hatte einfach nach free hostern geschaut, die die benoetigte PHP Version haben. Dieser hat PHP 5.3 Auf lange sicht, wenn das gut laufen sollte sollte das auf meinen Raspberry Pi laufen. Der hat wie der Zufall es will php und mysql, aber bis es soweit ist,(momentan fehlendes Internet zuhause) wollte ich das mal antesten und schonmal Bauteile anlegen und dann einfach nur umsteigen. Vorgegangen bin ich nach der Installationsanweisung. 1 eine Datenbank erstellt 2 den part-db in den www ordner kopiert und testweise alle rechte fuer jeden gesetzt Beim Aufrufen der Seite MEINNAME.tipido.net/part-db kommt dann : Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Andere Fehlermeldungen seh ich gerade nicht. Ansonsten kann man mit phpMyAdmin verwalten, kann man dort noch etwas tun? Vor einen kostenpflichtigen schreck ich immer zurueck grad weil der was kostet und ich erstmal das fur lau hinzubekommen. Gruss Arne
Arne M. schrieb: > Beim Aufrufen der Seite MEINNAME.tipido.net/part-db kommt dann : > Internal Server Error Lösche testweise mal die .htaccess Datei im Hauptverzeichnis (oder alle). Könnte sein, dass der Server irgendwas an diesen Dateien nicht mag. Ausserdem hat eine kurze Recherche im Internet ergeben, dass dein Anbieter wohl die ini_set() Funktion verboten hat. Diese wird allerdings in der start_session.php einmal aufgerufen. Entferne diese Codezeile einfach mal. Wobei, eigentlich sollte das kein Problem darstellen, weil bei gesperrter ini_set() die Funktion einfach "false" zurückliefern müsste... Arne M. schrieb: > Vor einen kostenpflichtigen schreck ich immer zurueck grad weil der > was kostet und ich erstmal das fur lau hinzubekommen. Jo klar kostet das was, aber für was ganz einfaches bezahlt man schätzungsweise so um die 2 Euro im Monat, mit eigener Domain noch ~1 Euro mehr. Das kann man sogar als Schüler noch problemlos verkraften :-) Naja, musst selber wissen, wollte nur sagen dass (meiner Meinung nach) die paar Euros gut investiert sind... ;-)
Ich könnte dir natürlich auch free-speicher.de anbieten. Bei dem Projekt gehöre ich zu den technischen Admins. Du musst dich allerdings beim Betreiber melden, denn wir nehmen nicht jeden. Für Fragen steht auch ein Forum zur Verfügung. Allerdings steht da nur PHP 5.2 zur Verfügung. Ein Update ist derzeit nicht geplant.
Urban B. Danke hae die .htaccess entfernt und schon lief es! Danke dir als Sprache konnte man putzigerweise nur us englisch angeben, aber denonch alles auf deutsch :) Scheint alles zu gehen, grad updates gemacht! Udo Neist Danke dir fuer das Angebot ist sehr nett, doch die Voraussetzung ist doch PHP 5.3 :) Andererseits einen Server im Netz zu haben kann ja auch nie verkehrt sein!
Arne M. schrieb: > Danke hae die .htaccess entfernt und schon lief es! Wenn bei deinem Server aber das Directory Listing aktiviert ist, solltest du es nicht so sein lassen, sonst kann jeder all deine Dateien, die auf dem Server liegen, anschauen. Überprüfen kannst du das indem du versuchst z.B. das Verzeichnis img im Browser aufzurufen. Wenn dort der Zugriff verweigert wird (also eine Fehlerseite kommt) ist alles OK. Dir ist aber schon bewusst dass jetzt jeder an deiner Datenbank rumpfuschen kann, oder? Mit einer .htaccess lässt sich dies vermeiden, such einfach im Internet mal nach ".htaccess Zugriffsschutz" o.ä. (allerdings ist fraglich ob das dein Hoster überhaupt zulässt, da anscheinend ja schon das deaktivieren des Directory Listing zu einer Fehlermeldung führt...Ausprobieren hilft!) > Danke dir als Sprache konnte man putzigerweise nur us englisch angeben Das liegt daran, dass dein Server wohl keine deutschen Sprachdateien installiert hat. Somit hast du jetzt die Preise in GBP statt in Euro. Ab dem nächsten Release kann man dann eine neutrale Sprache auswählen (für den Fall dass der Server die gewünschte Sprache nicht zur Verfügung stellt), dann muss man die Währung von Hand in die config.php eintragen.
Urban B. schrieb: > z.B. das Verzeichnis img im Browser aufzurufen. Wenn dort > der Zugriff verweigert wird (also eine Fehlerseite kommt) ist alles OK. Kam eine Fehlermeldung. Das jeder drin rumpfuschen kann ist mir schon klar. Ein kleiner Schutz ist ja dass man den Seitennamen kennen muss und dann auch noch den Ordnernamen. Ob das allein schon einer findet? Aber ist ja eh dort wahrscheinlich nur temporaer. Bei meinen eigenen sollte es schon so sein, dass nur ich rankann! Was .htaccess macht find ich deswegen noch raus. Hab Dollar da stehen, aber zum nachbestellen brauch ich das glaube ich (noch) nicht dazu bin ich zu hobbymaessig. Auf alle Faelle ein aufwendiges Programm, bei dem man sieht das sehr viel Arbeit drin steckt, verdient meinen Respekt. Hab keine Ahnung was meine normalen bedrahteten Widerstaende fuer eine Bauform haben :)
Urban B. schrieb: > Somit hast du jetzt die Preise in GBP statt in Euro. Arne M. schrieb: > Hab Dollar da stehen, Ups, ich dachte ich hätte "England" gelesen (da wo "Englisch" steht), USA hat natürlich Dollar xD (mein Allgemeinwissen ist zwar bescheiden, aber das weiss ich gerade noch so...) Arne M. schrieb: > Ein kleiner Schutz ist ja dass man den Seitennamen kennen muss und > dann auch noch den Ordnernamen. Joah wenns nicht für ewig ist, kann man das natürlich so machen... ;-) Die robots.txt sollte auch verhindern dass die Seite mit Suchmaschinen gefunden werden kann. Arne M. schrieb: > Hab keine Ahnung was > meine normalen bedrahteten Widerstaende fuer eine Bauform haben :) Die "normalgrossen" haben die Bauform "0207", die etwas kleineren "0204".
Ich habe mich heute mal mit dem Problem des Uploads per IFrame auseinander gesetzt. Es funktioniert schon, aber leider nur Datei für Datei. Wählt man mehrere aus und will diese dann in einem Rutsch übergeben, gibt Firefox ein Security Alarm auf der Javascript-Konsole aus. Ich kann keine Duplikate für input type="file" erstellen :(. Bevor Fragen zu jQuery oder ähnliche Frameworks kommen: der Filemanager kommt komplett ohne externe JS-Lib aus und das soll auch so bleiben. Die meisten dieser Frameworks sind einfach zu groß für ein kleines Projekt mit wenig Javascript. Ich werde die IFrame-Lösung in den Filemanager als Fallback einbauen, falls der Browser kein FormData-Objekt kennt.
Ich habe den Popup-Modus des Filemanagers überarbeitet. Anstatt den eingebauten Viewer zu starten, wird in diesem Modus nur die zuvor ausgewählte und im Infobereich angezeigte Datei dem aufrufenden Fenster übergeben. http://phpbookworm.singollo.de/project/part-db/ Auf der Testseite ist die Navigation im Hauptverzeichnis abgeschaltet und erlaubt es nur in bestimmten Unterverzeichnissen im Popup. Die Angabe der erlaubten Verzeichnisse im Hauptscript wird der nächste Schritt sein, dann kommt die Integration des Fallbacks (siehe oben).
Gast
#3257764
Hallo Udo, keine Ahnung, ob das so beabsichtigt ist: Ich kann kein Verzeichnis auswaehlen... Siehe Anhang. Der Screenshot wurde mit Kubuntu und dem alten Firefox 11 gemacht, ich seh das gleiche aber auch mit Windows und dem aktuellen Firefox. Mach ich irgendwas falsch? Viele Gruesse Christoph
Das Phänomen sehe ich auch. Irgendein Bug schaltet die Verzeichnisanzeige ab. Da es gestern lief, tippe ich auf einen Fehler bei der Initialisierung. Mach mich gleich dran, damit dieser Fehler behoben ist.
Fehler beseitigt. Beim Start soll in der nächsten Version eine Liste von Verzeichnissen geladen werden. Die zugehörige Ajax-Funktion war bereits aktiv, aber konnte vom PHP-Script nicht beantwortet werden. Daher wurde die im Template vorgebene Liste überschrieben. Ich lager das erstmal aus, so dass diese Funktion nur per Klick auf einen Link aktiv wird.
Gast
#3257832
Hi, in der "Gleiche Seite"-Version sehe ich drei Verzeichnisse: Hauptverzeichnis/Grafik/Import. In der Popup-Version sieht man diese nicht. Bei zwei der Verzeichnissen kommt "Ein Fehler ist aufgetreten: [Funktion: file_explorer::xhrGet]" wenn man sie anklickt, und die Dateiauswahl geht noch nicht (getestet mit Firefox11). Viele Gruesse Christoph
Ist auch kein Wunder. Ich hab derzeit ein Problem mit der Tokengenerierung für die Absicherung der Aktionen. Ich geb Bescheid, wenn das Problem beseitigt ist und der Filemanager wieder läuft.
Ich habe die Tokenproblematik gelöst. Durch das asynchrone Nachladen des Tokens (ist eine Sessionvariable) muss ich die Anzeige des Filemanagers um einige Millisekunden verzögern. In beiden Modi sollten jetzt zwei Verzeichnisse angezeigt werden. Edit: Upload kann wieder verwendet werden.
Gast
#3257994
habs grade erfolgreich getestet und als File mal den Screenshot von oben hochgeladen. Sieht echt gut aus. Was allerdings etwas irritierend ist, ist das Upload Fenster: Man waehlt eine Datei aus, aber der Dateiname erscheint nicht im Auswahlfeld (stattdessen geht der Zaehler hoch). Es waere gut, wenn zusaetzlich zum Zaehler noch eine Liste aller ausgewaehlten Filenames erscheinen wuerde. Viele Gruesse
Das mit dem Uploader ist mir bekannt. Es ist noch ein Überbleibsel der Tests mit den verschiedenen Browser und daher noch nicht komplett. Die Liste kann ich wieder einbauen.
Liste ist vorhanden :-) Allerdings noch ohne Überprüfung von mehrfach ausgewählten Dateien.
Die aktuelle Version des Filemanagers ist in der Revision 682 enthalten.
@Udo Sieht schonmal gut aus soweit! Funktioniert das ganze auch schon wenn die angezeigten Ordner auch noch Unterordner haben? Wäre interessant, wenn du mal z.B. den Ordner "img/footprints" von Part-DB zu deinem Filemanager hinzufügen würdest :-) @ Alle Tester von der 0.3.0 RC2 Na, wie siehts aus, kann man das finale Release der 0.3.0 rausgeben? :-) Ich glaube, eine RC3 ist nicht unbedingt nötig. So viel hat sich seit der RC2 nicht mehr getan... (zumindest keine "kritischen" Sachen. Die meisten Bugfixes bezüglich Windows Server sind bereits in die RC2 reingeflossen. Der aktuelle Stand der Part-DB sollte nun wirklich auf den allermeisten Servern, die die Anforderungen erfüllen, laufen, und das ist ja das wichtigste. Kleine Bugs kanns natürlich immer haben.)
Urban B. schrieb: > @Udo > Sieht schonmal gut aus soweit! > Funktioniert das ganze auch schon wenn die angezeigten Ordner auch noch > Unterordner haben? Wäre interessant, wenn du mal z.B. den Ordner > "img/footprints" von Part-DB zu deinem Filemanager hinzufügen würdest > :-) Unterordner werden angezeigt und sind nutzbar, bis auf die Auswahl im Dialog. Um ins übergeordnete Verzeichnis zu kommen, muss man sich derzeit noch über die Verzeichnisauswahl links bemühen und kann nicht direkt zurück. Vorläufige ToDo-Liste: - Wechsel in das übergeordnete Verzeichnis in der Fileliste ermöglichen - Unterordner in der Verzeichnisliste des Dialogs aufnehmen - Fallback für den Upload integrieren
Kleine Anmerkung: Da die Verzeichnisse in der config.php des Filemanagers definiert werden können, kann man zu jeder Aktion die mögliche Auswahl der Verzeichnisse vorgeben. Vom aktuellen Design her sind 5 Verzeichnisangaben sinnvoll, wobei die Klartextnamen nicht zu lange sein sollten.
Udo Neist schrieb: > Vorläufige ToDo-Liste: > - Wechsel in das übergeordnete Verzeichnis in der Fileliste ermöglichen Sollte jetzt einwandfrei funktionieren. Läuft im Hauptverzeichnismodus (gedacht für Admins) genauso wie bei definierten Verzeichnissen (Normalfall). > - Unterordner in der Verzeichnisliste des Dialogs aufnehmen Unterverzeichnisse werden angezeigt, allerdings fehlt noch die Einschränkung für definierte Verzeichnisse. Aktuell wird das Hauptverzeichnis an oberster Stelle und alle weiteren mit vorrangestellten "../" aufgelistet. Manchmal kommt es vor, dass die Verzeichnisliste nicht gleich zur Verfügung steht. Diese Liste wird immer (!) neu geladen, wenn ein entsprechender Dialog aufpoppt. Nachteilig nur bei großen Verzeichnistiefen und vielen Einträgen.
So, ich habe jetzt grad nochmal den aktuellen Stand der Part-DB auf verschiedenen Systemen (Apache [Ubuntu], XAMPP [Win7], FF8 [Win7], FF22 [Ubuntu], IE10 [Win7], Chromium 28 [Ubuntu]) ausprobiert. Sah soweit ganz gut aus, nur ein ganz kleiner Bugfix bezüglich dem IE habe ich noch ins SVN hochgeladen (r686). Von meiner Seite würde ich jetzt das OK für das Release der 0.3.0 geben. Wenn niemand was dagegen hat, würde ich das dann vielleicht morgen oder übermorgen hochladen. Wenn also jetzt noch jemand die RC2 NICHT auf seinem System getestet hat, auf dem er nachher die 0.3.0 laufen lassen möchte, wäre jetzt der letzte Zeitpunkt um dies zu tun. Nachher kanns wieder dauern bis das nächste Release kommt ;-) mfg
Hallo! Ich warte immer noch, dass mal irgendwo eine Instanz installiert wird, die ich benutzen kann. Aber dazu müsste man mehrere Nutzer anlegen können. Natürlich kann ich auch selbst eine anlegen, aber für mich allein lohnt sich das m.E. nicht. http://code.google.com/p/part-db/issues/detail?id=8 steht seit einem Jahr im "Status: Started". Wie sieht's denn damit aus? VG Torsten
Hallo Torsten, Torsten C. schrieb: > Ich warte immer noch, dass mal irgendwo eine Instanz installiert wird, > die ich benutzen kann. Aber dazu müsste man mehrere Nutzer anlegen > können. Da muss ich dich leider enttäuschen, das wird noch sehr lange dauern bis das wirklich fertig ist... Bis jetzt lag der Schwerpunkt halt auf der Version 0.3.0, und da war eigentlich schon lange klar dass hier noch keine Benutzerverwaltung reinkommt, somit hätte es keinen Sinn gemacht jetzt schon voll an der Benutzerverwaltung zu arbeiten. Torsten C. schrieb: > http://code.google.com/p/part-db/issues/detail?id=8 steht seit einem > Jahr im "Status: Started". Wie sieht's denn damit aus? Als ich die Part-DB auf objektorientierte Programmierung umgeschrieben habe, habe ich mir natürlich schonmal ein paar Gedanken über die Benutzerverwaltung gemacht. Es gibt in Part-DB bereits jetzt die Klassen "User" und "Group", welche fest im OOP Design verankert sind. Heisst konkret, alle möglichen Klassen und Funktionen haben bereits eine Referenz zum angemeldeten Benutzer zur Verfügung. Damit ist quasi der Grundstein gelegt, jetzt müssen "nur noch" die Klassen "User" und "Group" ausgestattet werden, und alle anderen Funktionen müssen Gebrauch davon machen indem Sie die Rechte vom angemeldeten Benutzer abfragen und berücksichtigen. Der Aufwand für eine "normale" Benutzerverwaltung (Lese-/Schreibrechte) ist ja noch einigermassen überschaubar (gibt schon sehr viel Arbeit, vieles ist aber nicht wahnsinnig kompliziert sondern eher Fleissarbeit). Die Benutzerverwaltung für eine öffentliche Part-DB Installation, in der alle Benutzer zwar auf die selben Teile zugreifen, aber unterschiedliche Lagerbestände, Lagerorte, Baugruppen usw. haben, macht die ganze Geschichte aber extrem kompliziert. Das wird echt nicht einfach, und wird daher auch viel Zeit benötigen... Ausserdem sollte es mMn schlussendlich möglichst nicht zwei verschiedene Benutzerverwaltungen geben, sondern eine Benutzerverwaltung, die halt beides kann. Heisst dann also, wenn man einen neuen Benutzer anlegt, muss man halt wählen ob dieser Benutzer z.B. seine eigenen Lagerorte haben sollte, oder ob es die "allgemeinen" Lagerorte verwenden soll. Ersteres wäre für die "Online-Part-DB für jedermann", Zweiteres wäre z.B. für eine Firma.
Ich muss Urban beipflichten, denn der Code der 0.2.x war für die Integration einer Benutzerverwaltung einfach nicht nutzbar. Ursprünglich war die Part-DB ja nur ein kleines Hilfsmittel für zu Hause und nicht für größere Gruppen oder sogar Firmen gedacht. Diese Möglichkeiten kamen dann mit der Übernahme der Entwicklung durch ein neues Team und der 0.2er Version. Hier war der Code allerdings weiterhin ein wirres Durcheinander und nur für Insider irgendwie wart- und erweiterbar. Die Diskussion hatten wir ja auch schon geführt, wie die Weiterentwicklung laufen sollte. Ich bin ja mit dem Ziel der Integration der Benutzerverwaltung dazu gekommen, habe aber schnell gemeckert, dass ich mit dem Code so nichts anfangen kann. Ich habe testweise einige der Templates in meinen eigenen Branch erstellt und Urban hat den Code auf OOP umgestellt. Bei der Zusammenführung der beiden Zweige wurde dann als Ziel die funktionsgleiche Umschreibung von Part-DB ausgegeben. Ein paar Neuerungen kamen mittlerweile auch dazu, die allerdings nur "geringfügige" Änderungen im Code waren. Eine Benutzerverwaltung wäre für dieses Umschreiben ein zu großer Eingriff gewesen. Daher steht das für die nächste Version an. Wie genau diese dann implementiert wird, das werden wir hier sicher in der nächsten Zeit diskutieren. Zudem wird das alte Frame-Konzept dann durch moderne Ajax-Technik abgelöst. Die Vorarbeiten dazu habe ich mit dem neuen Filemanager bereits gestartet.
Urban B. schrieb: > Da muss ich dich leider enttäuschen, das wird noch sehr lange dauern bis > das wirklich fertig ist... Hallo Udo, hallo Urban, danke für die ausführliche und verständliche Antwort. Ich muss mir nun überlegen, wie ich kurzfristig damit umgehe. Ich habe heute z.B. gerade festgestellt, dass ich auf die Lieferung von drei ICs gar nicht warten muss, weil ich fünf pinkompatible noch auf dem Dachboden habe. Ich hätte die drei gar nicht bestellen müssen. :-( VG Torsten
So, habe soeben die finale Version 0.3.0 hochgeladen: https://code.google.com/p/part-db/downloads/detail?name=Part-DB_0.3.0.tar.gz Viel Spass damit! ;-) Übrigens kann ich die nächsten 4 Wochen nicht viel an der Part-DB arbeiten, da wiedermal Semesterprüfungen sind... Hier im Forum bin ich aber immer für Fragen erreichbar, das ist kein Problem. mfg
Der Filemanager dürfte jetzt weitgehends fertig sein. Der Upload wird jetzt bei allen Browsern ohne FormData-Support durch ein IFrame bewerkstelligt. Zumindest lief der Test mit dem IE8 unter WinXP erfolgreich. Bitte testet es aus. Bei Auftreten eines Fehlers bitte ein Screenshot (Bildformate beachten!) anfügen, eine Kurzbeschreibung der Aktion und Infos zum Browser angeben. http://phpbookworm.singollo.de/project/part-db/ Grüße Udo Edit: Beim Upload kann die Funktion "Zum Zielverzeichnis wechseln" zusätzliche Files anzeigen, die nicht den erlaubten Typen des Elternverzeichnisses entsprechen. Im Moment ist die durchgängige Weitergabe von Typen noch nicht gegeben.
Folgende Fehler konnte ich entdecken: Opera + FF: Nutzt man "Nach Upload ins Zielverzeichnis wechseln" so wird nach dem Upload bei keinem Bild ein Vorschaubild geladen oder auch Dateiinfos angezeigt(siehe Opera). Wechselt man jedoch direkt mittels "Filemanager (gleiche Seite)" in das Verzeichnis werden die entsprechenden Daten jedoch angezeigt(siehe Opera2) IE: "Filemanager (gleiche Seite)" führt zu einer "undefined" Meldung im rechten Anzeigebereich (siehe IE_seite) "Filemanager (per Popup)" führt zu einem leeren PopUp (siehe IE_popup) "Inhalt löschen" zeigt nur einen leeren rechten Anzeigebereich (siehe IE_loeschen) Testumgebung: Windows Vista 32 Bit Opera 12.15 Firefox 22.0 Internet Explorer 9
Ich hatte heute endlich mal Zeit, die neue Version der part-db zu installieren, nachdem die Alte doch etwas in die Jahre gekommen ist. Leider ist die Installation auf Debian einfach nur zusammengewürfelter Mist. Nach nun 3 Stunden und unendlichen rm -rf part-db su root tar xfv Part.tar.gz ist es mir nicht gelungen, die Abfrage der Dateirechte zu überwinden. Bei mir läuft ein Confixx, so dass der Benutzer nicht zwangsläufig www-data ist. Die Gruppe auf www-data zu belassen und den Benutzer -nicht rekursiv- auf web0 zu setzen hat zumindest die Pfade der Dokumentation aus der roten Liste verschwinden lassen, aber die Parts sind hartnäckig. Ich habe im Laufe der Zeit sicher mehr als 100 verschiedene Web-Applikationen zum Laufen gebracht, aber so ein widerspenstiges Zeug ist mir noch nicht untergekommen ... Schade - hatte mich sehr darauf gefreut !
Gerald *. schrieb: > Folgende Fehler konnte ich entdecken: > > Opera + FF: > Nutzt man "Nach Upload ins Zielverzeichnis wechseln" so wird nach dem > Upload bei keinem Bild ein Vorschaubild geladen oder auch Dateiinfos > angezeigt(siehe Opera). > Wechselt man jedoch direkt mittels "Filemanager (gleiche Seite)" in das > Verzeichnis werden die entsprechenden Daten jedoch angezeigt(siehe > Opera2) Das schaue ich mir mal an. Das diese Funktion nicht ganz sauber funktioniert, hatte ich ja schon angedeutet. Vielleicht spinnt hier die Tokenabsicherung. > IE: > "Filemanager (gleiche Seite)" führt zu einer "undefined" Meldung im > rechten Anzeigebereich (siehe IE_seite) > "Filemanager (per Popup)" führt zu einem leeren PopUp (siehe IE_popup) > "Inhalt löschen" zeigt nur einen leeren rechten Anzeigebereich (siehe > IE_loeschen) > > Testumgebung: > Windows Vista 32 Bit > Opera 12.15 > Firefox 22.0 > Internet Explorer 9 Ich werde dann doch mal Win7 in Virtualbox installieren müssen. Ich hatte mit IE8 getestet und es lief. Ist wohl wieder mal eine JS-Inkompatibilität zu Javascript.
Nachtrag: "Inhalt löschen" löscht nur den rechten Bereich ("Content")
der Webseite und hat sonst keine Funktion :)
> Opera + FF: > Nutzt man "Nach Upload ins Zielverzeichnis wechseln" so wird nach dem > Upload bei keinem Bild ein Vorschaubild geladen oder auch Dateiinfos > angezeigt(siehe Opera). > Wechselt man jedoch direkt mittels "Filemanager (gleiche Seite)" in das > Verzeichnis werden die entsprechenden Daten jedoch angezeigt(siehe > Opera2) Den Fehler konnte ich beheben. Es war ein Folgefehler der Umstellung der Verzeichnisdarstellung in der Liste. Das übergebene Verzeichnis wurde falsch zusammengebaut und daher versuchte das Script eine nicht vorhandene Datei darzustellen. In diesem Zuge habe ich den dafür ursprünglich angedachten 404-Fehler durch eine andere Meldung ersetzt.
Stefan --- schrieb: > Leider ist die Installation auf Debian einfach nur zusammengewürfelter > Mist. Nach nun 3 Stunden und unendlichen > rm -rf part-db > su root > tar xfv Part.tar.gz > ist es mir nicht gelungen, die Abfrage der Dateirechte zu überwinden. Na na, also ich hab extra mal ein Debian in einer VM installiert und die Installation streng nach der Doku durchgeführt. Bei mir klappte das alles ohne Probleme ;-) Auch auf meinem gemieteten Webserver, auf dem anscheinend Confixx läuft (was ich nicht kenne) läuft die Part-DB einwandfrei (Dateien per FTP hochgeladen). Mit "Abfrage der Dateirechte" meinst du die Meldung von Part-DB, oder?
1 | |
Stefan --- schrieb: > Bei mir läuft ein Confixx, so dass der Benutzer nicht zwangsläufig > www-data ist. Die Gruppe auf www-data zu belassen und den Benutzer > -nicht rekursiv- auf web0 zu setzen hat zumindest die Pfade der > Dokumentation aus der roten Liste verschwinden lassen, aber die Parts > sind hartnäckig. Es müsste eigentlich ganz einfach sein. Alle Dateien müssen demjenigen Benutzer gehören, unter dem der Webserver läuft. Bei dir anscheinend "web0" wenn ich dich richtig verstehe. Da muss nichts auf "www-data" belassen werden, das ist im Archiv einfach so voreingestellt weil das bei vielen Linux Distributionen halt der Benutzer ist, unter dem der Webserver läuft. Wenn du das Archiv mit dem Befehl aus der Doku extrahiert hast, müssten jetzt auch schon die Dateirechte stimmen, da die im Archiv bereits richtig gesetzt waren. Somit müsste Part-DB jetzt problemlos laufen. Falls du die Dateirechte selber setzt (aus irgend einem Grund...) musst du natürlich darauf achten, dass die immer rekursiv gesetzt werden. In den Verzeichnissen "data" müssen alle Dateien auf 644, und alle Verzeichnisse auf 755 gesetzt sein. Du hast die Doku schon gelesen, oder? http://www.partdb.grautier.com/svn/documentation/dokuwiki/doku.php Da gibts sogar extra alle Befehle die man braucht, um die Dateirechte/Besitzer manuell einzustellen. In deinem Fall müsstest du nur noch das "www-data" durch "web0" ersetzen.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
Aber wie gesagt, wenn das Archiv mit
1 | |
entpackt wird, ist das Ändern der Dateirechte überflüssig (es sei denn, du entpackt die Dateien irgendwo hin, wo keine UNIX Dateirechte unterstützt werden - das wäre auf einem Linux/UNIX aber sowieso nicht sehr geschickt). Stefan --- schrieb: > Ich habe im Laufe der Zeit sicher mehr als 100 verschiedene > Web-Applikationen zum Laufen gebracht, aber so ein widerspenstiges Zeug > ist mir noch nicht untergekommen ... Das liegt vielleicht auch daran, dass viele Web-Applikationen sich nicht für Dateirechte interessieren. Erst wenn dann wirklich mal das Schreibrecht gebraucht wird, aber nicht vorhanden ist, wird eine Meldung ausgegeben. Part-DB prüft halt bei jedem Aufruf schon ganz am Anfang, ob die benötigten Rechte vorhanden sind. Ist aber ja kein Problem, wenn die Rechte einmal eingestellt sind kommt diese Meldung nie wieder. Ausserdem sind bei anderen Applikationen häufig die Dateirechte im Archiv noch gar nicht richtig gesetzt - keine Ahnung warum, Ich dachte, so ists doch einfacher und sicherer, wenn nach dem Entpacken schon alles (Besitzer und Rechte) stimmt. So kann ein Laie nicht viel falsch machen... Die Doku lesen ist bei Webapplikationen sowieso (mMn) immer Pflicht (zumindest überfliegen), da jede Applikation wieder ganz anders installiert werden möchte. Bei einigen steht in der Doku sogar, dass man die Dateirechte noch auf XY einstellen muss, überprüft wird es nachher aber nicht (OK mittlerweile ist das nicht mehr so schlimm wie früher). So ist doch schon vorprogrammiert dass viele Leute die Dateirechte nicht entsprechend setzen. Ist alles im Archiv schon richtig gesetzt, kann das nicht passieren. Ansonsten wüsste ich nicht, was an Part-DB widerspenstig sein sollte...Ich habe die Installation von Part-DB jetzt schon über ein Dutzend Mal und auf verschiedenen Servern installiert, und hatte nie Probleme ;-) Wenn du es immernoch nicht hinkriegst, erkläre Schritt für Schritt was du machst (Terminal Befehle!), und was für Fehler auftreten (Fehlermeldungen!). Bisher konnte ich nur raten, was dein Problem ist, da die Informationen in deinem Beitrag leider etwas spärlich sind... mfg
Vielen Dank für die Ausführlichen Infos und Kommentare. Ich mache also Folgendes: - Lade die letzte Version https://code.google.com/p/part-db/downloads/detail?name=Part-DB_0.3.0.tar.gz - benenne das Archiv um in part.tar.gz um und schiebe es via FTP in das Verzeichnis www/web0/html/ - mit putty melde ich mich als web0 an, gehe in das html/ Verzeichnis und entpacke das Archiv mit tar xfv part.tar.gz - dann lösche ich die part-db/.htaccess, da ich sonst einen Servererror 500 bekomme. Erstelle den Verzeichnisschutz später selbst - beim Aufruf von domain.de/part-db/ wird dann gequengelt, dass data/... und dokumentation/... nicht die richtigen Rechte haben. Alle Dateien haben als Besitzer www-data erhalten. Ändere ich nun für 'Dokumentation' rekursiv den Besitzer auf web0, dann verschwindet zumindest dieser Zweig aus der Liste. Mache ich das Gleiche auch für 'data' verschwindet auch hier alles, bis auf data selbst. Nun lösche ich das ganze Verzeichnis und entpacke das Archiv noch einmal als root. Wieder werden die gleichen Verzeichnisse angemahnt. Wieder das gleiche Verhalten. Der Aufruf der Dokumentation dauert eine ganze Weile und wirft dann massenhaft Fehlermeldungen: Creating directory /var/www/web0/html/part-db/documentation/dokuwiki/data/cache/9 failed Writing /var/www/web0/html/part-db/documentation/dokuwiki/data/cache/9/9a18521c4 60d062d1e019fd5077a490b.i failed Unable to save cache file. Hint: disk full; file permissions; safe_mode setting. Writing /var/www/web0/html/part-db/documentation/dokuwiki/data/cache/9/9a18521c4 60d062d1e019fd5077a490b.metadata failed Creating directory /var/www/web0/html/part-db/documentation/dokuwiki/data/cache/c failed installation Creating directory /var/www/web0/html/part-db/documentation/dokuwiki/data/cache/9 failed Creating directory /var/www/web0/html/part-db/documentation/dokuwiki/data/cache/9 failed Creating directory /var/www/web0/html/part-db/documentation/dokuwiki/data/cache/9 failed Writing /var/www/web0/html/part-db/documentation/dokuwiki/data/cache/9/9a18521c4 60d062d1e019fd5077a490b.i failed Unable to save cache file. Hint: disk full; file permissions; safe_mode setting. Creating directory /var/www/web0/html/part-db/documentation/dokuwiki/data/cache/c failed Creating directory /var/www/web0/html/part-db/documentation/dokuwiki/data/cache/c failed Writing /var/www/web0/html/part-db/documentation/dokuwiki/data/cache/c/c12087918 8ac7f402d954ad156659fe7.code failed Creating directory /var/www/web0/html/part-db/documentation/dokuwiki/data/cache/6 failed Creating directory /var/www/web0/html/part-db/documentation/dokuwiki/data/cache/6 failed Writing /var/www/web0/html/part-db/documentation/dokuwiki/data/cache/6/6099c0c3e fb701c24e30c06a09512dd0.code failed Creating directory /var/www/web0/html/part-db/documentation/dokuwiki/data/cache/7 failed Creating directory /var/www/web0/html/part-db/documentation/dokuwiki/data/cache/7 failed Writing /var/www/web0/html/part-db/documentation/dokuwiki/data/cache/7/7d38b86b4 5418b4ce60728dcba6ed6ef.code failed Creating directory /var/www/web0/html/part-db/documentation/dokuwiki/data/cache/9 failed Writing /var/www/web0/html/part-db/documentation/dokuwiki/data/cache/9/9a18521c4 60d062d1e019fd5077a490b.xhtml failed Setze ich den Besitzer nun als web0 für alle Dateien und Verzeichnisse, sind data... und dokumentation... wieder rot ! Ich denke nicht, dass man eine solchen Installation Daten anvertrauen, bzw. erst langwierig Daten einpflegen sollte. Was, wenn ein Update erforderlich ist oder was läuft hier noch alles unrund, was evtl. Anfangs nicht bemerkt wird !?
Okay also irgendwas geht da nicht auf. Hast du auch wirklich mal die Terminal Befehle für das Setzen der Besiter/Gruppen/Rechte genau so ausgeführt wie in der Doku beschrieben (einfach "www-data" vorher durch "web0" ersetzt)? Etwas verstehe ich aber nicht: Bei deinem zweiten Versuch hat also Part-DB nicht mehr wegen "/documentation/dokuwiki/data/cache/" gemeckert? Heisst dann also, dass die Funktion is_writable() bei diesem Verzeichnis "true" lieferte. Trotzdem meckerte nachher das DokuWiki, dass dort keine Schreibrechte vorhanden sind?! Vielleicht hilft folgender kleiner Test weiter: Du erstellst eine Datei "test.php" auf dem Server, mit folgendem Inhalt:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
Dann Besitzer/Gruppe auf "web0" und die Dateirechte auf "644" stellen:
1 | |
2 | |
Nun die Seite im Browser aufrufen und die Ausgabe hier posten. Vielleicht sieht man da ja was auffälliges. Ausserdem könntest du noch folgendes ausprobieren: Zuerst ALLE Dateien/Verzeichnisse dem Besitzer und Gruppe "web0" zuordnen und alle Rechte gemäss Doku korrekt setzen! Dann in der start_session.php mal die Zeile
1 | |
durch diese hier ersetzen:
1 | |
Damit wird einfach die Überprüfung der Rechte abgeschaltet. Und dann schau mal, ob du die Installation fortsetzen kannst (der Installer reklamiert dann einfach wenn er zu wenig Schreibrechte hat um die data/config.php zu erstellen). Stefan --- schrieb: > Ich denke nicht, dass man eine solchen Installation Daten anvertrauen, > bzw. erst langwierig Daten einpflegen sollte. Was, wenn ein Update > erforderlich ist oder was läuft hier noch alles unrund, was evtl. > Anfangs nicht bemerkt wird !? Es ist alleine dir überlassen, ob du Part-DB verwenden willst oder nicht ;-) Ausserdem ist keine Software auf dieser Welt fehlerfrei, deshalb sollte man auch bei der besten Software regelmässig die Daten sichern. Ich habe mir beim programmieren wirklich Mühe gegeben und habe sehr viele Stunden investiert, um alle möglichen Konstellationen einmal durchzutesten. Auf der von mir eingesetzten Infrastruktur konnte ich in der Part-DB keine Fehler mehr finden, mehr kann ich auch nicht machen. Ausserdem wurde die 0.3.0 RC2 laut Google Code insgesamt 57 Mal runtergeladen, und keiner hat sich hier über solche Installationsprobleme beschwert... Scheint also bei den meisten Anwendern zu funktionieren ;-) Nachtrag: Da wir Entwickler nur eine beschränkte Infrastruktur zum Testen zur Verfügung haben (wir können nicht alle auf der Welt erhältlichen Webserver testen!), sind wir auch auf die Mithilfe von freiwilligen Testern angewiesen. Deshalb gibt es ja auch die Release Kandidaten. Dank den Rückmeldungen der Tester konnten wir seit der RC1 noch viele Fehler beseitigen. Vielleicht gibt es in Part-DB tatsächlich ein Fehler, der sich nur bei Installationen in Confixx (das ich nicht kenne) bemerkbar macht. Wenn wir einen solchen Fehler finden können, fliesst der natürlich direkt in das nächste Update von Part-DB, damit das Problem in Zukunft nicht mehr auftritt.
Moment mal - Ich habe gerade deinen Beitrag nochmal gelesen und bin jetzt noch verwirrter als vorher. Urban B. schrieb: > Bei deinem zweiten Versuch hat also Part-DB nicht mehr wegen > "/documentation/dokuwiki/data/cache/" gemeckert? Das hast du so ja gar nicht geschrieben, allerdings kam ich wohl wegen diesem Satz auf diese Annahme: Stefan --- schrieb: > Setze ich den Besitzer nun als web0 für alle Dateien und Verzeichnisse, > sind data... und dokumentation... wieder rot ! Das "wieder" würde ja bedeuten, dass diese Verzeichnisse vorher nicht "rot" waren. Doch eigentlich hast du genau das Gegenteil geschrieben: Stefan --- schrieb: > Nun lösche ich das ganze Verzeichnis und entpacke das Archiv noch einmal > als root. Wieder werden die gleichen Verzeichnisse angemahnt. Wenn ich nicht schon wieder was falsch verstanden habe, sind das widersprüchliche Aussagen deinerseits. Erst sagst du, der Rechte-Check meckert, dann sagst du, wenn du den Besitzer der Dateien auf "web0" änderst, fängt der Rechte-Check wieder an zu meckern (obwohl er nie aufgehört hat damit). So ist die Fehlersuche nicht leicht für mich... ;-)
ist blöd und verwirrend - ich bin aus dem Verhalten auch nicht schlau geworden. Ich ändere data/ rekursiv auf web0 und alle data/subs verschwinden aus der Liste. Ändere ich dokumentation/ rekursiv auf web0 und dokumentation verschwindet komplett. Setze ich das komplette Verzeichnis part-db auf web0, sind wieder alle, also data und dokumentation rot. Hier die Ausgabe nachdem ich die test.php über FTP geschoben habe: Prozess-Benutzer: 133 (www-data) Besitzer: 647 (web0) Leserechte : true Schreibrechte: false Dateirechte: 0644 Du magst nicht mal auf den Server schauen ?
Stefan --- schrieb: > Hier die Ausgabe nachdem ich die test.php über FTP geschoben habe: > Prozess-Benutzer: 133 (www-data) Das ist interessant. Dein Webserver läuft also NICHT unter dem Benutzer "web0", sondern unter "www-data"! Daher kommt dann das hier: Stefan --- schrieb: > Schreibrechte: false Jetzt könntest du natürlich mal versuchen, den Besitzer der test.php nach "www-data" zu ändern:
1 | |
Danach sollte der Webserver theoretisch Schreibrechte an dieser Datei haben. Genau so sollte es sich eigentlich auch bei Part-DB verhalten. Stefan --- schrieb: > Du magst nicht mal auf den Server schauen ? Doch kann ich machen, schick mir einfach mal eine PN dann können wir per Mail weiter kommunizieren, statt hier den Thread zu "belästigen". Leider kenne ich die Infrastruktur von Hostern nicht wirklich, ich weiss nicht wie die sich das vorstellen wie das funktionieren soll. Wenn der Webserver unter dem gleichen Benutzer läuft wie der FTP-Upload (so ist es bei meinem Hoster), ist alles klar, dann genügen die Dateirechte 644 damit ein PHP Skript eine andere Datei beschreiben kann. Läuft jedoch beides auf unterschiedlichen Benutzern, genügen 644 ja nicht mehr, dann brauchts je nachdem entweder 664 oder sogar 666, damit der Webserver Schreibrechte erhält. Anscheinend soll es ja Hoster geben, bei denen das so ist (?). Allerdings müsste man dann ja alle "data" Verzeichnisse (egal ob von Part-DB, irgendeinem CMS oder sonstwas) auf 777 stellen damit die Applikation richtig läuft, doch sicherheitstechnisch ist das doch alles andere als ideal...Naja, vielleicht taucht hier ja mal jemand auf der sich damit auskennt und uns aufklären kann :-)
Manchmal reicht es auch, anstelle des Users www-data die entsprechende Gruppe und dementsprechende Rechte zu vergeben. Da ich selbst kein Debian verwende - ich nutze openSUSE - kann ich leider nicht sagen, wie die Gruppe heißt. Steht das nicht irgendwo in der Hilfe für den Webspace? Aber eigentlich müsste das auch im FTP angezeigt werden. PS: Der Upload im Filemanager läuft auch im IE10. Der hatte sich noch über overrideMimeType beschwert.
OK also wir konnten die Ursache finden. Und zwar war das Problem, dass die PHP Funktion is_executable() anscheinend bei Verzeichnissen immer "false" lieferte, auch wenn das executable bit gesetzt war. In der offiziellen Doku wird davon leider nichts erwähnt. Leider habe ich aber nicht gesehen, dass dort ein User einen interessanten Kommentar geschrieben hat: > The change doesn't appear to be documented, so I thought I would mention > it. In php5, as opposed to php4, you can no longer rely on is_executable > to check the executable bit on a directory in 'nix. You can still use > the first note's method to check if a directory is traversable: > @file_exists("adirectory/."); sieht zwar irgendwie mehr nach einem Workaround aus, aber wenns funktioniert^^ Ich frage mich allerdings, ob es sich lohnt dafür eine neue Version 0.3.1 rauszugeben. Bisher hat sich ja noch niemand über dieses Problem beschwert, bei den meisten PHP Installationen scheint is_executable() also nach wie vor auch mit Verzeichnissen zu funktionieren...
Ich würde jetzt keine neue Version herausbringen, sondern eine passende Lösung z.B. mit is_dir() oder is_file() in den 0.3er Zweig einbauen und als neue Revision freigeben. Es ist bleibt wohl ein Sonderfall und ist meiner Meinung nach nicht wichtig genug für ein Bugfix. Am besten sammeln wir bis Ende August alle Meldungen und entscheiden dann, ob eine neue Revision notwendig wird. Dann könnten wir die weitere Entwicklung starten und die aktuelle Version als 0.3er Branch weiter führen. Das käme mir auch zu Gute, denn ich hab diesen Monat eine andere Webseite umzustellen und könnte da zumindest den Ajax- und DOM-Teil des Javascript-Framework des Filemanagers ausgiebig testen :) Edit: is_writable() zum Prüfen, ob das Verzeichnis beschreibbar ist, ist auch sinnvoll ;) Allerdings scheinen die Datei-/Verzeichnisoperationen teilweise völlig unterschiedliche Ergebnisse unter *nix und Windows zu bringen, obwohl das nicht wirklich sinnig ist. http://stackoverflow.com/questions/109188/how-do-i-check-if-a-directory-is-writeable-in-php
Udo Neist schrieb: > Ich würde jetzt keine neue Version herausbringen, sondern eine passende > Lösung z.B. mit is_dir() oder is_file() in den 0.3er Zweig einbauen und > als neue Revision freigeben. Es ist bleibt wohl ein Sonderfall und ist > meiner Meinung nach nicht wichtig genug für ein Bugfix. Jo, sehe ich momentan auch so. Falls sich noch mehr Leute mit dem selben Problem melden, können wir immernoch ein offizielles Update rausgeben. Udo Neist schrieb: > Edit: is_writable() zum Prüfen, ob das Verzeichnis beschreibbar ist, ist > auch sinnvoll ;) Schreibrechte alleine genügen aber nicht, um Dateien in einem Verzeichnis zu erstellen/bearbeiten. Dazu ist immer auch das "executable bit" nötig, also die Ausführrechte (die bei Verzeichnissen eine andere Funktion haben als bei Dateien). Es macht also schon Sinn, die Ausführrechte zu prüfen. Was hingegen keinen Sinn macht, ist das kastrieren der is_executable() Funktion, so dass diese nur noch mit Dateien funktioniert... ;-) Was die sich dabei wohl überlegt haben?! Übrigens bezüglich Branches hätte ich das folgendermassen gedacht: - Die finale 0.3.0 liegt als Kopie in tags/ und bleibt dort unangetastet - Die weitere Entwicklung an der 0.3.0 findet wie gewohnt im trunk statt - Es kommen grundsätzlich erstmal KEINE grossen Neuerungen (z.B. Benutzerverwaltung, Barcode-Tools, Filemanager) in den trunk. Jedes dieser Features soll seinen eigenen Branch kriegen, der vom trunk abgeleitet wird. Erst wenn ein solches Feature bereit zum testen ist (funktionierend, kann aber ruhig noch Fehler enthalten) wird es in den trunk übernommen. Sobald im trunk dann die neuen Features als stabil betrachtet werden können, kann ein neues Release herausgegeben werden. - Ich werde gleich noch einen Branch für den Zweig "0.3.x" erstellen. Wenn es später mal Updates für die 0.3.0 geben soll (nur Bugfixes!), sollen die Bugfixes erst in den trunk aufgenommen, und vom trunk dann in den "0.3.x" Branch übernommen werden. So ist immer ein Branch bereit, um ein Update für die 0.3er Versionen zu erstellen (der trunk ist dafür ja nicht brauchbar, da dieser nicht immer stabil ist). mfg
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.










