Well in my last post I promised to write more about the changes I have made to www.bajaconsulting.com but before I could I got accepted into the Office 365 Beta program (http://www.microsoft.com/en-us/office365/online-software.aspx) which of course includes a small business public web site based on SharePoint 2010.  I could not have been happier and jump right in to make the same changes I had just made to my new static site on the SharePoint site plus add some cool new stuff that only SharePoint 2010 could supply.
The first thing I did was start changing the page layout (through the GUI) to look the way I wanted it.  I put the menu at the top of the page and added my copyright information to the bottom.
I then started looking at customizing the CSS… very easy also:
  • While editing a page, choose Style Sheet on the Design Tab
  • Select View Default CSS then copy it
  • Paste into notepad (or whatever) and save as custom.css
  • Upload to Style Library
  • Open in SPD and make changes
  • In the original view for the Style Sheet:
    • Check “Apply custom CSS”
    • Add “@import url("/Style%20Library/custom.css");”
I was on a roll!!
But then…
It was time to start bringing in the HTML5 stuff and JQuery / AJAX.  Not quite as easy.  Here are some of the limitations I have run into so far:
  • The OOB master page cannot be customized.  It throws the error “The base type 'Microsoft.SharePoint.Spx.WebsiteCore.RootMaster' is not allowed for this page. The type is not registered as safe” as soon as it is unghosted – no fix or work around yet
  • Adding JQuery and extra JS libraries to page through the HTML widget doesn’t work – explanation and work around found.  Post coming but in the meantime check out the Blog menu item on www.bajaconsulting.com and the Specialties  area on the home page for some AJAX goodness
  • Pulling list information from a SharePoint list (here’s a hint, the REST apis do not work anonymously) – Workaround found.  Post coming but the Specialties uses this too.
  • All the HTML5 stuff.  The doctype for the page is not valid HTML5 the and therefore in IE9 and others do not render my animations.  Open the page in Firefox to see the difference.  No workaround or fix yet
I know I assumed the readers know SharePoint 2010 here, so let me know if I went over anything too lightly.  More to come on what I have already done and as new things emerge.

As I have started migrating my old web sites over to SharePoint 2010 I have been evaluating customizations that I made for my MOSS 2007 sites. On many occasions I had used the dataview web part to do thing like opening external links in new windows and hiding headers that are not needed. In comes JQuery and the content viewer web part.
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">

//Hide the header row
$(".ms-listviewtable tbody tr:nth-child(1)").hide();

//Open links in new window​
$(".ms-listviewtable tbody a").click(function(){
this.target = "_blank";
This was pretty easy because all the list view web parts on the page contains all external links but this could be pretty easily to check the links before opening them in an external window.

I just started messing around with list template migration from V3 to 2010 and found it to be way too easy but very cool.

The first thing I did was save a list as a template in V3 and download to my laptop.

I then renamed the file from *.stp to *.cab and extracted the file Manifest.xml

The first change to make to manifest is to change

<productversion>3</productversion> to


Simple enough.

The next change I made was for any lookup fields I had. Do a search in the file for your lookup fields. You will see an attribute on thethat looks like List=”{GUID}”. All you have to do is change the attribute to List="Lists/<List name>" where < List name> is the name of the lookup list. And that is it.

Create a new CAB file, add your manifest and rename the file to *.stp again.

Upload the template to the SharePoint 2010 templates gallery.

Make sure that all source lookup lists have been created and then create your new list from the template.

When I did this I even had it keep the data in the template and everything matched up perfectly.​​​

I just gotSharePoint2010 Server installed and had a few lessons learned.

First, I followed the directions at:

Everything installed perfectly but when Central Administration came up the page was blank. So... I uninstalled and reinstalled SharePoint (4 times) and then went to bed. After a good nights sleep I realized it had to be an IIS issue.

I completely removedIISfrom the box and just followed the directions from the above link and magically it all worked perfectly. It may have been that I was also running WSS 3.0 on the same OS or maybe IIS just got corrupted but now it works.​​