Table of Contents |
---|
See Changes to UI configuration
Create custom UI configuration
...
To create custom UI configuration:
Go to the UI configuration file location which is as follows
Code Block /var/www/html/ui/config
...
and find the default configuration file.
Code Block client-config-
...
default.json
...
- 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 all previous elements, for example, if the element is a list, add a full list of values
...
Property
_______________________
...
Description
_______________________
...
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.CENTOS": "theme/abicloudDefault/img/icon-ostype-centos.png",
...
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
...
Default interval value when creating load balancer healthcheck (in second).
Can be empty (no default value).
...
Default timeout value when creating load balancer healthcheck (in second). Can be empty.
Can be empty (no default value).
...
Default attempts value when creating load balancer healthcheck (value between 0 and 10).
Can be empty (no default value).
...
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
...
egg.speak
...
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
...
- 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
...
- Control the timeout for browser popup blocker
...
client.themes
...
client.window.title
...
Browser tab title for Abiquo window
...
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
...
- By default the API key value is an empty string. See How to Obtain and Install a Google Maps API Key
...
client.password.recovery
...
- Use the Abiquo UI in offline mode, which will prevent Abiquo from loading external libraries, set this option to true.
...
...
client.backup
...
- Client backup properties are deprecated in Abiquo 3.10. Set these properties in the Abiquo UI or API. Backup#ConfigureBackupPolicyProperties
...
client.openid.enabled
...
- Set to true to enable OpenID Connect integration. Requires your own OpenID Connect server and Abiquo configuration. See Abiquo OpenID Connect Integration
...
client.openid.skip.login.view
...
- Set to true to go directly to the OpenID Connect login or the Abiquo user interface when using the OpenID Connect integration. See Abiquo OpenID Connect Integration
...
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
...
client.classicfirewalls.enabled
...
Examples of Custom and Default UI configuration
Abiquo client-config-custom.json
Add only your changes to the configuration. If your client endpoint is different to the API endpoint, set the config.endpoint. See #Configure API Endpoint. And 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.
Code Block |
---|
{
"config.endpoint": "http://a.differenturl.com/api",
"config.languages":[
{
"value":"en_US",
"name":"English",
"isDefault":true
}
{
"value":"es_ES",
"name":"Spanish",
"isDefault":false
}
]
}
|
...
Warning Do not change client-config-default.json because the platform will overwrite your changes when you upgrade
To customize UI configuration properties, create a new custom file in the same folder called:
Code Block client-config-custom.json
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.
Warning - 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 all previous elements, 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.
Code Block collapse true { "config.endpoint": "http://a.differenturl.com/api", "config.languages":[ { "value":"en_US", "name":"English", "isDefault":true } { "value":"es_ES", "name":"Spanish", "isDefault":false } ] }
Check your JSON format using a JSON validator, for example, http://jsonformatter.curiousconcept.com/#jsonformatter and remember:
Check there are no commas after the last entry in the file, and that there are no missing commas between entries
Warning - The UI will not load with an invalid configuration
- Save your file in UTF-8 format
- To activate your changes, reload the UI.
- 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:
| {"value":"en_US","name":"English","isDefault":true}, |
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}, |
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 |
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 |
| |
api.version |
| |
client.id |
| |
client.backto.url |
| |
client.modalblocker.timeout.milliseconds |
| |
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.usesslproxy | If 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 |
| |
client.google.maps.enabled |
| |
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 |
| |
config.enterprise.properties | ||
client.backup |
| |
config.enterprise.onlyuseproviders | If 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 on | true |
client.backup.policies.poweredvmeditable | If true, allow user to edit backup policies in VMs that are powered on | |
client.backup.policies.multipleselectionallowed | If true, allow user to select multiple policies for a VM | |
client.backup.restore.allowreplicabackuprestore | If 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.usersmanagement | URL of external link to open from users management button in main menu. See Add external link in Abiquo header menu | |
client.footer.about.hide | Hide external About link in footer | |
client.footer.support.hide | Hide external Support link in footer | false |
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.version | Wiki 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.harddiskcustomcontrollertypes | List 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 UI | false |
client.cookies.policy.url | URL of your privacy policy file. See Configure a cookie message and privacy policy v45 | "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. For example
Expand | ||
---|---|---|
|
...