11.2 Branding the SailPoint User Interface
Key Takeaways
Colors, fonts, spacing, and other styling are overridden with custom CSS; ui-custom.css holds the modern UI overrides and iiq-custom.css the classic JSF-page styles.
Logos are image files; SailPoint recommends replacing files in ui/images with custom images of the same file names instead of editing core .xhtml pages.
Product text and labels come from the message catalog and are changed with iiqCustom.properties overrides (section 11.3).
Email branding is done in email templates; Rapid Setup also has style sheet, header, and footer templates.
Branding files live in the web application directory, so keep them in the build (for example, the SSB web folder) or they will be lost on upgrade.
Branding the SailPoint User Interface
Objective 4.9 asks you to know which elements of the SailPoint UI can be branded and how to change them. SailPoint's Compass white paper Branding IdentityIQ is the detailed reference. For the exam, know the categories of brandable elements and the mechanism for each.
What Can Be Branded, and How
| Element | Mechanism | Where |
|---|---|---|
| Colors, fonts, spacing, backgrounds, menu styles | Custom CSS overrides | ui/css/ui-custom.css for the responsive (Angular) UI; css/iiq-custom.css for classic JSF pages |
| Logos and product images | Replace image files with same-name custom images | ui/images directory. Only edit .xhtml includes such as the login page if a new file name is unavoidable. |
| Product name, labels, headings, button text | Message catalog overrides | WEB-INF/classes/sailpoint/web/messages/iiqCustom.properties (section 11.3) |
| Email look and feel | Email templates with HTML in CDATA | Custom EmailTemplate objects (section 11.1). Rapid Setup has Notification Style Sheet, Header, and Footer templates. |
| Icons for special account types or role types | CSS classes plus images; UIConfig entries | Account icons use AccountIconConfig in UIConfig (section 2.3). Role type icons reference images from iiq-custom.css. |
| Home page content | QuickLink cards and widgets | QuickLink populations (section 5.2) and user-selectable Home page widgets |
| Help contact | Configuration | Help Contact Email Address on the Miscellaneous tab adds an Email Help button |
CSS Branding
The custom style sheets exist so that rules placed in them override the product defaults without anyone editing product CSS. Community examples use rules like these:
/* Page background */
.sp-body-container { background-color: #ffffff; }
/* Top navigation hover and selected colors */
.bg-primary .nav li > a:hover,
.bg-primary .nav li > a:focus { background-color: #0b3d91 !important; }
.bg-primary .nav li.active > a { background-color: #0b3d91 !important; }
Practical tips:
- Use the browser's developer tools to find the class that styles an element, then override it in the custom file.
- Browsers cache CSS aggressively. Clear the cache or use a private window when testing.
- Some product rules use
!important. An override may need the same weight or a more specific selector.
Image Branding
The white paper's guidance, as quoted in SailPoint's developer community:
The logos are specified in core product .xhtml files. The recommended approach is to replace the image files in the
ui/imagesdirectory with custom images, using the same file names. This avoids changing the .xhtml files and simplifies upgrades.
If you must point to a new file name, you edit the include that renders it, such as the login page include. That file then has to be re-checked on every upgrade.
Text Branding
To show "ACME Access Portal" instead of product wording, override the relevant message keys in iiqCustom.properties instead of editing pages. The same mechanism translates text (section 11.3).
Keeping Branding Safe
- Everything lives under the web application. Upgrades replace the installation directory (section 3.2), so custom CSS, images, and properties must be reapplied.
- Put branding in the build. With the SSB (section 3.1), branding files go in the project's web folder, so every build and environment gets them. The community also describes using build file-layout rules to ship different logos per environment, such as a red "TEST" banner in non-production.
- Prefer overrides over edits. Custom CSS files, same-name images, and iiqCustom.properties all avoid changing product files, which keeps upgrade work small.
- Remember object text. Application, role, policy, and entitlement descriptions shown in the UI are data, not branding files. They can be localized with multi-language descriptions (section 11.3).
A Branding Project Plan
A typical branding request covers the login page, the header, colors, email, and a few wording changes. A practical order:
- Inventory the requirements against the table above: which are CSS, which are images, which are text, and which are email templates.
- Build styles first in
ui-custom.css. Test the Home page, request pages, certifications, and the login page in each supported browser. - Swap images by replacing same-named files in
ui/imageswith correctly sized logos, including any images used on the login page. - Adjust text in
iiqCustom.properties(and the language variants if the installation is multilingual). - Match email styling by giving custom templates the same colors and logo, hosted at a URL recipients can reach. For Rapid Setup, update the style sheet, header, and footer templates on its Miscellaneous tab.
- Package and promote the files through the build, so development, test, and production match. Consider a visible environment marker in non-production.
Test after every patch as well. Patches can change page markup, and a CSS selector that worked before may no longer match.
What You Cannot Brand Through the UI
IdentityIQ has no admin screen for logos and colors. Some SaaS products offer a "Product Branding" page, but IdentityIQ branding is done with files (CSS, images, and properties) deployed with the application. If an exam option says "upload a logo in Global Settings," reject it for IdentityIQ.
A company wants its own logo on IdentityIQ pages with the least upgrade effort. What does SailPoint's branding guidance recommend?
Replace the image files in the ui/images directory with custom images that keep the same file names.
Upload the logo on a Global Settings branding page.
Edit every .xhtml page to point at a new logo file name.
Store the logo as an extended attribute on the Application object.
Which file is used to override colors and styles in IdentityIQ's responsive user interface?
iiq.properties
log4j2.properties
packtag.properties
ui-custom.css
The business wants the label "SailPoint" in one heading replaced with "ACME Access Portal" without editing product pages. Which mechanism fits?
A new CSS class in ui-custom.css
A UIConfig AccountIconConfig entry
Overriding the message key in iiqCustom.properties
Renaming the identityiq.war file
After an upgrade, the custom logo and colors disappear. What practice would have prevented this?
Storing the branding in the Access History database
Keeping branding files in the build, such as the SSB web folder, so they are reapplied with every build
Setting explicitTransitions to true
Enabling Redirect to File
Sections you finish are checked off in the contents.