Configure Abiquo UI
This page describes how to configure the Abiquo user interface with UI configuration properties.
Changes to UI configuration
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
/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
To customize UI configuration properties, create a new custom file in the same folder called:
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.
- 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.
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
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,"flagIconUrl": "theme/abicloudDefault/img/country_flags/united-states-of-america.svg"}
{"value":"fr_FR","name":"French","lcid":"1036"} |
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.autoscaling.action.default | Default values for the automatic scaling action. See Configure default autoscaling actions | |
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"] When private IPs are not allowed, do not display the private subnets section | "config.loadbalanceraddressestype" : { |
config.loadbalancer.targetgrouphealthcheckprotocols | For AWS application load balancers, the default list of common health check protocols for target groups. | |
config.loadbalancersubnetstype | Override load balancer subnets type by hypervisor/device. Default value is an empty object(config.loadbalancersubnetstype: {}) 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","EXTERNAL"] | "config.loadbalancersubnetstype" : { |
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 | ||
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.skip.login.view | Deprecated in Abiquo 4.7.1 for UI 5. Use client.skip.login.view. By default, when in OpenID mode, Abiquo shows an initial screen with a link to the Authentication portal. If this property is set to true, then Abiquo will not display the initial screen and will redirect users directly to the Authentication portal. | |
client.skip.login.view | Set to true to go directly to the SAML or OpenID Connect login or false to go to the Abiquo user interface when using the SAML or OpenID Connect integration. See Abiquo OpenID Connect Integration and SAML Integration | |
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.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 | "https://www.abiquo.com/Privacy-Policy/ " |
client.cookies.cookiespolicy.url | URL of your cookies policy file. See Configure a cookie message and privacy policy | "" |
client.header.externalurlicons | List of URL objects with role IDs and symbols. See Add role based external links to the main menu | "client.header.externalurlicons" : [ |
client.dashboard.widgets.defaultvalues | Starting threshold for highest and lowest usage panels for CPU and RAM on the Optimization dashboard. See Optimization | "client.dashboard.widgets.defaultvalues": { |
client.dashboard.widgets.mindaysdeployed | Starting threshold for longest time deployed panel on the Optimization dashboard. See Optimization | 90 |
client.dashboard.widgets.lastbills.lastmonths | On the Hybrid billing dashboard, the number of months to display bills for. | 5 |
client.dashboard.widgets.lastbills.currenciesconversions | On the Hybrid billing dashboard, currency and conversion to another currency with a conversion rate. The inside currencyCode currency is multiplied by the conversion value to give the amount in the outside currencyCode currency. The example shows a conversion from euros to US dollars. The value of month is set to default, but you can specify a value for each month of the year (from 1 (January) to 12 (December)). You have to specify the year too (mandatory). If a specific value is present for the current month and year, the platform will use it; otherwise, it will use the default. The currencies will display on the dashboard in the order you use in this property, and the first currency will be the default on the dashboard. For each currency, add a new currencyLabel in each lang_xx_XX_custom.json with the corresponding currencyCode Ex: "dashboard.lastbills.label.currency.USD":"Dollar", Otherwise the currency will display as "dashboard.lastbills.label.currency.currencyCode". | { { "month": 12, }] |
client.dashboard.widgets.lastbills.additionalproviders | Additional providers to display on the Billing dashboard, as a comma separated list. If you use a hypervisor type, the platform will display its friendly name. E.g. to display VMware ESX Host, add "VMX_04" | ["VMX_04", "Private"] |
client.dashboard.widgets.availableitems | The list of widgets to display in the dashboard widgets catalog. To turn off display of one or more widgets, copy the full list to client-config-custom.json and for the selected widgets, set the "available" values to false. | "client.dashboard.widgets.availableitems": [ ... ] |
client.asynctask.missingvars.schema | JSON schema to define the required variables for creating a virtual datacenter with NSX-ECMP or NSX-T. See Create more than one VDC in NSX ECMP and Configure the Abiquo NSX-T integration | |
client.budget.currencies | Currencies to use for budgets. If an enterprise in a hierarchy uses another currency and it has an enterprise property for a conversion_factor, use this property to perform the conversion. | {"label": "€", "value": "EUR"} |
client.login.modules | Abiquo login modules to use with options for Basic Auth (default), Open ID, and SAML. See client-config-default.json for configuration examples. SAML and Open ID have cookies to store the user's login module in order to load it when the user opens the UI. | |
client.2fa.activated | If false, do not display the option in the username menu to allow customers to activate 2fa, even if it is available on the platform | true |
client.vm.datastoretiers.useonlyrecommended | If set to true, if VM is not deployed, then display recommended DS tiers only, and if the VM is deployed, display all compatible tiers. | false |
client.publiccredentials.accountsinfo | Use to display additional information for each public provider credential. You can add new ones using the following format
| "client.publiccredentials.accountsinfo": { |
client.tmp.button.createvm.enabled | Previous property for Create VM shortcut. Replaced by client.creatvmpopup.button.enabled which is true by default | |
client.createvmpopup.button.enabled | If true, display the shortcut button to create a VM from anywhere. Changes to this property will display for users the next time they log in. See Create and deploy a VM from anywhere. By default, this property is true | false |
client.monitoring.button.alwaysdisplayed | If true, display the monitoring button on virtual appliance cards. See Display metrics for a virtual appliance. By default, this property is true. | false |
Default UI configuration
A sample UI config file for the current version is included here.
Abiquo 5.4.1 client-config-default.json
Note that Abiquo will replace the api.location and api.version variables during the install process.
More configuration pages
Other pages in this section describe more UI configuration.
- Changes to UI configuration
- Abiquo UI Client Language Configuration
- Configure the main menu button bar
- Control UI element visibility
- Configure a cookie message and privacy policy
- Configure maintenance notices
- Group public cloud regions by provider or endpoint
- Abiquo Tutorials for Onboarding Users
- Additional UI configuration
- Configure billing dashboard currency conversions
- Customize login text
- Configure UI login errors
Copyright © 2006-2022, Abiquo Holdings SL. All rights reserved