Custom Links do not persist in the Branding UI in Cloud Director 10.5
search cancel

Custom Links do not persist in the Branding UI in Cloud Director 10.5

book

Article ID: 325572

calendar_today

Updated On:

Products

VMware Cloud Director

Issue/Introduction

Symptoms:
  • Cloud Director has been upgraded to the 10.5.0 release.
  • Cloud Director has been configured to use the new Branding Api via Administration > Settings > Feature Flags > Branding API.
  • Cloud Director has been configured to use a custom branding theme via Customize Portal UI.
  • Custom links have been added to the branding theme (override/menu/login/logout).
  • After the theme has been saved, the links are missing from the editor and also not displayed when the theme has been applied/activated.


Environment

VMware Cloud Director 10.x

Cause

This issue occurs due to issues in saving the Runtime Defined Entity (RDE) within the Cloud Director database. The RDE is responsible for saving the customization options.

Resolution

This is a known issue in VMware Cloud Director 10.5.0 when saving branding theme assets.

Workaround:
To work around the issue, you will need to update the corresponding RDE via the Cloud Director API.
To update the RDE you will need to retrieve the brandingTheme URN.

As the brandingTheme API is an Alpha Feature:

  • It is not supported via the API Explorer.
  • You will need to use the Alpha version of the API (version=39.0.0-alpha-1689260915).




1. Retrieve the brandingTheme Object Reference for the Theme in question.
 

GET https://{{base-url}}/cloudapi/1.0.0/brandingThemes/
Accept: application/json;version=39.0.0-alpha-1689260915


Truncated Output

{...
"values": [
{
"id": "urn:vcloud:entity:vmware:brandinguitheme:af85e10a-####-####-####-########492",
"name": "My custom theme",
...
]}

Locate the target theme by name and copy the theme urn.

  • urn:vcloud:entity:vmware:brandinguitheme:af85e10a-####-####-####-########492.

**Optional - You can proceed via the API Explorer if you would prefer**
2. Retrieve the associated Runtime Defined Entity(RDE) object for the Theme in question.
 

GET https://{{base-url}}/cloudapi/1.0.0/entities/urn:vcloud:entity:vmware:brandinguitheme:af85e10a-####-####-####-########492


Truncated Output

{
"id": "urn:vcloud:entity:vmware:brandinguitheme:af85e10a-####-####-####-########492",
"entityType": "urn:vcloud:type:vmware:brandinguitheme:1.0.0",
"name": "My custom theme",
"entity": {
   "logo": "logo.png",
...
}




3. Modify the RDE Response Body to add a reference to the customLinks.
 

"customLinks": "<URN from Step 1>_custom_links.json",


Example

"customLinks": "urn:vcloud:entity:vmware:brandinguitheme:af85e10a-####-####-####-########492_custom_links.json",



4. Update the RDE
 

PUT https://{{base-url}}/cloudapi/1.0.0/entities/urn:vcloud:entity:vmware:brandinguitheme:af85e10a-####-####-####-########492


Truncated  Request Body Example

{
"id": "urn:vcloud:entity:vmware:brandinguitheme:af85e10a-####-####-####-########492",
"entityType": "urn:vcloud:type:vmware:brandinguitheme:1.0.0",
"name": "My custom theme",
"entity": {
"logo": "logo.png",
...
"customLinks": "urn:vcloud:entity:vmware:brandinguitheme:af85e10a-####-####-####-########492_custom_links.json",
...
}
}






Additional Information

This issue will be resolved in the next release of Cloud Director 10.5.x.

For more information on connecting to the Cloud Director API see the article here, How to establish an API connection VMware Cloud Director (56948).