kaolak : documentation previous | next | table of contents 

5 GUI and superGUI
Kaolak GUIs (user and superuser) are thin clients, a set of html pages displayed in a web browser.
They reside in /kaolak/gui/ and /kaolak/gui/superadmin/

Superuser GUI

The SuperGUI is a few tools allowing the superuser (username 'kaolak') to get info about the state of branches, the available modules and branch/modules bindings, tools to add branches, add modules, change superuser password and explore branches as their admin.
The superGUI url is /kaolak/gui/superadmin/login.php.

User GUI

The user GUI login page is at /kaolak/gui/login.php.
  • Security
At login, kaolak creates a session object (see 2.5 API) that opens a window displaying the GUI, that manages user permissions, and that terminates when user closes that window or if session times out (timeout length set by superuser).

To prevent inconsistencies and simultaneous editing of a node by several users, each node is assigned a lock, set when entering node's edit state and released when leaving edit state or terminating session.

To prevent direct calls to documents through urls, Apache's .htaccess forbids file requests coming from outside unless requested file is within the 'public site' directory of the branch.
  • Graphical description
The kaolak user GUI resembles popular operating systems graphical file explorers.

It consists of a frameset which left part contains contents of the branch whom the logged user belongs to, displayed as an expand/collapsable hierarchical tree.
The first level folders are the modules registered by the branch and consists at default install of folders 'users' and 'documents'.

The right part of the framset is a viewer that reacts upon mouse clicks on the left part tree. It displays folder contents or element data with file information such as file type, creator and creation date, modificator and modification date, access permissions.
  • Screenshots

    • superGUI login screen
    • superGUI info window
    • superGUI add-branch window
    • GUI login screen
    • GUI view user (admin)
    • GUI view document
    • GUI move node
    • GUI set node permissions
 previous | next | table of contents