packages/fff: Add package fff-web-l3config #12

Closed
ChristianD wants to merge 1 commits from ChristianD/firmware:l3configweb into master
Member

With this package the layer3 configuration can make and change in the webui.
All function from configuregateway can use with the buttons.

This patch can only be applied after:
fff-layer3: Add script to load vlan defaults
fff-layer3: Make it easier to keep the settings in testmode

Signed-off-by: Christian Dresel freifunk@dresel.systems

With this package the layer3 configuration can make and change in the webui. All function from configuregateway can use with the buttons. This patch can only be applied after: fff-layer3: Add script to load vlan defaults fff-layer3: Make it easier to keep the settings in testmode Signed-off-by: Christian Dresel <freifunk@dresel.systems>
Author
Member

Ich bin sehr offen für sprachliche Verbesserungsvorschläge. Das ist allgemein nicht ganz einfach da passende Texte (und auch Button Beschriftungen) zu finden. Wer hier gute Vorschläge hat unbedingt sagen.

Ich bin sehr offen für sprachliche Verbesserungsvorschläge. Das ist allgemein nicht ganz einfach da passende Texte (und auch Button Beschriftungen) zu finden. Wer hier gute Vorschläge hat unbedingt sagen.
adschm reviewed 2020-12-14 12:03:57 +01:00
adschm left a comment
Owner

Ein paar Whitespace-Remarks für den Anfang.

Ein paar Whitespace-Remarks für den Anfang.
@ -0,0 +39,4 @@
$(eval $(call BuildPackage,fff-l3webconfig))
Owner

Leere Zeilen am Ende können weg.

Leere Zeilen am Ende können weg.
ChristianD marked this conversation as resolved
@ -0,0 +1,82 @@
#!/usr/bin/haserl
Owner

Eine Leerzeile reicht.

Eine Leerzeile reicht.
ChristianD marked this conversation as resolved
@ -0,0 +59,4 @@
</table>
</fieldset>
Owner

Eine Leerzeile reicht.

Eine Leerzeile reicht.
ChristianD marked this conversation as resolved
@ -0,0 +79,4 @@
</table>
<%in /www/include/footer %>
Owner

Leerzeile am Ende der Datei kann weg.

Leerzeile am Ende der Datei kann weg.
ChristianD marked this conversation as resolved
Author
Member

Zur Info wer selbst bauen will:
Ich hab vergessen das package irgendwo zu selektieren, nachdem alle Abhängigkeiten aus der commitmsg und dieses Patch angewahnt wurden, muss noch:

src/packages/fff/fff/variant-layer3.mk

bearbeitet werden und zwar:

DEPENDS:=+fff-base +fff-gateway

ersetzen durch

DEPENDS:=+fff-base +fff-gateway +fff-l3webconfig

Zur Info wer selbst bauen will: Ich hab vergessen das package irgendwo zu selektieren, nachdem alle Abhängigkeiten aus der commitmsg und dieses Patch angewahnt wurden, muss noch: src/packages/fff/fff/variant-layer3.mk bearbeitet werden und zwar: DEPENDS:=+fff-base +fff-gateway ersetzen durch DEPENDS:=+fff-base +fff-gateway +fff-l3webconfig
Owner

Zur Info wer selbst bauen will:
Ich hab vergessen das package irgendwo zu selektieren, nachdem alle Abhängigkeiten aus der commitmsg und dieses Patch angewahnt wurden, muss noch:

src/packages/fff/fff/variant-layer3.mk

bearbeitet werden und zwar:

DEPENDS:=+fff-base +fff-gateway

ersetzen durch

DEPENDS:=+fff-base +fff-gateway +fff-l3webconfig

Und danach
touch src/packages/fff/fff/Makefile
wenn man nur per ./buildscript build bauen will.

> Zur Info wer selbst bauen will: > Ich hab vergessen das package irgendwo zu selektieren, nachdem alle Abhängigkeiten aus der commitmsg und dieses Patch angewahnt wurden, muss noch: > > src/packages/fff/fff/variant-layer3.mk > > bearbeitet werden und zwar: > > DEPENDS:=+fff-base +fff-gateway > > ersetzen durch > > DEPENDS:=+fff-base +fff-gateway +fff-l3webconfig Und danach `touch src/packages/fff/fff/Makefile` wenn man nur per `./buildscript build` bauen will.
adschm added the
packages/fff
layer3
labels 2020-12-14 13:37:37 +01:00
adschm added the
feature
label 2020-12-14 14:16:20 +01:00
adschm reviewed 2020-12-14 14:22:29 +01:00
@ -0,0 +12,4 @@
CATEGORY:=Freifunk
TITLE:= Freifunk-Franken layer3 config webui
URL:=http://www.freifunk-franken.de
DEPENDS:=+uhttpd \
Owner

Tatsächlich hast du hier eine Dependency auf fff-web. Dafür kann uhttp dann raus.

Abgesehen davon würde ich persönlich überlegen, ob wir für die Dependencies die folgende neue Syntax verwenden:

	DEPENDS:= \
		+fff-gateway \
		+fff-web

Dann haben wir nicht mehr das Problem, das wir spaces und tabs mischen müssen, und es sieht trotzdem einigermaßen aus.

Tatsächlich hast du hier eine Dependency auf fff-web. Dafür kann uhttp dann raus. Abgesehen davon würde ich persönlich überlegen, ob wir für die Dependencies die folgende neue Syntax verwenden: ``` DEPENDS:= \ +fff-gateway \ +fff-web ``` Dann haben wir nicht mehr das Problem, das wir spaces und tabs mischen müssen, und es sieht trotzdem einigermaßen aus.
Owner

Und warum macht dieses Kack-gitea immer spaces, wenn ich tabs verwende ...

Und warum macht dieses Kack-gitea immer spaces, wenn ich tabs verwende ...
ChristianD marked this conversation as resolved
adschm reviewed 2020-12-14 14:27:12 +01:00
@ -0,0 +10,4 @@
define Package/fff-l3webconfig
SECTION:=base
CATEGORY:=Freifunk
TITLE:= Freifunk-Franken layer3 config webui
Owner

Bitte hier das Leerzeichen nach dem "=" wegmachen

Bitte hier das Leerzeichen nach dem "=" wegmachen
ChristianD marked this conversation as resolved
Owner

Ich würde generell überlegen, ob man den Namen Richtung fff-web-l3, fff-web-layer3 oder fff-web-l3config anpasst. Dann hätte man irgendwann eine Gruppe von 'fff-web-*' Paketen, die sich auch optisch als Gruppe absetzen.

Ich würde generell überlegen, ob man den Namen Richtung fff-web-l3, fff-web-layer3 oder fff-web-l3config anpasst. Dann hätte man irgendwann eine Gruppe von 'fff-web-*' Paketen, die sich auch optisch als Gruppe absetzen.
Author
Member

@adschm

Ich würde generell überlegen, ob man den Namen Richtung fff-web-l3, fff-web-layer3 oder fff-web-l3config anpasst. Dann hätte man irgendwann eine Gruppe von 'fff-web-*' Paketen, die sich auch optisch als Gruppe absetzen.

Da ich fast damit rechne das da noch mehr Pakete kommen bin ich da ganz bei dir. Wir müssen uns jetzt nur einig werden wie genau.
Mein Vorschlag:

fff-web-l3config

Begründung:
Die ersten 2 sind zu allgemein, config beschreibt dafür sehr gut was das Paket tut.

@adschm >Ich würde generell überlegen, ob man den Namen Richtung fff-web-l3, fff-web-layer3 oder fff-web-l3config anpasst. Dann hätte man irgendwann eine Gruppe von 'fff-web-*' Paketen, die sich auch optisch als Gruppe absetzen. Da ich fast damit rechne das da noch mehr Pakete kommen bin ich da ganz bei dir. Wir müssen uns jetzt nur einig werden wie genau. Mein Vorschlag: fff-web-l3config Begründung: Die ersten 2 sind zu allgemein, config beschreibt dafür sehr gut was das Paket tut.
Owner

fff-web-l3config

Damit kann ich gut leben. Ich würde vorschlagen, das bis auf Weiteres dann zu verwenden. Mit dem PR updaten kannst du ja ggf. noch warten, bis wir auch wissen, wo die Dependency dann hinmuss (i.e. was bei #14 rauskommt).

> fff-web-l3config Damit kann ich gut leben. Ich würde vorschlagen, das bis auf Weiteres dann zu verwenden. Mit dem PR updaten kannst du ja ggf. noch warten, bis wir auch wissen, wo die Dependency dann hinmuss (i.e. was bei #14 rauskommt).
Author
Member

@adschm

fff-web-l3config

Damit kann ich gut leben. Ich würde vorschlagen, das bis auf Weiteres dann zu verwenden. Mit dem PR updaten kannst du ja ggf. noch warten, bis wir auch wissen, wo die Dependency dann hinmuss (i.e. was bei #14 rauskommt).

Wunderbar.
Ja ich warte noch, hier wird vermutlich sowieso noch einiges überarbeitet. Ich freue mich jederzeit über weitere Kommentare von weiteren Personen vor allem über die Texte.

@adschm >> fff-web-l3config > >Damit kann ich gut leben. Ich würde vorschlagen, das bis auf Weiteres dann zu verwenden. Mit dem PR updaten kannst du ja ggf. noch warten, bis wir auch wissen, wo die Dependency dann hinmuss (i.e. was bei #14 rauskommt). Wunderbar. Ja ich warte noch, hier wird vermutlich sowieso noch einiges überarbeitet. Ich freue mich jederzeit über weitere Kommentare von weiteren Personen vor allem über die Texte.
ChristianD force-pushed l3configweb from 79f65a0fb7 to 5b0b3ff876 2020-12-16 10:49:52 +01:00 Compare
ChristianD force-pushed l3configweb from 5b0b3ff876 to 83b23ff316 2020-12-16 10:56:39 +01:00 Compare
ChristianD force-pushed l3configweb from 83b23ff316 to b8c1d5baa7 2020-12-16 11:04:40 +01:00 Compare
Author
Member

Um nicht ganz die übersicht zu verlieren hab ich hier mal alles überarbeitet was als Anmerkung da war und kleine Verbesserungen noch eingebaut:

  • Die Texte etwas verbessert
  • Der Testmodus und Testmodus abbrechen Button wird nun nur noch abwechselnd eingeblendet, je nachdem ob der Testmodus gerade aktiv ist oder nicht.
  • eine kurze Pause nach configuregateway -t da dies im Hintergrund ausgeführt werden muss, brauchen wir hier leider eine Gedenksekunde
  • Bei VLAN default laden kommt jetzt nochmals eine Sicherheitsabfrage ob man dies wirklich will. Bei den anderen Buttons halte ich dies persönlich für unnötig.
Um nicht ganz die übersicht zu verlieren hab ich hier mal alles überarbeitet was als Anmerkung da war und kleine Verbesserungen noch eingebaut: * Die Texte etwas verbessert * Der Testmodus und Testmodus abbrechen Button wird nun nur noch abwechselnd eingeblendet, je nachdem ob der Testmodus gerade aktiv ist oder nicht. * eine kurze Pause nach configuregateway -t da dies im Hintergrund ausgeführt werden muss, brauchen wir hier leider eine Gedenksekunde * Bei VLAN default laden kommt jetzt nochmals eine Sicherheitsabfrage ob man dies wirklich will. Bei den anderen Buttons halte ich dies persönlich für unnötig.
Owner

Ich habe jetzt die fff-layer3 packages gemergt. Dementsprechend müsste man

  • Die Dependency auf fff-layer3-config ändern
  • Die Package via fff-layer3 selektieren
Ich habe jetzt die fff-layer3 packages gemergt. Dementsprechend müsste man * Die Dependency auf fff-layer3-config ändern * Die Package via fff-layer3 selektieren
adschm reviewed 2020-12-17 15:45:10 +01:00
@ -0,0 +14,4 @@
URL:=http://www.freifunk-franken.de
DEPENDS:= \
+fff-web \
+fff-gateway
Owner

Da du das eh nochmal änderst, würde ich gleich alphabetisch sortieren...

Da du das eh nochmal änderst, würde ich gleich alphabetisch sortieren...
ChristianD marked this conversation as resolved
adschm reviewed 2020-12-17 15:45:36 +01:00
@ -0,0 +19,4 @@
define Package/fff-web-l3config/description
With this package a layer 3 Router can configure
with the webui
Owner

"Configure a layer3 router via a web UI"

"Configure a layer3 router via a web UI"
ChristianD marked this conversation as resolved
adschm reviewed 2020-12-17 15:47:51 +01:00
@ -0,0 +10,4 @@
<textarea name="status" rows="7" cols="100" readonly>
<%
# write
if [ "$REQUEST_METHOD" = "POST" ] && [ "${POST_writeconfig}" ] ; then
Owner

Ich persönlich hab da immer lieber ein "-n" anstatt direkt die Variable als bool zu prüfen. Praktisch sollte es aber egal sein. Ein paar weitere Fälle darunter.

Ich persönlich hab da immer lieber ein "-n" anstatt direkt die Variable als bool zu prüfen. Praktisch sollte es aber egal sein. Ein paar weitere Fälle darunter.
Author
Member
https://git.freifunk-franken.de/freifunk-franken/firmware/src/branch/master/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html#L5 Ich hab mir das von hier geklaut, so ist es wenigstens überall im WebUI gleich
Owner

Ich meine nicht [ "$REQUEST_METHOD" = "POST" ], das ist ein Vergleich und okay.

Ich meine [ "${POST_writeconfig}" ], wo der string aus der Variable direkt gegen bool geprüft wird.

Ich meine _nicht_ `[ "$REQUEST_METHOD" = "POST" ]`, das ist ein Vergleich und okay. Ich meine `[ "${POST_writeconfig}" ]`, wo der string aus der Variable direkt gegen bool geprüft wird.
Author
Member

ah ok, ja ist vielleicht schöner, habs mal überarbeitet

ah ok, ja ist vielleicht schöner, habs mal überarbeitet
ChristianD marked this conversation as resolved
ChristianD force-pushed l3configweb from b8c1d5baa7 to e9058eade6 2020-12-18 11:40:51 +01:00 Compare
Author
Member

rebased und Anmerkungen überarbeitet

rebased und Anmerkungen überarbeitet
ChristianD changed title from Add package fff-l3webconfig to Add package fff-web-layer3 2020-12-18 11:42:22 +01:00
ChristianD force-pushed l3configweb from e9058eade6 to c53d49c491 2020-12-19 08:28:04 +01:00 Compare
ChristianD force-pushed l3configweb from c53d49c491 to 8af0f531bd 2020-12-19 09:28:08 +01:00 Compare
ChristianD changed title from Add package fff-web-layer3 to Add package fff-web-l3config 2020-12-21 19:04:39 +01:00
ChristianD force-pushed l3configweb from 8af0f531bd to 91a1fac74a 2020-12-26 22:34:59 +01:00 Compare
Owner

"packages/fff:" prefix für den Titel wäre schön.

"packages/fff:" prefix für den Titel wäre schön.
adschm reviewed 2020-12-28 18:26:14 +01:00
@ -0,0 +27,4 @@
define Build/Configure
# nothing
endef
Owner

Prepare und Configure können weg.

Prepare und Configure können weg.
ChristianD marked this conversation as resolved
adschm reviewed 2020-12-28 18:26:27 +01:00
@ -0,0 +3,4 @@
PKG_NAME:=fff-web-l3config
PKG_RELEASE:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
Owner

PKG_BUILD_DIR kann weg, siehe #25

PKG_BUILD_DIR kann weg, siehe #25
ChristianD marked this conversation as resolved
ChristianD force-pushed l3configweb from 91a1fac74a to 932190a0bb 2020-12-28 18:53:07 +01:00 Compare
ChristianD force-pushed l3configweb from 932190a0bb to 973a5a298f 2021-01-01 11:00:44 +01:00 Compare
ChristianD changed title from Add package fff-web-l3config to packages/fff: Add package fff-web-l3config 2021-01-01 11:00:55 +01:00
fbl added this to the next-feature milestone 2021-02-12 19:43:24 +01:00
fbl requested changes 2021-04-28 00:05:49 +02:00
fbl left a comment
Owner

Nun, was soll ich sagen.. Noch sehr krude, aber vermutlich weit besser als nix.
Ich hab noch jede Menge Anmerkungen zum Layout der Seite, aber das kann ich später auch mal selbst fixen.

Ansonsten hab ich noch funktionale Änderungswünsche inline kommentiert.

Danke fürs bauen. Ich hoffe, dass das tatsächlich Leuten hilft.

Nun, was soll ich sagen.. Noch sehr krude, aber vermutlich weit besser als nix. Ich hab noch jede Menge Anmerkungen zum Layout der Seite, aber das kann ich später auch mal selbst fixen. Ansonsten hab ich noch funktionale Änderungswünsche inline kommentiert. Danke fürs bauen. Ich hoffe, dass das tatsächlich Leuten hilft.
@ -0,0 +1 @@
l3settings,Layer 3
Owner

wir haben überall den Link komplett ausgeschrieben, daher würde ich auch hier 'layer3' statt 'l3settings' bevorzugen.
Wenn noch weitere Layer-3 Seiten geplant sind, dann sollte etwas in der Art l3settings/l3config beibehalten werden und stattdessen der Name der Seite ("Layer 3") angepasst werden.

wir haben überall den Link komplett ausgeschrieben, daher würde ich auch hier 'layer3' statt 'l3settings' bevorzugen. Wenn noch weitere Layer-3 Seiten geplant sind, dann sollte etwas in der Art l3settings/l3config beibehalten werden und stattdessen der Name der Seite ("Layer 3") angepasst werden.
ChristianD marked this conversation as resolved
@ -0,0 +7,4 @@
<fieldset style="min-height: 7em;" class="smallinput">
<legend>Status</legend>
<table><tr><td>
<textarea name="status" rows="7" cols="100" readonly>
Owner

Die Einrückung in dieser Datei hat noch Verbesserungspotential.

Die Einrückung in dieser Datei hat noch Verbesserungspotential.
ChristianD marked this conversation as resolved
@ -0,0 +16,4 @@
fi
if [ -n "${POST_loadconfig}" ] ; then
yes | configure-layer3 -c
Owner

configure ist ein Schritt, der im WebUI einzeln nur wenig Sinn ergibt. Ich würde das configure stattdessen eher mit in die "testen" und "anwenden" Aktionen packen, so dass es für den Nutzer nur noch zwei Möglichkeiten gibt. Wenn configure-layer3 einen Exitstatus != 0 hat, dann abbrechen und Fehler anzeigen.

configure ist ein Schritt, der im WebUI einzeln nur wenig Sinn ergibt. Ich würde das configure stattdessen eher mit in die "testen" und "anwenden" Aktionen packen, so dass es für den Nutzer nur noch zwei Möglichkeiten gibt. Wenn configure-layer3 einen Exitstatus != 0 hat, dann abbrechen und Fehler anzeigen.
ChristianD marked this conversation as resolved
@ -0,0 +59,4 @@
</p>
</td>
<td>
* Erstelle zuerst unten eine Konfiguration und speichere diese ab</br>
Owner

Passiv verwenden. "Zuerst muss eine Konfiguration [..]"

Passiv verwenden. "Zuerst muss eine Konfiguration [..]"
ChristianD marked this conversation as resolved
@ -0,0 +62,4 @@
* Erstelle zuerst unten eine Konfiguration und speichere diese ab</br>
* Klicke danach auf 'Router konfigurieren' um diese Konfiguration in die Routereinstellungen zu schreiben</br>
* Danach kannst du mit Konfiguration testen, die Konfiguration testen. Sollte alles funktionieren musst du diesen Test mit Test beenden beenden ansonsten werden nach 200 Sekunden die Einstellungen zur&uuml;ruck gesetzt. Sollte die Konfiguration fehlerhaft sein, warte einfach 200 Sekunden und du kommst auf den alten Weg wieder auf das Ger&auml;t. Ein manueller Neustart setzt auch die komplette Konfiguriation z&uuml;ruck</br>
* Wenn die Einstellungen funktionieren klicke auf Konfiguration &uuml;bernehmen, erst dann ist die Konfiguration auch rebootfest.</br>
Owner

Bitte HTML Aufzählungen (ul/li) verwenden.

Noch besser: Als eigenen Block umsetzen.

Bitte HTML Aufzählungen (ul/li) verwenden. Noch besser: Als eigenen Block umsetzen.
ChristianD marked this conversation as resolved
@ -0,0 +76,4 @@
<table style="width: 100%;">
<tr><td>
<fieldset style="min-height: 13em;">
<legend>Konfigurationsdatei</legend>
Owner

Ein Verweis auf den Dateipfad wäre hier vermutlich nicht schlecht, dann weiß man was man da editiert.

Ein Verweis auf den Dateipfad wäre hier vermutlich nicht schlecht, dann weiß man was man da editiert.
ChristianD marked this conversation as resolved
@ -0,0 +80,4 @@
<textarea name="l3config" rows="25" cols="100"><% echo "$l3config" %></textarea>
</fieldset>
<p><input type="submit" name="writeconfig" value="Konfigurationdatei speichern" style="margin-top: 5px; margin-left: 3px;" />
<input type="submit" onclick="return confirm('Achtung: Es werden alle VLAN Einstellungen zur&uuml;ck gesetzt und die Standarteinstellungen gelanden. Willst du dies wirklich?')" name="loadvlandefault" value="VLAN default laden" style="margin-top: 5px; margin-left: 3px;" /></p>
Owner

Typo: Standard

Ich würde das ganze "Auf Standard(einstellungen) zurücksetzen" oder "Standardkonfiguration laden" nennen.

Die Buttons mit in das fieldset der Konfigurationsdatei.

Typo: Standard Ich würde das ganze "Auf Standard(einstellungen) zurücksetzen" oder "Standardkonfiguration laden" nennen. Die Buttons mit in das fieldset der Konfigurationsdatei.
ChristianD marked this conversation as resolved
fbl added a new dependency 2021-12-30 17:37:38 +01:00
Author
Member

Das Ding hat neben den genannten Probleme noch einige weitere z.b. u.U. kaputte Zeilenumbrücke. Aktuell fehlt mir auch die Zeit das weiter zu verfolgen, daher mache ich hier erstmal zu

Das Ding hat neben den genannten Probleme noch einige weitere z.b. u.U. kaputte Zeilenumbrücke. Aktuell fehlt mir auch die Zeit das weiter zu verfolgen, daher mache ich hier erstmal zu
Author
Member

ich find keinen Knopf zum zumachen, vielleicht kann das jemand anders tun?

ich find keinen Knopf zum zumachen, vielleicht kann das jemand anders tun?
ChristianD closed this pull request 2021-12-31 19:25:56 +01:00
fbl added the
rejected
label 2023-02-21 23:56:09 +01:00

Pull request closed

Sign in to join this conversation.
No description provided.