Beispiel für einen benutzerdefinierten Rollout-Assistenten

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 




Auf der letzten Seite zeigt der Assistent zunächst einen zusammenfassenden, statischen Text an. Folgende Aktionen führt der Assistent beim Fertigstellen des Assistenten aus:
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", ""