User Interface

From HSYCO
Jump to navigation Jump to search

HSYCO allows the interaction with the system through a custom user interface. We can identify three entities:

  • Project: a single interface
  • Pages: a project contains pages
  • Object: a page contains objects

A project is defined by a subdirectory inside www that contains an index.hsm file.

Whenever HSYCO detects any change to the files in www and in its subdirectories, it forces the reload of all the projects on the connected browsers.

For each sub-directory in www in which the file index.hsm exists, you can access the page with the following URL:

https://<name server>/<URLKey>/<subdirectory name>

For additional interface options, see URL Keywords.

To create or edit a project there are two methods: visually, through the Project Editor or by manually editing the project's source code, the index.hsm file.

Project's Syntax

Projects are described through a custom markup language that defines pages, objects and various directives that apply to the project (skin, language, size...).

The syntax for every object is described in the corresponding section.

index.hsm files can be viewed from the Project Editor (tools > source) and edited from the Editor in the File Manager.

When errors are detected, the page is not served to the Web browser. File parsing stops at the first error, so only the first line with errors is reported in the log file.

Each type of graphic object could require one or more parameters, separated by the “;” character. Empty lines or blank spaces are ignored.

Changes to index.hsm cause an automatic page reload on the connected Web browsers.


You can insert comment lines, which are ignored. A comment line starts with the “#” character at the beginning of the line.

Names in index.hsm are case sensitive, small and capital letters are significant; all objects defined in the standard skin have names with lower-case letters.


Some objects support a variant called identified version to allow the !id dynamic modification of the text, visibility, color several other attributes with the uiSet() Java method or the UISET action.


The User Interface Configuration Database

The graphical representation of user interface objects that are directly associated with I/O servers data points is defined in a file named systemtopo.txt.

This file is usually created and updated automatically by the I/O servers, but can also be edited manually. It also contains location information for the WiFi location services.

The systemtopo.txt file is only used by the Project Editor, to list the user interface data points in the address field of device objects, and in the run-time user interface, for the graphic representation of each object.

Note The systemtopo.txt file is not required for any other core function. If your HSYCO server does not have a user interface, but only application logic implemented with the various programming APIs, systemtopo.txt would be useless and could be ignored or even removed.

See The User Interface Configuration Database section for detailed information on systemtopo.txt.