env.properties file

Most of your common installation options can be edited in the /classes/env.properties file. Open this file with any text editor to modify it's contents

Use the Overrides Folder

Learn more about the overrides folder here

Copy the env.properties file to /overrides/properties folder and make your changes there. You need to copy the whole file.

 
###############################################################################
# TO OVERRIDE VALUES IN THIS FILE...
#
# Do not change the values in this file, because when you upgrade your core
# your changes will be overwritten. Instead, create a new file called
# <MA_HOME>/overrides/properties/env.properties and override properties
# there. The overrides directory will never be overwritten by an upgrade, so
# your customizations will be safe.
#
###############################################################################
 

The "#" caracter at the front of a line means the line is commented out and only used as text.


Web Port Settings

By default the web port is 8080 but you can change it here before starting Mango.

 
# The port at which Mango Automation will listen for browser connections
web.port=8080
# The host interface to which Mango Automation will bind and listen for new connections
#  0.0.0.0 is the special interface that will force a bind to all available interfaces
web.host=0.0.0.0
 

SSL Settings

 
# SSL control
ssl.on=false
ssl.port=8443
ssl.keystore.location=/location/to/keystore/file.jks
ssl.keystore.password=changeit
ssl.key.password=changeit
 

Server Configuration for SSL

Generate a keystore:

  1. Navigate to your /jdk home/bin/keytool.exe file (your operating system may differ!
    Sometimes ../lib/security/keytool)

Note: “changeit” is the default password for the java keystore

Run command:

keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass changeit -validity 365 -keysize 1024
  1. ANSWER SUBSEQUENT QUESTIONS

  2. What is your first and last name?

  3. What is the name of your organizational unit?

  4. What is the name of your organization?

  5. What is the name of your City or Locality?

  6. What is the name of your State or Province?

  7. What is the two-letter country code for this unit?

  8. Keep key password the same as the keystore password (do not enter another password).

  9. Point Mango to the keystore.

  10. Move keystore.jks (created in the same folder as the keystore executable) to your /mango home/overrides directory.

  11. Edit env.properties in /mango home/overrides/properties under the section ìSSL controlî to have the following lines:

  12. ssl.on=true

  13. ssl.port=443 (or another available port)

  14. ssl.keystore.location=[YOUR FULL MANGO PATH HERE]/overrides/keystore.jks

  15. ssl.keystore.password=[PASSWORD FROM 1B HERE]

  16. Start Mango

  17. Access your instance now at https://[YOUR URL HERE]

Example Settings for Windows
computers: ssl.keystore.location=C:/Mango/overrides/p roperties/keystore.jks


Database Settings

There are 3 main types of databases that Mango can use: H2 (default), Derby (legacy systems), and MySQL for larger systems.

You can easily set the desired database by commenting out the setting of the database you do not want with a # and un-commenting the database settings you want to use.

H2

 
# Default database settings, NOTE that on windows this must be an absolute path
db.type=h2
db.url=jdbc:h2:${ma.home}/databases/mah2
db.location=${ma.home}/databases/mah2
db.port=8081
db.username=
db.password=
#For web console
db.web.start=false
db.web.port=8091
 

Derby

Technically Mango still supports the use of a Derby Database but it's not recommended. If you have an old system you can upgrade your Derby database to either H2 or MySQL and receive a lot of benefits. See the Database Conversion page.

MySQL

To use MySQL as your default database you must first create a blank database / schema and a user with full permissions to the database. Comment out the H2 and/or Derby sections in the env.properties file. Fill in your url, username, and passwords. Mango will create all the tables and indexes it needs on startup.

 
# MySQL database settings. Your MySQL instance must already be running and configured before this can be used.
db.type=mysql
db.url=jdbc:mysql://localhost/<your mysql schema name>
db.username=<your mysql username>
db.password=<your mysql password>
 

Mango NoSQL

The Mango NoSQL is included in Mango Automation Enterprise licenses and offers superior performance at several levels. You can upgrade an existing Mango system to use the NoSQL database easily. You can also migrate data from an older Mango M2M system.

The Mango NoSQL option does not replace the entire database. Mango will still use a H2 or MySQL database for most tables. Only the point values and report values tables are replaced with the NoSQL database.

How to Use

To use the NoSQL database simply install the NoSQL module into your Mango system. Note, if the NoSQL modules is not part of your license Mango will enter a trial mode where it will run for 12 hours and then automatically turn off. This trail mode is fully featured and allows you to test conversations and see first hand the improved performance that can be archived.

Once the NoSQL module is installed you will have a new menu item and a new Systems Settings Category

Migrating Historical Data to the NoSQL Database

You can migrate the historical point values from a Derby, H2 or MySQL database. This even works from an older Mango M2M database which is the only way to easily upgrade from Mango M2M to Mango Automation.

The NoSQL migration can take several hours to complete but it will happen in the background. Even during migration Mango will continue to collect and store current point values into the NoSQL database so no data is lost in the process.

This page is used to import data from an external SQL database while Mango is running.

The Driver class name specifies the Java class that implements the JDBC Driver interface within your JDBC driver. This value can be found in the documentation for your driver. The following is a list of driver class names for the given database, and is provided as convenience only. Note that connectivity typically requires the installation of driver software on the Mango server. This is achieved by placing the Driver's .jar file into the SQL datasource's “lib” directory, again referring to the documentation to locate the JDBC Driver interface.

  • MySQL: com.mysql.jdbc.Driver

  • Oracle thin driver: oracle.jdbc.driver.OracleDriver

  • Derby: org.apache.derby.jdbc.EmbeddedDriver

  • H2: org.h2.Driver

The Connection string depends both upon the database you are using and the specifics of its installation. Your JDBC driver documentation will explain how to derive the value for your database. The Username and Password fields provide the necessary credentials for your database to accept connections from this application.

  • H2 Connection String example: jdbc:h2:./databases/mah2

  • MySQL Connection String example: jdbc:mysql:localhost/<your mysql schema name>

  • Username and Password are the database user's login credentials. You can find this in your env.properties file.