APPX HTML Client

This page gives an overview of and installation instructions for the Appx HTML client.


Overview

The Appx HTML client is designed to allow you to connect to an Appx server and run Appx applications using a browser, either on the desktop, a tablet or a smartphone. In this release, you can only run the applications, you cannot design them. Specifically, the ILF editor and Image Editor are not supported. You may be able to work in Application Design so long as you avoid those 2 editors.

The client will support SSL connections if your web server is configured appropriately. If not, the client will use it's own built in AES encryption so you data is still protected.

The Appx HTML client consists of two modules:

  • Web Server Files. These are the javascipt libraries and style sheets that make up the HTML client. These must be installed in your web server's document directory. These files are platform independant.
  • APPX Server connector. This is a small javascript library that connects the client running in your browser to the actual Appx engine. The Appx Server Connector is platform specific, you will need the one that matches the O/S under which your web server is running.
Note that Appx does not have to be running on the same server as your web server, and the APPX Server Connector does not have be on the same server as either Appx or your web server. This gives you maxium flexibility in configuring your installation.

Once the HTML client is working, you can connect to any Appx 5.4+ server, just as you can with the Appx Desktop Client. Due to the engine changes that were made in 5.4 to support the HTML client, you cannot connect to an earlier Appx engine.

Requirements

You will need a web server, either Linux or Windows based. If you are going to use the Apache web server and you want to use a forwarding proxy, it must be version 2.4 or higher. We have tested IIS on Win 7 with success, earlier versions of IIS have not been tested.

The web server does not have to be on the same server as Appx.

We have tested the HTML client on current versions of IE, Chrome and Safari.

Installation

First extract the Web Server File (webhost.zip) into the document folder for your web server. Depending on your web site layout, you may want to put this in it's own folder within the web server documents, i.e., /var/www/html/appx.

Next, extract the Appx Server Connector to a location of your choice. This is the software that will connect your browser client to the Appx Login Manager. A folder in the /opt directory would be a good choice on a Linux server. Once the software is extracted, you must manually start the connector running. For example, if you installed the connector in /opt/appxConnector, then you would (as root):

# cd /opt/appxConnector
# nohup ./node appxConnector.js &

If you are running on Windows, then extract the Appx Server Connector to a folder of your choice and invoke it. For example, if you installed it a folder called "C:\AppxConnector", then you would:

cd \appxConnector
node appxConnector.js

At some point we will automate this step, but for now you must manually start the connector upon first installation and after every reboot.

Finally, you need to set the name of the host running the Appx Server Connector in the 'client.html' web page:

<meta name="appx-proxy-host" content="HOSTNAME"> <!-- Server Connector hostname or web server if tunneling -->

Change HOSTNAME to the name or IP address of the server running the Appx Server Connector.

Assuming the web server to which we installed the client is 192.168.0.15, and that we installed everything into an 'appx' folder on the web server, then we should be able to get a client login dialog box via:

http://192.168.0.15/appx/client.html

You must open port 3014 on your web server for this connection to work. If you do not want to open any new ports on your web server, see the next section 'Tunneling'.

Tunneling/Forwarding

If you do not want to open port 3014 and would rather use port 80, you can use forwarding instead. For example, to configure Apache 2.4 you would do the following:

  • In /etc/httpd/conf.modules.d/00-proxy.conf, add (if not already loaded):
    LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so

  • Create the /etc/httpd/conf.d/appx.conf file with the following lines (or just add these to httpd.conf)
    ProxyPass /appxws/ ws://localhost:3014
    ProxyPass /appxwss/ wss://localhost:3014

  • Change /var/www/html/appx/client.html settings to:

    appx-proxy-host = hostname of httpd server (i.e., 192.168.1.11)
    appx-proxy-port = “80"
    appx-proxy-path = /appxws/
    appx-encryption = “aes”

  • Restart your web server

SSL

If you are running a secure web server (https), you can configure the Appx HTML client to use your SSL connection. Change your /var/www/html/appx/client.html settings as follows:

appx-proxy-host = hostname of httpd server (i.e., 192.168.1.11)
appx-proxy-port = “443"
appx-proxy-path = /appxwss/
appx-encryption = “ssl”

Then change the sslEnabled setting in 'appxConnector.js':

var sslEnabled = true;

Styles

Many aspects of the presentation of the Appx Client are controlled by the APPX.css style sheet in the 'css' folder. If you are familiar with working with style sheets, feel free to experiment with different settings.

Troubleshooting

If the client login dialog box does not display, check your web server error logs for any error messages & correct as required.

If you are getting "[proxy:error] [pid xxxx] (13)Permission denied:" errors, you might have a selinux security issue that prevents apache from initiating any outgoing network connections to the web socket server port. In that case, try the following command:

# setsebool -P httpd_can_network_connect 1

Known Issues

The following are the known problems with the HTML client. These are being worked and we hope to have them addressed by the final release.

Comments:

Read what other users have said about this page or add your own comments.



-- JeanNeron - 2014-11-10

Edit | Attach | Watch | Print version | History: r18 | r5 < r4 < r3 < r2 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r3 - 2014-11-11 - JeanNeron
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback