Abiquo Documentation Cookies Policy

Our Documentation website uses cookies to improve your experience. Please visit our Cookie Policy page for more information about cookies and how we use them.


Abiquo 4.5

Skip to end of metadata
Go to start of metadata

Changes to UI configuration

See Changes to UI configuration

Create custom UI configuration

To create custom UI configuration:

  1. Go to the UI configuration file location which is as follows

    /var/www/html/ui/config
    

    and find the default configuration file.

    client-config-default.json

    Do not change client-config-default.json because the platform will overwrite your changes when you upgrade

  2. To customize UI configuration properties, create a new custom file in the same folder called:

    client-config-custom.json
  3. Copy any default properties you want to change to this file and enter the new configuration values. See below for the full the list of UI configuration properties and the sample configuration file.

    • Do NOT copy the whole default file to the custom file
    • Only add necessary customizations to avoid inadvertently overriding future default values
    • For each customization add a top level element with a complete set of values because your new configuration will override elements at all levels, for example, if the element is a list, add a full list of values

    If your client endpoint is different to the API endpoint, set the config.endpoint. See #Configure API Endpoint

    For example, set the config.languages to keep the English language and add the Spanish language to your user interface. Abiquo will load the Spanish language file.

    {  
       "config.endpoint": "http://a.differenturl.com/api",
       "config.languages":[  
          {  
             "value":"en_US",
             "name":"English",
             "isDefault":true
          }
          {  
             "value":"es_ES",
             "name":"Spanish",
             "isDefault":false
          } 
       ]
    }
  4. Check your JSON format using a JSON validator, for example, http://jsonformatter.curiousconcept.com/#jsonformatter and remember:

    1. Check there are no commas after the last entry in the file, and that there are no missing commas between entries

      The UI will not load with an invalid configuration

  5. Save your file in UTF-8 format
  6. To activate your changes, reload the UI. 
  7. The platform will automatically load the new configuration but users should delete the cache and reload the UI in their browsers.

UI configuration properties

The default values are set in the client-config-default.json file. You can override the default values in the client-config-custom.json file.  

Property

_______________________

Description

_______________________

Example

config.languages

Language definitions for each language file with a set of translated labels. Consists of:

  • language code
  • language name for the login menu 
  • default setting

See  Abiquo UI Client Language Configuration

{"value":"en_US","name":"English","isDefault":true},
{"value":"es_ES","name":"Spanish"}

config.keymaps

For configuring VM keyboards on ESXi hypervisors, users can select a keymap from the pulldown list. See VM general information. Configure keymaps in VMware first and then enter the Vmware keymap value and a name. See VMware Keyboard Map Documentation. The hypervisor's default keyboard map is the US101 keyboard map (US English). To configure a different default keyboard map, set the  "RemoteDisplay.vnc.keyMap" property in the Abiquo Configuration Properties for Remote Services and then set the isDefault value to true for that keyboard. Warning: On ESXi for certain locales, when using remote access from a web client, some keystrokes do not translate. See https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2071245

{"value":"us", "name":"US English", "isDefault":true},
{"value":"uk", "name":"UK English"},
{"value":"es", "name":"Español"}

client.ostype.icon.{osType}Full or relative URI of an icon to load for a template if it doesn't have an iconUrl. The osType of the template must exactly match the osType given here. If not, a generic icon will be used.

"client.ostype.icon.CENTOS": "theme/abicloudDefault/img/icon-ostype-centos.png",

client.ostype.icon.generics

List of the client.ostype.icon marked as generic for an osType (non-strict osType compare). Example: WINDOWS_MYCUSTOM_VERSION will be resolved as client.ostype.icon.WINDOWS

"CENTOS"

config.protocols

  • Predefined values for firewall protocols. 
    • When users edit a firewall rule, they can select from the "Common protocols" as a guide to the standard ports for these protocols. As this is a guide only, users can edit all of the values as required. 
    • The port values for ALL PROTOCOL selections are fixed and users cannot edit the ports after they select these guides. In this case the user can only edit the Protocol and the Sources. To clear the port values, the user can change to another option

To get an idea of how these protocols look in the UI, see Manage Firewalls


config.loadbalancerprotocols

Predefined protocols and preset options for load balancers. Very similar to the Firewall protocols.

To get an idea of how these protocols look in the UI, see Manage Load Balancers


config.loadbalanceralgorithms 
config.loadbalancerroutingrulesprotocols 
config.loadbalancerhealthcheckprotocols 
config.loadbalancerhealthcheck.default.interval

Default interval value when creating load balancer healthcheck (in second).

Can be empty (no default value).


config.loadbalancerhealthcheck.default.timeout

Default timeout value when creating load balancer healthcheck (in second). Can be empty.

Can be empty (no default value).


config.loadbalancerhealthcheck.default.attempts

Default attempts value when creating load balancer healthcheck (value between 0 and 10).

Can be empty (no default value).


config.loadbalanceraddressesreuse 
config.loadbalanceraddressestype

Override load balancer addresses type by hypervisor/device.

Default value is an empty object(config.loadbalanceraddressestype: {})

To define values for an hypervisor/device, add a new property with the name of the hypervisor/device and set the list of accepted values.

Values accepted: ["PRIVATE","PUBLIC","PRIVATE_AND_PUBLIC","NATIP","PRIVATE_AND_NATIP"]


config.monitoringstatistics

Monitoring statistics can restrict the available metrics
config.monitoringperiods 

egg.speak

Speak error messages with Egg Speak. By default, this experimental feature is not enabled

config.endpoint

  • URL of the API where the client can connect to the API
  • Abiquo users require direct access to the Abiquo API because the UI client interacts with the API directly. 
  • You would usually install the Abiquo UI together with the Abiquo Server, but you can install it separately. 
  • As part of the post-install configuration process, Abiquo asks you for the API endpoint and sets it. However, you can change this value to point to a load balancer, etc.

api.version

  • Mandatory version of the API to specify version for mediatypes in API requests
  • As part of the post-install configuration process, Abiquo sets this version and updates it during upgrades

client.id
  • Custom integration parameter

client.backto.url

  • If there is no value set for the Redirect to this URL after logout (empty -> login screen) system property in Configuration View, when the user logs out, Abiquo will check for this URL and redirect to it. If it is not supplied, Abiquo will redirect to the login screen
  • This URL is also used when a redirect is necessary before the user has fully logged in. At this time, the application cannot access the logout redirect URL system property because it does not have access to the database yet

client.modalblocker.timeout.milliseconds
  • Control the timeout for browser popup blocker

client.themes

See Abiquo Branding Guide and Abiquo Branding Admin Guide

client.window.title

Browser tab title for Abiquo window


client.google.analytics.id 
client.google.analytics.url 
rdpaccess.usesslproxyIf false, allow insecure HTTP connections to Hyper-V VMs (not recommended).
client.captcha.publickey

Captcha public key. When users can reset their passwords in Abiquo, you can use ReCaptcha. To enable ReCaptcha for Abiquo, request keys from this link: https://www.google.com/recaptcha/admin#createsite.

Set the private key value for abiquo.captcha.private.key in abiquo.properties. See Abiquo Configuration Properties#captcha. See also Configuration View#Password


client.external.js.loader.url
  • Load custom JavaScript or HTML

  • You may want to add customized Javascript or HTML content to the UI. You can select a file which will be loaded in all Abiquo UI pages and may help you integrate UI with 3rd-party products or enhance a particular aspect of Abiquo

  • The default HTML file (externaljsloadertemplate.html) is located in the root path of the UI
  • You can add content to this file or you can specify the URL of a custom file

client.google.maps.enabled

  • If your environment is not connected to the Internet, disable Google maps

client.google.maps.key

client.password.recovery

If the system property to Allow password reset is false (see Configuration View#Password), set this option to false to hide the "Forgot your password" link.
client.offline
  • Use the Abiquo UI in offline mode, which will prevent Abiquo from loading external libraries, set this option to true.

config.enterprise.properties

client.backup (minus)


config.enterprise.onlyuseprovidersIf true, group regions by provider and group vCloud Director regions by endpoint when editing tenants to allow access to provider regions and when creating, editing, and displaying scopes, and so ontrue
client.backup.policies.poweredvmeditableIf true, allow user to edit backup policies in VMs that are powered on
client.backup.policies.multipleselectionallowedIf true, allow user to select multiple policies for a VM
client.backup.restore.allowreplicabackuprestoreIf true, display Restore link for backups with replication, allowing the user to restore these backups

client.openid.enabled


client.openid.skip.login.view


client.header.link.usersmanagementURL of external link to open from users management button in main menu. See Add external link in Abiquo header menu
client.footer.about.hideHide external About link in footer
client.footer.support.hideHide external Support link in footerfalse

client.virtualmachine.guestinitialpassword.enabled

If true, if the user created a VM and it is deployed, display the key button on the VM control panel. The user can click the key button to display the initial guest password. See Guest setup

true
client.wiki.versionWiki space to use for wiki links to Abiquo documentation, for example, "doc" for current version or "ABI40" after a new version is released"doc"
config.harddiskcustomcontrollertypesList of controller types to display pull-down list when user adds a virtual disk to a VM. See Display custom list of controllers when adding virtual disk to VM. 
config.harddiskcustomcontrollers
List of controllers to display pull-down list when user adds a virtual disk to a VM. See Display custom list of controllers when adding virtual disk to VM.   

client.classicfirewalls.enabled

Display classic firewalls tab in the UIfalse
client.cookies.policy.urlURL of your privacy policy file. See Configure a cookie message and privacy policy"https://www.abiquo.com/Privacy-Policy/ "

Default UI configuration 

Abiquo 4.5 client-config-default.json

A sample file for Abiquo 4.5 is included here. Note that Abiquo will replace the api.location and api.version variables during the install process. 

 Click here to expand...
{
    "config.languages" : [
        {"value":"en_US", "name":"English", "isDefault":true, "lcid":"1033"}
    ],
    "config.keymaps" : [
        {"value":"us", "name":"US English", "isDefault":true},
        {"value":"uk", "name":"UK English"},
        {"value":"es", "name":"Español"}
    ],
    "__comment": "Icons to load on a template if it doesn't have an iconUrl. Strict osType compare.",
	"client.ostype.icon.CENTOS": "theme/abicloudDefault/img/icon-ostype-centos.png",
	"client.ostype.icon.CENTOS_64": "",
	"client.ostype.icon.DEBIAN": "theme/abicloudDefault/img/icon-ostype-debian.png",
	"client.ostype.icon.DEBIAN_64": "",
	"client.ostype.icon.ECOMSTATION_32": "",
	"client.ostype.icon.ESXI": "theme/abicloudDefault/img/icon-ostype-esx.png",
	"client.ostype.icon.FREEBSD": "",
	"client.ostype.icon.FREEBSD_64": "",
	"client.ostype.icon.LINUX": "theme/abicloudDefault/img/icon-ostype-linux.png",
	"client.ostype.icon.LINUX_2_4": "",
	"client.ostype.icon.LINUX_2_4_64": "",
	"client.ostype.icon.LINUX_2_6": "",
	"client.ostype.icon.LINUX_2_6_64": "",
	"client.ostype.icon.LINUX_64": "",
	"client.ostype.icon.MACOS": "",
	"client.ostype.icon.MANDRIVA": "theme/abicloudDefault/img/icon-ostype-mandriva.png",
	"client.ostype.icon.MANDRIVA_64": "",
	"client.ostype.icon.NETBSD": "theme/abicloudDefault/img/icon-ostype-netbsd.png",
	"client.ostype.icon.NOT_APPLICABLE": "",
	"client.ostype.icon.NOVELL_OES": "",
	"client.ostype.icon.OPENBSD": "theme/abicloudDefault/img/icon-ostype-openbsd.png",
	"client.ostype.icon.ORACLE_ENTERPRISE_LINUX": "theme/abicloudDefault/img/icon-ostype-oraclelinux.png",
	"client.ostype.icon.ORACLE_ENTERPRISE_LINUX_64": "theme/abicloudDefault/img/icon-ostype-oraclelinux.png",
	"client.ostype.icon.OTHER": "theme/abicloudDefault/img/icon-ostype-generic.png",
	"client.ostype.icon.OTHER_64": "",
	"client.ostype.icon.RHEL": "theme/abicloudDefault/img/icon-ostype-redhat.png",
	"client.ostype.icon.RHEL_64": "",
	"client.ostype.icon.SLES": "theme/abicloudDefault/img/icon-ostype-suse.png",
	"client.ostype.icon.SLES_64": "",
	"client.ostype.icon.SOLARIS": "",
	"client.ostype.icon.SOLARIS_64": "",
	"client.ostype.icon.SUSE": "theme/abicloudDefault/img/icon-ostype-suse.png",
	"client.ostype.icon.SUSE_64": "",
	"client.ostype.icon.TURBOLINUX": "theme/abicloudDefault/img/icon-ostype-turbolinux.png",
	"client.ostype.icon.TURBOLINUX_64": "theme/abicloudDefault/img/icon-ostype-turbolinux.png",
	"client.ostype.icon.UBUNTU": "theme/abicloudDefault/img/icon-ostype-ubuntu.png",
	"client.ostype.icon.UBUNTU_64": "",
	"client.ostype.icon.UNRECOGNIZED": "",
	"client.ostype.icon.WINDOWS": "theme/abicloudDefault/img/icon-ostype-windows.png",
	"client.ostype.icon.WINDOWS_7": "",
	"client.ostype.icon.WINDOWS_8": "",
	"client.ostype.icon.WINDOWS_8_64": "",
	"client.ostype.icon.WINDOWS_SERVER_2003": "",
	"client.ostype.icon.WINDOWS_SERVER_2003_64": "",
	"client.ostype.icon.WINDOWS_SERVER_2008": "",
	"client.ostype.icon.WINDOWS_SERVER_2008_64": "",
	"client.ostype.icon.WINDOWS_SERVER_2008_R2": "",
	"client.ostype.icon.WINDOWS_SERVER_2011": "",
	"client.ostype.icon.WINDOWS_SERVER_2012": "",
    
	"__comment": "client.ostype.icon marked as generic for osTypes (non osType strict compare). Example: WINDOWS_MYCUSTOM_VERSION will be solved as client.ostype.icon.WINDOWS",
	"client.ostype.icon.generics": [
        "CENTOS",
        "DEBIAN",
        "MANDRIVA",
		"LINUX",
		"OTHER",
        "RHEL",
        "SLES",
        "SUSE",
        "UBUNTU",
		"WINDOWS"
	],
    "config.protocols" : [
        {"value":"Custom protocol", "protocol":"", "port":"" },
        {"value":"Own TCP rule", "protocol":"TCP", "port":"" },
        {"value":"Own UDP rule", "protocol": "UDP", "port":"" },
        {"value":"All Traffic", "protocol":"ALL", "port":"ALL" },
        {"value":"All TCP", "protocol":"TCP", "port":"ALL" },
        {"value":"All UDP", "protocol":"UDP", "port":"ALL" },
        {"value":"All ICMP", "protocol":"ICMP", "port":"ALL" },
        {"value":"SSH", "protocol":"TCP", "port":22 },
        {"value":"SMTP", "protocol":"TCP",  "port":25 },
        {"value":"DNS", "protocol":"UDP", "port":53 },
        {"value":"HTTP", "protocol":"TCP",   "port":80 },
        {"value":"POP3", "protocol":"TCP",  "port":110 },
        {"value":"IMAP", "protocol":"TCP", "port":143 },
        {"value":"LDAP", "protocol":"TCP", "port":389 },
        {"value":"HTTPS", "protocol":"TCP", "port":443 },
        {"value":"SMTPS", "protocol":"TCP", "port":465 },
        {"value":"IMAPS", "protocol":"TCP", "port":993 },
        {"value":"POP3S", "protocol":"TCP", "port":995 },
        {"value":"MS SQL", "protocol":"TCP", "port":1433 },
        {"value":"MYSQL", "protocol":"TCP", "port":3306 },
        {"value":"RDP", "protocol":"TCP", "port":3389 }
    ],
    "config.loadbalancerprotocols" : [
        {"value":"DNS_TCP", "protocol":"TCP", "port":53},
        {"value":"DNS_UDP", "protocol":"UDP", "port":53},
        {"value":"FTP", "protocol":"FTP", "port":21},
        {"value":"HTTP", "protocol":"HTTP", "port":80},
        {"value":"HTTPS", "protocol":"HTTPS", "port":443},
        {"value":"IMAPS", "protocol":"IMAPS", "port":993},
        {"value":"IMAPv2", "protocol":"IMAP", "port":143},
        {"value":"IMAPv3", "protocol":"IMAP", "port":220},
        {"value":"IMAPv4", "protocol":"IMAP", "port":143},
        {"value":"LDAP", "protocol":"LDAP", "port":389},
        {"value":"LDAPS", "protocol":"LDAPS", "port":636},
        {"value":"MYSQL", "protocol":"MYSQL", "port":3306},
        {"value":"POP3", "protocol":"POP3", "port":110},
        {"value":"POP3S", "protocol":"POP3S", "port":995},
        {"value":"SFTP", "protocol":"SFTP", "port":22},
        {"value":"SMTP", "protocol":"SMTP", "port":25},
        {"value":"TCP", "protocol":"TCP", "port":"" },
        {"value":"TCP_CLIENT_FIRST", "protocol":"TCP", "port":"" },
        {"value":"UDP", "protocol":"UDP", "port":"" },
        {"value":"UDP_STREAM", "protocol":"UDP", "port":"" },
        {"value":"SSL", "protocol":"SSL", "port":443 }
    ],
    "config.loadbalanceralgorithms" : ["ROUND_ROBIN","LEAST_CONNECTIONS","SOURCE_IP"],
    "config.loadbalancerroutingrulesprotocols" : ["TCP","HTTP","HTTPS"],
    "config.loadbalancerhealthcheckprotocols" : ["PING","TCP","HTTP","HTTPS"],
    "config.loadbalancerhealthcheck.default.interval" : "",
    "config.loadbalancerhealthcheck.default.timeout" : "",
    "config.loadbalancerhealthcheck.default.attempts" : "",
    "config.loadbalanceraddressessreuse" : false,
    "config.loadbalanceraddressessliteral": false,
    "config.loadbalanceraddressestype" : {},
    "config.monitoringstatistics" : [
        {"value":"average", "name":"Average"},
        {"value":"maximum", "name":"Maximum"},
        {"value":"minimum", "name":"Minimum"},
        {"value":"sum", "name":"Sum"},
        {"value":"count", "name":"Count"},
        {"value":"dev", "name":"Deviation"}
    ],
    "config.monitoringperiods" : [
        {"value":"hours", "name":"Hours"},
        {"value":"days", "name":"Days"}
    ],
    "egg.speak": "false",
    "config.endpoint": "${api.location}",
    "api.version":"${api.version}",
    "client.id":"abiquo_client_id",
    "client.license.warning.days.to.expire": 30,
    "client.backto.url": "",
    "client.modalblocker.timeout.milliseconds": 800,
    "client.themes" : [
        "abicloudDefault"
    ],
    "client.window.title": "Abiquo",
    "client.poweredby.hide" : false,
    "client.google.analytics.id":"UA-51859366-1",
    "client.google.analytics.url":"abiquo.com",
    "rdpaccess.usesslproxy":true,
    "client.captcha.publickey" : "",
    "client.external.js.loader.url" : "externaljsloadertemplate.html",
    "client.google.maps.enabled": true,
    "client.google.maps.key": "",
    "client.password.recovery": true,
    "client.remoteaccess.novnc.host": "",
    "client.remoteaccess.novnc.port": "41337",
    "client.offline":false,
    "config.enterprise.properties" : [],
    "config.enterprise.onlyuseproviders" : false,
    "client.backup.policies.poweredvmeditable": false,
    "client.backup.policies.multipleselectionallowed": false,
    "client.backup.restore.allowreplicabackuprestore": true,
    "client.debug.metrics.create": false,
    "client.openid.enabled": false,
    "client.openid.skip.login.view": false,
    "client.header.link.usersmanagement":"",
    "client.footer.about.hide" : false,
    "client.footer.support.hide" : false,
    "client.wiki.version" : "doc",
    "client.classicfirewalls.enabled": false,
    "client.cookies.policy.url" : "https://www.abiquo.com/Privacy-Policy/ "
}