If you like BoxMatrix then please contribute Supportdata, Supportdata2, Firmware and/or Hardware (get in touch).
My metamonk@yahoo.com is not reachable by me since years. Please use hippie2000@webnmail.de instead.
UI-Structure
BoxMatrix >> Webinterface >> UI-Structure | @ BoxMatrix - IRC-Chat - Translate: de es fr it nl pl |
News | Selectors | Models | Accessories | Components | Environment | Config | Commands | System | Webif | Software | Develop | Lexicon | Community | Project | Media |
UI-Structure | UI-Modules | HTML-Files | XML-Files | REST-API | Lua-Scripts | Javascript | Browser | SSI-Files | SSI-Directives | HTML-Text | Event-Text | Help-Pages | CSS-Files | Graphics | Research |
Structure of the Webinterface as it appears in the Menu and in Contents. Each section will have an article with explanation how it works. This is a difficult task, since nothing changed more with time than the Webinterface. |
UI-Structure[edit]
This is currently being created and is unfinished, come back frequently to see it evolve! This message will be removed once it's finished. |
UI-History[edit]
This section collects methods how to distinguish between the numerous generations of the Webinterface and to detect them.
Note that firmware ranges and generations overlap since AVM did not change the UI for all models simultaneously.
This is work in progress and still partially wrong!
Generation HTML[edit]
Starting with the first known firmware (1.63) AVM used index.html for the Document-Root and home.html for the Overview.
All UI sections are HTML-Files piped through the webcm CGI interpreter to process SSI-Directives.
The request method used is HTTP GET
, besides saving changes and file I/O like firmware update which uses HTTP POST
.
Two generations of the menu system are used, here called Menu1
and Menu2
.
menu1.html / menu1.def were used in firmware 1.63 - 3.37 and are an excellent detector for the Menu1
era.
menu2.html / menu2.def were introduced in firmware 3.23 / 3.24 and are a detector for the start of the Menu2
era.
menu2.html / menu2.def were used until firmware 5.57, overlapping the LUAMIX era.
Generation LUAMIX[edit]
With the introduction of Lua AVM used index.lua for the Document-Root and a bit later home.lua for the Overview.
Some UI sections are Lua-Scripts piped through the luacgi interpreter, some stay HTML-Files piped through webcm.
The request method used is HTTP GET
, besides saving changes and file I/O like firmware update which uses HTTP POST
.
index.lua was introduced in firmware 4.80 and is an excellent detector for the start of the LUAMIX era.
menu.lua / menu_data.lua were introduced in firmware 4.85 and represent the start of the LuaMenu
era.
webcm was used until firmware 7.19 and is an excellent detector for the end of the LUAMIX era.
Generation LUA[edit]
TODO
Generation XHR[edit]
The current Webinterface is pretty complicated. It uses a mix of HTTP GET and POST requests and XML HTTP requests (xhr). Most pages are called by an initial xhr POST to data.lua with arguments naming the page
and lang
to be requested. The argument xhr=1
marks the request type and xhrId=first
marks the initial request for pages which refresh themselves. The response is JSON mostly, sometimes HTML. Subsequent refreshes are xhr GET xhr requests to data.lua or the section specific Lua page, with xhr=1
, useajax=1
, the page
in question and the data to refresh i.e. xhrId=all
. The result is JSON.
UI-Sections[edit]
Goto: Document-Root - Overview - Internet - Telephony - Home-Network - WLAN - Smart-Home - DVB-C - Diagnostics - System - Wizards - Service - Extras
The Section / Page
column lists the english name of a menu entry or a tab, sometimes slightly modified to be more self explaining.