Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Table of Contents

...

Introduction

WebUI is a graphical user interface that is available to the connected devices. It acts as an application running on the RDK-B stack and performs the functions of a device management interface similar to TR69 & SNMP. A user can monitor and modify RDK-B feature settings/rules using WebUI. It is a client–server application, client runs in a web browser (as part of devices connected over LAN) and Lighttpd on the RDK-B stack acts as server. The functions in WebUI are defined in C and are called from PHP using ZEND_API. PHP and the Zend Engine manage [exchange] variables internally over the D-Bus.

...

This is the architecture of WebUI component.

draw.io Diagram
diagramNamewebui architecture.drawio
revision
Image Removed
1

Figure 1. WebUI Architecture

...

Flow diagram for getStr(Obj):

draw.io Diagram
diagramNameFlow diagram for getStr(Obj).drawio
revision1
Image Removed


Flow diagram for setStr(Obj, Value, Flag):

Image Removed

...

draw.io Diagram
diagramNameFlow diagram for getStr(Obj, Value, Flag).drawio
revision1


Note: The name Zend refers to the language engine [ PHP's core ]

Features 

Gateway

At a Glance, Email Notification, Connection Status, Local IP Network, Wi-Fi, MTA, MoCA, Firewall IPv4 / IPv6, Software, Hardware, etc.

Image RemovedImage Added

Connected Devices

Connected Devices and Range Extenders

Image RemovedImage Added

Parental Control

Managed Sites, Managed Services, Managed Devices and Reports

Image Added


Image Added


Image Added


Image AddedImage Removed


Advanced

Port Forwarding, Port Triggering, Remote Management, DMZ, etc.Device Discovery.

Image Added


Image Added


Image Added


Image Added


Image AddedImage Removed


Troubleshooting

Troubleshooting Logs, Diagnostic Tools, Wi-Fi Spectrum Analyzer, MoCA Diagnostics, Reset/Restore Gateway, Change Password, etc.

Image Removed

Image Added


Image Added


Image Added

Image Added


Image Added


Image Added


                              

              

Note: Only MSO has access to monitor / modify Email Notification (Gateway -> At a Glance, Wi-Fi Home Security and Community Wi-Fi

...


Code Flow

WebUI on the Device:

  • “/etc/webgui.sh” will modify “/etc/lighttpd.conf” on runtime and create “/tmp/lighttpd.conf”
  • Command to run lighttpd is “lighttpd –f /tmp/lighttpd.conf”
  • cosa.so” is linked as an extension to “php” in “/etc/php.ini”
  • document-root = “/usr/www/”
  • Inside “/usr/www/” we have,
    1. actionHandler folderhandles PHP SET actions
    2. cmn folder has css, fonts, img and js [Styling & JS Lib]
    3. includes folder has header.php, footer.php. nav.php, userbar.php and utility.php

WebUI on RDK-B Yocto Repo

  • On RDK-B, Web UI source code resides in the path –

  code.rdkcentral.com/rdkb/components/opensource/ccsp/webui/generic/source/Styles/xb3/code

  • During build time “code” folder is moved to “/usr/www/”
  • On yocto for build we can have specific target and what to build

$ repo init -u https://code.rdkcentral.com/r/manifests -b rdk-next -m rdkb-extsrc.xml
$ repo sync -j4 --no-clone-bundle

        $ source meta-cmf-raspberrypi/setup-environment (Select option raspberrypi-rdk-broadband.conf)

        $ bitbake rdk-generic-broadband-image

        $ bitbake –c compile –f lighttpd

         $ bitbake –c compile –f ccsp-webui


For details on WebUI Migration to jst,  go to WebUI Migration to jstNote: The name Zend refers to the language engine [ PHP's core ]