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 3 commits 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.95% 17.94% -0.01%
+ Complexity 16503 16500 -3
============================================
Files 6019 6025 +6
Lines 540748 540822 +74
Branches 66255 66260 +5
============================================
- Hits 97084 97059 -25
- Misses 432723 432824 +101
+ Partials 10941 10939 -2
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 ... |
...in/java/org/apache/cloudstack/gui/theme/json/config/validator/attributes/ErrorAttribute.java
Show resolved
Hide resolved
|
@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. |
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 17447 |
|
@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. |
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 17473 |
|
@DaanHoogland can we run the CI here? |
|
@blueorangutan test |
|
@DaanHoogland a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests |
|
[SF] Trillian test result (tid-15865)
|

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?