700 likes | 864 Vues
Join us as we explore the endless possibilities in SharePoint branding, hosted by Kristin Grider and Steven Ray. This meeting covers essential topics on when, why, and how to effectively brand your SharePoint site. Discover valuable tools for branding, responsive design strategies, and best practices for sub-brands. Participate in a Q&A and win exciting giveaways! Our goal is to build a thriving community focused on Microsoft SharePoint technologies, sharing knowledge and innovations. Don’t miss our next gathering on September 5th!
E N D
August 8th, 2012 SharePoint Branding: “Anything* is possible…” Kristin Grider and Steven Ray
Agenda • Introductions • Why, when, who, what and how to brand • Tools for branding • Break • Branding extras: responsive design (demo) and strategies for dealing with sub-brands • Q & A • Wrap-up and Giveaways
User Group Goal / Objectives Develop and support a local community focused on Microsoft SharePoint Technologies Educate user group members about SharePoint Technologies Transfer knowledge within the community Communicate best practices Introduce new products / solutions
Introductions – MNSPUG Sponsors Avtex (www.avtex.com) • Technology consulting company • Practice area focused on SharePoint Benchmark Learning (www.benchmarklearning.com) • Training on many technologies Microsoft (www.microsoft.com) WroxPress (www.wrox.com) O’Reilly (www.oreilly.com)
www.SharePointMN.com • Website for user group • SharePoint resource documents • SharePoint resource links • RSS Feeds • Meeting Schedule • Past User Group Presentations • sharepoint@sharepointmn.com www.sharepointmn.com
Social Networking • Linked In group – The most interactive… includes job postings… Post Job Posting on the Jobs Discussion page http://www.linkedin.com/groups?gid=1878792 • Twitter tags - @MNSPUG and #MNSPUG
Upcoming Schedule • Next Meeting Sept 5th 9:00 AM to 11:30 AM **Not our normal week! SharePoint Discussion Panel Microsoft Technology Center Check www.SharePointMN.com for updates! • Ongoing Schedule 2nd Wednesday of every month 9:00 to 11:30 am Microsoft Technical Center - Edina
Local and Online Events Microsoft Webcast Calendar of Events http://www.microsoft.com/events/webcasts/calendar/monthview.aspx#filter SharePoint ShopTalk (Online) – Every Thursday @ 11:30 AM http://sharepointshoptalk.blogspot.com/ SharePoint Legal Users Group – 3rd Thursday @ 12:00 to 1:00 p.m. http://sharepointmnlegal.com Minnesota Developers SharePoint Users Group – 4th Wednesday@ 8:30 to 10:30 a.m. http://mndevspug.com SharePoint Saturday Twin Cities – November 3rd, 2012 Normandale Community College, Bloomington http://sharepointsaturday.com/twincities Microsoft SharePoint Conference 2012 – November 12 – 15, 2012 Las Vegas, Nevada http://www.mssharepointconference.com/Pages/default.aspx Anything Else?
Quick Intro Kristin Grider • User Experience Designer, Avtex • Pinterest DIY fanatic • kgrider@avtex.com Steven Ray • User Experience Developer, Avtex • Photographer extraordinaire • http://blog.avtex.com/author/sray • sray@avtex.com
Almost any design can be implemented in SharePoint… …but it is a balancing act! • Design complexity depends on The time allowed Project budget Team’s skill set
Why to brand? • to enhance user and customer experience • to create user buy-in for intranets • to promote corporate identity • to unify employees
When to brand? • ideally before you build • best when upgrading, less duplication of effort • Mini-branding: seasonal changes in color scheme/imagery, changes in corporate agendas/campaigns These are especially effective at cultivating buy-in and participation in intranets. “You can use an eraser on the drafting table or a sledgehammer on the construction site.” --Frank Lloyd Wright
Who should brand? • The Dream Team: a collaborative group consisting of… Marketing User Experience IT Front-end developer
What to brand? • Quick and easy vs. Slow and comprehensive • Themes: good for quick color changes paints with a very broad brush difficult to customize themes additional custom css is usually required for an acceptable result
Tools for branding • SharePoint Designer • Firebug or IE dev toolbar • jQuery/CSS/HTML • Randy Driscoll’s v4 master http://blog.drisgill.com/2009/11/starter-master-pages-for-sharepoint.html • Heather Solomon’s 2010 CSS chart http://sharepointexperience.com/csschart/csschart.html?utm_source=spexp.me&utm_medium=urlshortener • Layered PSD of OOB 2010 https://skydrive.live.com/?cid=ed1a37150dabcd2d&id=ED1A37150DABCD2D!385
How to brand? • Master page vs page layouts • SharePoint HTML/CSS structure • Google Chrome • SharePoint modules • Dialog boxes • Responsive Design
Master pages, Page layouts and pages • Master page is the overall frame that pages and page layouts fit into. • Page layouts provide structures for the unique content on each page. • Pages are the unique content (webparts) for an individual page. • Each page uses a page layout. • One page layout can be used by an infinite number of pages.
Master pages • The overall frame of the page • <html>, <head>, <body> • Ribbon • #s4-workspace Site master vs. System master • Fixed width vs. liquid (default)
Master Page: <asp: ContentPlaceholder> • PlaceHolderAdditionalPageHead • PlaceHolderSiteName • PlaceHolderPageTitleInTitleArea • PlaceHolderSearchArea • PlaceHolderTopNavBar • PlaceHolderMain
Master Page tip #1: Turn off master-page approval • Good idea for production, but time-consuming for development • In the “Site Actions” menu, choose “Manage Content and Structure”. • Right-click on “Master Page Gallery” in the left menu. • Select “Edit Properties” • Select “Versioning Settings” • In the first section, you can choose whether content approval applies to that library.
Master Page tip #2: server-relative URLs • <% $SPUrl:~SiteCollection%> • <link rel="stylesheet" type="text/css“href="<% $SPUrl:~SiteCollection/Style Library/mystyles.css %>"/> • Sometimes you need full URL: • <script type="text/javascript" src="http://yoursite.com/Style%20Library/scripts/myscript.js"></script> • Or <asp:literal> tag: • <script type="text/javascript" src=“<asp:literalrunat=‘server’ Text=‘<% $SPUrl:~SiteCollection/Style%20Library/scripts/myscript.js’ />"></script>
Master Page tip #3: Favicons • SharePoint makes this easy • <SharePoint:SPShortcutIconrunat="server" IconUrl="/_layouts/images/favicon.ico"/> • Just change IconUrl path to your custom icon • Test on a new browser to avoid caching issues
Page Layout structure • <asp:content></asp:content> • <asp:ContentContentPlaceholderID = “PlaceHolderPageTitle” runat=“server”> Whatever content you want</asp:Content> • Can do layout-specific CSS, JS, etc. • Only place you can put Web-part Zones:
Page Layouts: Web-part Zones • Designates areas where users can add/edit/delete web parts • <WebPartPages:WebPartZone id="g_EC922EB9346B4F99A1A96BCB47226BD7" runat="server" title=“sidebar"></WebPartPages:WebPartZone> Page Layout Tip #1: Turn off the chrome • <WebPartPages:WebPartZone id="g_EC922EB9346B4F99A1A96BCB47226BD7" runat="server" title=“sidebar“ PartChromeType=“none”></WebPartPages:WebPartZone>
Challenge #1: No Designer access to _layout • A lot of OOTB images and CSS files are in the _layout folder • But SharePoint Designer can’t access that folder • Rely on overrides
Challenge #2: Anonymous HTML • A lot of SharePoint structure is anonymous HTML • Or worse, is anonymous HTML with inline styling <td class="s4-titletext"> <h1 name="onetidProjectPropertyTitle"> <a href="/departments/" id="ctl00_PlaceHolderSiteName_onetidProjectPropertyTitle">Division</a> </h1> <span class="s4-nothome s4-bcsep s4-titlesep" id="onetidPageTitleSeparator"> <span> <span style="height:11px;width:11px;position:relative;display:inline-block;"> <imgstyle="border-width:0px;position:absolute;left:-0px !important;top:-585px !important;" alt=":" src="/_layouts/images/fgimg.png"> </span> </span> </span> <h2> <a href="/departments/SitePages">Site Pages</a> </h2> </td>
Challenge #3: Semi-anonymous HTML • <div allowdelete="false" class="ms-WPBodynoindexms-wpContentDivSpace" width="100%" id="WebPartWPQ2" haspers="false" webpartid="0f7698ea-7db6-45ed-926c-45bd28089c9a"><p>Here's a sample web part.<br></p></div> • Classes are generic • Web-part ID is based on number that changes if web parts are added, removed or moved • Even “webpartid” property is brittle
HTML/CSS Tip #1: Edit the HTML • Much of the default HTML isn’t hidden inside controls, so it can be edited directly in the master page or page layout • To target a specific web part, wrap it in a div with a specific class or ID
A lot of very specific OOTB CSS • A lot of SharePoint’s default CSS is very specific • Some of it uses !important tags • This makes it hard to override For instance, the first item in the Quick Launch: <a href="" class="static menu-item"> <span class="menu-item-text">Libraries</span </a> Uses this style selector to differentiate it from the rest of the items in the list: .s4-ql ul.root > li > .menu-item Or how about this one: body #s4-leftpanel-content
HTML/CSS Tip #2: Some tools CSS Reset, by Kyle Schaeffer http://kyleschaeffer.com/sharepoint/css-reset/ CSS Frameworks like LessCSS (http://lesscss.org/) • Automatically nests CSS styles • Variables and mix-ins let you set a property in one class, then reference that class in other styles • Takes a little bit of getting used to
HTML/CSS Tip #3: Remove the IE metatag • <meta http-equiv=“X-UA-Compatible” content=“IE=8” /> • Tells IE browsers to act like the specified version • Good for compatability, bad for advanced features • Caveat: Some things (like People Picker) throw errors without it. If you start seeing namespace errors, restore the tag and see if that fixes it
Google Chrome and the disappearing scrollbars • As part of positioning ribbon, SharePoint disables the browser’s scrollbars and re-creates them with JS • Works fine – except in Google Chrome Solution: Override that function and position ribbon with CSS instead: http://blog.avtex.com/2012/04/06/position-ribbon-and-disable-fake-scrollbars-in-sharepoint-2010/
SharePoint modules • Search Center, MySite, Blog, etc. Challenges • Module-specific code and master pages • Duplicate code (MySite) • Different code styled to look the same (MySite)
Module solutions • Include reference to core style sheets in your module master pages, then override as necessary • We put MySites CSS in our top-level Style Library and hardcode an absolute URL to it in the master page.
Dialog boxes: They’re really iFrames • Use same master page as the rest of the site • That means they use the same styling and structure – header, footer, etc.