I’m needing some additional help managing themes w...
# gooddata-platform
j
I’m needing some additional help managing themes with life cycle management. I’ve a common theme I want deployed via the LCM across 2 data products. The theme is exactly the same but when I activate via the domain token in the instructions below, it’s only applying to one data product and not both, even though the theme is applied to all masters. Technically speaking, it’s two themes with different URI’s because as far as I’m able to tell, the metadata object (theme) is created on one Master but not accessible to another Master so I have the same theme settings but in two technically separate Metadata objects. Is that clear enough? https://help.gooddata.com/doc/growth/en/dashboards-and-insights/create-custom-themes/manage-themes-with-life-cycle-management
m
Hi Josh, since you want to activate the themes on different segments, you will need to configure the platform setting
selectedUiTheme
with the corresponding theme URIs. Have you tried applying the theme to one workspace only? Is it working?
j
Right now, technically speaking, both themes are working meaning, they are both displaying on their respective masters as expected.
I think what I understand you to mean, is apply the theme at the domain setting and not the project group or workspace level?
I’m looking that domain config settings now, but I can’t apply it at the domain level because I have a legacy version in PROD with daily users. I need the new theme only to be applied to our new version we’re entering beta with this month.
m
Since the themes have different URIs in each data product, it will only get activated once with the authorization token when using the URI of the corresponding data product. I can consult internally if there is an easy way to activate themes with different URIs across all segments, but it may be possible to do it via a custom script. In the meantime, I can suggest activating the themes in each client workspace separately if feasible.
j
Can I use the same URI in different masters?
m
I’m afraid every time the theme is loaded it will have a different URI/identifier
1
j
Ok, so this is a bit of a design pickle then. How do I activate a theme by dataproduct?
Any update here @Moises Morales
b
Hi Josh, let me step in - it is currently not possible to active the theme per data product, it needs to be done per domain, per token or per workspaces, that is the limitation currently. However, what you can do is to select the identifier as you need. Let's say you have two themes - dark and light, you need to use the dark in half of the workspaces and the light in the second half (separated by segements) - so in one dev master you create the dark theme and set an identifier to "default_theme", same for the other segment with the light theme. Then you set the "default_theme" as a value of "selectedUiTheme" feature flag and it will apply the themes as needed. Obviously, the identifier needs to be unique per workspace, but within domain, you can have various themes with the same ID.
the JSON would then be
Copy code
{
   "theme" : {
      "content" : {
         
 CUSTOM THEME DEFINITION

         },
      "meta" : {
         "category" : "theme",
         "deprecated" : "0",
         "isProduction" : 1,
         "summary" : "",
         "tags" : "",
         "title" : "YOUR THEME NAME",
		 "identifier" : "THEME ID"
      }
   }
}
j
Hey @Boris! Can’t believe I’ve missed this response from you. My apologies. Working with Marek, we were able to actually get this to work by data product. Here’s the url essentially: https://${DOMAIN}.na.gooddata.com/gdc/domains/${DOMAIN}/dataproducts/{DATA PRODUCT NAME}/config/selectedUiTheme This worked as hoped and allowed me to use multiple themes in the same domain and not have to activate by project or token.
b
great, thanks for sharing Josh!