Difference: AppxHTMLClient543 (1 vs. 19)

Revision 192016-10-20 - JoeOrtagus

Line: 1 to 1
 

APPX HTML Client 5.4.3/5.4.4

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

Line: 113 to 113
 
  • In Releases to 5.4.4 and greater, create the /etc/httpd/conf.d/appx.conf file with the following lines (or just add these to httpd.conf):

    ProxyPass "/appxwss" "wss://localhost:3014"
    ProxyPassReverse "/appxwss" "wss://localhost:3014"
    ProxyPass "/appxws" "ws://localhost:3014"
    ProxyPassReverse "/appxws" "ws://localhost:3014"

    ProxyPass "/appxhttps" "https://localhost:3014"
    ProxyPassReverse "/appxhttps" "https://localhost:3014"
    ProxyPass "/appxhttp" "http://localhost:3014"
    ProxyPassReverse "/appxhttp" "http://localhost:3014"

  • Change '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

Deleted:
<
<
If you are using Windows IIS for your web sever platform, and do not wish to expose TCP 3014 then you'll need IIS 8.0 or greater to support Websockets with IIS ARR installed and the URL Rewrite module enabled. A web.config similar to the following should work.

<?xml version="1.0" encoding="UTF-8"?>
 <configuration>
     <system.webServer>
         <rewrite>
             <rules>
                 <rule name="ReverseProxyInboundRule1">
                     <match url="appxws" />
                     <action type="Rewrite" url="http://localhost:3014/{R:0}" />
                 </rule>
                 <rule name="ReverseProxyInboundRule2">
                     <match url="appxhttp" />
                     <action type="Rewrite" url="http://localhost:3014/{R:0}" />
                 </rule>
             </rules>
         </rewrite>
     </system.webServer>
 </configuration>
 NOTE: If you are running selinux security on your server, you will have to configure it so that apache can initiate an outgoing network connections to the web socket server port. Use the following command:

# setsebool -P httpd_can_network_connect 1

Revision 182016-08-11 - JoeOrtagus

Line: 1 to 1
 

APPX HTML Client 5.4.3/5.4.4

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

Line: 113 to 113
 
  • In Releases to 5.4.4 and greater, create the /etc/httpd/conf.d/appx.conf file with the following lines (or just add these to httpd.conf):

    ProxyPass "/appxwss" "wss://localhost:3014"
    ProxyPassReverse "/appxwss" "wss://localhost:3014"
    ProxyPass "/appxws" "ws://localhost:3014"
    ProxyPassReverse "/appxws" "ws://localhost:3014"

    ProxyPass "/appxhttps" "https://localhost:3014"
    ProxyPassReverse "/appxhttps" "https://localhost:3014"
    ProxyPass "/appxhttp" "http://localhost:3014"
    ProxyPassReverse "/appxhttp" "http://localhost:3014"

  • Change '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

Added:
>
>
If you are using Windows IIS for your web sever platform, and do not wish to expose TCP 3014 then you'll need IIS 8.0 or greater to support Websockets with IIS ARR installed and the URL Rewrite module enabled. A web.config similar to the following should work.

<?xml version="1.0" encoding="UTF-8"?>
 <configuration>
     <system.webServer>
         <rewrite>
             <rules>
                 <rule name="ReverseProxyInboundRule1">
                     <match url="appxws" />
                     <action type="Rewrite" url="http://localhost:3014/{R:0}" />
                 </rule>
                 <rule name="ReverseProxyInboundRule2">
                     <match url="appxhttp" />
                     <action type="Rewrite" url="http://localhost:3014/{R:0}" />
                 </rule>
             </rules>
         </rewrite>
     </system.webServer>
 </configuration>
 NOTE: If you are running selinux security on your server, you will have to configure it so that apache can initiate an outgoing network connections to the web socket server port. Use the following command:

# setsebool -P httpd_can_network_connect 1

Revision 172016-08-11 - JeanNeron

Line: 1 to 1
 

APPX HTML Client 5.4.3/5.4.4

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

Changed:
<
<

>
>

 

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. When running the client in a browser, no software is required on the desktop, tablet or smart phone. When the user logs on, the necessary code is downloaded to their device as required.

Line: 60 to 60
  All releases of the APPX Server Connector require the 'nodejs' package from https://nodejs.org/. For rpm based Linux systems, you can install it via (as root):
Changed:
<
<
curl --silent --location https://rpm.nodesource.com/setup | bash -yum install nodejs
>
>
curl --silent --location https://rpm.nodesource.com/setup | bash -yum install nodejs
 
Changed:
<
<

To install on Windows, go to https://nodejs.org and download the Windows installer (msi) file and simply run the installer.
>
>

To install on Windows, go to https://nodejs.org and download the Windows installer (msi) file and simply run the installer.
  As of Release 5.4.4 the APPX Server Connector also requires the MongoDB Database for caching images and other items. Instructions for downloading and configuring the database can be found at https://docs.mongodb.org/manual/tutorial/

Installation

Line: 77 to 77
  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:
Changed:
<
<
http://192.168.0.15/appx/client.html
>
>
http://192.168.0.15/appx/client.html
  You must open port 3014 on the server running the APPX Server Connector for this connection to work. If you do not want to open any new ports on your firewall, see the section on 'Tunneling/Forwarding'.
Added:
>
>

Upgrading an existing HTML client installation

If you are upgrading an existing HTML client installation, the procedure is similar to installation except:

  • it is not necessary to run the 'appxConnector-install.js' script. Simply stop the appxConnector service, install the new files, and restart the appxConnector service.
  • if you have customized 'client.html' you will have to re-do your customizations as it will be replaced when the new files are installed.
  • if you have created your own login page based on the standard 'client.html', compare your page and the standard 'client.html' for any changes that might be required.
 

LocalConnector

As mentioned above, you can suppress the requirement for the LocalConnector by changing the following line in "client.html":

Line: 122 to 128
  var sslEnabled = true;
Changed:
<
<
For Unix/Linux hosts
>
>
For Unix/Linux hosts
 var sslPrivateKey = "/etc/pki/tls/private/example.key";
var sslCertificate = "/etc/pki/tls/certs/example.com.crt";
Changed:
<
<
var sslCertAuthority = "/etc/pki/tls/certs/gd_bundle.crt";

For Windows hosts
var sslPrivateKey = "c:\\appx\\SSL\\example.key";
var sslCertificate = "c:\\appx\\SSL\\example.crt";
var sslCertAuthority = "c:\\appx\\SSL\\gd_bundle.crt"
>
>
var sslCertAuthority = "/etc/pki/tls/certs/gd_bundle.crt";

For Windows hosts
var sslPrivateKey = "c:\\appx\\SSL\\example.key";
var sslCertificate = "c:\\appx\\SSL\\example.crt";
var sslCertAuthority = "c:\\appx\\SSL\\gd_bundle.crt"
  The SSL key values above are examples, you will need to change the file paths to point to your own SSL certificates.
Line: 165 to 171
 
  • Copy the client.html file to each subfolder.
  • Create a 'css' folder in each subfolder, and put each unique CUSTOM.css file in that folder

Troubleshooting

Added:
>
>
  • If you have created your own login page based on 'client.html', make sure you update it with any changes to the standard 'client.html' when upgrading the HTML client.
 
  • 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
Changed:
<
<
  • Some browsers (like IE) will not run the client successfully if you double click the 'client.html' file. You should always access the web page via http://servername/client.html, even if the page is installed on your local system.
>
>
  • Some browsers (like IE) will not run the client successfully if you double click the 'client.html' file. You should always access the web page via http://servername/client.html, even if the page is installed on your local system.
 
  • Check to make sure your Appx Server Connector is still running. If not, restart it.
Changed:
<
<
  • If you can't display table data inside a browser and you are running Windows Server 2008R2, you might try installing this HOTFIX from Microsoft. Windows 2008R2 servers without that HOTFIX will sometimes zero-out the MongoDB data. https://support.microsoft.com/en-us/kb/2731284
>
>
  • If you can't display table data inside a browser and you are running Windows Server 2008R2, you might try installing this HOTFIX from Microsoft. Windows 2008R2 servers without that HOTFIX will sometimes zero-out the MongoDB data. https://support.microsoft.com/en-us/kb/2731284
 
  • If you're having trouble with Remote connections, this page has some tips
  • If the client seems to hang while loading images or tables, that its a very good indicator that MongoDB server has stopped. If MongoDB server needs to be started or restarted then make sure you restart the appxConnector service after MongoDB is running.
Changed:
<
<

Comments

>
>

Comments

 
Changed:
<
<
Read what other users have said about this page or add your own comments.
>
>
Read what other users have said about this page or add your own comments.
 
Changed:
<
<

<--/commentPlugin-->
>
>

<--/commentPlugin-->
  -- JeanNeron - 2015-12-18

Revision 162016-07-25 - JoeOrtagus

Line: 1 to 1
 

APPX HTML Client 5.4.3/5.4.4

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

Line: 122 to 122
  var sslEnabled = true;
Changed:
<
<
var sslPrivateKey = "/etc/pki/tls/private/example.key";
var sslCertificate = "/etc/pki/tls/certs/example.com.crt";
var sslCertAuthority = "/etc/pki/tls/certs/gd_bundle.crt";
>
>
For Unix/Linux hosts
var sslPrivateKey = "/etc/pki/tls/private/example.key";
var sslCertificate = "/etc/pki/tls/certs/example.com.crt";
var sslCertAuthority = "/etc/pki/tls/certs/gd_bundle.crt";

For Windows hosts
var sslPrivateKey = "c:\\appx\\SSL\\example.key";
var sslCertificate = "c:\\appx\\SSL\\example.crt";
var sslCertAuthority = "c:\\appx\\SSL\\gd_bundle.crt"
  The SSL key values above are examples, you will need to change the file paths to point to your own SSL certificates.

Revision 152016-05-05 - JeanNeron

Line: 1 to 1
 

APPX HTML Client 5.4.3/5.4.4

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

Changed:
<
<

>
>

 

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. When running the client in a browser, no software is required on the desktop, tablet or smart phone. When the user logs on, the necessary code is downloaded to their device as required.

Line: 60 to 60
  All releases of the APPX Server Connector require the 'nodejs' package from https://nodejs.org/. For rpm based Linux systems, you can install it via (as root):
Changed:
<
<
curl --silent --location https://rpm.nodesource.com/setup | bash -yum install nodejs
>
>
curl --silent --location https://rpm.nodesource.com/setup | bash -yum install nodejs
 
Changed:
<
<

To install on Windows, go to https://nodejs.org and download the Windows installer (msi) file and simply run the installer.
>
>

To install on Windows, go to https://nodejs.org and download the Windows installer (msi) file and simply run the installer.
  As of Release 5.4.4 the APPX Server Connector also requires the MongoDB Database for caching images and other items. Instructions for downloading and configuring the database can be found at https://docs.mongodb.org/manual/tutorial/

Installation

Line: 79 to 77
  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:
Changed:
<
<
http://192.168.0.15/appx/client.html
>
>
http://192.168.0.15/appx/client.html
  You must open port 3014 on the server running the APPX Server Connector for this connection to work. If you do not want to open any new ports on your firewall, see the section on 'Tunneling/Forwarding'.

LocalConnector

Line: 150 to 148
 }

This will set the background color of edittable fields to 'pink' and the default background color to 'white'.

Added:
>
>

Styles by website (5.4.4.1 HTML Client & up only)

It is possible to have different CUSTOM.css style sheets. Install the client web server files as normal, then follow these steps:

 
Added:
>
>
  • create sub folders for each of the different style sheets you want to use.
  • Edit the client.html file, changing 'appx-client-root' to point to the parent folder, i.e.:
    • <meta name="appx-client-root" content="..">
  • Copy the client.html file to each subfolder.
  • Create a 'css' folder in each subfolder, and put each unique CUSTOM.css file in that folder
 

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
Changed:
<
<
  • Some browsers (like IE) will not run the client successfully if you double click the 'client.html' file. You should always access the web page via http://servername/client.html, even if the page is installed on your local system.
>
>
  • Some browsers (like IE) will not run the client successfully if you double click the 'client.html' file. You should always access the web page via http://servername/client.html, even if the page is installed on your local system.
 
  • Check to make sure your Appx Server Connector is still running. If not, restart it.
Changed:
<
<
  • If you can't display table data inside a browser and you are running Windows Server 2008R2, you might try installing this HOTFIX from Microsoft. Windows 2008R2 servers without that HOTFIX will sometimes zero-out the MongoDB data. https://support.microsoft.com/en-us/kb/2731284
>
>
  • If you can't display table data inside a browser and you are running Windows Server 2008R2, you might try installing this HOTFIX from Microsoft. Windows 2008R2 servers without that HOTFIX will sometimes zero-out the MongoDB data. https://support.microsoft.com/en-us/kb/2731284
 
  • If you're having trouble with Remote connections, this page has some tips
  • If the client seems to hang while loading images or tables, that its a very good indicator that MongoDB server has stopped. If MongoDB server needs to be started or restarted then make sure you restart the appxConnector service after MongoDB is running.
Changed:
<
<

Comments

>
>

Comments

 
Changed:
<
<
Read what other users have said about this page or add your own comments.
>
>
Read what other users have said about this page or add your own comments.
 
Changed:
<
<

<--/commentPlugin-->
>
>

<--/commentPlugin-->
  -- JeanNeron - 2015-12-18

Revision 142016-03-31 - JeanNeron

Line: 1 to 1
 

APPX HTML Client 5.4.3/5.4.4

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

Changed:
<
<

>
>

 

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. When running the client in a browser, no software is required on the desktop, tablet or smart phone. When the user logs on, the necessary code is downloaded to their device as required.

Line: 82 to 82
 http://192.168.0.15/appx/client.html

You must open port 3014 on the server running the APPX Server Connector for this connection to work. If you do not want to open any new ports on your firewall, see the section on 'Tunneling/Forwarding'.

Changed:
<
<

LocalConnector

>
>

LocalConnector

  As mentioned above, you can suppress the requirement for the LocalConnector by changing the following line in "client.html":

<meta name="appx-local-required" content="true" >

Change the "true" to "false" to supress the requirement.

Changed:
<
<

LocalConnector Installation

>
>

LocalConnector Installation

  If you do not turn off the LocalConnector requirement as above, then when the 'client.html' page is loaded it will check to see if the local connector is running on the users desktop. If not, they will get a dialog box offering to download the local connector. The actual installation of the local connector varies by the O/S on the user's desktop:
  • Windows: Once the download is complete, run the installer. The local connector will be installed, started and Windows will be configured to automatically start on a reboot. No further action is required.
Line: 105 to 105
  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 on Linux 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

Changed:
<
<
  • In Releases prior to 5.4.4, 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

  • In Releases to 5.4.4 and greater, create the /etc/httpd/conf.d/appx.conf file with the following lines (or just add these to httpd.conf):

    ProxyPass "/appxwss/" "wss://localhost:3014"
    ProxyPassReverse "/appxwss/" "wss://localhost:3014"
    ProxyPass "/appxws/" "ws://localhost:3014"
    ProxyPassReverse "/appxws/" "ws://localhost:3014"

    ProxyPass "/appxhttps/" "https://localhost:3014"
    ProxyPassReverse "/appxhttps/" "https://localhost:3014"
    ProxyPass "/appxhttp/" "http://localhost:3014"
    ProxyPassReverse "/appxhttp/" "http://localhost:3014"

>
>
  • In Releases prior to 5.4.4, 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"

  • In Releases to 5.4.4 and greater, create the /etc/httpd/conf.d/appx.conf file with the following lines (or just add these to httpd.conf):

    ProxyPass "/appxwss" "wss://localhost:3014"
    ProxyPassReverse "/appxwss" "wss://localhost:3014"
    ProxyPass "/appxws" "ws://localhost:3014"
    ProxyPassReverse "/appxws" "ws://localhost:3014"

    ProxyPass "/appxhttps" "https://localhost:3014"
    ProxyPassReverse "/appxhttps" "https://localhost:3014"
    ProxyPass "/appxhttp" "http://localhost:3014"
    ProxyPassReverse "/appxhttp" "http://localhost:3014"

 
  • Change '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

Added:
>
>
NOTE: If you are running selinux security on your server, you will have to configure it so that apache can initiate an outgoing network connections to the web socket server port. Use the following command:

# setsebool -P httpd_can_network_connect 1

 

SSL

If you are running a secure web server (https), you can configure the Appx HTML client to use your SSL connection. Your web server must to configured to accept both SSL (https:) and non-SSL (http:) connections.

Line: 162 to 165
 Read what other users have said about this page or add your own comments.
Changed:
<
<

<--/commentPlugin-->
>
>

<--/commentPlugin-->
  -- JeanNeron - 2015-12-18

Revision 132016-03-31 - JeanNeron

Line: 1 to 1
 

APPX HTML Client 5.4.3/5.4.4

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

Changed:
<
<

>
>

 

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. When running the client in a browser, no software is required on the desktop, tablet or smart phone. When the user logs on, the necessary code is downloaded to their device as required.

Line: 79 to 81
  http://192.168.0.15/appx/client.html
Changed:
<
<
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 section on 'Tunneling/Forwarding'.
>
>
You must open port 3014 on the server running the APPX Server Connector for this connection to work. If you do not want to open any new ports on your firewall, see the section on 'Tunneling/Forwarding'.
 

LocalConnector

As mentioned above, you can suppress the requirement for the LocalConnector by changing the following line in "client.html":

Line: 102 to 104
 

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 on Linux you would do the following:

Changed:
<
<
  • 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

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

    LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so

  • In Releases prior to 5.4.4, 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

  • In Releases to 5.4.4 and greater, create the /etc/httpd/conf.d/appx.conf file with the following lines (or just add these to httpd.conf):

    ProxyPass "/appxwss/" "wss://localhost:3014"
    ProxyPassReverse "/appxwss/" "wss://localhost:3014"
    ProxyPass "/appxws/" "ws://localhost:3014"
    ProxyPassReverse "/appxws/" "ws://localhost:3014"

    ProxyPass "/appxhttps/" "https://localhost:3014"
    ProxyPassReverse "/appxhttps/" "https://localhost:3014"
    ProxyPass "/appxhttp/" "http://localhost:3014"
    ProxyPassReverse "/appxhttp/" "http://localhost:3014"

 
  • Change '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

Line: 159 to 162
 Read what other users have said about this page or add your own comments.
Changed:
<
<

<--/commentPlugin-->
>
>

<--/commentPlugin-->
  -- JeanNeron - 2015-12-18

Revision 122016-03-11 - JeanNeron

Line: 1 to 1
 

APPX HTML Client 5.4.3/5.4.4

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

Changed:
<
<

>
>

 

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. When running the client in a browser, no software is required on the desktop, tablet or smart phone. When the user logs on, the necessary code is downloaded to their device as required.

Line: 58 to 58
 The APPX Server Connector is the software that connects the HTML clients and the APPX server. This can be installed on the same server as the web server, or the APPX Server, or a completely different machine. If you are not using tunnneling via the web server, then port 3014 (the default port) needs to be open between the server connector machine and your HTML clients.

Prerequisites

Changed:
<
<
All releases of the APPX Server Connector require the 'nodejs' package from https://nodejs.org/ if it is not already installed on your server. For rpm based Linux systems, you can install it via (as root):
>
>
All releases of the APPX Server Connector require the 'nodejs' package from https://nodejs.org/. For rpm based Linux systems, you can install it via (as root):
  curl --silent --location https://rpm.nodesource.com/setup | bash -yum install nodejs
Line: 154 to 152
 
  • Check to make sure your Appx Server Connector is still running. If not, restart it.
  • If you can't display table data inside a browser and you are running Windows Server 2008R2, you might try installing this HOTFIX from Microsoft. Windows 2008R2 servers without that HOTFIX will sometimes zero-out the MongoDB data. https://support.microsoft.com/en-us/kb/2731284
  • If you're having trouble with Remote connections, this page has some tips
Added:
>
>
  • If the client seems to hang while loading images or tables, that its a very good indicator that MongoDB server has stopped. If MongoDB server needs to be started or restarted then make sure you restart the appxConnector service after MongoDB is running.
 

Comments

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


Changed:
<
<

<--/commentPlugin-->
>
>

<--/commentPlugin-->
  -- JeanNeron - 2015-12-18

Revision 112016-03-10 - JeanNeron

Line: 1 to 1
 

APPX HTML Client 5.4.3/5.4.4

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

Changed:
<
<

>
>

 

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. When running the client in a browser, no software is required on the desktop, tablet or smart phone. When the user logs on, the necessary code is downloaded to their device as required.

Line: 14 to 14
  The Appx HTML client consists of two modules:
  • Web Server Files (webhost.zip). These are the javascript libraries and style sheets that make up the HTML client. This also contains the Local Connector for Windows, Mac and Linux clients. These must be installed in your web server's document directory.
Changed:
<
<
  • APPX Server connector (serverConnector.zip). This is a javascript library that connects the client running in your browser to the actual Appx engine. In releases prior to 5.4.4 the Appx Server Connector is platform specific, you will need the one that matches the O/S under which your web server is running. After Release 5.4.4 it is platform independant.
>
>
  • APPX Server connector (serverConnector.zip). This is a javascript library that connects the client running in your browser to the actual Appx engine. In releases prior to 5.4.4 the Appx Server Connector is platform specific, you will need the one that matches the O/S under which your server is running. After Release 5.4.4 it is platform independant.
 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 maximum 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.

Added:
>
>
Prerequisites

The server that will run the APPX Server Connector requires 'nodejs' (https://nodejs.org/). In Release 5.4.4 and higher you also need the Mongo Database (https://www.mongodb.org/). See below for details on installing these packages.

 

Local Connector

Changed:
<
<
Because of the tighter security in web browsers, it is not possible for HTML 5/javascript to seamlessly upload, download or open files on the users desktop the way it can be done with the Appx Desktop Client. To address this, the HTML client includes a small 'helper' program that supports this. This is called the 'LocalConnector'. By default, the HTML client will check to see if the local connector program is running when the user logs in. If it is not running, it will offer to install it, and if the user cancels they will be nagged the next time they log in.
>
>
Because of the tighter security in web browsers, it is not possible for HTML 5/javascript to seamlessly upload, download or open files unassisted on the users desktop the way it can be done with the Appx Desktop Client. To address this, the HTML client includes a small 'helper' program that supports this. This is called the 'LocalConnector'. By default, the HTML client will check to see if the local connector program is running when the user logs in. If it is not running, it will offer to install it, and if the user cancels they will be nagged the next time they log in.
  If your application does not require the ability to upload/download/open files on the desktop, you can turn this off (see Installation below).
Line: 30 to 34
 The HTML client has a different presentation for most non-Appx elements such as Date Choosers, File Upload/download dialog boxes, Tables, etc. The goal of the HTML client was to replicate the presentation of your screens as accurately as possible as far as the Appx elements are concerned (i.e., the widgets and fields you use in the Image Editor). Since we use different 3rd party tools and runtimes for other elements, they will look different compared to the Appx Desktop Client.

Requirements

Changed:
<
<
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. You must also install the 'nodejs' package on the server running the AppxConnector.
>
>
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.
Line: 49 to 53
  Change HOSTNAME to the name or IP address of the server running the Appx Server Connector. Do not use localhost.
Changed:
<
<

Installation - Server Connector Component

>
>

Installation - APPX Server Connector Component

 
Changed:
<
<
The Server Connector is the software that connects the HTML clients and the APPX server. This can be installed on the same server as the web server, or the APPX Server, or a completely different machine. If you are not using tunnneling via the web server, then port 3014 (the default port) needs to be open between the server connector machine and your HTML clients.
>
>
The APPX Server Connector is the software that connects the HTML clients and the APPX server. This can be installed on the same server as the web server, or the APPX Server, or a completely different machine. If you are not using tunnneling via the web server, then port 3014 (the default port) needs to be open between the server connector machine and your HTML clients.
 

Prerequisites

Changed:
<
<
All releases of the Server Connector require the 'nodejs' package from https://nodejs.org/ if it is not already installed on your server. For rpm based Linux systems, you can install it via (as root):
>
>
All releases of the APPX Server Connector require the 'nodejs' package from https://nodejs.org/ if it is not already installed on your server. For rpm based Linux systems, you can install it via (as root):
  curl --silent --location https://rpm.nodesource.com/setup | bash -yum install nodejs


To install on Windows, go to https://nodejs.org and download the Windows installer (msi) file and simply run the installer.

Changed:
<
<
As of Release 5.4.4 the Server Connector also requires the MongoDB Database for caching images and other items. The software can be downloaded from https://www.mongodb.org/downloads. You must also configure the server, following the instructions at https://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/.
>
>
As of Release 5.4.4 the APPX Server Connector also requires the MongoDB Database for caching images and other items. Instructions for downloading and configuring the database can be found at https://docs.mongodb.org/manual/tutorial/

Installation

  1) Extract the Appx Server Connector to a location of your choice. A folder in the /opt directory would be a good choice on a Linux server. Once the software is extracted, run the appxConnector-install.js script. This should be run as 'root' on Linux/Unix systems, and as an Administrator on Windows systems. This will check your system for the required modules. To run the script, open a terminal or DOS window and navigate to the folder where you installed the Appx Server Connector, then invoke the script via 'node':
Line: 77 to 82
 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 section on 'Tunneling/Forwarding'.

Changed:
<
<

LocalConnector

>
>

LocalConnector

 
Changed:
<
<
As mentioned above, you can suppress the requirement for the LocalConnector by changing the following line in "client.html":
>
>
As mentioned above, you can suppress the requirement for the LocalConnector by changing the following line in "client.html":
  <meta name="appx-local-required" content="true" >

Change the "true" to "false" to supress the requirement.

Changed:
<
<

LocalConnector Installation

>
>

LocalConnector Installation

 
Changed:
<
<
If you do not turn off the LocalConnector requirement as above, then when the 'client.html' page is loaded it will check to see if the local connector is running on the users desktop. If not, they will get a dialog box offering to download the local connector. The actual installation of the local connector varies by the O/S on the user's desktop:
>
>
If you do not turn off the LocalConnector requirement as above, then when the 'client.html' page is loaded it will check to see if the local connector is running on the users desktop. If not, they will get a dialog box offering to download the local connector. The actual installation of the local connector varies by the O/S on the user's desktop:
 
  • Windows: Once the download is complete, run the installer. The local connector will be installed, started and Windows will be configured to automatically start on a reboot. No further action is required.
Changed:
<
<
  • Mac O/S: Once the download is complete, open the disk image and double click the installer. The local connector will be installed and started. The local connector will have to manually started after each login by opening a terminal window and entering the command "cd AppxLocalConnector;open node-webkit.app". Alternatively, the user can add 'node-webkit.app' in their AppxLocalConnector folder to their Login Items in System Preferences.
>
>
  • Mac O/S: Once the download is complete, open the disk image and double click the installer. The local connector will be installed and started. The local connector will have to manually started after each login by opening a terminal window and entering the command "cd AppxLocalConnector;open node-webkit.app". Alternatively, the user can add 'node-webkit.app' in their AppxLocalConnector folder to their Login Items in System Preferences.
 
  • Linux: Once the download is complete, open a terminal window and enter:
    • cd Downloads (or wherever the file was saved to)
Changed:
<
<
    • sh localConnector_linux32.sh or sh localConnector_linux64.sh, depending on whether you have 32 or 64 bit Linux. The connector will be installed.
>
>
    • sh LocalConnector _linux32.sh or sh LocalConnector _linux64.sh, depending on whether you have 32 or 64 bit Linux. The connector will be installed.
 
    • Start the connector running by:
      • cd $HOME/AppxLocalConnector
      • sh ./start-nw.sh
Line: 107 to 112
  If you are running a secure web server (https), you can configure the Appx HTML client to use your SSL connection. Your web server must to configured to accept both SSL (https:) and non-SSL (http:) connections.
Changed:
<
<
Change your "client.html" settings as follows:
>
>
Change your "client.html" settings as follows (this file is located on your web server):
  appx-proxy-host = hostname of httpd server (i.e., 192.168.1.11)
appx-proxy-port = “443"
appx-proxy-path = /appxwss/
appx-encryption = “ssl”
Changed:
<
<
In 'appxConnector.js' change:
>
>
Change your "appxConnector.js" as follows (this file is located on your APPX Server Connector server):
  var sslEnabled = true;
Line: 155 to 160
 Read what other users have said about this page or add your own comments.
Changed:
<
<

<--/commentPlugin-->
>
>

<--/commentPlugin-->
  -- JeanNeron - 2015-12-18

Revision 102016-03-10 - JeanNeron

Line: 1 to 1
 

APPX HTML Client 5.4.3/5.4.4

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

Changed:
<
<

>
>

 

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. When running the client in a browser, no software is required on the desktop, tablet or smart phone. When the user logs on, the necessary code is downloaded to their device as required.

Line: 13 to 13
 The client will support SSL connections if your web server is configured appropriately. If not, the client will use its own built in AES encryption but be aware that this is not sufficient to protect sensitive data.

The Appx HTML client consists of two modules:

Changed:
<
<
  • Web Server Files (webhost.zip). These are the javascript 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 independent.
  • APPX Server connector (serverConnector.zip). 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.
>
>
  • Web Server Files (webhost.zip). These are the javascript libraries and style sheets that make up the HTML client. This also contains the Local Connector for Windows, Mac and Linux clients. These must be installed in your web server's document directory.
  • APPX Server connector (serverConnector.zip). This is a javascript library that connects the client running in your browser to the actual Appx engine. In releases prior to 5.4.4 the Appx Server Connector is platform specific, you will need the one that matches the O/S under which your web server is running. After Release 5.4.4 it is platform independant.
 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 maximum 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.

Line: 39 to 39
 If you are going to run the APPX Server Connector on a Windows server, make sure all patches have been applied. In particular, https://support.microsoft.com/en-us/kb/2731284 will break tables if it is not applied

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

Changed:
<
<

Installation

>
>

Installation - Web Server Component

  1) 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 its own folder within the web server documents, i.e., /var/www/html/appx.
Line: 49 to 49
  Change HOSTNAME to the name or IP address of the server running the Appx Server Connector. Do not use localhost.
Changed:
<
<
3) Install the 'nodejs' package from https://nodejs.org/ if it is not already installed on your server. For rpm based Linux systems, you can install it via (as root):
>
>

Installation - Server Connector Component

 
Changed:
<
<
curl --silent --location https://rpm.nodesource.com/setup | bash -
yum install nodejs
>
>
The Server Connector is the software that connects the HTML clients and the APPX server. This can be installed on the same server as the web server, or the APPX Server, or a completely different machine. If you are not using tunnneling via the web server, then port 3014 (the default port) needs to be open between the server connector machine and your HTML clients.

Prerequisites

 
Changed:
<
<
To install on Windows, go to https://nodejs.org and download the Windows installer (msi) file and simply run the installer.
>
>
All releases of the Server Connector require the 'nodejs' package from https://nodejs.org/ if it is not already installed on your server. For rpm based Linux systems, you can install it via (as root):
 
Changed:
<
<
4) 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, run the appxConnector-install.js script. This should be run as 'root' on Linux/Unix systems, and as an Administrator on Windows systems. This will check your system for the required modules. To run the script, open a terminal or DOS window and navigate to the folder where you installed the Appx Server Connector, then invoke the script via 'node':
>
>
curl --silent --location https://rpm.nodesource.com/setup | bash -yum install nodejs


To install on Windows, go to https://nodejs.org and download the Windows installer (msi) file and simply run the installer.

As of Release 5.4.4 the Server Connector also requires the MongoDB Database for caching images and other items. The software can be downloaded from https://www.mongodb.org/downloads. You must also configure the server, following the instructions at https://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/.

1) Extract the Appx Server Connector to a location of your choice. A folder in the /opt directory would be a good choice on a Linux server. Once the software is extracted, run the appxConnector-install.js script. This should be run as 'root' on Linux/Unix systems, and as an Administrator on Windows systems. This will check your system for the required modules. To run the script, open a terminal or DOS window and navigate to the folder where you installed the Appx Server Connector, then invoke the script via 'node':

 
[root@localhost ~]# cd /opt/appxConnector543
[root@localhost appxConnector543]# node appxConnector-install.js
Checking for required modules...
Module: crypto - Installed.
Module: fs - Installed.
Module: hexy - Installed.
Module: http - Installed.
Module: https - Installed.
Module: mongodb - Installed.
Module: net - Installed.
Module: node-cryptojs-aes - Installed.
Module: string - Missing, please run 'npm install string' to install.
Module: string_decoder - Installed.
Module: url - Installed.
Module: ws - Installed.

Missing modules. Please install required modules and run again.
Line: 63 to 70
 
[root@localhost appxConnector543]# node appxConnector-install.js  
Checking for required modules...
Module: crypto - Installed.
Module: fs - Installed.
Module: hexy - Installed.
Module: http - Installed.
Module: https - Installed.
Module: mongodb - Installed.
Module: net - Installed.
Module: node-cryptojs-aes - Installed.
Module: string - Installed.
Module: string_decoder - Installed.
Module: url - Installed.
Module: ws - Installed.

Installing appxconnector service...
Using default mode: systemd Installing service on /etc/systemd/system/appxconnector.service
Already installed, restarting appxconnector service...
Running systemctl start appxconnector...
Done
Changed:
<
<
5) Confirm the service is running. In Linux/Unix you can use 'ps -ef|grep appxConnector.js', and in Windows you can use the 'Services' control panel.
>
>
2) Confirm the service is running. In Linux/Unix you can use 'ps -ef|grep appxConnector.js', and in Windows you can use the 'Services' control panel.
  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 section on 'Tunneling/Forwarding'.

Changed:
<
<

LocalConnector

>
>

LocalConnector

  As mentioned above, you can suppress the requirement for the LocalConnector by changing the following line in "client.html":
Line: 140 to 147
 
  • 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
  • Some browsers (like IE) will not run the client successfully if you double click the 'client.html' file. You should always access the web page via http://servername/client.html, even if the page is installed on your local system.
  • Check to make sure your Appx Server Connector is still running. If not, restart it.
Changed:
<
<
  • If you can't display table data inside a browser and you are running Windows Server 2008R2, you might try installing this HOTFIX from Microsoft. Windows 2008R2 servers without that HOTFIX will sometimes zero-out the MongoDB data. https://support.microsoft.com/en-us/kb/2731284
>
>
  • If you can't display table data inside a browser and you are running Windows Server 2008R2, you might try installing this HOTFIX from Microsoft. Windows 2008R2 servers without that HOTFIX will sometimes zero-out the MongoDB data. https://support.microsoft.com/en-us/kb/2731284
 
  • If you're having trouble with Remote connections, this page has some tips

Comments

Line: 148 to 155
 Read what other users have said about this page or add your own comments.
Changed:
<
<

<--/commentPlugin-->
>
>

<--/commentPlugin-->
  -- JeanNeron - 2015-12-18

Revision 92016-02-25 - JeanNeron

Line: 1 to 1
Changed:
<
<

APPX HTML Client 5.4.3

>
>

APPX HTML Client 5.4.3/5.4.4

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

Revision 82016-02-10 - JeanNeron

Line: 1 to 1
 

APPX HTML Client 5.4.3

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

Line: 141 to 139
 
  • Some browsers (like IE) will not run the client successfully if you double click the 'client.html' file. You should always access the web page via http://servername/client.html, even if the page is installed on your local system.
  • Check to make sure your Appx Server Connector is still running. If not, restart it.
  • If you can't display table data inside a browser and you are running Windows Server 2008R2, you might try installing this HOTFIX from Microsoft. Windows 2008R2 servers without that HOTFIX will sometimes zero-out the MongoDB data. https://support.microsoft.com/en-us/kb/2731284
Added:
>
>
  • If you're having trouble with Remote connections, this page has some tips
 

Comments

Revision 72016-01-14 - JeanNeron

Line: 1 to 1
 

APPX HTML Client 5.4.3

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

Line: 36 to 36
  If you plan to use an SSL connection, your web server must be configured to accept both SSL and non-SSL connections.
Changed:
<
<
You should install MongoDB, NodeJS and Node's NPM.
>
>
If you are going to run the APPX Server Connector on a Windows server, make sure all patches have been applied. In particular, https://support.microsoft.com/en-us/kb/2731284 will break tables if it is not applied
  We have tested the HTML client on current versions of IE, Chrome, Firefox and Safari.

Installation

Revision 62016-01-14 - JoeOrtagus

Line: 1 to 1
 

APPX HTML Client 5.4.3

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

Line: 36 to 36
  If you plan to use an SSL connection, your web server must be configured to accept both SSL and non-SSL connections.
Added:
>
>
You should install MongoDB, NodeJS and Node's NPM.
 We have tested the HTML client on current versions of IE, Chrome, Firefox and Safari.

Installation

Line: 138 to 140
 
  • 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
  • Some browsers (like IE) will not run the client successfully if you double click the 'client.html' file. You should always access the web page via http://servername/client.html, even if the page is installed on your local system.
  • Check to make sure your Appx Server Connector is still running. If not, restart it.
Added:
>
>
  • If you can't display table data inside a browser and you are running Windows Server 2008R2, you might try installing this HOTFIX from Microsoft. Windows 2008R2 servers without that HOTFIX will sometimes zero-out the MongoDB data. https://support.microsoft.com/en-us/kb/2731284
 

Comments

Revision 52016-01-11 - JeanNeron

Line: 1 to 1
 

APPX HTML Client 5.4.3

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

Line: 139 to 141
 

Comments

Changed:
<
<
_Read what other users have said about this page or add your own comments._
>
>
Read what other users have said about this page or add your own comments.
 


<--/commentPlugin-->

-- JeanNeron - 2015-12-18

Added:
>
>
META TOPICMOVED by="JeanNeron" date="1452527202" from="Sandbox.AppxHTMLClient543" to="Main.AppxHTMLClient543"

Revision 42015-12-23 - JeanNeron

Line: 1 to 1
 

APPX HTML Client 5.4.3

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

Revision 32015-12-18 - JeanNeron

Line: 1 to 1
 

APPX HTML Client 5.4.3

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

Changed:
<
<

>
>

 

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. When running the client in a browser, no software is required on the desktop, tablet or smart phone. When the user logs on, the necessary code is downloaded to their device as required.

Line: 13 to 13
 The client will support SSL connections if your web server is configured appropriately. If not, the client will use its own built in AES encryption but be aware that this is not sufficient to protect sensitive data.

The Appx HTML client consists of two modules:

Changed:
<
<
  • Web Server Files. These are the javascript 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 independent.
  • 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.
>
>
  • Web Server Files (webhost.zip). These are the javascript 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 independent.
  • APPX Server connector (serverConnector.zip). 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 maximum 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.

Line: 47 to 47
  Change HOSTNAME to the name or IP address of the server running the Appx Server Connector. Do not use localhost.
Changed:
<
<
3) Install the 'nodejs' package from https://nodejs.org/ if it is not already installed on your server. For rpm based Linux systems, you can install it via (as root):
>
>
3) Install the 'nodejs' package from https://nodejs.org/ if it is not already installed on your server. For rpm based Linux systems, you can install it via (as root):
 
Changed:
<
<
curl --silent --location https://rpm.nodesource.com/setup | bash -
yum install nodejs
>
>
curl --silent --location https://rpm.nodesource.com/setup | bash -
yum install nodejs
 
Changed:
<
<
To install on Windows, go to https://nodejs.org and download the Windows installer (msi) file and simply run the installer.
>
>
To install on Windows, go to https://nodejs.org and download the Windows installer (msi) file and simply run the installer.
  4) 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, run the appxConnector-install.js script. This should be run as 'root' on Linux/Unix systems, and as an Administrator on Windows systems. This will check your system for the required modules. To run the script, open a terminal or DOS window and navigate to the folder where you installed the Appx Server Connector, then invoke the script via 'node':
Changed:
<
<
[root@localhost ~]# cd /opt/appxConnector543 [root@localhost appxConnector543]# node appxConnector-install.js    Checking for required modules... Module: crypto                    - Installed. Module: fs                        - Installed. Module: hexy                      - Installed. Module: http                      - Installed. Module: https                     - Installed. Module: mongodb                   - Installed. Module: net                       - Installed. Module: node-cryptojs-aes         - Installed. Module: string                    - Missing, please run 'npm install string' to install. Module: string_decoder            - Installed. Module: url                       - Installed. Module: ws                        - Installed.   Missing modules.  Please install required modules and run again.
>
>
[root@localhost ~]# cd /opt/appxConnector543
[root@localhost appxConnector543]# node appxConnector-install.js
Checking for required modules...
Module: crypto - Installed.
Module: fs - Installed.
Module: hexy - Installed.
Module: http - Installed.
Module: https - Installed.
Module: mongodb - Installed.
Module: net - Installed.
Module: node-cryptojs-aes - Installed.
Module: string - Missing, please run 'npm install string' to install.
Module: string_decoder - Installed.
Module: url - Installed.
Module: ws - Installed.

Missing modules. Please install required modules and run again.
 
Changed:
<
<
Notice in this example the module 'string' is missing and the instructions on how to install it are displayed. If any modules are missing on your system, run the appropriate 'npm' command to install them, then re-run the install script. If all modules are now present, the service will be created:
>
>
Notice in this example the module 'string' is missing and the instructions on how to install it are displayed. If any modules are missing on your system, run the appropriate 'npm' command to install them, then re-run the install script. If all modules are present, the service will be created:
 
Changed:
<
<
[root@localhost appxConnector543]# node appxConnector-install.js    Checking for required modules... Module: crypto                    - Installed. Module: fs                        - Installed. Module: hexy                      - Installed. Module: http                      - Installed. Module: https                     - Installed. Module: mongodb                   - Installed. Module: net                       - Installed. Module: node-cryptojs-aes         - Installed. Module: string                    - Installed. Module: string_decoder            - Installed. Module: url                       - Installed. Module: ws                        - Installed.   Installing appxconnector service... Using default mode: systemd Installing service on /etc/systemd/system/appxconnector.service Already installed, restarting appxconnector service... Running systemctl start appxconnector... Done
>
>
[root@localhost appxConnector543]# node appxConnector-install.js  
Checking for required modules...
Module: crypto - Installed.
Module: fs - Installed.
Module: hexy - Installed.
Module: http - Installed.
Module: https - Installed.
Module: mongodb - Installed.
Module: net - Installed.
Module: node-cryptojs-aes - Installed.
Module: string - Installed.
Module: string_decoder - Installed.
Module: url - Installed.
Module: ws - Installed.

Installing appxconnector service...
Using default mode: systemd Installing service on /etc/systemd/system/appxconnector.service
Already installed, restarting appxconnector service...
Running systemctl start appxconnector...
Done
 
Changed:
<
<
5) Confirm the service is running. In Linux you can use 'ps -ef|grep appxConnector.js', and in Windows you can use the 'Services' control panel
>
>
5) Confirm the service is running. In Linux/Unix you can use 'ps -ef|grep appxConnector.js', and in Windows you can use the 'Services' control panel.
  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:
Changed:
<
<
http://192.168.0.15/appx/client.html
>
>
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 section on 'Tunneling/Forwarding'.

LocalConnector

Line: 136 to 136
 

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
Changed:
<
<
  • Some browsers (like IE) will not run the client successfully if you double click the 'client.html' file. You should always access the web page via http://servername/client.html, even if the page is installed on your local system.
>
>
  • Some browsers (like IE) will not run the client successfully if you double click the 'client.html' file. You should always access the web page via http://servername/client.html, even if the page is installed on your local system.
 
  • Check to make sure your Appx Server Connector is still running. If not, restart it.
Deleted:
<
<
  • Comments:
 
Changed:
<
<
Read what other users have said about this page or add your own comments.
>
>

Comments

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

 
Changed:
<
<

<--/commentPlugin-->
>
>

<--/commentPlugin-->
 
Changed:
<
<
-- JeanNeron - 2014-11-10
>
>
-- JeanNeron - 2015-12-18

Revision 22015-12-17 - JeanNeron

Line: 1 to 1
 

APPX HTML Client 5.4.3

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

Line: 10 to 10
  In this release, you can only run the applications, you cannot design them. Specifically, the ILF editor, old ILF Debugger and Image Editor are not supported. You may be able to work in Application Design so long as you avoid those.
Changed:
<
<
The client will support SSL connections if your web server is configured appropriately. If not, the client will use its own built in AES encryption but be aware that this is not sufficient to protect sensitive data.
>
>
The client will support SSL connections if your web server is configured appropriately. If not, the client will use its own built in AES encryption but be aware that this is not sufficient to protect sensitive data.
  The Appx HTML client consists of two modules:
  • Web Server Files. These are the javascript 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 independent.
Line: 39 to 39
 We have tested the HTML client on current versions of IE, Chrome, Firefox and Safari.

Installation

Changed:
<
<
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 its own folder within the web server documents, i.e., /var/www/html/appx.
>
>
1) 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 its own folder within the web server documents, i.e., /var/www/html/appx.
 
Changed:
<
<
You must install the 'nodejs' package from https://nodejs.org/ if it is not already installed on your server. For rpm based Linux systems, you can install it via (as root):
>
>
2) Set the name of the host running the Appx Server Connector in the 'client.html' web page:
 
Changed:
<
<
curl --silent --location https://rpm.nodesource.com/setup | bash -
yum install nodejs

To install on Windows, go to https://nodejs.org and download the Windows installer (msi) file and simply run the installer.

>
>
<meta name="appx-proxy-host" content="HOSTNAME"> <!-- Server Connector hostname or web server if tunneling -->
 
Changed:
<
<
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):
>
>
Change HOSTNAME to the name or IP address of the server running the Appx Server Connector. Do not use localhost.
 
Changed:
<
<
# cd /opt/appxConnector
# nohup ./node appxConnector.js &
>
>
3) Install the 'nodejs' package from https://nodejs.org/ if it is not already installed on your server. For rpm based Linux systems, you can install it via (as root):
 
Changed:
<
<
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:
>
>
curl --silent --location https://rpm.nodesource.com/setup | bash -
yum install nodejs
 
Changed:
<
<
cd \appxConnector
node appxConnector.js
>
>
To install on Windows, go to https://nodejs.org and download the Windows installer (msi) file and simply run the installer.
 
Changed:
<
<
Note that this will appear to 'hang', but it is actually running and waiting for connections. Just minimize the DOS box and leave it running.
>
>
4) 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, run the appxConnector-install.js script. This should be run as 'root' on Linux/Unix systems, and as an Administrator on Windows systems. This will check your system for the required modules. To run the script, open a terminal or DOS window and navigate to the folder where you installed the Appx Server Connector, then invoke the script via 'node':
 
Changed:
<
<
Eventually this will be a service, but for now you must manually start the connector upon first installation and after every reboot.
>
>
[root@localhost ~]# cd /opt/appxConnector543 [root@localhost appxConnector543]# node appxConnector-install.js    Checking for required modules... Module: crypto                    - Installed. Module: fs                        - Installed. Module: hexy                      - Installed. Module: http                      - Installed. Module: https                     - Installed. Module: mongodb                   - Installed. Module: net                       - Installed. Module: node-cryptojs-aes         - Installed. Module: string                    - Missing, please run 'npm install string' to install. Module: string_decoder            - Installed. Module: url                       - Installed. Module: ws                        - Installed.   Missing modules.  Please install required modules and run again.
 
Changed:
<
<
Finally, you need to set the name of the host running the Appx Server Connector in the 'client.html' web page:
>
>
Notice in this example the module 'string' is missing and the instructions on how to install it are displayed. If any modules are missing on your system, run the appropriate 'npm' command to install them, then re-run the install script. If all modules are now present, the service will be created:
 
Changed:
<
<
<meta name="appx-proxy-host" content="HOSTNAME"> <!-- Server Connector hostname or web server if tunneling -->
>
>
[root@localhost appxConnector543]# node appxConnector-install.js    Checking for required modules... Module: crypto                    - Installed. Module: fs                        - Installed. Module: hexy                      - Installed. Module: http                      - Installed. Module: https                     - Installed. Module: mongodb                   - Installed. Module: net                       - Installed. Module: node-cryptojs-aes         - Installed. Module: string                    - Installed. Module: string_decoder            - Installed. Module: url                       - Installed. Module: ws                        - Installed.   Installing appxconnector service... Using default mode: systemd Installing service on /etc/systemd/system/appxconnector.service Already installed, restarting appxconnector service... Running systemctl start appxconnector... Done
 
Changed:
<
<
Change HOSTNAME to the name or IP address of the server running the Appx Server Connector. Do not use localhost.
>
>
5) Confirm the service is running. In Linux you can use 'ps -ef|grep appxConnector.js', and in Windows you can use the 'Services' control panel
  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:
Line: 106 to 104
  In 'appxConnector.js' change:
Changed:
<
<
var sslEnabled = true;
>
>
var sslEnabled = true;
  var sslPrivateKey = "/etc/pki/tls/private/example.key";
var sslCertificate = "/etc/pki/tls/certs/example.com.crt";
var sslCertAuthority = "/etc/pki/tls/certs/gd_bundle.crt";
Line: 114 to 112
  Once you have made the above changes, restart the Server Connector and refresh the Appx Login page in your browser (if it was still loaded when you made these changes).
Changed:
<
<
NOTE: You still use 'http://' to connect to the client page. The client will switch to the SSL connection once the page is loaded.
>
>
NOTE: You still use 'http://' to connect to the client page. The client will switch to the SSL connection once the page is loaded.
 

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, however those changes will be lost the next time the client is updated.

Line: 139 to 137
 
  • 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
  • Some browsers (like IE) will not run the client successfully if you double click the 'client.html' file. You should always access the web page via http://servername/client.html, even if the page is installed on your local system.
Changed:
<
<
  • Check to make sure your Appx Server Connector is still running. If not, restart it via 'nohup ./node appxConnector.js &' for Linux or 'node appxConnector.js' for Windows.

Known Issues

The following are the known problems with the HTML client. We are continuing to enhance the client, watch the download page for updates!

Comments:

>
>
  • Check to make sure your Appx Server Connector is still running. If not, restart it.
  • Comments:
  Read what other users have said about this page or add your own comments.

Revision 12015-12-04 - JeanNeron

Line: 1 to 1
Added:
>
>

APPX HTML Client 5.4.3

This page gives installation instructions and an overview of 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. When running the client in a browser, no software is required on the desktop, tablet or smart phone. When the user logs on, the necessary code is downloaded to their device as required.

In this release, you can only run the applications, you cannot design them. Specifically, the ILF editor, old ILF Debugger and Image Editor are not supported. You may be able to work in Application Design so long as you avoid those.

The client will support SSL connections if your web server is configured appropriately. If not, the client will use its own built in AES encryption but be aware that this is not sufficient to protect sensitive data.

The Appx HTML client consists of two modules:

  • Web Server Files. These are the javascript 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 independent.
  • 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 maximum 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.

Local Connector

Because of the tighter security in web browsers, it is not possible for HTML 5/javascript to seamlessly upload, download or open files on the users desktop the way it can be done with the Appx Desktop Client. To address this, the HTML client includes a small 'helper' program that supports this. This is called the 'LocalConnector'. By default, the HTML client will check to see if the local connector program is running when the user logs in. If it is not running, it will offer to install it, and if the user cancels they will be nagged the next time they log in.

If your application does not require the ability to upload/download/open files on the desktop, you can turn this off (see Installation below).

There is a 'Connectivity' indicator in the lower right corner of the browser window with the words 'Remote' and 'Local'. If 'Local' is in green with a "+", it means the local connector is installed & running. Red means the connector is not installed. The 'Remote' connector refers to the connection to the Appx Server Connector. This must be green with a "+" for any connection to work.

Differences between ADC and HTML Clients

The HTML client has a different presentation for most non-Appx elements such as Date Choosers, File Upload/download dialog boxes, Tables, etc. The goal of the HTML client was to replicate the presentation of your screens as accurately as possible as far as the Appx elements are concerned (i.e., the widgets and fields you use in the Image Editor). Since we use different 3rd party tools and runtimes for other elements, they will look different compared to the Appx Desktop Client.

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. You must also install the 'nodejs' package on the server running the AppxConnector.

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

If you plan to use an SSL connection, your web server must be configured to accept both SSL and non-SSL connections.

We have tested the HTML client on current versions of IE, Chrome, Firefox 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 its own folder within the web server documents, i.e., /var/www/html/appx.

You must install the 'nodejs' package from https://nodejs.org/ if it is not already installed on your server. For rpm based Linux systems, you can install it via (as root):

curl --silent --location https://rpm.nodesource.com/setup | bash -
yum install nodejs

To install on Windows, go to https://nodejs.org and download the Windows installer (msi) file and simply run the installer.

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

Note that this will appear to 'hang', but it is actually running and waiting for connections. Just minimize the DOS box and leave it running.

Eventually this will be a service, 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. Do not use localhost.

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 section on 'Tunneling/Forwarding'.

LocalConnector

As mentioned above, you can suppress the requirement for the LocalConnector by changing the following line in "client.html":

<meta name="appx-local-required" content="true" >

Change the "true" to "false" to supress the requirement.

LocalConnector Installation

If you do not turn off the LocalConnector requirement as above, then when the 'client.html' page is loaded it will check to see if the local connector is running on the users desktop. If not, they will get a dialog box offering to download the local connector. The actual installation of the local connector varies by the O/S on the user's desktop:

  • Windows: Once the download is complete, run the installer. The local connector will be installed, started and Windows will be configured to automatically start on a reboot. No further action is required.
  • Mac O/S: Once the download is complete, open the disk image and double click the installer. The local connector will be installed and started. The local connector will have to manually started after each login by opening a terminal window and entering the command "cd AppxLocalConnector;open node-webkit.app". Alternatively, the user can add 'node-webkit.app' in their AppxLocalConnector folder to their Login Items in System Preferences.
  • Linux: Once the download is complete, open a terminal window and enter:
    • cd Downloads (or wherever the file was saved to)
    • sh localConnector_linux32.sh or sh localConnector_linux64.sh, depending on whether you have 32 or 64 bit Linux. The connector will be installed.
    • Start the connector running by:
      • cd $HOME/AppxLocalConnector
      • sh ./start-nw.sh
    • The user has to manually start the local connector every time they log in, or they can add the script to their programs that start automatically when they log in. The steps vary by Linux distribution, consult your documentation.

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 on Linux 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 '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. Your web server must to configured to accept both SSL (https:) and non-SSL (http:) connections.

Change your "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”

In 'appxConnector.js' change:

var sslEnabled = true;

var sslPrivateKey = "/etc/pki/tls/private/example.key";
var sslCertificate = "/etc/pki/tls/certs/example.com.crt";
var sslCertAuthority = "/etc/pki/tls/certs/gd_bundle.crt";

The SSL key values above are examples, you will need to change the file paths to point to your own SSL certificates.

Once you have made the above changes, restart the Server Connector and refresh the Appx Login page in your browser (if it was still loaded when you made these changes).

NOTE: You still use 'http://' to connect to the client page. The client will switch to the SSL connection once the page is loaded.

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, however those changes will be lost the next time the client is updated.

Instead, you can add a CUSTOM.css style sheet with your own settings. This should be located in the same folder as APPX.css and will override the standard settings in the HTML client. For example:

input {

background-color: pink;

}

.appxbox {

background-color: white;

}

This will set the background color of edittable fields to 'pink' and the default background color to 'white'.

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
  • Some browsers (like IE) will not run the client successfully if you double click the 'client.html' file. You should always access the web page via http://servername/client.html, even if the page is installed on your local system.
  • Check to make sure your Appx Server Connector is still running. If not, restart it via 'nohup ./node appxConnector.js &' for Linux or 'node appxConnector.js' for Windows.

Known Issues

The following are the known problems with the HTML client. We are continuing to enhance the client, watch the download page for updates!

Comments:

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



<--/commentPlugin-->

-- JeanNeron - 2014-11-10

 
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