Dieses Kapitel stellt ein Programmierungsbeispiel für einen benutzerdefinierten Rollout-Assistenten vor. Der Assistent ermöglicht die Einrichtung eines Internet-Zugangs.
Im ersten Abschnitt definiert der Assistent die Texte, die das Gerät auf den verschiedenen HTML-Seiten anzeigt.
stringtable "Deutsch" string title_MyCompany, "MyCompany Rollout" string txt_Welcome, "Willkommen beim MyCompany Rollout Assistenten" string dev_serial_number, "Seriennummer" string dev_type, "Gerätetyp" ;---Seite: Auswahl der Internetverbindung string inet_Selection, "Typ der Internetverbindung" string inet_PPPoE, "PPPoE" string inet_IPoE, "IPoE" ;---Seite: IPoE string inet_ipoe, "Bitte geben Sie die Details für die Verbindung ein." string con_ipaddress, "IP-Adresse" string con_subnet, "Netzmaske" string con_gateway, "Gateway" string con_dns, "DNS" ;---Seite: PPPoE string inet_pppoe, "Bitte geben sie Benutzername und Kennwort ein." string con_username, "Benutzername" string con_password, "Passwort" ;---Seite: Ende string ende, "Die Konfiguration wird nun abgeschlossen."
Die erste Zeile des nächsten Abschnitts leitet den Assistenten mit dem Namen 'MyCompany Rollout' ein. Das Gerät zeigt den Text-String str.title_MyCompany als Titel in den HTML-Seiten an.
Danach definiert der Assistent die Sektionen, also die benötigten HTML-Seiten.
Die Sektion 'Start' zeigt zunächst einen statischen Text zur Begrüßung an. Darunter zeigt der Assistent in zwei Read-Only-Feldern den Gerätetyp und die Seriennummer an. Der Assistent liest diese beiden Werte beim Öffnen der Seite über den Bereich on_show aus dem Gerät aus. In einer Optionsliste bietet der Assistent dem Benutzer die Auswahl für einen Internetzugang über 'PPPoE' oder 'IPoE' an. Da keine Werte für die Optionsfelder definiert sind, setzt der Assistent die Variable select_inet je nach Auswahl des Benutzers für PPPoE auf '0' und für IPoE auf '1'.
wizard "MyCompany Rollout", str.title_MyCompany section ;---Start--- static_text str.txt_Welcome readonly_text device_string description str.dev_type readonly_text device_serial_number description str.dev_serial_number selection_buttons select_inet description str.inet_Selection button_text str.inet_PPPoE, str.inet_IPoE on_show set wizard.device_string, device.DeviceString set wizard.device_serial_number, device.SerialNumber on_next
Der Assistent zeigt die Sektion IPoE nur dann an, wenn die Variable select_inet den Wert '1' hat.
Auf dieser Seite fragt der Assistent vom Benutzer die Werte für die IP-Adresse, die Netzmaske, das Gateway und den DNS-Server ab. Alle Felder sind für die Ausführung des Assistenten notwendig.
section ;---IPoE--- only_if wizard.select_inet, "1", equal static_text str.inet_ipoe entryfield_ipaddress inet_ipaddress description str.con_ipaddress never_empty 1 entryfield_ipaddress inet_subnet description str.con_subnet never_empty 1 entryfield_ipaddress inet_gateway description str.con_gateway never_empty 1 entryfield_ipaddress inet_dns description str.con_dns never_empty 1
Der Assistent zeigt die Sektion PPPoE nur dann an, wenn die Variable select_inet den Wert '0' hat.
Auf dieser Seite fragt der Assistent vom Benutzer den Benutzernamen und das Passwort mit einer Länge von jeweils maximal 30 Zeichen ab.
section ;---PPPoE--- only_if wizard.select_inet, "0", equal static_text str.inet_pppoe entryfield_text inet_username description str.con_username max_len 30 entryfield_text inet_password description str.con_password max_len 30
- Wenn der Benutzer 'IPoE' ausgewählt hat, legt der Assistent eine passende Gegenstelle und einen Eintrag in der Liste der IP-Parameter an.
- Wenn der Benutzer 'PPPoE' ausgewählt hat, legt der Assistent eine passende Gegenstelle und einen Eintrag in der PPP-Liste an.
- Unabhängig von der Auswahl legt der Assistent eine Default-Route an, die den Router 'INTERNET' verwendet.
section ;---ende--- static_text str.ende on_init ;---Befehle, die bei der Initialisierung des Wizards durchgeführt werden.--- on_apply ;---Befehle, die bei der Fertigstellung des Wizards durchgeführt werden.--- ;---Wenn IPoE ausgewählt wurde, werden die entsprechenden Daten nun eingetragen. ;---Gegenstelle set config.1.2.2.19, "INTERNET", "9999", "", "", "IPOE", "0", "000000000000" only_if wizard.select_inet, "1", equal ;---IP-Parameter set config.1.2.2.20, "INTERNET", wizard.inet_ipaddress, wizard.inet_subnet, "0.0.0.0", wizard.inet_gateway, wizard.inet_dns, "0.0.0.0", "0.0.0.0", "0.0.0.0" only_if wizard.select_inet, "1", equal ;---Wenn PPPoE ausgewählt wurde, werden die entsprechenden Daten eingetragen. ;---Gegenstelle set config.1.2.2.19, "INTERNET", "9999", "", "", "PPPOE", "0", "000000000000" only_if wizard.select_inet, "0", equal ;---PPP-Liste set config.1.2.2.5, "INTERNET", "none", "60", wizard.inet_password, "5", "5", "10", "5", "2", wizard.inet_username, "1" only_if wizard.select_inet, "0", equal ;---Setzen der Default Route. set config.1.2.8.2, "255.255.255.255", "0.0.0.0", "0", "INTERNET", "0", "on", "Yes", ""