Skip to main content

Elumenotion Blog

Go Search

 
Elumenotion > Elumenotion Blog > Posts > Introducing SharePoint Skinner!
Introducing SharePoint Skinner!

NOTE: This is for the OLD version! For the new and far better version, see this post.

With the improvements to the security model in WSS 3.0 and the addition of blog and wiki site templates many more people are using SharePoint for public facing sites. Usually, they will want to brand the site and radically alter the look and feel of the site to make it look like something very different from the default often with the goal of obscuring the underlying SharePoint as much as possible. There are two common approaches to meeting this goal. You can use cascading style sheets and you can alter the actual pages via master pages and content pages. For a serious branding effort you will usually do both.

There are a number of approaches you can take to affect the styles. You can override styles using content editor, you can use the AlternateCSS attribute in the site's definition, you can attach a style sheet using SharePoint Designer, you can place html <link> elements in your master pages, and you can create themes. Each of these approaches has its advantages and disadvantages depending on your requirements, but in my opinion the latter is the most robust option. I will expound on why I believe this in another post. The topic of this post is a tool I created to make skinning a site via css or a custom theme much easier.

If you have attempted to override the styles on an out of the box SharePoint site, you know that it isn't a very easy thing to do.

The core.css file that contains the basic rules has 979 different style rules.

The core.css file uses a palette of 132 colors and 143 images.

The default page of a newly provisioned team site uses only 61 of those rules.

So, unless you have branded a lot of SharePoint sites and are intimately familiar with core.css and the default master pages and page layouts, just figuring out where to start modifying can be a daunting task. With SharePoint Skinner you can create new styles by altering existing styles in a WYSISWYG fashion. If you are not expert in writing CSS I recommend complimenting Skinner with a good style builder like the one included in most versions of Visual Studio including the free Visual Web Developer Express Edition. I also recommend the free Internet Explorer Developer Toolbar to help find those hard to locate style elements. Skinner includes an inspector tool that helps with this, but the toolbar is a great help when the built in inspector comes up short!

You can download the installer here. Once you've got it installed, come back and read the next posts to learn how to use it.

Comments

I'm getting errors when running Skinner . . .

any thoughts?  I have NET Framework 3 installed.

System.NullReferenceException: Object reference not set to an instance of an object.
   at Skinner.ImagePalette..ctor(StyleSheet sheet, HtmlDocument doc)
   at Skinner.SkinnerMain.ShowImagePalette()
   at Skinner.SkinnerMain.viewImagesToolStripMenuItem_Click(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.832 (QFE.050727-8300)
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
Skinner
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Program%20Files/eLumenotion/SharePoint%20Skinner/Skinner.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.832 (QFE.050727-8300)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.832 (QFE.050727-8300)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.832 (QFE.050727-8300)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Microsoft.mshtml
    Assembly Version: 7.0.3300.0
    Win32 Version: 7.0.3300.0
    CodeBase: file:///C:/WINDOWS/assembly/GAC/Microsoft.mshtml/7.0.3300.0__b03f5f7f11d50a3a/Microsoft.mshtml.dll
----------------------------------------
Anon at 9/5/2007 2:02 PM

Thanks for the report

I can reproduce this if I try to open the image pallete before navigation is complete. Does that sound like what you may have done?

I'll fix this in the next build.

Please send me an email at info@elumenotion.com if you'd like to discuss.

--Doug Ware
Anon at 9/5/2007 2:49 PM

Blog with no name

Oh, another one of these Sharepoint Blogs with no input field for a name - strange concept this is.
Anon at 10/3/2007 3:46 AM

Ask and ye shall receive

Please enjoy the name field with my compliments.
Doug at 10/3/2007 8:51 AM

Same Error

I am getting the exact same error.  I do not get the color palette or any other menus on the side after the page is loaded.  Just get the error message stated above.
Anon at 10/4/2007 12:10 PM

Re: Same Error

The reason you are getting the error is because the tool doesn't prevent attempting to open the palettes before the browser control is done navigating.

The next release fixes that and will keep you from getting the error. However, that will probably not be much comfort for you. On PC's where this error has been observed so far, the navigation never completes no matter what site you try to open, SharePoint or otherwise. Because the navigation never completes, the event never fires and the css is never parsed.

I have seen this problem twice (not in person) but so far no root cause has been found. I would very much appreciate it if you would download the source from codeplex and see if you can figure out what is going on on the affected pc.

My best guess is that there is something in the network stack, ie, config, proxy, or something that is causing the pages to never finish downloading. Send me an email if you'd like to collaborate or if you figure it out please let me know.
Doug Ware at 10/4/2007 7:03 PM

Same Error

I try on 3 different machine at home and is getting the same error. With or without .Net Framework 3.0. Any thought?
Ed at 10/27/2007 4:49 PM

Same error

Is the Error going to be resolved?  Does it on all Pc's now, no matter what version of .net is installed
Anon at 1/16/2008 12:24 PM

Anon

Does that mean it used to work for you on some of them, but now it doesn't?

I wsih someone who has this problem would download the source code and do a little investigation. I have yet to reproduce the root cause, which is that the page never finishes loading.

It seems clear to me that this is a configuration issue on the affected PC's or network. I have provided a couple people with versions with trace and this shows that the event for a completed navigation never fires on the affected machines.

Of the half-dozen or so people who have reported it, no one has resolved it.

It would make my day if you have aPC where it used to work, but now doesn't. If you can figure out what changed it would be most helpful.
Doug Ware at 1/16/2008 12:39 PM

css lesson

CSS "Cascading Style Sheets" LessoNs - WeB DesigN LessoN - - Web site : http://WWW.css-lessons.ucoz.com/index.html
sezeerrr at 5/3/2008 5:51 PM

share point

Hi,
 
How do we go about getting a blog on the SharePoint community portal ?

Thanks
sharepoint at 1/1/2009 2:21 PM

Add Comment

Items on this list require content approval. Your submission will not appear in public views until approved by someone with proper rights. More information on content approval.

Title


Body *


Your Name *


Attachments
Follow me on twitter!
  Archive
  Archive (Calendar)
  Skinner Created Themes
  New Skinner Download
  New Skinner Tutorial

©  2009 Elumenotion, LLC  |   SharePoint Training, SharePoint Consulting and SharePoint Staffing
8075 Cavendish Place | Suwanee, Georgia 30024 | + 1 (888) 653-5021