{"id":81,"date":"2010-06-27T18:44:00","date_gmt":"2010-06-27T18:44:00","guid":{"rendered":"\/lisa\/post\/2010\/06\/27\/Quicker-branding-of-SQL-Server-Report-Manager-2008-R2.aspx"},"modified":"2010-06-27T18:44:00","modified_gmt":"2010-06-27T18:44:00","slug":"quicker-branding-of-sql-server-report-manager-2008-r2","status":"publish","type":"post","link":"https:\/\/spacefold.com\/lisa\/2010\/06\/27\/quicker-branding-of-sql-server-report-manager-2008-r2\/","title":{"rendered":"Quicker branding of SQL Server Report Manager 2008 R2"},"content":{"rendered":"<p style=\"text-align: left;\">A <a title=\"blog post about quick branding Report Manager 2005\" href=\"\/lisa\/2008\/10\/27\/Walkthrough-Quick-branding-SQL-Server-Report-Manager-2005\/\">good long while ago<\/a>, I wrote a blog post about re-branding the Report Manager interface.&nbsp; While at the time I thought it was not all that useful, because most developers create a custom interface to embed RS in their programs rather than actually show Report Manager to anybody, it&#8217;s become clear to me that Report Manager is very handy for administrators.&nbsp;There&#8217;s really no reason to re-invent the wheel by making all the appropriate SOAP calls into Report Server to re-write the manager interface, when administrators need to do lots of quick and dirty configuration behind the scenes.&nbsp;<\/p>\n<p>I also find that the branding tricks are a useful reminder of exactly which RS instance you&#8217;re working with, when you have a number of them floating around for different purposes.&nbsp;<\/p>\n<p class=\"NB\">FWIW, I do the same thing for Sharepoint interfaces; even when a client isn&#8217;t going to see them, it&#8217;s handy to rebrand various sites, each set up fairly consistently, so that I know exactly what I am posting where without having to look at a bunch of breadcrumbs.<\/p>\n<p>So, with this in mind, I continued using the branding practices that I recommended in that earlier post, after we migrated to RS 2008.&nbsp; They continued to work just fine.<\/p>\n<h3>Or, we could talk some more.<\/h3>\n<p>I didn&#8217;t expect anything different when RS 2008 R2 came along.&nbsp; Well, I was right and I was wrong.&nbsp;<\/p>\n<p>The good news is that the native interface is much less ugly.&nbsp; Maybe some of you will feel less of a need to improve or&nbsp;re-style it than before, as a result.<\/p>\n<p>The&nbsp;other good news is that&nbsp;the general instructions I gave you in the earlier post are still right.&nbsp; You still have to make the same config changes (which are minor) and look in the same places under ReportServer and ReportManager to make your CSS and image changes.<\/p>\n<p>The bad news is that the CSS and the actual images in use have changed significantly, and you can&#8217;t just plop your earlier images and CSS into the new folders and expect anything to work.&nbsp; Although this time I knew what to do, without a bunch of false starts and experiments, I still had to re-do it.<\/p>\n<p>Given, as I said, that I want to re-brand all my Report Managers to keep them visually distinct from each other, and given that these sites are not exposed to end users, all I wanted to do was (1) get it done and (2) get it done.&nbsp; I didn&#8217;t want to fuss.<\/p>\n<p>So, I&#8217;ve resolved the process into (I think) the smallest number of steps and, herein, I share those steps with you.<\/p>\n<p>First, here&#8217;s a preview of the result you can expect from following these steps.&nbsp; If you haven&#8217;t looked at R2 yet, you&#8217;ll see that Report Manager now has a distinctly SP-modern appearance, much more pleasing, which I have not introduced (it comes this way out of the box.&nbsp; All I&#8217;ve done is font- and color-brand it.&nbsp; As I&#8217;ve indicated, I&#8217;ve done it very quickly &#8212;&nbsp; but notice the branding is consistent all the way through the report run, even unto the &#8220;Wait&#8221; message:<\/p>\n<p style=\"TEXT-ALIGN: center\"><img decoding=\"async\" src=\"\/lisa\/wp-non\/migrated\/2010\/6\/RS2008R2BrandRMgr1.png\" alt=\"\" \/><\/p>\n<p style=\"TEXT-ALIGN: center\"><img decoding=\"async\" src=\"\/lisa\/wp-non\/migrated\/2010\/6\/RS2008R2BrandRMgr2.png\" alt=\"\" \/><\/p>\n<p style=\"TEXT-ALIGN: center\"><img decoding=\"async\" src=\"\/lisa\/wp-non\/migrated\/2010\/6\/RS2008R2BrandReportRun.png\" alt=\"\" \/><\/p>\n<h3 style=\"TEXT-ALIGN: left\">1. Formulate your general strategy for the brand<\/h3>\n<p style=\"TEXT-ALIGN: left\">In my case, aside from changing the name of the site, this largely involves setting a base color to be different from the default blue (green, in this case) and picking the font I wanted to use.<\/p>\n<p style=\"TEXT-ALIGN: left\">I also looked into the accent colors used for different elements, and determined that the &#8220;gold&#8221; color used as a secondary color would need to be changed to go with my new base.&nbsp; Since I wasn&#8217;t using blue as my base any more, I decided I could use it as my secondary accent color, instead.&nbsp; You can see it in the folder and data source icons, above.<\/p>\n<h3 style=\"TEXT-ALIGN: left\">2. Carry out your color and font strategy through the CSS files<\/h3>\n<p style=\"TEXT-ALIGN: left\">There are a couple of different CSS files in the Report Manager and Report Server Styles folders; change them all, even the ones you don&#8217;t think&nbsp;you need, and change them throughout, even if you think not all the classes are currently in use.&nbsp; This will be easier than it sounds.<\/p>\n<p style=\"TEXT-ALIGN: left\">The places to find these folders are exactly the same as they were before &#8212; refer to the <a title=\"blog post about quick branding Report Manager 2005\" href=\"\/lisa\/2008\/10\/27\/Walkthrough-Quick-branding-SQL-Server-Report-Manager-2005\/\">earlier post<\/a>&nbsp;for full details on how to find, and how to treat, them.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" src=\"\/lisa\/wp-non\/migrated\/2010\/6\/RS2008R2BrandRMgrStyles.png\" alt=\"\" \/><\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" src=\"\/lisa\/wp-non\/migrated\/2010\/6\/RS2008R2BrandRServerStyles.png\" alt=\"\" \/><\/p>\n<h5 style=\"TEXT-ALIGN: left\">2a. Figure out a good way to exchange base color components<\/h5>\n<p style=\"TEXT-ALIGN: left\">You can either look at every color value in the CSS files, or you can cheat.&nbsp; Here&#8217;s how I cheated:<\/p>\n<ul>\n<li>\n<div style=\"TEXT-ALIGN: left\">I did a Find in my favorite developer tool, Visual Notepad, for every mention of &#8220;color&#8221; in the CSS files.<\/div>\n<ul>\n<li>\n<div style=\"TEXT-ALIGN: left\">If the color was expressed with digits, I swapped the middle (or &#8220;G&#8221;) pair of digits for the final (or &#8220;B&#8221;) pair of digits, and left the first pair (&#8220;R&#8221;) alone.<br \/>For example, a color pair such as #<span style=\"color:red;\">de<\/span><span style=\"color:green\">e7<\/span><span style=\"color:blue;\">f2<\/span> in the Report Server HtmlViewer.css became #<span style=\"color:red;\">de<\/span><span style=\"color:green\">f2<\/span><span style=\"color:blue;\">e7<\/span> in my version. I just went through each item and changed it without worrying about anything, including whether it was foreground or background,&nbsp;and you could figure out a similar way to swap the color values no matter what your base color is, I bet.<\/div>\n<\/li>\n<li>\n<div style=\"TEXT-ALIGN: left\">If the color was expressed as a non-digit value, such as Blue, I swapped it for what I thought belonged instead (in my case, Green, duh).&nbsp; There are a few of these.<\/div>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<div style=\"TEXT-ALIGN: left\">Then I did the same thing for the word &#8220;border&#8221;, since this is where you&#8217;ll find colors used in the CSS files without the word &#8220;color&#8221; being attached to them.<\/div>\n<\/li>\n<\/ul>\n<h5 style=\"TEXT-ALIGN: left\">2b.&nbsp;Do a search and replace for font-family.<\/h5>\n<p style=\"TEXT-ALIGN: left\">This one is really easier. I switched everything to the font I wanted, and I think that&#8217;s really all I did except for changing font-weight from bold to normal in a couple of places.<\/p>\n<h3 style=\"TEXT-ALIGN: left\">3. Fix the images referenced in the CSS files<\/h3>\n<p style=\"TEXT-ALIGN: left\">You will find a number of images referenced in the CSS files; you can find them all by searching for &#8220;url&#8221;.<\/p>\n<p style=\"TEXT-ALIGN: left\">The entries look like this:<\/p>\n<p class=\"codesample\" style=\"TEXT-ALIGN: left\">background-image: url(Reserved.ReportViewerWebControl.axd?OpType=StyleSheetImage&amp;Name=toolbar.jpg)<\/p>\n<p style=\"TEXT-ALIGN: left\">or like this:<\/p>\n<p class=\"codesample\" style=\"TEXT-ALIGN: left\">background-image: url(&#8220;..\/images\/toolbar_top_lightsteelblue.gif&#8221;);<\/p>\n<p style=\"TEXT-ALIGN: left\">&#8230; depend on the file.&nbsp; Don&#8217;t worry about the difference.&nbsp; You&#8217;ll find these images easily in the relevant directories; you can see the first one in the ReportServer Styles folder screen shot, above, in fact.&nbsp; Here are some more examples, with the files I added &#8220;starred&#8221; in the screen shot:<\/p>\n<p style=\"TEXT-ALIGN: left\">&nbsp;<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" src=\"\/lisa\/wp-non\/migrated\/2010\/6\/RS2008R2BrandRMgrImagesGreenVariants.png\" alt=\"\" \/><\/p>\n<p style=\"TEXT-ALIGN: left\">To achieve the right&nbsp;effect, all&nbsp;you need to do is:<\/p>\n<ul>\n<li>\n<div style=\"TEXT-ALIGN: left\">Make a copy of each image, with a name that makes sense for your color scheme.<\/div>\n<\/li>\n<li>\n<div style=\"TEXT-ALIGN: left\">Change each of these images using a similar strategy to what we did for color pairs: alter the hue and saturation according to some set scheme &#8212; this will depend on what tools you use for the processing, but you can usually do this by percentage &#8212; and do it consistently for each file.<\/div>\n<\/li>\n<li>\n<div style=\"TEXT-ALIGN: left\">Change the &#8220;url&#8221; references in the CSS files that you&#8217;ve created, to point to the new images with your new names, for example:<\/p>\n<p>background-image: url(Reserved.ReportViewerWebControl.axd?OpType=StyleSheetImage&amp;Name=toolbar-green.jpg);<\/p>\n<p style=\"TEXT-ALIGN: left\">or like this:<\/p>\n<p class=\"code\" style=\"TEXT-ALIGN: left\">background-image: url(&#8220;..\/images\/toolbar_top_lightgreen.gif&#8221;);<\/p>\n<\/div>\n<\/li>\n<\/ul>\n<p style=\"TEXT-ALIGN: left\">&nbsp;You&#8217;re almost done&#8230;.<\/p>\n<h3 style=\"TEXT-ALIGN: left\">3. Fix the images <em>not <\/em>referenced in the CSS files<\/h3>\n<p style=\"TEXT-ALIGN: left\">Set the ReportManager\\images folder up to show thumbnails or large icons, and just scroll through the folder.&nbsp; You&#8217;ll see lots of images that weren&#8217;t referenced in the CSS file but are magically used in Report Manager views.&nbsp;For these, we need to alter the images with the exact names that they have&nbsp;out-of-the-box, so just make a copy of any one that you don&#8217;t like.&nbsp; Now you can safely edit the ones with the original names.<\/p>\n<p style=\"TEXT-ALIGN: left\">As I mentioned, for my use this turned out to be all the ones that made heavy use of the &#8220;gold&#8221; secondary color, which I determined that I would replace with blue.<\/p>\n<p style=\"TEXT-ALIGN: left\">As you did above, edit all these files with a consistent change of hue and saturation for each one, to make the exact alteration you have in mind.&nbsp; You may have to mask a couple of areas that you don&#8217;t want to change in the process, but the result should generally look like this (showing the original values in the Copy files against my edits):<\/p>\n<p style=\"TEXT-ALIGN: left\">&nbsp;<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" src=\"\/lisa\/wp-non\/migrated\/2010\/6\/RS2008R2BrandRMgrImagesReplacements.png\" alt=\"\" \/><\/p>\n<h3 style=\"text-align: left;\">4. Sit back and get ready to enjoy the advantages of R2!<\/h3>\n<p style=\"text-align: left;\">If you were looking closely at the screen shots here, you should see a change highlighted in the Site Settings shot.&nbsp; Here&#8217;s where I told R2 to use the 3.0 version of Report Builder.&nbsp; I&#8217;m looking forward to the charting improvements, and I&#8217;m hoping to see if Ehud&#8217;s latest conundrum can actually be solved better now that previously.<\/p>\n<p style=\"text-align: left;\">I&#8217;ll give that subject a go in my next entry here.<\/p>\n<p style=\"text-align: left;\">&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A good long while ago, I wrote a blog post about re-branding the Report Manager interface.&nbsp; While at the time I thought it was not all that useful, because most developers create a custom interface to embed RS in their programs rather than actually show Report Manager to anybody, it&#8217;s become clear to me that<a class=\"more-link\" href=\"https:\/\/spacefold.com\/lisa\/2010\/06\/27\/quicker-branding-of-sql-server-report-manager-2008-r2\/\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,6],"tags":[],"class_list":["post-81","post","type-post","status-publish","format-standard","hentry","category-reporting","category-sql-server"],"_links":{"self":[{"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/posts\/81","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/comments?post=81"}],"version-history":[{"count":0,"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/posts\/81\/revisions"}],"wp:attachment":[{"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/media?parent=81"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/categories?post=81"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/tags?post=81"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}