Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
APPX HTML Client | ||||||||
Line: 124 to 126 | ||||||||
| ||||||||
Added: | ||||||||
> > | Updated installation command line parameters for nodeJS version > 16 (as of 10-30-2023)Beginning with version 6.2.0.24041811 (published on 4-18-2024), the Appx Server Connector configuration has been simplified and is now done with two files instead of three. Installing the Appx Connector on nodeJS version > 16 has changed. For those versions, the installer script should be run, as a minimum, as follows: node --dns-result-order=ipv4first appxConnector-install.js. And any other needed command line parameters should be appended to that minium command line. | |||||||
Updated configuration file (as of 4-18-2024)Beginning with version 6.2.0.24041811 (published on 4-18-2024), the Appx Server Connector configuration has been simplified and is now done with two files instead of three. | ||||||||
Line: 134 to 142 | ||||||||
The default configuration file ‘default.json’ can be modified and used to configure the connectors as is but, the preferred method (since that file will be overwritten during a AppxConnector upgrade) is to use the ‘default.json’ as template in creating a file named ‘appxconnector.json’. | ||||||||
Changed: | ||||||||
< < | f for some reason the configuration file needs to be named something other than ‘appxconnector.json’ or ‘default.json’, an environmental variable named NODE_CONFIG_ENV can be used to specify a different configuration file name. For example, setting NODE_CONFIG_ENV=MyConfig will cause each connector to look for a file named ‘MyConfig.json’ on startup to configure that connector. | |||||||
> > | If for some reason the configuration file needs to be named something other than ‘appxconnector.json’ or ‘default.json’, an environmental variable named NODE_CONFIG_ENV can be used to specify a different configuration file name. For example, setting NODE_CONFIG_ENV=MyConfig will cause each connector to look for a file named ‘MyConfig.json’ on startup to configure that connector. | |||||||
Here are a few common scenarios and their values.I want no reverse proxy, no encryption at all. ( Just a very simple configuration ) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
APPX HTML Client | ||||||||
Line: 124 to 124 | ||||||||
| ||||||||
Added: | ||||||||
> > | Updated configuration file (as of 4-18-2024) | |||||||
Added: | ||||||||
> > | Beginning with version 6.2.0.24041811 (published on 4-18-2024), the Appx Server Connector configuration has been simplified and is now done with two files instead of three. Instead of modifying the files ‘appxConnector.js’ and ‘appxMongoConnector.js’ a single file is used for both and by default that file is named ‘default.json’. The file has two sections, one for each connector. The Appx Connector section is named 'appxConnectorConfig' and the Mongo Connector section is named 'mongoConnectorConfig'. Each section has a key/value pair where the key name is the same as the variable name that exist in the appxConnector.js and appxMongoConnector.js files as shown above and in the examples below. The default configuration file ‘default.json’ can be modified and used to configure the connectors as is but, the preferred method (since that file will be overwritten during a AppxConnector upgrade) is to use the ‘default.json’ as template in creating a file named ‘appxconnector.json’. f for some reason the configuration file needs to be named something other than ‘appxconnector.json’ or ‘default.json’, an environmental variable named NODE_CONFIG_ENV can be used to specify a different configuration file name. For example, setting NODE_CONFIG_ENV=MyConfig will cause each connector to look for a file named ‘MyConfig.json’ on startup to configure that connector. | |||||||
Here are a few common scenarios and their values.I want no reverse proxy, no encryption at all. ( Just a very simple configuration ) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Changed: | ||||||||
< < | APPX HTML Client 5.5.0/5.5.1 | |||||||
> > | APPX HTML Client | |||||||
This page gives installation instructions and an overview of the Appx HTML client. | ||||||||
Line: 88 to 89 | ||||||||
The server that will run the APPX Server Connector requires some additional software: | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
|
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
APPX HTML Client 5.5.0/5.5.1 | ||||||||
Line: 113 to 113 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Line: 130 to 130 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Line: 145 to 145 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Line: 160 to 160 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Line: 175 to 175 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Line: 190 to 190 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Line: 205 to 205 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
|
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
APPX HTML Client 5.5.0/5.5.1 | ||||||||
Line: 88 to 88 | ||||||||
The server that will run the APPX Server Connector requires some additional software: | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
|
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
APPX HTML Client 5.5.0/5.5.1 | ||||||||
Line: 478 to 469 | ||||||||
appx_session.createWidgetTag[999] = function widget_signature(widget, $tag) {The function defines the signature box and clears it. When the user exits the box, the graphic is converted to a blob & uploaded to the Mongo database. The URL to the file is returned to the APPX process. | ||||||||
Added: | ||||||||
> > | UpgradingHere's a document explaining how to perform an upgrade of the APPX HTML client. | |||||||
Troubleshooting
|
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
APPX HTML Client 5.5.0/5.5.1 | ||||||||
Line: 60 to 60 | ||||||||
The web server does not have to be on the same server as Appx. | ||||||||
Changed: | ||||||||
< < | If you configure the appxConnector and appxMongoConnector to use SSL, then you will need an SSL certificate either from your organization's certificate authority or from a commercial or public certificate authority. The certificate components (cert and key) must be in Apache format. Apache formatted certificates are PEM files, usually seen with the extensions .crt, .pem, .cer, and .key (for private keys). In contrast, Windows IIS server certificates are usually in formatted as either PKCS#7 or PKCS#12. PKCS#7 (also known as P7B) usually has an extention of .p7b or .p7c. PKCS#12 (also known as PKCS12 or PFX) usually has an extension .pfx or .p12. If you have certificates in PKCS#7 or PKCS#12 format, you'll need to either convert them to PEM format, or you'll need to request PEM (Apache) formatted certificates from your certificate authority. Here's a document with instructions if you need to convert the your certificate to a PEM formatted .crt, .pem, .cer, and .key (for private keys). | |||||||
> > | If you configure the appxConnector and appxMongoConnector to use SSL, then you will need an SSL certificate either from your organization's certificate authority or from a commercial or public certificate authority. The certificate components (cert and key) must be in Apache format. Apache formatted certificates are PEM files, usually seen with the extensions .crt, .pem, .cer, and .key (for private keys). In contrast, Windows IIS server certificates are usually in formatted as either PKCS#7 or PKCS#12. PKCS#7 (also known as P7B) usually has an extention of .p7b or .p7c. PKCS#12 (also known as PKCS12 or PFX) usually has an extension .pfx or .p12. If you have certificates in PKCS#7 or PKCS#12 format, you'll need to either convert them to PEM format, or you'll need to request PEM (Apache) formatted certificates from your certificate authority. Here's a document with instructions if you need to convert the your certificate to a PEM formatted .crt, .pem, .cer, and .key (for private keys). | |||||||
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
Installation - Web Server Component |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
APPX HTML Client 5.5.0/5.5.1 | ||||||||
Line: 60 to 60 | ||||||||
The web server does not have to be on the same server as Appx. | ||||||||
Changed: | ||||||||
< < | If you configure the appxConnector and appxMongoConnector to use SSL, then you will need an SSL certificate either from your organization's certificate authority or from a commercial or public certificate authority. The certificate components (cert and key) must be in Apache format. Apache formatted certificates are PEM files, usually seen with the extensions .crt, .pem, .cer, and .key (for private keys). In contrast, Windows IIS server certificates are usually in formatted as either PKCS#7 or PKCS#12. PKCS#7 (also known as P7B) usually has an extention of .p7b or .p7c. PKCS#12 (also known as PKCS12 or PFX) usually has an extension .pfx or .p12. If you have certificates in PKCS#7 or PKCS#12 format, you'll need to either convert them to PEM format, or you'll need to request PEM (Apache) formatted certificates from your certificate authority. Here's a document with instructions if you need to convert the your certificate to a PEM formatted .crt, .pem, .cer, and .key (for private keys). | |||||||
> > | If you configure the appxConnector and appxMongoConnector to use SSL, then you will need an SSL certificate either from your organization's certificate authority or from a commercial or public certificate authority. The certificate components (cert and key) must be in Apache format. Apache formatted certificates are PEM files, usually seen with the extensions .crt, .pem, .cer, and .key (for private keys). In contrast, Windows IIS server certificates are usually in formatted as either PKCS#7 or PKCS#12. PKCS#7 (also known as P7B) usually has an extention of .p7b or .p7c. PKCS#12 (also known as PKCS12 or PFX) usually has an extension .pfx or .p12. If you have certificates in PKCS#7 or PKCS#12 format, you'll need to either convert them to PEM format, or you'll need to request PEM (Apache) formatted certificates from your certificate authority. Here's a document with instructions if you need to convert the your certificate to a PEM formatted .crt, .pem, .cer, and .key (for private keys). | |||||||
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
Installation - Web Server Component |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
APPX HTML Client 5.5.0/5.5.1 | ||||||||
Line: 60 to 60 | ||||||||
The web server does not have to be on the same server as Appx. | ||||||||
Changed: | ||||||||
< < | If you plan to use an SSL connection, your web server must be configured to accept both SSL and non-SSL connections. Note: if you are trying to use SSL with the local connector running you will receive an error saying that part of your connection is not secure. The local connector does not have the functionality to talk to the browser using SSL. This is just an informational message. | |||||||
> > | If you configure the appxConnector and appxMongoConnector to use SSL, then you will need an SSL certificate either from your organization's certificate authority or from a commercial or public certificate authority. The certificate components (cert and key) must be in Apache format. Apache formatted certificates are PEM files, usually seen with the extensions .crt, .pem, .cer, and .key (for private keys). In contrast, Windows IIS server certificates are usually in formatted as either PKCS#7 or PKCS#12. PKCS#7 (also known as P7B) usually has an extention of .p7b or .p7c. PKCS#12 (also known as PKCS12 or PFX) usually has an extension .pfx or .p12. If you have certificates in PKCS#7 or PKCS#12 format, you'll need to either convert them to PEM format, or you'll need to request PEM (Apache) formatted certificates from your certificate authority. Here's a document with instructions if you need to convert the your certificate to a PEM formatted .crt, .pem, .cer, and .key (for private keys). | |||||||
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
Installation - Web Server Component |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
APPX HTML Client 5.5.0/5.5.1 | ||||||||
Line: 113 to 115 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Line: 130 to 132 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Line: 145 to 147 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Line: 160 to 162 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Line: 175 to 177 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Line: 190 to 192 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Line: 205 to 207 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
|
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
APPX HTML Client 5.5.0/5.5.1 | ||||||||
Line: 122 to 120 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Here are a few common scenarios and their values. | ||||||||
Line: 139 to 137 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
I want no reverse proxy, AES encryption ( Don't want hassle of reverse proxy configuration. I want encryption, but don't want the hassle of SSL certificates ) | ||||||||
Line: 154 to 152 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
I want no reverse proxy, SSL encryption ( Don't want hassle of reverse proxy configuration, but want the best encryption ) | ||||||||
Line: 169 to 167 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
I want a reverse proxy, no encryption al all. ( I want a Reverse Proxy because a reverse proxy often allows for a simpler firewall ruleset. Unfortunately, a reverse proxy requires configuration in your web server - Apache, Nginx, IIS. Keepin it simple regarding encryption. ) | ||||||||
Line: 184 to 182 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
I want reverse proxy, AES encryption( I want a Reverse Proxy because a reverse proxy often allows for a simpler firewall ruleset. Unfortunately, a reverse proxy requires configuration in your web server - Apache, Nginx, IIS. I want encryption, but don't want SSL certificate hassle ) | ||||||||
Line: 199 to 197 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
I want reverse proxy, SSL encryption ( I want a Reverse Proxy because a reverse proxy often allows for a simpler firewall ruleset. Unfortunately, a reverse proxy requires configuration in your web server - Apache, Nginx, IIS. I also want the best encryption possible ) | ||||||||
Line: 214 to 212 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
|
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Changed: | ||||||||
< < | APPX HTML Client 5.5.0 | |||||||
> > | APPX HTML Client 5.5.0/5.5.1 | |||||||
This page gives installation instructions and an overview of the Appx HTML client. |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
APPX HTML Client 5.5.0 | ||||||||
Line: 125 to 125 | ||||||||
Here are a few common scenarios and their values. | ||||||||
Changed: | ||||||||
< < | I want no reverse proxy, no encryption at all. ( Just a very simple configuration ) | |||||||
> > | I want no reverse proxy, no encryption at all. ( Just a very simple configuration ) | |||||||
| ||||||||
Line: 140 to 140 | ||||||||
| ||||||||
Changed: | ||||||||
< < | I want no reverse proxy, AES encryption ( Don't want hassle of reverse proxy configuration. I want encryption, but don't want the hassle of SSL certificates ) | |||||||
> > | I want no reverse proxy, AES encryption ( Don't want hassle of reverse proxy configuration. I want encryption, but don't want the hassle of SSL certificates ) | |||||||
| ||||||||
Line: 155 to 155 | ||||||||
| ||||||||
Changed: | ||||||||
< < | I want no reverse proxy, SSL encryption ( Don't want hassle of reverse proxy configuration, but want the best encryption ) | |||||||
> > | I want no reverse proxy, SSL encryption ( Don't want hassle of reverse proxy configuration, but want the best encryption ) | |||||||
| ||||||||
Line: 170 to 170 | ||||||||
| ||||||||
Changed: | ||||||||
< < | I want a reverse proxy, no encryption al all. ( I want a Reverse Proxy because a reverse proxy often allows for a simpler firewall ruleset. Unfortunately, a reverse proxy requires configuration in your web server - Apache, Nginx, IIS. Keepin it simple regarding encryption. ) | |||||||
> > | I want a reverse proxy, no encryption al all. ( I want a Reverse Proxy because a reverse proxy often allows for a simpler firewall ruleset. Unfortunately, a reverse proxy requires configuration in your web server - Apache, Nginx, IIS. Keepin it simple regarding encryption. ) | |||||||
| ||||||||
Line: 185 to 185 | ||||||||
| ||||||||
Changed: | ||||||||
< < | I want reverse proxy, AES encryption( I want a Reverse Proxy because a reverse proxy often allows for a simpler firewall ruleset. Unfortunately, a reverse proxy requires configuration in your web server - Apache, Nginx, IIS. I want encryption, but don't want SSL certificate hassle ) | |||||||
> > | I want reverse proxy, AES encryption( I want a Reverse Proxy because a reverse proxy often allows for a simpler firewall ruleset. Unfortunately, a reverse proxy requires configuration in your web server - Apache, Nginx, IIS. I want encryption, but don't want SSL certificate hassle ) | |||||||
| ||||||||
Line: 200 to 200 | ||||||||
| ||||||||
Changed: | ||||||||
< < | I want reverse proxy, SSL encryption ( I want a Reverse Proxy because a reverse proxy often allows for a simpler firewall ruleset. Unfortunately, a reverse proxy requires configuration in your web server - Apache, Nginx, IIS. I also want the bese encryption possible ) | |||||||
> > | I want reverse proxy, SSL encryption ( I want a Reverse Proxy because a reverse proxy often allows for a simpler firewall ruleset. Unfortunately, a reverse proxy requires configuration in your web server - Apache, Nginx, IIS. I also want the best encryption possible ) | |||||||
|
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
APPX HTML Client 5.5.0 | ||||||||
Line: 123 to 123 | ||||||||
| ||||||||
Changed: | ||||||||
< < | Here are a few common scenarios and their values. | |||||||
> > | Here are a few common scenarios and their values. | |||||||
I want no reverse proxy, no encryption at all. ( Just a very simple configuration ) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
APPX HTML Client 5.5.0 | ||||||||
Line: 125 to 123 | ||||||||
| ||||||||
Changed: | ||||||||
< < | Here are a few common scenarios and their values. | |||||||
> > | Here are a few common scenarios and their values. | |||||||
I want no reverse proxy, no encryption at all. ( Just a very simple configuration ) |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
APPX HTML Client 5.5.0 | ||||||||
Line: 116 to 118 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Changed: | ||||||||
< < |
Here are a few common scenarios and their values. | |||||||
> > | Here are a few common scenarios and their values. | |||||||
I want no reverse proxy, no encryption at all. ( Just a very simple configuration ) | ||||||||
Line: 137 to 135 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
I want no reverse proxy, AES encryption ( Don't want hassle of reverse proxy configuration. I want encryption, but don't want the hassle of SSL certificates ) | ||||||||
Line: 152 to 150 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
I want no reverse proxy, SSL encryption ( Don't want hassle of reverse proxy configuration, but want the best encryption ) | ||||||||
Line: 167 to 165 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
I want a reverse proxy, no encryption al all. ( I want a Reverse Proxy because a reverse proxy often allows for a simpler firewall ruleset. Unfortunately, a reverse proxy requires configuration in your web server - Apache, Nginx, IIS. Keepin it simple regarding encryption. ) | ||||||||
Line: 182 to 180 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
I want reverse proxy, AES encryption( I want a Reverse Proxy because a reverse proxy often allows for a simpler firewall ruleset. Unfortunately, a reverse proxy requires configuration in your web server - Apache, Nginx, IIS. I want encryption, but don't want SSL certificate hassle ) | ||||||||
Line: 197 to 195 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
I want reverse proxy, SSL encryption ( I want a Reverse Proxy because a reverse proxy often allows for a simpler firewall ruleset. Unfortunately, a reverse proxy requires configuration in your web server - Apache, Nginx, IIS. I also want the bese encryption possible ) | ||||||||
Line: 212 to 210 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Parameters I didn't really dive into, but are worth mentioning. appxLocalConnectorCert is used if you have your own organizational certificate authority. useoldsocket is used if you enabled mandatory SSL logins with your appxLoginMgr and your appxLoginMgr is <5.5.0. If you are in a 5.5.0 environment, useoldsocket should probably be set to false. | ||||||||
Deleted: | ||||||||
< < | ||||||||
4) Run the appxConnector-install.js script. This should also be run as 'root' on Linux/Unix systems, or 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 installation scripts via 'node': | ||||||||
Added: | ||||||||
> > | ||||||||
[root@localhost ~]# cd /opt/appxConnector [root@localhost ~]# npm install <serveral node packages will be downloaded and installed> [root@localhost appxConnector545]# node appxConnector-install.js Checking for required modules...5) Confirm the service is running. In Linux/Unix you can use 'ps -ef|grep appx', and in Windows you can use the 'Services' control panel. |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
APPX HTML Client 5.5.0 | ||||||||
Line: 106 to 104 | ||||||||
2) 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. | ||||||||
Changed: | ||||||||
< < | 3) Run the appxConnector-install.js script. This should also be run as 'root' on Linux/Unix systems, or 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 installation scripts via 'node': | |||||||
> > | 3) Configuration will occur via modification to three files ( four I guess, but mostly three ). The three files are appx-client-settings.js (found in webhost.zip bundle), appxConnector.js, and appxMongoConnector.js (both found in serverConnector.zip bundle). A forth one is index.html/client.html if you modify those - I don't recommend it. And now that I think about it, you could go crazy and include a fifth --> the css file(s).
Encryption configuration occurs in all three of those .js files. There is coordination required among the parameters, flipping one parameter requires modification of another parameter at times.
Here are a few of the parameters from those three files that users may sometimes encounter a configuration error.
Here are a few common scenarios and their values.
I want no reverse proxy, no encryption at all. ( Just a very simple configuration )
| |||||||
Added: | ||||||||
> > | 4) Run the appxConnector-install.js script. This should also be run as 'root' on Linux/Unix systems, or 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 installation scripts via 'node': | |||||||
[root@localhost ~]# cd /opt/appxConnector [root@localhost ~]# npm install <serveral node packages will be downloaded and installed> [root@localhost appxConnector545]# node appxConnector-install.js Checking for required modules... | ||||||||
Changed: | ||||||||
< < | 4) Confirm the service is running. In Linux/Unix you can use 'ps -ef|grep appx', 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 appx', 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: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
APPX HTML Client 5.5.0 | ||||||||
Line: 48 to 48 | ||||||||
When uploading files, the web browser uploads the file into the Mongo database and returns a file path to your APPX process. You can use this path with .CLIENT UPLOAD FILE to transfer the file out of Mongo to the final destination. Note that using this method means you will not get the original path and file name as it existed on the user's computer. If you need this information, then you will have to use the Local Connector method. Files will stay in the Mongo database until the session ends, then they will be removed. | ||||||||
Changed: | ||||||||
< < | The Web Browser option does NOT allow you to invoke programs on the user's device (see .CLIENT LOAD URL). If you need this capability, you will have to use the Local Connector option. | |||||||
> > | The Web Browser option does NOT allow you to invoke programs on the user's device (see .CLIENT LOAD URL). If you need this capability, you will have to use the Local Connector option. | |||||||
NOTE: This option only works if you are connecting to an APPX server running Release 5.4.5 or higher.
Differences between ADC and HTML Clients |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Added: | ||||||||
> > |
APPX HTML Client 5.5.0This page gives installation instructions and an overview of the Appx HTML client.
OverviewThe 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:
Local Connector vs Web BrowserThere are 2 ways the HTML client can interact with processes on the APPX Server (uploading/downloading/displaying files, invoking programs on the client).Local ConnectorThe Local Connector is a small 'helper' program that allows you to upload/download and open files on the users desktop, similar to the way it can be done with the APPX Desktop Client. 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 users device or invoke programs on the user's device you can turn this off (see Installation below). The Local Connector is a 64 bit application that only runs on 64 bit Windows, OS/X or Linux based desktops or tablets. 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. You can click the 'Local' sign to manually download and install the connector. If the 'Local' icon is blue, it means the requirement for a local connector has been turned off via metas["appx-local-required"]["value"] = "false"; in the your 'appx-client-settings.js' file (see below).Web BrowserThe other option is to use the Web Browser's built in ability to handle files. With this option, the APPX Server Connector stores the file in the Mongo database, then passes a URL to the Web Browser. The Web Browser will either display the file in a new tab if it knows how display that file type, or offer to save the file if it does not know how to display it. This is a better choice if you are planning to deploy your applications on non Windows tablets or smartphones. The file only remains in the Mongo Database for 5 seconds after it is retrieved, so if the user refreshes that tab they will get error 404. When uploading files, the web browser uploads the file into the Mongo database and returns a file path to your APPX process. You can use this path with .CLIENT UPLOAD FILE to transfer the file out of Mongo to the final destination. Note that using this method means you will not get the original path and file name as it existed on the user's computer. If you need this information, then you will have to use the Local Connector method. Files will stay in the Mongo database until the session ends, then they will be removed. The Web Browser option does NOT allow you to invoke programs on the user's device (see .CLIENT LOAD URL). If you need this capability, you will have to use the Local Connector option. NOTE: This option only works if you are connecting to an APPX server running Release 5.4.5 or higher.Differences between ADC and HTML ClientsThe 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 slightly different compared to the Appx Desktop Client.RequirementsYou will need a web server, either Linux or Windows based (64 bit). 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. If you plan to use an SSL connection, your web server must be configured to accept both SSL and non-SSL connections. Note: if you are trying to use SSL with the local connector running you will receive an error saying that part of your connection is not secure. The local connector does not have the functionality to talk to the browser using SSL. This is just an informational message. 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 appliedInstallation - Web Server Component1) 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. 2) If this is a new installation, you must rename the appx-client-settingsTemplate.js file to appx-client-settings.js. This file is in the 'js' subdirectory. For example:[root@localhost]# cd js [root@localhost js]# mv appx-client-settingsTemplate.js appx-client-settings.jsThis file is where you will configure your site specific settings, similar to 'appx.env' in an APPX server installation. 3) If this is a new installation you must set the name of the host running the Appx Server Connector in the 'appx-client-settings.js' file you just renamed: metas["appx-proxy-host"]["value"] = "localhost"; Change locahost to the name or IP address of the server running the Appx Server Connector. Do not use localhost unless you plan to run the HTML client on the same server as the Appx Server Connector, i.e., a testing/evaluation environment. You can also set any other meta tags that are unique to your installation. The 'appx-client-settings.js' file will never be replaced during an update, so the settings will remain until you change them. For example, you can set the name and login port of the APPX server, the default rows & columns, whether to use the Local Connector or not, etc. Consult the 'appx-client-settings.js' file for the full list of meta tags that can be set. Installation - APPX Server Connector ComponentThe 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 ports 3014/3015 (the default port) needs to be open between the server connector machine and your HTML clients.PrerequisitesThe server that will run the APPX Server Connector requires some additional software:
Installation1) If you are upgrading from a prior release, you must uninstall the old Server Connector first by running 'appxConnector-uninstall.js'. You must do this before installing the new connector. This should be run as 'root' on Linux/Unix systems, and as an Administrator on Windows systems. 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 appxConnector]# node appxConnector-uninstall.js Using default mode: systemd Uninstall complete. The service exists: false [root@localhost appxConnector]#2) 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. 3) Run the appxConnector-install.js script. This should also be run as 'root' on Linux/Unix systems, or 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 installation scripts via 'node': [root@localhost ~]# cd /opt/appxConnector [root@localhost ~]# npm install <serveral node packages will be downloaded and installed> [root@localhost appxConnector545]# node appxConnector-install.js Checking for required modules...4) Confirm the service is running. In Linux/Unix you can use 'ps -ef|grep appx', 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 ports 3014/3015 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'. Post Installation if upgrading an existing HTML client installationIf you are upgrading an existing HTML client installation, then you should check the following:
Installing Multiple Server ConnectorsYou can install multple server connectors, each listening on different ports. There are various reasons why you would want to do this:
node appxConnector-install appx 3020Installs a server connector listening on port 3020 node appxConnector-install mongo 3021Installs a mongo connector listening on port 3021 node appxConnector-install 3020 3030Installs a server connector on 3020 and a mongo connector on 3030. You can then create different folders to contain the client.html pages using the different ports via setting "appx-proxy-port" and "appx-mongo-port" in each appx-client-settings.js file in each folder. If you are using port forwarding, then you'll have to create unique names and use those names instead (they all would use port 80). Local Connector or Web Browser ConfigurationAs mentioned above, you have a choice on how the HTML client should handle files sent to/from the browser. By default, the HTML client will try to use the local connector. You can suppress the requirement for the Local Connector by uncommenting the following line in your appx-client-settings.js file: //metas["appx-local-required"]["value"] = "false"; Remove the leading // to uncomment the line. If you do not turn off the Local Connector 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:
Tunneling/Reverse ProxyIf you do not want to open ports 3014/3015 and would rather use port 80, you can use forwarding instead. Doing so also requires modification of four parameters in the appx-client.settings.js file — appx-proxy-port, appx-mongo-port, appx-proxy-path, and appx-encryption. Reverse proxy configuration is web server specific, but here are some points to get you started. For example, to configure Apache 2.4 on Linux you would do the following:
<?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:3015/{R:0}" /> </rule> <rule name="ReverseProxyInboundRule3"> <match url="(appxwss.*)" /> <action type="Rewrite" url="https://localhost:3014/{R:0}" /> </rule> <rule name="ReverseProxyInboundRule4"> <match url="(appxhttps.*)" /> <action type="Rewrite" url="https://localhost:3015/{R:0}" /> </rule> </rules> </rewrite> </system.webServer> </configuration> SSLIf you are running a secure web server (https), you can configure the Appx HTML client to use your SSL connection. Your web server must be configured to accept both SSL (https:) and non-SSL (http:) connections. Change the following in your appx-client-settings.js file: appx-proxy-host = hostname of httpd server (i.e., 192.168.1.11)appx-proxy-port = “443" appx-proxy-path = /appxwss/ appx-encryption = “ssl” Change your "appxConnector.js" as follows (this file is located on your APPX Server Connector server): var sslEnabled = true; 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" Make the same changes to "appxMongoConnector.js" (located in the same folder as "appxConnector.js"). 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). NOTES:
StylesMany 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. Some settings that were controlled in Preferences in the Desktop Client are now controlled via a CUSTOM.css file. colorEditBg is controlled by the 'input' style. For example: input {background-color: pink;} will set the background color on all modifiable fields to pink. colorFocusedFieldBg is controlled by the 'input.focus' style. For example: input.focus {background-color: yellow;} will set the background color the field that has the focus to yellow. colorStdBg is controlled by the .appxbox style. For example: .appxbox {background-color: white;} This will set the default background color to 'white'. colorScrollSelectActive is controlled by the .appx-scroll-act style. For example: .appx-scroll-act {background-color: #cc0000;} will set the background color of the active record on a scrolling display to dark red. colorScrollSelectOther is controlled by the .appx-scroll-act-new style. For example: .appx-scroll-act-new {background-color: #00cc00;} will set the background color of the 'other' record on a scrolling display to dark green.Styles by websiteIt is possible to have different CUSTOM.css style sheets. Install the client web server files as normal, then follow these steps:
Automatic LoginsStarting in Release 5.5.0, you can configure the client for automatic logins. This is a login where the user is not presented with a login screen, but is taken directly to the startup process. You control which user credentials will be used by configuring the server connector. This is configured in the server connector for better security. Your configuration file will probably include a valid user id/password for your server, so we don't want it in the web server folder. The settings are in the 'appx-client-automaticLogin.js' file in your server connector folder. The variables you can change are: "appx-allow-noLogin" must be set to 'true'. If this is set to false, no matter what variables are provided the HTML Client will not allow automatic logins. "appx-allow-specific" can be set to 'true' or 'false'. If this is set to 'true', then APPX will run either the process specified below or the process specified in the URL (if 'appx-use-specific' is also set to true). If this is set to false, the process specified as the User's startup process in APPX System Admin will be run. The above settings CANNOT be overriden via the URL. This is by design and improves the security of the automatic login feature. The following settings can be overridden via the URL (see keyword list below): "appx-use-noLogin" can be set to 'true' or 'false'. If 'true' this tells the HTML Client that all logins are automatic login. If 'false', then the login URL must include 'requireLogin=true' to request an automatic login. The 'false' setting allows you to have both automatic and normal logins. "appx-use-specific" can be set to 'true' or 'false'. If "true" APPX will automatically run the process specified by the application related settings below or by the URL. If 'false', the process specified as the User's startup process in APPX System Admin will be run. "appx-auto-user" should contain the login user ld "appx-auto-pswd" should contain the password "appx-auto-host" should contain the APPX host "appx-auto-port" should contain the port number for the APPX host "appx-application" should contain the 3 character APPX application id "appx-database" should contain the 3 character Database Id to use "appx-procType" should contain the APPX process type to run (MENU, INPUT, JOB, etc) "appx-process" should contain the name of the APPX process to run "appx-browser-redirect" should be set to the URL of a web page to display when the user logs out. If you do not specify a page, the current page will be reloaded and the user immediately logged in again. URL String variables You can specify the following variables in the URL. These will override the settings in the 'appx-client-automaticLogin.js' file. requireLogin ---- true/false value: true = user is required to login, false = you are using automatic loginspecific ---- true/false value: true = you are logging user into a specific process, false = you are using normal login user ---- Login Id password ---- Password host ---- Server port ---- Port application ---- application to run database ---- database to use procType ---- process type you are running process ---- process to run Examples: Logging in as an automatic user, using all the settings ithe 'appx-client-automaticLogin.js' file: http://<html client server>?requireLogin=false Logging in as an automatic user but overriding the startup process: http://<html client server>?requireLogin=false&specific=true&application=DMO&database=DMO&procType=MENU&process=MAIN%20MENU This requires "appx-allow-specific" set to 'true'. Logging in as a specific user via a URL: http://<html client server>?requireLogin=false&specific=true&user=anon&password=password&host=<host name>&port=<port number> Designer Defined WidgetsStarting in Release 5.5.0, you can extend the function of the HTML client by adding your own widgets. This assumes some familiarity with HTML and jQuery. To start, in the web server folder copy or rename the appx-client-customTemplate.js to appx-client-custom.js. This file is in the 'js' subdirectory. For example:[root@localhost]# cd js [root@localhost js]# mv appx-client-customTemplate.js appx-client-custom.jsIn this example we'll add a signature widget to an input process. First we add one of the standard APPX widgets to an input process, then we override it with our custom widget. The widget you choose to override must accept the input you are going to supply it with. For example, a picture widget doesn’t accept user input and so is not a good choice for the signature pad since it returns a file name. In APPX:
appx_session.createWidgetTag[999] = function widget_signature(widget, $tag) {The function defines the signature box and clears it. When the user exits the box, the graphic is converted to a blob & uploaded to the Mongo database. The URL to the file is returned to the APPX process. Troubleshooting
CommentsRead what other users have said about this page or add your own comments.-- JeanNeron - 2020-02-27 |