Report Server 2016 Custom Branding

One of the cool new features available in Report Server 2016 is the ability to customize the look of your Web Portal by modifying the colors on the page. This is done by uploading a Brand package file in the Site Settings – Branding section of the portal.

Report Server - Site Settings.png

The idea behind this is to allow users the ability to easily change the appearance of their web portal without needing to know Cascading Style Sheets (CSS) in order to do it. With a brand package file (a .zip file containing a logo.png, metadata.xml, and colors.json files), you can add your own logo, and create a “skin” or color theme for your portal.

The additional feature, and what I’ll be focusing on in this post, is the ability to import that color theme into SQL Server Mobile Report Publisher and change the colors of your dashboards and the report items contained within it.  To me, this is a huge improvement on previous Microsoft reporting tools, as you now have the ability to control what colors are rendered in your dashboard, which matches existing functionality in other competing tools (Tableau).

If you want to learn more about the brand packages and how to create/upload them, check out this MSDN article on Branding the web portal.

In addition, here’s a good blog post by Christopher Finlan that even gives you some sample Brand zip files that you can leverage as a starting point.

In this post I’ll be focusing more specifically on documenting the color attributes contained within the Colors.json file and what parts of the dashboard they control in SQL Server Mobile Report Publisher. The main driver for writing this post was largely due to a SQL Saturday presentation given by Patrick LeBlanc (Microsoft) in which he mentioned the scarcity of documentation around this topic. You can check out his blog here, where you can access his presentations on Power BI and the new reporting tools available in SQL Server 2016.

Finally, another fellow blogger (Craig Porteous) has already documented a large portion of the attributes contained in the Colors.json file. His post focuses on the color attributes for the Web Portal. This post adds on to it by focusing on the color attributes for SQL Server Mobile Report Publisher.

Below is a sample Colors.json file:

{
“name”:”Default brand”,
“version”:”1.0″,
“interface”:{
“primary”:”#bb2124″,
“primaryAlt”:”#d31115″,
“primaryAlt2″:”#671215”,
“primaryAlt3″:”#bb2124”,
“primaryAlt4″:”#00abee”,
“primaryContrast”:”#fff”,
“secondary”:”#000″,
“secondaryAlt”:”#444″,
“secondaryAlt2″:”#555”,
“secondaryAlt3″:”#777”,
“secondaryContrast”:”#fff”,
“neutralPrimary”:”#fff”,
“neutralPrimaryAlt”:”#f4f4f4″,
“neutralPrimaryAlt2″:”#e3e3e3”,
“neutralPrimaryAlt3″:”#c8c8c8”,
“neutralPrimaryContrast”:”#000″,
“neutralSecondary”:”#fff”,
“neutralSecondaryAlt”:”#eaeaea”,
“neutralSecondaryAlt2″:”#b7b7b7”,
“neutralSecondaryAlt3″:”#acacac”,
“neutralSecondaryContrast”:”#000″,
“neutralTertiary”:”#b7b7b7″,
“neutralTertiaryAlt”:”#c8c8c8″,
“neutralTertiaryAlt2″:”#eaeaea”,
“neutralTertiaryAlt3″:”#fff”,
“neutralTertiaryContrast”:”#222″,
“danger”:”#bb2124″,
“success”:”#2b3″,
“warning”:”#f0ad4e”,
“info”:”#5bc0de”,
“dangerContrast”:”#fff”,
“successContrast”:”#fff”,
“warningContrast”:”#fff”,
“infoContrast”:”#fff”,
“kpiGood”:”#4fb443″,
“kpiBad”:”#de061a”,
“kpiNeutral”:”#d9b42c”,
“kpiNone”:”#333″,
“kpiGoodContrast”:”#fff”,
“kpiBadContrast”:”#fff”,
“kpiNeutralContrast”:”#fff”,
“kpiNoneContrast”:”#fff”
},
“theme”:{
“dataPoints”:[
“#0072c6”,
“#f68c1f”,
“#269657”,
“#dd5900”,
“#5b3573”,
“#22bdef”,
“#b4009e”,
“#008274”,
“#fdc336”,
“#ea3c00”,
“#00188f”,
“#9f9f9f”
],
“good”:”#85ba00″,
“bad”:”#e90000″,
“neutral”:”#edb327″,
“none”:”#333″,
“background”:”#fff”,
“foreground”:”#222″,
“mapBase”:”#00aeef”,
“panelBackground”:”#f6f6f6″,
“panelForeground”:”#222″,
“panelAccent”:”#00aeef”,
“tableAccent”:”#00aeef”,
“altBackground”:”#f6f6f6″,
“altForeground”:”#000″,
“altMapBase”:”#f68c1f”,
“altPanelBackground”:”#235378″,
“altPanelForeground”:”#fff”,
“altPanelAccent”:”#fdc336″,
“altTableAccent”:”#fdc336″
}
}

Here’s a simple breakdown:

The section:

“theme”:{
“dataPoints”:[
“#0072c6”,
“#f68c1f”,
“#269657”,
“#dd5900”,
“#5b3573”,
“#22bdef”,
“#b4009e”,
“#008274”,
“#fdc336”,
“#ea3c00”,
“#00188f”,
“#9f9f9f”
],

Controls the colors of the bars/lines/bubbles in the charts. Each color represents a different category/group in your data. In the color palette, they represent (in the same order, from left to right) the colors highlighted below:

Data Points Colors Palette

The section:

“good”:”#85ba00″,
“bad”:”#e90000″,
“neutral”:”#edb327″,
“none”:”#333″,

Controls the colors of any report item that acts as a KPI (All the Gauges, the Scorecard grid, Tree map, Range stop heat map, and Indicator data grid).

Finally, the less intuitive section, is described below:

AttributeDescriptionNotes
BackgroundDashboard background color
foregroundMap Charts border color
mapBaseGradient Heat Map Chart fill color Overwrites altMapBase (bug?)
panelBackgroundChart Background color
panelForegroundChart Title font color Also affects dashboard title color
panelAccentChart Subtitle font color Also affects dashboard Back icon, and Loading Icon color
tableAccentData Grids report items top bar color
altBackgroundDashboard background color when Accent is ON
altForegroundMap Charts border color when Accent is ON
altMapbaseGradient Heat Map Chart fill color when Accent is ON
altPanelBackgroundChart Background color when Accent is ON
altPanelForegroundChart Title font color when Accent is ON
altPanelAccentChart subtitle font color when Accent is ON
altTableAccentData Grid Report Items Top Bar color when Accent is ON Overwrites TableAccent (bug?)

The images below highlight each of the attributes in a dashboard:

loadingIcon panelAccent

dashboard attributes.png

Gradient Heat Map - mapBase attribute.png

tableAccent attribute

 

Hopefully this helps some of you out there looking to create your own custom reporting theme!

Leave a Reply

Your email address will not be published. Required fields are marked *