Erweiterung von Freetz (Skins und Toolbox)

Hi,
gleich eine Bitte ... wäre es möglich dann eine klitzekleine Änderung in die service.sh einzubauen?? ;)

... in Zeile 9 wäre eine id= Zuweisung einzusetzen:
echo "<td><form class='btn' action='${STAT_SERVICE_URL}/$pkg/$daemon' method='post'><input id='$cmd' type='submit' name='cmd' value='$cmd'$disabled></form></td>"
die Änderung können wir so nicht machen: IDs müssen auf der ganzen Seite eindeutig sein. Es darf nicht mehrere mit ID "start" etc. geben.

Wir könnten stattdessen die Klasse (class) des Elements erweitern. Aber prinzipiell sind die Buttons doch jetzt schon eindeutig adressierbar:
Code:
.daemons input[value="start"] {
   /* ... */
}

Viele Grüße

Andreas
 
Zuletzt bearbeitet:
Hi,

die Änderung können wir so nicht machen: IDs müssen auf der ganzen Seite eindeutig sein. Es darf nicht mehrere mit ID "start" etc. geben.

Wir könnten stattdessen die Klasse (class) des Elements erweitern. Aber prinzipiell sind die Buttons doch jetzt schon eindeutig adressierbar:
Code:
.daemons input[value="start"] {
   /* ... */
}

Viele Grüße

Andreas

Ahh, ok ... danke für die schnelle Antwort, das werd ich probieren ... wenn das so auch funktioniert, ist das oben hinfällig ... Grüße.
 
IDs müssen auf der ganzen Seite eindeutig sein. Es darf nicht mehrere mit ID "start" etc. geben.
Gibt es denn mehrere Buttons mit dieser Id auf einer Seite? Ansonsten kann man einem Element auch mehrere Klassen geben, wobei das Element in diesem Fall noch gar keine Klassen-Zuweisung hat.

Die Selektion über input[value] mag zwar funktionieren, ich finde es aber nicht gut, dort den Text der Beschriftung zu nutzen. Was passiert, wenn man die Beschriftung in der Oberfläche anpasst? Was, wenn man die Sprache ändert? Besser eine Klasse "start", die unabhängig von der Beschriftung ist.
 
Ach stimmt, beim Submit-Button ist "value" sowohl für den übermittelten Wert als auch die Beschriftung da, richtig? (Wer hat sich das nur ausgedacht?) Dann sollten wir in der Tat noch eine Klasse setzen, um unabhängig zu bleiben.

PS: Ja, auf der Dienste-Seite sind Dutzende der Start-, Stop-, Restart-Buttons untereinander.
 
Ja, auf der Dienste-Seite sind Dutzende der Start-, Stop-, Restart-Buttons untereinander.
Dann kann man ja als Id "start_$dienst", "stop_$dienst", "restart_$dienst" nehmen. Zusätzlich als Klassen "$dienst" und "start/stop/restart". Damit kann man allgemein alle Start-Knöpfe grün machen, und spezielle Knöpf rot/grün kariert, oder wie auch immer.
 
... Damit kann man allgemein alle Start-Knöpfe grün machen, und spezielle Knöpf rot/grün kariert, oder wie auch immer.

... rot/grün kariert das läßt sich in css nicht definieren, geht nur über ein Hintergrund-Image, ... ;) ... und die wollten wir ja soweit als möglich weglassen ... ;)

... wobei ich den weiter o.g. Eintrag in die sevice.sh gemacht hab und damit ging es ... bisher auch ohne irgendwelche offensichtlichen Fehlleistungen ... vei Anfängerglück ... oder wie war das mit dem Huhn und dem Korn ... ???

... wobei die Anregung von Hermann mit der Design-Auswahl eine gute Sache sein könnte ... funktionieren tut es erst mal ... ich habs i.M. nur provisorisch gelöst, indem ich in den skin-Skripten das ausgewählet Design vom Stick nach /usr/share mounte ... (siehe screens)
 

Anhänge

  • Freetz.JPG
    Freetz.JPG
    98.5 KB · Aufrufe: 48
  • Freetz3.JPG
    Freetz3.JPG
    51.4 KB · Aufrufe: 44
  • Freetz2.JPG
    Freetz2.JPG
    50.7 KB · Aufrufe: 40
Zuletzt bearbeitet:
Auch die Hintergrund-Grafiken kann man über CSS setzen, wobei das kariert sowieso nicht ganz ernst gemeint war.

Gleiche Ids sollte man nicht verwenden, aber was die Auswahl der CSS-Formatierung betrifft, wird es vermutlich trotzdem keine Probleme damit geben. Eher, wenn man über JavaScript auf einzelne Elemente zugreifen will.

Die Bilder sehen gut aus, speziell wenn sie mit gleichem HTML und nur unterschiedlichem CSS erstellt sind.
 
wobei das kariert sowieso nicht ganz ernst gemeint war.

... ja das weiß ich doch ... ;)


Die Bilder sehen gut aus, speziell wenn sie mit gleichem HTML und nur unterschiedlichem CSS erstellt sind.

... ja, Änderungen wurden nur im css vorgenommen und auf die Grafiken wurde nur im css verwiesen ... somit sollte das passen ... :)
 
Zuletzt bearbeitet:
Farben kann man bei den Knöpfen auch machen. Schau doch meine R und W Knöpfe bei mounted.cgi. Es gibt da allerdings Probleme bei der Darstellung von Ränder / Schatten. FF und IE hatten sich früher da etwas unterschiedlich verhalten. Man könnte aber schon mit viel Mühe und Ausprobieren eine Lösung finden, die für beide Browser halbwegs funktioniert. So ginge es mir damals mit mounted.cgi. Da hatten wir auch 2-3 Schleifen gedreht, bis es endlich passte und Knöpfe sich nicht mehr verrutscht haben.

Ansonsten würde ich sagen weiter so, Dropsrolle! Du hast schon die besten Experten von uns hier zu deiner Hilfe mobilisieren können. Wir lotsen dich schon durch, so ist es nicht. Her mit deinen Fragen, wenn du welche hast und her mit den Vorschlägen. Dann wird auch was daraus.

MfG

MfG
 
... Farben kann man bei den Knöpfen auch machen. Schau doch meine R und W Knöpfe bei mounted.cgi. Es gibt da allerdings Probleme bei der Darstellung von Ränder / Schatten. FF und IE hatten sich früher da etwas unterschiedlich verhalten. Man könnte aber schon mit viel Mühe und Ausprobieren eine Lösung finden, die für beide Browser halbwegs funktioniert. So ginge es mir damals mit mounted.cgi. Da hatten wir auch 2-3 Schleifen gedreht, bis es endlich passte und Knöpfe sich nicht mehr verrutscht haben.

Moin Hermann, jou ... die Probleme mit den Browsern kenne ich nur zu gut ... was mit FF gut aussieht kannste dann beim IE knicken ... und mit den Farben der Knöpfe ... wie Du schon sagst, die Farbe ist nicht das Problem ... eher die verrutschte Beschriftung ... und; die haben es auch im neuen IE immer noch net hinbekommen, dass runde Ecken dargestellt werden ... (oder ich hab was verpasst)

Ansonsten würde ich sagen weiter so, Dropsrolle! Du hast schon die besten Experten von uns hier zu deiner Hilfe mobilisieren können. Wir lotsen dich schon durch, so ist es nicht. Her mit deinen Fragen, wenn du welche hast und her mit den Vorschlägen. Dann wird auch was daraus.

MfG

... hmm, so wie es sich jetzt anfühlt sieht es Gut aus ... wie schon gesagt, gebt mir noch ein paar Tage, dann werd ich die /abgespeckte) Toolbox mal hier posten und ihr könnt Euch ein Bild davon machen ... ich bin grad noch dabei, wenigstens ein paar von deinen Vorschlägen mit reinzutun (bei Freetzmount bin ich allerdings noch net angekommen :() ...
Was mir im Moment ein bissel Fragen aufwirft ist folgendes; ich hab es jetzt beim Formatieren und beim File-Check so gelöst, dass (auf dem Stick laufende) Dienste gestoppt werden - betrifft beispielsweise external oder swap - evtl. vorhandene mounts werden getrennt und das Laufwerk wird zum Format oder Check ausgehangen ... wenn das erledigt ist, wird das Laufwerk wieder eingehangen - swap und external werden wieder gestartet. Weder bei Format, noch beim File-Check ist somit ein Reboot nötig ... ABER; bei der Fülle an Diensten, welche auf dem Stick laufen KÖNNTEN, ist es sicherlich (fast) unmöglich auch alles zu erwischen und zu stoppen ...
Bliebe der Lösung gegenüber noch die Holzhammermethode - den Stick eiskalt auszuhängen, die AVM-Dienste ggf. zu stoppen und nach Format oder Check einen Reboot der Box zu veranstalten ...

Die elegantere Methode ist sicher die erstgenannte (ist auch mein Favorit ;)), aber wie schon gesagt ... wer garantiert, das dann alles (vom Stick) gestoppt wird bzw. wie wäre das zu bewerkstelligen ... :confused:

Grüße.
 
Du kannst dir anschauen, welche Prozesse noch auf den USBStick zugreifen:
Code:
lsof | grep /var/media/ftp/
 
Aber nur wenn man lsof auch mit auf der Box hat, standardmäßig ist das nämlich nicht der Fall.
 
@Dropsrolle: Deswegen sage ich dir FREETZMOUNT! Schau es dir bitte dringends an! Dort mache ich nämlich nicht ein reines "umount", sondern deutlich etwas mehr, nämlich greife in die üblichen AVM-hotplug-Routinen rein. Bzw. besser gesagt: FREETZMOUNT integriert sich in die Funktionen fest ein. Aus diesem Grund kannst du wenigstens AVM-Prozesse, die auf den Stick zugreife (z.B. Anrufbeantworter, Fax usw.) SAUBER beenden, wie AVM es macht. Du kannst es dir bei den mounted.cgi z.B. abschauen. Meine berühmten "unmount"-Knöpfe machen es genau nach der Methode.
Darüber hinaus hat sich cuma mit seinem external auch an den passenden Stellen an FREETZMOUNT "angehängt", sodass im Normalfall ALLE external-Dienste zunächst beendet werden, wenn man Laufwerke über FREETZMOUNT aushängt. "Normalfall" heißt hier, dass dem external zunächst mal bekannt werden muss, welche Dienste das denn sind. Im WebIF habe ich eine Eingabemaske gesehen, wo man diese Dienste eintragen könnte. Und wenn ich mich nicht irre, geht es sogar so weit, dass die Pakete/Dienste, die auf dem Standardwege externalisiert werden, automatisch in diese (oder eine andere) Liste eingetragen werden. Somit werden sie immer automatisch beendet, wenn man die Partition über FREETZMOUNT aushängt. cuma möge mich berichtigen, wenn ich da falsch liege.
D.h. für dich, Dropsrolle, dass du lediglich diese Liste vom cuma's external vernünftig bedienen muss, wenn du dafür sorgen willst, dass die Dienste sich beenden.

Was FREETZMOUNT bis jetzt noch nicht kann, was allerdings in den hotplug-Skripten von AVM vorgesehen ist und theoretisch möglich wäre, ist das Wieder-Mounten der zuvor ausgehängten Partition. Um dies zu können, brauchst du einige Informationen über major und minor vom Device. Dann hättest du die AVM-Skripte (do_mount() und do_unmount()) direkt ansprechen können. Bei einem uStor01 ist z.B. major=0, minor=1. Schau einfach in die hotplug-Skripte rein, dann wirst du hoffentlich verstehen, was ich meine.

Ferner gibt es da ein weiteres Problem. Die normale unmount-Prozedur, an die wir uns mit FREETZMOUNT "anhängen", hängt normalerweise die Mountpoints nicht nach dem Device aus, sondern nach dem Ziel. Für die Fälle, die uns und AVM betreffen, ist es ok, für die check-Routinen ist es aber nicht ausreichend. Denn es kann ja sein, dass sda1 auch zwei Mal gemounted ist, einmal als Verzeichnis /mnt/MydirA und einmal als /mnt/MyDirB. Ich weiß jetzt nicht mehr, wie sich die hotplug-Skripte in einem solchen Fall verhalten. Denn du kannst beim umount als Parameter sowohl /dev/sda1 angeben (was für dein Fall sinnvoll wäre) oder eben /mnt/MyDirA. Im ersten Fall werden beide Mounts ausgehängt, im zweiten nur mit dem /mnt/MyDirA. Deswegen muss man da genau die hotplug-Skripte reviewen, wie die AVMs es da verbrochen haben. Und zum reviewen sag ich dir gleich: AVM hat alles andere als guten Programmierstil. Deswegen wirst du dich da wundern, wie stark da alles verquickt ist. Mit FREETZMOUNT hatte ich mich lediglich an die bestehende Struktur "abgehängt", ohne sie großartig zu verändern. Die beiden entscheidenen Funktionen von AVM do_mount() und do_unmount() haben inzwischen bis zu 5 Eingangsparameter, die nach Lust und Laune bestückt werden können. Ich hatte hier irgendwo in IPPF meine Untersuchungen dazu gepostet gehabt. Da steht es auch in etwa, wie man sie ansprechen kann. Ansonsten muss man sich durch die Quellen quelen.

Es wäre vielleicht sogar sinnvoll in FREETZMOUNT 2-3 neue Funktionen einzuführen, die man separat und ohne diese 5 Parameter zu kennen aufrufen könnte. Z.B. irgendwas in der Art:
Code:
do_extended_unmount /dev/sda1 # nach Device
do_extended_unmount "MyLabel" # nach Label
do_extended_unmount /dev/sda # nach Medium

do_automatic_mount /dev/sda1 # /dev/sda1 wieder mounten
do_automatic_mount /dev/sda # alles auf dem Medium /dev/sda wieder mounten, was ausgehängt wurde
do_automatic_mount "MyLabel" # Partition mit dem Label "MyLabel" mounten
Solche Funktionen würden uns auch an anderen Stellen sicherlich helfen. Die Parameter und die Namen sind natürlich nur als Beispiel angedacht.

MfG
 
Zuletzt bearbeitet:
@Dropsrolle: Deswegen sage ich dir FREETZMOUNT! Schau es dir bitte dringends an!

MfG

O.K. Hermann ... dann mach ich das ... Danke Dir nochmals für Deine Erläuterung, für mich war das sooo eben doch noch nicht klar ... aber ein Tritt in den Hintern sollte das etwas beschleunigen (Scherz ;)) ... aber heute ist Herrentag und da gehts jetzt erst mal zum Grillen ...

... man schreibt sich, bis denn ...
 
@Dropsrolle: Damit du nicht lange suchen musst (denn FREETZMOUNT liefert mittlerweile sehr viele Treffer), das sind die Ursprungsthreads:
http://www.ip-phone-forum.de/showthread.php?t=200293
http://www.ip-phone-forum.de/showthread.php?t=204941

Anbei ist noch eine Datei infos.txt beigefügt. In der ersten 3 Zeilen dieser Datei stecken die wesentlichen Informationen, wie man die AVM-Hotplug-Skripte anspricht. Achtung! Diese Informationen sind etwas veraltet und stammen aus November 2009. Inzwischen hat AVM Einiges an den hotplug-Skripten verändert. Teilweise hatten wir es auch im Trunk umgesetzt und FREETZMOUNT angepasst, aber eben auch noch nicht alles.

Das Ansprechen von dem Hauptskript namens "storage" dürfte aber so geblieben sein, wie in der Datei angezeigt.

Die besagten drei Zeilen hatte ich damals relativ aufwendig erzeugt indem ich mich in die hotplug-Skripte "zwischengehängt" hatte und die Aufrufe seitens AVM mitgelogt hatte. Somit konnte ich die drei Möglichkeiten identifizieren:
Code:
storage unplug /var/media/ftp/FAT
storage remove 002 /proc/bus/usb/001/002 sda
storage add 003 /proc/bus/usb/001/003 1307 0165 0

1. unplug: Unmount einer Partition
2. remove: Unmount von einem kompletten Device/Medium (also alle Partitions)
3. add: Automount von einem kompletten Device/Medium

Wie du siehts, ist die Sache sogar noch komplizierter. "storage" kann nämlich keine einzelne Partition mounten, sondern nur komplettes Medium. Wenn ich mich noch richtig erinnere, passiert es dort auf eine ziemlich harte und brutale Art und Weise, wie es bei AVM so üblich ist. Es wird also dabei nicht davon ausgegangen, dass einige der Partitions noch eingebunden sind. Ergo: Wir müssen für dieses "add" noch eine andere Möglichkeit verschaffen, die vielleicht "partadd" oder ähnlich heißt. In den Funktionen do_mount() und do_unmount() gibt es auf jeden Fall Möglichkeiten auch einzelne Partitionen zu mounten.

Und beim "add" brauchst du nicht major und minor, wie ich vorher sagte, sondern eher Informationen über dein Device, wie Vendor-ID, Device-Nr auf deinem USB-Bus und sonstiges. Das ist deswegen so, weil AVM ja auch die Namen nach Vendor-ID vergibt. Auch an der Stelle wäre es sinnvoll zu überlegen unsere eigene "add"-Funktion zu schreiben, die nicht so blöd mit den Eingangsparameter bedatet werden muss, sondern eher mit dem Device-Nr. auf USB-Bus alleine zurecht kommt, oder evtl. noch etwas intelligenter agiert und nach bestimmt belabelten Partitionen oder nach bestimmten Vendor-IDs oder Ähnlichem durchsucht. Und natürlich nicht so brutal handelt, wie AVM es tun, sondern zunächst checkt, ob dieses Medium denn schon bereits gemountet ist.

MfG
 

Anhänge

  • infos.txt
    3.5 KB · Aufrufe: 3
Moin ... Vorschlag für IPPF-Design/Skin ... (Screen) ... ohne Icons/Images ... nur Änderungen im css ...
 

Anhänge

  • Freetz.JPG
    Freetz.JPG
    90.5 KB · Aufrufe: 46
Die Schrift der ausgegrauten Knöpfe ist zu grell / zu kontrast und lässt dagegen nicht darauf schließen, dass die Knöpfe ausgeblendet sind. Und mit den Rändern hast du tatsächlich Probleme...
Warum kriegst du es nicht so gebogen, wie bei mir in mounted.cgi? Schau dir das beigefügte Bild an. Bei /dev/sda6 ist der "R"-Knopf gedrückt. Und man sieht es sofort an dem Schatten.
Schau doch in den css diese Knöpfe ab. Wenn ich mich nicht irre, hatte ich dafür extra classes oder styles im Haupt-ccs-Sheet definiert.

Mit welchem Browser hast du dein Bild gemacht?

MfG
 

Anhänge

  • mounted_cgi_knoepfe.jpg
    mounted_cgi_knoepfe.jpg
    81.8 KB · Aufrufe: 41
Die Schrift der ausgegrauten Knöpfe ist zu grell / zu kontrast und lässt dagegen nicht darauf schließen, dass die Knöpfe ausgeblendet sind. Und mit den Rändern hast du tatsächlich Probleme...
Warum kriegst du es nicht so gebogen, wie bei mir in mounted.cgi? Schau dir das beigefügte Bild an. Bei /dev/sda6 ist der "R"-Knopf gedrückt. Und man sieht es sofort an dem Schatten.
Schau doch in den css diese Knöpfe ab. Wenn ich mich nicht irre, hatte ich dafür extra classes oder styles im Haupt-ccs-Sheet definiert.

Mit welchem Browser hast du dein Bild gemacht?

MfG



Moin.
Bild wurde mit FF geschossen ... wie im Post oben auch geschrieben ... es soll erst mal nur ein VORSCHLAG sein, in Anlehnung an Euer-Bord-Style ... und da sind die Knöpfe nun mal so ... :rolleyes: ... dass man an sämtlichen Knöfen Border definieren kann und unterschiedlicher Farbe, Style usw., und die anders aussehen können, wenn ein Button inaktiv oder aktiv ist, das weiß ich doch ... es geht hier doch in erster Linie darum, dass IHR mir sagt, wie es am Ende aussehen sollte ...

Ich meine, einen Anfang dazu hast Du ja gemacht, Hermann ... wenn EUCH generell die Anlehnung an den Boardstyle nicht gefällt, so sagts mir ganz einfach und ein paar Vorschlage zu Form und Farben wäre sicherlich ganz hilfreich, das hatte ich aber weiter oben auch schon geschrieben ...

MfG

//EDIT://
Ich reich hier mal ein Bild mit IE 9.0 nach ... wie schon mal angedeutet, auch mit dem iss immer noch nix mit runden Ecken ...
 

Anhänge

  • Freetz2.JPG
    Freetz2.JPG
    84.5 KB · Aufrufe: 26
Zuletzt bearbeitet:
Farben sind egal. Wenn es dir blau gefällt, mach es doch in Blau. Wenn wir hier anfangen noch über die farben zu diskutieren, dann kann man es vergessen. Ich kenne noch die Diskussion damals mit bunten Balken unter Partitionen. Es gab hier eine Fraktion der Farbfeinde, die unbedingt graue Balken haben wollte. Dein gräuliches Blau geht schon in eine besser diplomatische Richtung, als meine grünen Balken mit der roten Schrift usw.
Was du beim Design beachten solltest:
1. Frag nicht nach Farben, mach es einfach. Sonst bekommst du hier nur 3 Meinungen von 2 Personen.
2. Verändere bitte Vorsichtig Schriftgrößen, Breiten, Höhen, Abstände.
3. Checke deine Änderungen im Design an möglichst vielen Paketen.
4. Arbeite sorgfältig und mache es gleich mit allen Schatten richtig.
5. Poste hier deine Vorschläge als Bild und Patch gegen Trunk.

2 und 3 sind sehr wichtig, weil nicht alle Pakete sich an das Hauptdesign halten und oft durch Designs "zerschossen" werden. AVM-Firewall war z.B. so ein Kandidat, weil es sehr viel Breite benötigt.

Viel Erfolg!

MfG
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.