WEBCONF - Umstellung von form-files auf check-files --------------------------------------------------- Konzeptionelles --------------- Interne Datenstrukturen: @astruct +--%hformat +--@aform +--%hformat +--@agroup aus /etc/default.d | +--%hformat | +--%helement | +--%helement | +--@agroup +--%hformat +--%helement %helement + name = foo bar aus /etc/default.d + comment = this is no comment aus /etc/default.d + type = edit aus /etc/check.d bzw /etc/layout.d select choice ref später + style = singleselect|multiselect /etc/layout.d STYLE multiselect + style = dropdown, topdown /etc/layout.d STYLE xxxx (mehrere Styles werden comma-separiert in einer Variablen übergeben) + readonly = yes|no /etc/layout.d STYLE readonly + hidden = yes|no später + optional = yes optionale Variable +VAR bzw. ++VAR + size = 10|3x2 /etc/layout.d SIZE xxxx (Zeilen bzw. spalten x zeilen) + help = hilt mir nichts aus /var/install/help + default = wert aus /etc/default.d + values = @avalues bei YESNO (in /etc/check.d) yes no (!) oder Inhalt von /etc/layout.d FILE xxx + refvar = referenz variable später + reffile = referenz config-file später Prozess: * Einlesen des check-files in @temp (jeweils ein %helement) * Einlesen des .lay in die @astruct dabei: - %helement aus @temp in @astruct umhängen * dann kann der Rest in eine eigene Gruppe @aform(default) gehängt werden * Entweder beim Einlesen des .lay oder * am Ende mit den zusätzlichen Layout-Infos anreichern * Nach dem Anreichern Überprüfen und ggf. defaults zusteuern * Der typ YESNO erzeugt ein normales SELECT mit den hart vercodeten Werten yes und no. Optional kann ein type choice zugesteuert werden. .lay-File # Variable Option Wert - USER-VARS NO | HIDDEN | SHOW | EDIT AUSWAHL TYPE SELECT STYLE multiselect STYLE readonly SIZE 3 VALUE foo VALUE bar VALUE foobar VALUE barfoo DEVICE TYPE SELECT STYLE DROPDOWN FILE /tmp/my_devices /etc/default.d/$package #---------------------------------------------------------------- # Gruppenname # # Kommentare... # Kommentare... #---------------------------------------------------------------- Eine neue Gruppe wird immer anhand einer Trennzeile erkannt. Diese muss in Spalte 1 das Kommentarzeichen "#" haben und danach folgt mindestens 3-mal das selbe der Trennzeichen "#", "-", "=" ("####", "#---", "#==="). In der nächsten Zeile steht dann als Kommentar der Gruppenname. Danach folgen optional weitere Kommentare und weitere Trennzeilen. Dann kommen die Variablen und ggf. weitere Gruppen. Alle möglichen Feldtypen: EDIT ---- Variable %helement werte /etc/default.d/$package:NAME name /etc/default.d/$package:#comment comment /etc/default.d/$package:='value' default /etc/layout.d/$package:TYPE type edit /etc/layout.d/$package:STYLE READONLY readonly yes|no /etc/layout.d/$package:STYLE HIDDEN hidden yes|no /etc/layout.d/$package:SIZE size nn /var/install/help/$package:helptext help helptext helptext SELECT ------ Variable %helement werte /etc/default.d/$package:NAME name /etc/default.d/$package:#comment comment /etc/default.d/$package:='value' default /etc/layout.d/$package:TYPE type select /etc/layout.d/$package:STYLE READONLY readonly yes|no /etc/layout.d/$package:STYLE HIDDEN hidden yes|no /etc/layout.d/$package:STYLE MULTISELECT style multiselect /etc/layout.d/$package:STYLE SINGLESELECT style singleselect /etc/layout.d/$package:STYLE DROPDOWN style dropdown /etc/layout.d/$package:STYLE LIST style list /etc/layout.d/$package:SIZE size nn /var/install/help/$package:helptext help helptext helptext /etc/layout.d/$package:VALUE values value1 value2 /etc/layout.d/$package:FILE values value1 value2 CHOICE ------ Variable %helement werte /etc/default.d/$package:NAME name /etc/default.d/$package:#comment comment /etc/default.d/$package:='value' default /etc/layout.d/$package:TYPE type choice /etc/layout.d/$package:STYLE READONLY readonly yes|no /etc/layout.d/$package:STYLE HIDDEN hidden yes|no /etc/layout.d/$package:STYLE MULTISELECT style multiselect /etc/layout.d/$package:STYLE SINGLESELECT style singleselect /etc/layout.d/$package:STYLE TOPDOWN style topdown /etc/layout.d/$package:STYLE LEFTRIGHT style leftright /etc/layout.d/$package:SIZE size nnxmm /var/install/help/$package:helptext help helptext helptext /etc/layout.d/$package:VALUE values value1 value2 /etc/layout.d/$package:FILE values value1 value2 Terminplan ---------- TOP | Beschreibung | Wer | Termin | Status ----+-------------------------------------------+-------+----------+-------- 00 | Basisversion - Neuer Ablauf und neue | | | | Struktur | | | ----+-------------------------------------------+-------+----------+-------- 01 | Einlesen des Check in @temp | Chris | 30.04.04 | 100% | (immer type = edit) | | | ----+-------------------------------------------+-------+----------+-------- 02 | Umhängen in @struct(defaults!) | Chris | 30.04.04 | 100% | | | | ----+-------------------------------------------+-------+----------+-------- 03 | Erstellung default-renderer | Max | 15.05.04 | 100% | | | | ----+-------------------------------------------+-------+----------+-------- 04 | Verwenden Struktur aus .lay | Chris | 05.10.04 | 100% | | | | ----+-------------------------------------------+-------+----------+-------- 10 | Implementierung von Master | | | | | | | ----+-------------------------------------------+-------+----------+-------- 20 | Implementierung aller Feldtypen | | | 10% | Verwenden Layout-Infos aus .lay | | | ----+-------------------------------------------+-------+----------+-------- 30 | Reload + Apply | | | 50% | | | | ----+-------------------------------------------+-------+----------+-------- 40 | | | | | | | | ----+-------------------------------------------+-------+----------+--------