B i t s O f S h a r e P o i n t C o n s u l t i n g L L C > B l o g P o i n t > Categories
SharePoint - A Global Navigation Solution across Site Collections – Version 2.0 Solution

My solution for A Global Navigation Solution across Site Collections has been upgraded to version 2.0.  If you have not read my previous posts on this topic please check them out:

In version 2.0 I have streamlined the code and reduced the number of lists needed to create the pull downs and now use a list for creating the tabs.  So once you set it up you can easily add tabs and pull downs to a tab, by simply updating the tabs list or the pull down list and all site with this solution will see the changes.

I have also refined the tabs to show the menudark[1] when there is a pull down.  Also, pull downs now can have popup descriptions for each listed item, if you like.  All you need to do is populate the Notes field in your pull down list, unpopulated notes will show nothing.

If you have not implemented this solution yet then follow all the steps listed below.  If you have implement my version 1.0, the changes you will need to make are updating the code in the topnavigation.js file and create two new lists for your tab and pull down.  Your infrastructure, code you added to your masters pages, you created does not need be changed at all.

Let take a look at version 2.0 changes.  Below is an image of how the pull downs can look showing all the features.

image

 

Version 2.0 Global Navigation Features

In version 2.0 I have added MOSS features and as a result the following features were added:

  • Pull Down icon menudark[1] will only appear on those that you indicate have a pull down.  So now you can have a standard tab or a tab with a pull down where the menudark[1] will show indicating there is more to view.
    • image
  • By adding comments in the notes section of the links, they will then become pop-ups when you hover over a link.
    • image
  • New version only requires one list for the tabs and one list for all the pull downs.

When I implemented this on my site www.bitsofsharepoint.com I created a site where I housed all of the lists and libraries.  Below is an image of the what a proper implementation would look like.  You will notice we have the two lists for tabs and pull downs, and we have the Scripts library where our three scripts are housed.

image

View example here: http://www.bitsofsharepoint.com/ExamplePoint/navigation2/default.aspx

Now lets create and implement the solution.  Below are the components that you will need.  Though this may look like a lot, it is very simple.  Add three lists and libraries, add code to your master page, change code in a script file, and add your tabs and pull downs to the lists and that is it.

Components needed:

  1. SharePoint Resource Site
  2. SPServices by Marc Anderson
  3. jQuery
  4. SharePoint Designer to edit Master Pages
  5. SharePoint Links List for Tabs and Pull Downs
  6. Solution Code

1) SharePoint Resource Site

I recommend that if you do not already have a site collection devoted to scripts and lists that will be accessible by all, that you create one.  This site collection will allow you to have document library where you can house your scripts like jQuery and SPServices.  It will also allow you to create lists as needed for example the one we will create to manage the pull down items in our tab.

So there should be a site collection where we house the below files and list and that has permissions set to all authenticated members as read only. For purposes of this article I will call this site collection Resources. I wrote an article along these lines and here it is: http://www.bitsofsharepoint.com/BlogPoint/Lists/Posts/Post.aspx?ID=29

2) SPServices by Marc Anderson

We need to download the SPServices file that Marc Anderson has put together.  You can find it here: http://spservices.codeplex.com/ This file will be used by the script for this solution, so this will need to be added to the document library where you keep scripts.  In my case it would go into the document library in my Resources site collection.

Recommendation is to change the name of the file name so that it does not have a version number and should look like this, “jquery.SPServices-latest.min.js”.  This will allow you to update in the future to Marc’s latest version without having to go back to each master page and change to the new version name.

3) jQuery

There are two ways to work with a jQuery file.  You have a choice of downloading the latest version and putting it in scripts document library or you can point to Google's version which will always be the latest version.  This is a choice that you will make.   You can download jQuery from here: http://jquery.com/

I would then add this script to me document library in my Resources site collection.

4) SharePoint Designer to edit Master Pages

You will need to have access to SharePoint Designer and be able to edit the Master Pages on the sites you want the global navigation tab to show up on.  When you edit a master page you will want to add the following code between the <header></header> tags as diagramed below. 

image

Here is the code you will need to add to each master page.  Make sure that the URL’s point to where you have the files housed.  They do need to be absolute URL’s, as you will be adding this code across site collections, web apps and even servers.

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://yoursite/SiteCollection/LibraryName/jquery.SPServices-latest.min.js"></script>
<script type="text/javascript" src="http://yoursite/SiteCollection/LibraryName/topnavigation.js"></script>

For example if I put “jquery-latest.js”, “jquery.SPServices-latest.min.js”, and “topnavigation.js” in my Resoures site collection in the document library called ScriptsLibrary, then it would look like this:

<script type="text/javascript" src="http://www.bitsofsharepoint.com/Resources/ScriptsLibrary/jquery-latest.js"></script>
<script type="text/javascript" src="http://www.bitsofsharepoint.com/Resources/ScriptsLibrary/jquery.SPServices-latest.min.js"></script>
<script type="text/javascript" src="http://www.bitsofsharepoint.com/Resources/ScriptsLibrary/topnavigation.js"></script>

5) SharePoint Links List for Tabs and Pull Downs

In version 2.0 we now can pull the tabs and pull downs from just two lists.  This makes it much easier to maintain and deploy.  Now we only need to go to the Tabs list to add another tab.  In the Tab Pull Down list we can associate a pull down to any of the tabs.  This will make it very easy to switch a pull down from one tab to another if needed. 

Tabs List

First lets create the Tabs list.  This list will be a custom list.  This list must be called “Tabs”.  Here are the columns to add.  The columns have to be the same as well for the solution to work.

  • Title – This is the name of the Tab.
    • Description: Name of the Tab.
  • Pull Down – This is a yes/no field.  Selected will the pull down items.  Unselected will show no pull down or menudark[1].  
    • Description: Uncheck the box to indicate the Tab will have NO pull down.  This will eliminate the pull down image.
  • Location – This is a choice field.  The choice is “Left” or “Right”.  This will tell the tab to either be on the left site of the top navigation or the right site.
    • Description: Choose if the tab will be to the left or right of the default taps.
  • Tab Link – This is a single line of text field.  This is where the URL for the tab would go.
    • Description: Enter a url to give the tab a link, otherwise leave blank for no link.  Make sure link has http://
  • Order Tabs – This is a choice field. Make a selection from A to K.  This will be how you order your tabs on the left or right.
    • Description: RIGHT orders in ascending manner. A – Z LEFT orders in descending manner. Z – A

Next lets change the All Items view to sort and Group appropriately.  This view will dictate the the order the tabs show up.

On All Items view you will want to Modify View and make the following changes.

  • Sort – Change the following:
    • Sort by “Order Tab” in “ascending order”.
  • Group By – Change the following:

    • Group by to “Location” in “ascending order”.
    • And set to “Expand”.

     

    Tab Pull Down List

    Next lets add the Tab Pull Down list.  This list will be a standard links list.  This list must be called “Tab Pull Down”.  Here are the columns to add in addition to the standard columns.  The columns have to be the same as well for the solution to work.

    • Tab – This columns is a look up column looking up the “Tab” list with the Title column being looked up.
    • Group – This column will be used to group the links together.  So all “Help” links will be together and all “Features” links will be together. 
      • This is a text field or it can be a choice field if you know all the groups.  
    • LinkType – This column will be used to identify what type of link it is.
      • This is a Choice column. 
      • We have three choice types and each will cause the pull down to display the link in different way:
        • Link – This will display the item as a link within the group.
        • Header – This will display the item as a header without a link.
        • Header Link – This will display the item as a header with a link.
          • (Header and Header Link look them same, but act differently)

    Next you will want to change the default All Links view to the following:

    • Sort – Change the following:
      • All users to order items in this view, set to “No”.
      • Sort by “LinkType” in “ascending order”.
      • And Sort by “URL” in “ascending order”.
    • Group By – Change the following:
      • Group by to “Tab” in “ascending order”.
      • Group by to “Group” in “ascending order”.
      • Show grouping as “Expanded”.

    This new view will be the way the items show in the pull down for the global navigation.  So you can play with the view here to sort and group it as you wish.

    Here is an example of what it should look like once you have lists setup.  You will also notice that I have made a connection between Tabs and Tab Pull down so that I can essentially filter my view to show what the tab and associated pull down items are.

    image

    View example here: http://www.bitsofsharepoint.com/ExamplePoint/navigation2/default.aspx

    6) Solution Code

    In version 2.0 I have made it so that you only have to change one thing and then you never have to touch this file again.  

    In the code below or in the topnavigation.js file you will need to change the following:

        listSiteTabURL = 'http://www.bitsofsharepoint.com/topnav/';

    You will find this code at the top.  Change http://www.bitsofsharepoint.com/topnav/ to the site that your Tab and Pull Down List are located. URL needs to be of the site location NOT of the list location.

    Once you make that change you can save the file in your scripts library and you are done with that file.

    Here is the code to add to the topnavigation.js file or you can download the topnavigation.js file from here: http://www.bitsofsharepoint.com/ExamplePoint/Download/topnavigation.js

    $(document).ready(function(){
        listSiteTabURL = 'http://www.bitsofsharepoint.com/topnav/';
        $().SPServices({
            operation: "GetListItems",
            webURL: listSiteTabURL,
            listName: 'Tabs',
            async: false,
            completefunc: function (xData, Status) {
                $(xData.responseXML).find("[nodeName='z:row']").each(function() {
                    var i = 1;
                    var tabSide = $(this).attr("ows_Location");
                    var titleTabName = $(this).attr("ows_Title");
                    var urlTab = $(this).attr("ows_Tab_x0020_Link");
                    var tabPullDown = $(this).attr("ows_Pull_x0020_Down");
                    var listName = 'Tab Pull Down';
                    var listSiteURL = listSiteTabURL;
                    var titleTabID = 'zz1_TopNavigationMenun' + titleTabName.replace(/[-' ']/g,'');
                    var showTabPD = titleTabID + 'Show';
                    var showTabAppend = titleTabID + 'Append';
                    if (urlTab != null) {
                        var urlTabShow = 'href=' + urlTab;
                    } else {
                        var urlTabShow = '';
                    }

                    if (tabPullDown == true) {
                        var tabImage = '<img style="border-style:none; vertical-align:top;" alt="" src="/_layouts/images/menudark.gif">';
                        var pullDown = '<div style="position:absolute;height: 0px;z-index:1;"><div id="' + showTabPD + '" class="zz1_TopNavigationMenu_8" style="display:none;position:relative;top:0px; clip: rect(auto, auto, auto, auto);z-index:1;"><table cellspacing="0" cellpadding="0" border="0" style="top: 0px;" id="' + showTabAppend + '"></table></div></div>';
                    } else {
                        var tabImage = '';
                        var pullDown = '';
                    }

                    var tableRow = '<td id="' + titleTabID + '" onkeyup="Menu_Key(event)" onmouseout="Menu_Unhover(this)" onmouseover="Menu_HoverRoot(this)"><table  width="100%" cellspacing="0" cellpadding="0" border="0" class="ms-topnav zz1_TopNavigationMenu_4"><tbody><tr id="mouse"><td style="white-space: nowrap;"><a ' + urlTabShow + ' style="border-style: none; font-size: 1em;" class="zz1_TopNavigationMenu_1 ms-topnav zz1_TopNavigationMenu_3">'    + titleTabName + '</a><td valign="top" style="width:0pt;" >'+ tabImage +'</td></tr></tbody></table>'+ pullDown +'</td>';
                    if (tabSide == 'Left') {
                        $('table#zz1_TopNavigationMenu').children().children().prepend(tableRow);
                    } else {
                        $('table#zz1_TopNavigationMenu').children().children().append(tableRow);
                    }

                    $().SPServices({
                        operation: "GetListItems",
                        webURL: listSiteURL,
                        listName: listName,
                        async: false,
                        completefunc: function (xData, Status) {
                            $(xData.responseXML).find("[nodeName='z:row']").each(function() {
                                var URLdataTN1 = $(this).attr("ows_URL").split(',');
                                var linksTN1 = $(this).attr("ows_LinkType");
                                var TabTN1 = $(this).attr("ows_Tab").split('#');
                                var TabC = TabTN1[1];
                                var notesVar = $(this).attr("ows_Comments");
                                if (notesVar == null) {
                                    var notes = '';
                                } else {
                                    var notes = 'title="' + notesVar + '"';
                                }

                                if (titleTabName == TabC) {
                                    if (linksTN1 == 'Header') {
                                        $('#' + showTabAppend).append('<tr id="zz1_TopNavigationMenun' + i + '" onkeyup="Menu_Key(event)" onmouseout="Menu_Unhover(this)" onmouseover="Menu_HoverDynamic(this)"><td><table cellspacing="0" cellpadding="0" border="0" width="100%" class="ms-topNavFlyOuts zz1_TopNavigationMenu_7 ms-topNavFlyOutsHover"><tbody><tr><td style="white-space: nowrap; width: 100%;"><a style="border-style: none; font-size: 1em;" class="zz1_TopNavigationMenu_1 ms-topNavFlyOuts zz1_TopNavigationMenu_6 ms-topNavFlyOutsHover" '+ notes +'><strong>' + URLdataTN1[1] + '</strong></a></td></tr></tbody></table></td></tr>');
                                        i++;
                                    } else if (linksTN1 == 'Header Link') {
                                        $('#' + showTabAppend).append('<tr id="zz1_TopNavigationMenun' + i + '" onkeyup="Menu_Key(event)" onmouseout="Menu_Unhover(this)" onmouseover="Menu_HoverDynamic(this)"><td><table cellspacing="0" cellpadding="0" border="0" width="100%" class="ms-topNavFlyOuts zz1_TopNavigationMenu_7 ms-topNavFlyOutsHover"><tbody><tr><td style="white-space: nowrap; width: 100%;"><a style="border-style: none; font-size: 1em;" href="' + URLdataTN1[0] + '" class="zz1_TopNavigationMenu_1 ms-topNavFlyOuts zz1_TopNavigationMenu_6 ms-topNavFlyOutsHover" '+ notes +'><strong>' + URLdataTN1[1] + '</strong></a></td></tr></tbody></table></td></tr>');
                                        i++;
                                    } else {
                                        $('#' + showTabAppend).append('<tr id="zz1_TopNavigationMenun' + i + '" onkeyup="Menu_Key(event)" onmouseout="Menu_Unhover(this)" onmouseover="Menu_HoverDynamic(this)"><td><table cellspacing="0" cellpadding="0" border="0" width="100%" class="ms-topNavFlyOuts zz1_TopNavigationMenu_7"><tbody><tr><td style="white-space: nowrap; width: 100%;"><a style="border-style: none; font-size: 1em;" href="' + URLdataTN1[0] + '" class="zz1_TopNavigationMenu_1 ms-topNavFlyOuts zz1_TopNavigationMenu_6" '+ notes +'>' + URLdataTN1[1] + '</a></td></tr></tbody></table></td></tr>');
                                        i++;
                                    }
                                } else {
                                }
                            });
                        }
                    });

                    $('#' + titleTabID).mouseover(function(){
                        $('#' + showTabPD).show();
                    });
                    $('#' + titleTabID).mouseleave(function(){
                        $('#' + showTabPD).hide();
                    });
                });
            }
        });

    });

     

    View example here: http://www.bitsofsharepoint.com/ExamplePoint/navigation2/default.aspx

    I will also be coming out with a template version that will allow you to load this without having to create the lists and libraries needed and will have the Script library populated with the needed scripts.

  • Hope version 2.0 helps.

  • SharePoint – A Global Navigation Solution Across Site Collections – Version 2.0 Primer and Deployment

    This article is going to recount my experience of adding my global navigation to my current site and highlight my next version of the global navigation solution that is a template and should make it much easier to implement, deploy and use.  If you have not read my first article SharePoint – A Global Navigation Solution Across Site Collections, please read that first.

    This article will be broken up into two sections:

    1. What were the results and process like to deploy this solution across sites.
    2. What new features have been added in version 2.0

    Implementation Process and Results

    Let’s first take a look at the results.  My site is a WSS 3.0 version so top navigation pull downs are not an out of the box feature, just tabs are standard.  You will also notice that we indicate which tab has a pull down by the standard triangle icon menudark[1] .  The items are highlighted all based on SharePoint standard CSS so that when you change themes the tabs and pull downs follow.  I also added the feature that allows you to have a description pop up when you hover over a link.  All of these features are standard in MOSS.

    Here is what the before and after view looks like.

     BEFORE

    image

    AFTER

    image

    Now deploying this solution involved using SharePoint designer to edit the Master pages of each site I wanted the navigation to be added to.  I then would add three lines of code.  Here is one lesson that I found quickly that affect the ease of implementation.  jQuery is a wonderful service that when implemented correctly works wonders, but when implemented incorrectly causes problems.  Nothing that can’t be fixed, but just involves extra steps.  Now I am guilty of causing these problems and it was interesting to see when I had implemented jQuery correcting, implementation of the global navigation was very easy, but when I implemented jQuery incorrectly it caused me to have extra steps.

    What is a incorrect implementation of jQuery you may ask, well it is when you hard code a request for jQuery in a CEWP solution that causes problems.  Remember I am editing the Master Page and adding jQuery at this level.  All pages using this Master Page will load with jQuery and then all CEWP that use and have jQuery hard coded will have conflicts.  So what does that look like?  Here is hard coding the jQuery in a CEWP that will cause problems:

    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>

    Why does this cause problems?  Well when you have multiple instances of this code on the same page you will get in a conflict especially if they are different versions being called.

    Now the correct way for any CEWP solution should be the way the Paul Grenier provides in his solutions.  It first checks to see if jQuery has been loaded and if it has it will not load another version.   Here is an example of his code.

    <script type="text/javascript">
    if(typeof jQuery=="undefined"){
        var jQPath="http://code.jquery.com/";
        document.write("<script src='",jQPath,"jquery-latest.js' type='text/javascript'><\/script>");
    }
    </script>

    So how did I fix the sites that had this problem where the CEWP solutions had hard coded jQuery references.  Well I had to go into each CEWP that had it the wrong way and delete the reference to jQuery.  This was fine to do as I was loading jQuery in the Master Page so it will be available to the CEWP that was calling for it.

    I will be going through my solutions that use jQuery to make sure that I am using Paul Grenier’s method so that my solutions do not cause this problem in the future.

    Deploying this solution once implemented involved editing Master Pages on site collections where the global navigation was to be used.  In cases where the global navigation was deployed, but did not show up was a simple fix of editing the CEWP that had a reference to jQuery.

    In my next article I will go into depth about implementing my global navigation newest version 2.0.

    Version 2.0 Global Navigation Features

    In implementing and deploying this on my site I have had time to reflect on what features were missing from MOSS and my current 1.0 version and looked at how to add these to mirror a similar experience.  As a result version 2.0 will have the following features added:

    • Pull Down icon menudark[1] will only appear on those that you indicate have a pull down.  So now you can have a standard tab or a tab with pull down where the menudark[1] will show indicating there is more to view.
      • image
    • By adding comments in the notes section of the links, they will then become popups when you hover over a link.
      • image
    • New version only requires one list for the tabs and one list for all the pull downs.

    I will also be coming out with a template version that will allow you to load this without having to create the lists and libraries needed.  You will only need to change the code in one place on the topnavigation.j file and add the three lines of code to the Master Page.  Below is an image of the template:

    image

    Next article on this matter should have the new version and the template.

    Wiki Customization - Update

    Fixed an issue with the Footer showing up in places other then the Wiki page like in the viewing of a list item.

    • Updated the wiki.js file so that Header and Footer only show up on the Wiki page. 
      • Footer was showing up on view/edit list item, this has been fixed.

    To view the Wiki Customization site, click here: http://www.bitsofsharepoint.com/ExamplePoint/Wiki/Wiki%20Pages/Home.aspx

    Enjoy,

    Peter

    Tab Page for SharePoint
    This week we launched a new Tab Page that is easy to install and requires no SharePoint Designer (SPD) or text editor.   This was a collaborative effort by Baris Wanschers, Mark Miller and myself. 
     
    Baris, several weeks ago, put together a solution to add tabs to a web page using SPD or a text editor.
     
    I took a stab at a solution, using Baris's tab code, that would require no SPD or text editor, a no assembly code solution.
     
    Mark Miller then created a great screen cast of implementing this solution and is a must view.
     
    Thank you Baris and Mark for the excellent work on this.
     
    Here are all the links:

    Mark Miller Screen Cast

    Tab Page Screen Cast
     
     
    SharePoint /_layout/images/ Full List - Update
    I have updated the area where you can see all the different images that SharePoint provides OOB.  The original setup called up each image, well with a grouping of over 900 images that could be a over a meg of data, not acceptable. 
     
    So the new setup is one image showing all the individual images with the name of the file below.  This will make it much faster to view the images.
     
     
    Click to View SharePoint Images
     
    SharePoint /_layout/images/ Full List
    Not everyone has admin access to see under the hood of SharePoint.  One of those areas is the "/_layout/images/" directory where SharePoint stores its images. 
     
    As user who customizes SharePoint and uses JQuery and Javascript to improve the experience I found that I wanted to use the same images that came with SharePoint, but I did not have access.  So with the help of Paul Greneir I was able to get my hands on the 2000+ images found in "/_layout/images/".
     
    My first reaction was wonderful, now I can organize and have access to all these images.  Then when I realized it was 2000+ images, I took great pause.  That is a lot of images to review and organize.
     
    Here is what I am attempting, not to loose my sanity.  So far I have grouped these in two ways.  First, I have grouped them alphabetically.  Second, I have grouped them by size of the image (Small, Medium, Large).
     
    I have also identified which images can be found in WSS and MOSS (both) and only on MOSS (MOSS Only).
     
    Here is a sample view: 
     
     
     
    Click to View SharePoint Images
     
    JQuery - Improved Pop-up for Lists, Document Libraries, Calendar and Username with Examples
    Recently I had a post on the a pop-up that Paul Grenier had put together that provided a view of all the metadata for that list item.
     
    Well Paul G has taken this to a whole new level.  His latest version now works on lists, calendar, document libraries, and usernames. 
     
    This is a must have script.
     
    I have put together a page that shows the new script in action.  You will see how it works for:
    • List
    • Document Library
    • Calendar
    • Usernames
    I have also put together an overview on how to customize the pop-up using the CSS in the script.  This will allow you to change everything from the size, coloring and spacing that happens in the window.
     
    Click below to see the examples, overview, and to get the script from www.endusersharepoint.com.
     
    Click to View Example
     
    CSS - View all aspects of your SharePoint Site CSS Theme
    I came across a great tool that allows you to view your SharePoint site and see the theme colors and the CSS for each and every part of your site.
     
    So you download this application that is really an overlay to IE.  Load your website in the address bar and then you are able to click on any part of SharePoint site and the the following:
    1. CSS Class
    2. Styles - The associated styles
    3. HTML code for the part you click on.

    Here is a screen shot:

    This is very nice tool to use to analyze your SharePoint theme.

    You can find this software at the following link: http://www.elumenotion.com/Blog/Lists/Posts/Post.aspx?ID=4

    Hope this helps,

    Peter

     
     
    This blog is about HealthCare, SharePoint, Technology and things that catch my interest.
     

     
    Below is BitsOfSharePoint related links:
     

     ‭(Hidden)‬ Content Editor Web Part ‭[2]‬

     T o p i c P o i n t

     E x a m p l e P o i n t

     All Posts

     > SharePoint Book - Global Navigation Solution 2010
     > SharePoint 2007 - Wiki View Solution
     > SharePoint - Global Navigation 2010 Solution In Progress
     > SharePoint – A Global Navigation Solution Across Site Collections – Permissions
     > SharePoint - A Global Navigation Solution across Site Collections – Version 2.0 Solution
     > SharePoint – A Global Navigation Solution Across Site Collections – Version 2.0 Primer and Deployment
     > Tab Page for SharePoint Version 2.0
     > SharePoint - A Global Navigation Solution across Site Collections
     > Search Lists and Document Libraries by Metadata
     > SharePoint Information Architecture with MindManager by MindJet
     > SharePoint Themes – More than Pretty Colors – Information Architecture
     > Site Owners – Display and Manage
     > SharePoint: ToolTip 2.0 (Posted on EndUserSharePoint.com)
     > jQuery – List and Document Library Filter Version 2.2
     > SharePoint CEWP Solution Interface – Part II
     > SharePoint CEWP Solution Interface – Introduction
     > jQuery – List and Document Library Filter Version 2.1 - Released
     > jQuery – List and Document Library Filter Version 2.0 – Part 2
     > What's next? List Filter, Search and CEWP Options Interface
     > jQuery - List and Document Library Filtering Solution
     > Wiki Customization Update: Add List Views to Wiki Content
     > Presenting at Sacramento SharePoint User Group
     > Where have I been?
     > Launch of Peter Allen's Blog
     > Multiple Lists from Different Sites – Viewing Tool
     > Wiki Customization - Update
     > Tab Page for SharePoint
     > JQuery - View a list from any site with Auto Refresh
     > Wiki - Customization
     > Challenge: Twitter and Managing/Following Multiple Interests - One Account or More?
     > SharePoint /_layout/images/ Full List - Update
     > SharePoint /_layout/images/ Full List
     > JQuery - Improved Pop-up for Lists, Document Libraries, Calendar and Username with Examples
     > JQuery - List Collapse/Expand Multi-line Text Fields
     > JQuery - Pop-up for Lists
     > Document Library - Another great article on using metadata
     > JQuery - View a list on any site from any other site
     > CSS - View all aspects of your SharePoint Site CSS Theme
     > JQuery - Manage Multiple implementations of a JQuery Solution
     > JQuery - Quick Launch with Tool tips with Simple Tip plug-in
     > JQuery - Solutions - Highlight list Item -Updated
     > Navigation - QuickLaunch add with CEWP and JavaScript
     > EndUserSharePoint.com - Become Your Company’s SharePoint Superstar
     > Print - Clean Pages and Lists on any Page
     > Document Library - Setup a Content Type (Link to a Document)
     > Meeting Minutes - Use of a Blog to manage
     > Blogs - How to change Blog Posts to allow multiple selections for Categories
     > Lists - Cascading Columns
     > Topic Point - Update - Added Ranking
     > Document Library - URL Length Problem/Solution
     > JQuery - Calendar with Mouseover preview pain
     > Navigation - Custom Quick Launch Look
     > JQuery - Solutions - Highlight list Item
     > Site Navigation - Quick launch in Webpart Pages (Continued)
     > Site Navigation - Quick launch in Webpart Pages
     > Issue Tracking - Custom Setup
     > BitsOfSharePoint Launched Today
     > Blog Setup - Comments and Spam - Today's date column
     > Calculated Column - Formula - Yes/No Field
     > SharePoint Add-ons - Embed Video in a Blog
     > Meeting Minutes - Use a Blog
     > Calculated Column - Formula - Fix Sort by Date
     > Calculated Column - HTML - The Progress Bar
     > SharePoint Blog lack of Features - Statistics - Part 1
     > Calculated Column - HTML - Java Script to Use
     > BitsOfSharePoint - What is this site and blog about?