Difference between revisions of "User Interface"

From HSYCO
Jump to navigation Jump to search
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:System Architecture]]
+
[[Category:HSYCO]]
 
HSYCO allows the interaction with the system through a custom user interface.
 
HSYCO allows the interaction with the system through a custom user interface.
 
We can identify three entities:
 
We can identify three entities:
* '''[[Project|project]]''': a single interface
+
* '''[[Project|Project]]''': a single interface
* '''[[Page|page]]''': a project can contain pages
+
* '''[[Pages|Pages]]''': a project contains pages
* '''[[UI Objects|object]]''': a page can contain objects
+
* '''[[UI Objects|Object]]''': a page contains objects
  
 
A project is defined by a subdirectory inside www that contains an index.hsm file.
 
A project is defined by a subdirectory inside www that contains an index.hsm file.
Line 13: Line 13:
 
  '''<nowiki>https://<name server>/<URLKey>/<subdirectory name></nowiki>'''
 
  '''<nowiki>https://<name server>/<URLKey>/<subdirectory name></nowiki>'''
  
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.
+
For additional interface options, see '''[[URL Keywords]]'''.
  
== Syntax ==
+
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.
The index.hsm file is based on graphic objects having the following standard format:
+
 
(object_name <parameter1>; <parameterN>)
+
== Project's Syntax ==
{{note|Errors in the index.hsm file are reported in the log file with the message:
+
 
Page Parser: Syntax Error, line: nnn
+
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.
 
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.
 
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.
 
Each type of graphic object could require one or more parameters, separated by the “;” character. Empty lines or blank spaces are ignored.
 +
 
{{note|Changes to index.hsm cause an automatic page reload on the connected Web browsers.}}
 
{{note|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.
 
You can insert comment lines, which are ignored. A comment line starts with the “#” character at the beginning of the line.
 +
 
{{note|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.}}
 
{{note|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.}}
  
 
{{note|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.}}
 
{{note|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 identified objects should be defined with an id string that is unique in the index.hsm file. The presence of more objects with the same id can cause undesired effects.
+
== The User Interface Configuration Database ==
To identify an object, append a ! character and the id at the end of the object type, for example:
+
 
(text!mytextid r1c1; This is my identified text object)
+
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.
 +
 
 +
{{tip|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.

Latest revision as of 15:32, 18 June 2015

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.