Add support for new variables to the GUI whitelabel runtime system#12760
Add support for new variables to the GUI whitelabel runtime system#12760hsato03 wants to merge 1 commit intoapache:mainfrom
Conversation
|
@blueorangutan package |
|
@hsato03 a [SL] Jenkins job has been kicked to build packages. It will be bundled with no SystemVM templates. I'll keep you posted as I make progress. |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #12760 +/- ##
============================================
- Coverage 17.92% 17.92% -0.01%
- Complexity 16156 16161 +5
============================================
Files 5939 5945 +6
Lines 533192 533266 +74
Branches 65239 65244 +5
============================================
+ Hits 95591 95604 +13
- Misses 426859 426919 +60
- Partials 10742 10743 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 17027 |
|
@blueorangutan test keepEnv |
|
@DaanHoogland a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests |
|
[SF] Trillian test result (tid-15579)
|
|
@hsato03 , I tried to replay your test scenario; any prerequisite I might have forgotten? |
|
Hello @DaanHoogland I think CMK didn't recognize the command because it was used with some extra characters ( |
|
no idea how these got into my advanced c&p tech… but you are right @hsato03 , my bad |
|
did only marginal capybara testing ... |

Description
Currently, the GUI whitelabel theme management system supports the following variables defined in the
jsonConfigurationparameter, following the ACSconfig.jsonfile standard:Current Variables
appTitlefaviconfooterloginFooterlogominilogobannererror.403error.404error.500pluginsThis PR aims to add the following variables, which can be used to facilitate the customization of whitelabel themes.
New Variables
apidocsdocBasedocHelpMappingskeyboardOptionskeyboardOptions.uskeyboardOptions.ukkeyboardOptions.frkeyboardOptions.jpkeyboardOptions.scuserCarduserCard.titleuserCard.iconuserCard.icon.linksuserCard.icon.links[i].titleuserCard.icon.links[i].textuserCard.icon.links[i].linkuserCard.icon.links[i].iconthemetheme.@layout-modetheme.@logo-background-colortheme.@mini-logo-background-colortheme.@navigation-background-colortheme.@project-nav-background-colortheme.@project-nav-text-colortheme.@navigation-text-colortheme.@primary-colortheme.@link-colortheme.@link-hover-colortheme.@loading-colortheme.@processing-colortheme.@success-colortheme.@warning-colortheme.@error-colortheme.@font-size-basetheme.@heading-colortheme.@text-colortheme.@text-color-secondarytheme.@disabled-colortheme.@border-color-basetheme.@border-radius-basetheme.@box-shadow-basetheme.@logo-widththeme.@logo-heighttheme.@mini-logo-widththeme.@mini-logo-heighttheme.@banner-widththeme.@banner-heighttheme.@error-widththeme.@error-heightTypes of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Bug Severity
Screenshots (if appropriate):
How Has This Been Tested?
I created a GUI theme via CloudMonkey using the new variables and specifying some invalid ones (like
invalidKeyboardOptionandinvalidError).create guitheme jsonconfiguration='{"keyboardOptions":{"us":"americano","uk":"ucraniano","jp":"japones","invalidKeyboardOption":"portugues"},"theme":{"@logo-background-color":"#000000","@mini-logo-background-color":"#000000","@navigation-background-color":"#000000","@navigation-text-color":"#FFFFFF","@link-color":"#9400ff","@link-hover-color":"#10ff00","@loading-color":"#ff0000","@primary-color":"#ff00d0","@processing-color":"#ff0000","@success-color":"#00f2ff","@warning-color":"#003fff","@error-color":"#752929","@font-size-base":"8px","@box-shadow-base":"0 12px 48px rgba(255, 0, 0, 0.8)","@logo-width":"100px","@logo-height":"40px","@mini-logo-width":"40px","@mini-logo-height":"30px","@banner-width":"200px","@banner-height":"40px","@error-width":"400px","@error-height":"300px","@border-color-base":"#a500ff","@text-color":"#ff0000","@text-color-secondary":"#ff0000","@border-radius-base":"16px","@disabled-color":"#ff0000","@project-nav-background-color":"#0000ff","@project-nav-text-color":"#00ff1d","@invalid-theme":"#00ff1d"},"apidocs":false,"docBase":"https://custom.doc/","error":{"404":"https://imgs.search.brave.com/O6r9WBn-9SyyEPclCdqnyMA70azESDiFTWb4yfiZVM4/rs:fit:500:0:0:0/g:ce/aHR0cHM6Ly93d3cu/cGV0ei5jb20uYnIv/YmxvZy93cC1jb250/ZW50L3VwbG9hZHMv/MjAyNS8wMS9jYXBp/dmFyYTItMS1zY2Fs/ZWQuanBn","500":"https://www.petz.com.br/blog/wp-content/uploads/2025/02/capivara-morde-interna1.jpg","invalidError":"https://www.petz.com.br/blog/wp-content/uploads/2025/02/capivara-morde-interna1.jpg"},"docHelpMappings":{"plugins/quota.html#quota-tariff":"tarifas","invalidDoc":"invalido"},"userCard":{"title":"Ayuda","icon":"exclamation-circle-outlined","links":[{"title":"Documentation","text":"Texto customizavel para documentacao","link":"https://custom.doc/","icon":"form-outlined","invalidUserCardLink":"Ayuda"},{"title":"API","text":"Documentação API","link":"https://cloudstack.apache.org/api.html","icon":"api-outlined"},{"title":"Report Issue","text":"Submit a bug or improvement request","link":"https://github.com/apache/cloudstack/issues/new","icon":"bug-outlined"},{"title":"Nova seção","text":"Descrição da nova seção","link":"https://www.petz.com.br/blog/wp-content/uploads/2025/02/capivara-morde-interna1.jpg","icon":"warning-outlined"}],"invalidUserCard":"Ayuda"},"invalida":"invalida"}' name=variablesNext, upon accessing the ACS GUI, I verified that the new variables were rendered correctly.
Furthermore, I verified that the invalid variables were shown in the management server logs and were not considered when the theme was applied.
How did you try to break this feature and the system with this change?