Learning Library

← Back to Library

IBM BPM 8.5.7 Theme Support Overview

Key Points

  • IBM BPM 8.5.7 introduces “theme support,” a centralized way to update the look‑and‑feel of all UI components in a process app without republishing a new app version.
  • Themes are built on LESS, an open‑source CSS pre‑processor that allows developers to define reusable variables which are compiled into standard CSS for browsers.
  • Each process‑app/toolkit can have one active theme; coach views that are theme‑enabled reference these variables via dynamic LESS code, ensuring consistent styling across all code views.
  • In the designer, users create or edit a theme (e.g., a “dark theme”) by adjusting variable values in a design pane that instantly previews the impact on UI elements such as backgrounds, buttons, and headers.
  • Variable hierarchy lets designers modify a single base variable (like BPM‑color‑primary) to propagate changes throughout multiple UI components, simplifying broad visual updates.

Full Transcript

# IBM BPM 8.5.7 Theme Support Overview **Source:** [https://www.youtube.com/watch?v=x369D_VLsJ4](https://www.youtube.com/watch?v=x369D_VLsJ4) **Duration:** 00:07:53 ## Summary - IBM BPM 8.5.7 introduces “theme support,” a centralized way to update the look‑and‑feel of all UI components in a process app without republishing a new app version. - Themes are built on LESS, an open‑source CSS pre‑processor that allows developers to define reusable variables which are compiled into standard CSS for browsers. - Each process‑app/toolkit can have one active theme; coach views that are theme‑enabled reference these variables via dynamic LESS code, ensuring consistent styling across all code views. - In the designer, users create or edit a theme (e.g., a “dark theme”) by adjusting variable values in a design pane that instantly previews the impact on UI elements such as backgrounds, buttons, and headers. - Variable hierarchy lets designers modify a single base variable (like BPM‑color‑primary) to propagate changes throughout multiple UI components, simplifying broad visual updates. ## Sections - [00:00:00](https://www.youtube.com/watch?v=x369D_VLsJ4&t=0s) **IBM BPM 8.5.7 Theme Support Overview** - The demo explains how BPM 8.5.7 introduces centralized theme support using LESS variables, enabling UI look‑and‑feel updates across deployed process apps without republishing new snapshots. - [00:03:21](https://www.youtube.com/watch?v=x369D_VLsJ4&t=201s) **Customizing UI Themes with Variables** - The speaker shows how to modify UI elements—such as colors, fonts, and border radii—by editing theme variables, previewing changes, adding new variables with metadata, and then applying the customized theme to a process app where CSS is generated server‑side. - [00:06:29](https://www.youtube.com/watch?v=x369D_VLsJ4&t=389s) **Centralized BPM Theme Update Demo** - The speaker demonstrates installing a dark‑theme toolkit on a process server, executing the BPM update‑theme command, and instantly seeing the new look applied to a running process app without redeploying it. ## Full Transcript
0:00[Music] 0:09Welcome to the IBM BPM8570 0:12demonstration on theme support. I have 0:15open in front of me a clientside human 0:17service called travel request. Let's say 0:20that this client side human service 0:22along with several others have been 0:24deployed in production for a certain 0:26amount of time. Our organization would 0:28like to upgrade the look and feel of all 0:30the UIs within this process app. In the 0:33past, this would have been accomplished 0:35by changing the CSS that is attached to 0:37the various code views and redeploying a 0:39new snapshot of the process app. In 857, 0:43a new mechanism called theme support 0:46allows a simple centralized mechanism to 0:49update the UIs across the process app. 0:52This mechanism also allows the look and 0:55feel to be updated after a process app 0:57has been deployed without the need to 1:00republish a new version of the process 1:02app. 1:04Theme support in BPM is based on less. 1:07Less is an open-source CSS pre-ompiler. 1:11It adds the ability to define variables 1:13and use those in your CSS declarations. 1:18Here's a simple example of some less 1:20code. We have BPM button primary BG 1:24defined as a variable with a value set 1:26to it. We also have two CSS rules 1:29beneath it. My button and my section 1:32header. In their definitions, we can see 1:34the usage of the variable. Browsers do 1:37not understand less. It is compiled into 1:39CSS. Beneath we can see the variable 1:42being substituted to create the standard 1:44CSS that we're all used to. 1:48In BPM, there's a new artifact called a 1:50theme, which has all the variable 1:51declarations in the system. Coach views 1:54that are theme enabled have a dynamic 1:56style set on them, and this is less code 1:58that leverages the variables defined in 2:01the theme. There is one active theme per 2:03process apper toolkit, and all code 2:05views within the scope share that 2:07styling. Back in the designer, we're 2:09going to get started by creating a new 2:10theme. 2:13Our new theme, it's going to be called 2:15dark theme. When the editor opens, we're 2:18taken to the design tab. The design tab 2:20shows all the variables on the left 2:23grouped together 2:26and a preview on the right showing the 2:28result and look and feel of the coach 2:30views with the current settings. 2:32To change an aspect of the UI, I can 2:35hover over the different regions in the 2:36preview pane. Here we can see that the 2:39background color is BPM bodyb for this 2:42area. finding that variable on the left, 2:44I can click on the color swatch, which 2:46will invoke a dialogue for me to pick a 2:48new color. 2:52As soon as I set a new value for the 2:53variable, we can see the preview is 2:55updated on the right hand side. Let's 2:58say we want to change the color for this 3:00primary button. The background color is 3:03BPM button primary BG. If we find that 3:07on the left side, 3:11we can see that BPM button primary BG is 3:14referring to another theme variable 3:16called BPM color primary. 3:20We can choose to change the button 3:21background color alone or we can choose 3:24this more general variable which will be 3:26applied to numerous other spots within 3:28the UI. 3:30Here 3:33we see that the section header and the 3:35switch have been updated as well. I can 3:38continue using this technique to set 3:40other aspects of the UI. For example, I 3:44might change the text to be larger. Here 3:46we can see that font size is going from 3:48BPM font size base. 3:57We can also change some of the border 3:59radiuses to soften the look of things. 4:05I have adjusted a few more variables to 4:08achieve the look that I'm after. Before 4:10I close this editor, I'm going to go to 4:12the source tab. In the source tab, we 4:15can see all the variables on the left. 4:18And on the right, we can see some 4:20metadata. This is what contributes the 4:22variable to the design tab. It is 4:25possible to add new variables to the 4:28theme and use those variables in your 4:30custom coach views. You can also 4:32leverage the same metadata to achieve 4:34the easy to use controls for setting the 4:37values such as the color pickers and 4:40font pickers. 4:43Now that we have our theme defined, 4:44we're going to save the editor and set 4:46this theme on the process app. 4:55In the process app settings, 4:59there's a theme field here. Here we will 5:01select the dark theme we just authored 5:03and save this editor. 5:06If we switch back to the travel request 5:08and we wait a few moments, 5:11we can see the theme is applied. The CSS 5:14generation happens on the server from 5:17the theme artifacts. 5:19Running the client side human service, 5:21we can see the theme is applied at 5:22runtime as well. 5:25To complete this demonstration, I'm 5:27going to show how to update the theme on 5:29process apps that are already deployed 5:30to a process server. This slide shows 5:34what we're going to do. We have a number 5:36of process apps that are deployed to the 5:38process server. Each one depends on the 5:40system toolkit and each one is using the 5:42default BPM theme. We're going to create 5:45a new theme toolkit which has the dark 5:48theme inside of it and we're going to 5:49create a new dummy process app that 5:51depends on the theme toolkit. We're 5:54going to deploy the dummy process app 5:56and then use the BPM update theme 5:58command to dynamically set the theme on 6:01the running process apps without 6:03redeploying them. 6:06I am in process portal where we can see 6:08I have the employee travel process 6:10deployed. If I launch an instance of 6:13this process, I can see the work item. 6:17If I accept that work item, we can see 6:20the default theme is applied to the 6:22coach. Let's update this theme to the 6:25dark theme that we just created. 6:30In process center, we can see the dummy 6:32process app that I created. This 6:34references the toolkit that contains the 6:36dark theme. 6:39I'm going to install this new process 6:41app onto that process server. 6:52I am logged into the was admin console 6:54for the process server on which our 6:55process apps are deployed. I'm going to 6:58run the BPM update theme command with 7:02the proper parameters. 7:04We can see that the command is 7:05successful. So let's go back and rerun 7:07our process. Back in the same process 7:10portal as earlier, we'll relaunch that 7:12process. 7:15Claim the work item. We can see that the 7:17theme is updated even though we did not 7:18redeploy a new version of the travel 7:21request process app. This concludes the 7:23demonstration on theme support in BPM 7:268570. 7:28Theme support provides a simple 7:31centralized mechanism for controlling 7:33the look and feel of all UIs within your 7:35BPM process apps. Thank you. 7:50[Music]