Adding Items to the User/Welcome Menu in SharePoint 2010


Adding a new menu item to the SharePoint welcome/user menu is fairly straight forward.

Thanks to Sohels blog for pointing me in the right direction.

First create a new empty SharePoint project in Visual Studio 2010, call it "MenuItemProject".


Deploy as a farm solution and click finish.


Add a feature to the project. In the solutions explorer box, right click on the feature node and add feature.


Also in the solution explorer, right click the top menuItemProject node and add > new item.


Add an empty Element called "MenuAdditionElement".


Once added, open the menuAdditionElement > Elements.xml file.


Replace the Elements.xml code with the following:

Save the Elements.xml file and then in the solutions explorer double click on the feature1.feature node.


Ensure the MenuAddition Element is included in the items in the feature.


Deploy the solution to your SharePoint server.

Once deployed, refresh your site home page and the new menu item should be visible.


The Future of SharePoint (and Windows Phone 7)


The current state of SharePoint looks something like this:2011-08-30-FutureOfSPWindowsPhone-05.png

In 2009 SharePoint was over a $1 billion dollar business, and we suspect that with its current massive growth it is rapidly nearing $2 billion in yearly revenue.

  • 200M CAL’s
  • 200K Servers
  • $2B in Revenue

What is the Future State?

The future state of SharePoint will be all about the people. The people using SharePoint today are by and large an incredibly giving community of professionals. We see this on a global scale with events like the SharePoint Saturday events, the SharePoint User Groups (SPUG’s) and countless other SharePoint focused conferences around the world.

What Else Can Be Done?


Much like SUN did with Java did in 90’s and early 2000’s I propose the SharePoint communities continue on their path to engage the earliest adopters — students.

As evidenced by the numbers above SharePoint is Pervasive.

The Future of SharePoint will need more developers, IT Professionals and Line of Business experts to create solutions. My prediction is that there will be a boom in solutions that look nothing like SharePoint does today. SharePoint will reach it’s true potential when it becomes intrinsic and invisible to the applications we use every day. Whether they are business applications, travel utilities or the operating systems for our homes, cars and buildings. See SharePoint is WIP Smart

What’s Missing – Solutions?

What’s lacking are the solutions. Business users need to know they have the power to “ASK for Solutions” and expect their companies will deliver them. Notice I did NOT say “Ask for SharePoint” – again see SharePoint is WIP Smart.


In the coming months I expect to see more and more solutions that utilize the underlying capabilities of the SharePoint Platform. I expect to see point solutions that highlight each segment of the SharePoint Wheel (left) and some that combine them with other systems to create unique solutions that have never been seen before.

I expect we will see widgets and applets that “surface” data in a SharePoint environment. That data may existing in other Line of Business systems and may come from a combination of LOB systems. This is an example of a “Composite Application” in SharePoint parlance — also called a Mashup by others. The point is that these solutions will not be the typical browser based SharePoint interface. They’ll be applets and widgets that solve specific business (or technical) tasks.

Of course, solutions will be developed by the people that have been building SharePoint based solutions for years. However, I suspect that we will see the rise of a new breed of developers, IT Pros and LOB experts that will come from the ranks for students.

The BIG Influencers

An Ironic Gap

The Newest and Oldest SharePoint users have the most advanced community functionality ~Sadie Van Buren

Need Skills?

Need Training? There are a lot of firms focusing on all three of the big buckets — Developer, IT Pro and Business. A few examples of well known firms are listed below.

Got Skills?

The SharePoint community is incredible. I am happy to consider myself part of it and I am happy to say I have been involved with it from its early days. I speak regularly at events and have written a lot of articles and blog posts about the SharePoint Experience.

The Market Continues to Grow … RAPIDLY

Microsoft is currently adding some 20,000 users a day to the (SharePoint) platform

What Can You Do?

  • Invite a Friend
  • Share What You Know
  • Get Involved

The future of the SharePoint community is counting on you. I’m happy to help. Just ask … I will work with you to find the people, products and to define the processes you need to make every SharePoint deployment a success.

A Similar Model Can Be Applied to WP7


As Brandon Watson, Microsoft’s Senior Director of Windows Phone 7 development said in Microsoft Wooing WebOS Developers

Picking up traction among former WebOS devs is only the tip of the iceberg for Microsoft’s mobile dev efforts. Their next big focus? Watson says working with students will be “huge” for Microsoft this year.

The future of SharePoint will have a strong connection to the rise of the Mobile Device market – which includes phones, tablets and many other devices (automobiles, GPS units, etc.). Which brings one of the older Microsoft Mantras to the forefront -

Any Place, Any Device, Any Time

How Can You Help?

By getting out there and sharing and learning. These two points are inextricably tied together. I hope to see you in person, online and in print.

Please share your thoughts and ideas on whether you think I’m onto something here or on something here.

Feel free to join the discussion with a comment here or contact me at any of the coordinates below.

Overview of Usability Issues in SharePoint 2010 My Sites


SharePoint My Sites are personal sites for users to store their own content, links, feeds, connect and collaborate with teammates and express themselves creatively. Each SharePoint installation offers one My Site per user if the feature is activated.

I have heard many complaints about the usability of SharePoint 2010 My Sites particularly the navigation. This post will walk through SharePoint 2010 My Sites exploring and identifying key usability issues. It is the first in a three part series:

  • Part 1: Overview of Usability Issues in SharePoint 2010 My Sites
  • Part 2: Impact of SharePoint 2010 My Sites Usability Issues
  • Part 3: Proposed Redesign of SharePoint 2010 My Sites


I performed a basic walkthrough of an Out-of-the-Box SharePoint 2010 My Site outlining User Interface elements and any usability issues. Note: this was not a heuristic or cognitive walkthrough.

Accessing My Sites

From a team site named Demo3, the My Site link is not immediately visible. One has to know it exists in the Welcome Menu to access the link.



The first page you navigate to is the newsfeed page http/mysiteurl/default.aspx. This page has many differences in the user interface that are confusing. Top Navigation from previous site has disappeared.

Once you land on this page, you cannot navigate back to the teamsite, Demo3 without using the browser’s Back button. This is a usability issue. The user does not have freedom to move.

The news feed page is a Personal Public Web Part Page and contains the following components: My Site Navigation, People Search, Help, Welcome Menu, Site Actions Menu, and Web Part Zones with the “What’s New” Web Part. Note there is no ribbon.


When the newsfeed page is in edit mode, a large blank blue bar appears. The page content is pushed down as though the ribbon is there but it is not.


Click “Add a Web Part” and the Web Part Adder portion of the Ribbon appears.


Highlighting web parts while in edit mode encourages ribbon behavior as seen below….


…on a ribbon that did not exist on the page.


In fact, you cannot exit out of edit mode or close the ribbon without leaving the page.

My Content

When you navigate to the “my content” page, you are within your own personal site within the My Site host site collection. Except for the prominent My Site Navigation at the top, this page is consistent with other collaboration sites templates. This page contains the following components: My Site Navigation, People Search, Help, Welcome Menu, Site Actions Menu, Ribbon, Site Icon, Site Title, Page Title, Tags and Notes, Search Bar, Help Icon, and Web Part Zones containing the following web parts: Shared Documents, Personal Documents, and Recent Blog Posts.

Because the top of the My Site template contains search and help, the traditional header with the ribbon introduces a second, search control and help icon. The duplicate help icons lead to the same help window but the search controls behave differently and will be explored later in this article series. The site icon displays the user profile picture.


My Profile

The my profile page contains personal information about you. You can access the My Profile page through the Welcome Menu and through the My Site Navigation at the top of the page. This page contains the following components: My Site Navigation, People Search, Help, Welcome Menu, Site Actions Menu, View My Profile Selector, Profile Page Header, and a My Site Sub Navigation Menu displayed as tabs.



Through my initial assessment and brief user interviews, the following areas are the major usability issues of My Sites.

  1. Inconsistent Interaction with UI Elements.
  2. Inconsistent Placement of Landmarks/UI Elements.
  3. Useless Top Navigation.
  4. Navigation does not consider where the user is in the site.
  5. Navigation does not provide a way for users to get back to where they came from.
  6. Navigation does not give user a clear picture of where they are in the SharePoint Installation.


Even among the three major areas of My Sites, you can see inconsistencies. the user interface layout and functionality is not consistent from page to page or compared to other site templates using the same controls. The benchmark of improved User Experience in SharePoint 2010 is the consistent use of the ribbon. For some reason it does not appear on pages that use the ribbon functionality such as the newsfeed page.


Navigation is not effective in My Sites. The definition of navigation is finding a target location based on one’s current location using at least one reference point. This reference point can be a visual landmark or a point in previous location.

The effectiveness of navigation can be assessed through wayfinding. We don’t evaluate whether the user will find what they are expecting which would be done through a usability test with a real user. This evaluation determines whether navigation can is possible Wayfinding is a metaphor for using information available to navigate through complex places. According to WebStyleGuide (my bible), the four elements of wayfinding are:

  • Orientation: Where am I am right now?
  • Routing: Can I find the way to where I want to go?
  • Consistency/Mental Model: Are my experiences consistent and understandable enough to know where I’ve been and to predict where I should go next?
  • Closure: Can I recognize that I have arrived in the right place?

We will use these elements to measure the effectiveness of the navigation in My Sites.


If we were measuring the navigation within My Sites alone, the navigation effectiveness would rate mediocre. This rating is measuring the navigation relative to the entire installation of SharePoint 2010. My Site Navigation fails across the board.

2011-08-29-SP2010MySites-Part01-15.pngOrientation: Where am I am right now?MySites do not show where the user is in relation to the rest of SharePoint. No matter where one is within SharePoint, they have one MySite. This is true with Search Centers as well. A unique hierarchy is not clearly addressed through default navigation within site templates. One page within SharePoint My Sites provides a way to orient through the layout of the site. Although the SharePoint 2010 breadcrumb is not the most usable and intuitive control, it does provide clues as to where the user is and provides the sitename and pagename.

2011-08-29-SP2010MySites-Part01-15.pngRouting: Can I find the way to where I want to go?Although the My Site Navigation at the top allows users to navigate within the My Site, a user cannot go back to any other sites without the browser back button. This is a huge error when measuring against most usability heuristics. The user should be able to move freely within a site.

2011-08-29-SP2010MySites-Part01-15.pngConsistency/Mental Model: Are my experiences consistent and understandable enough to know where I’ve been and to predict where I should go next?Generally, the elements used for navigation are different from nearly all other site templates within SharePoint. The navigation in my sites is neither consistent with the rest of SharePoint nor consistent within the My Site pages.

2011-08-29-SP2010MySites-Part01-15.pngClosure: Can I recognize that I have arrived in the right place? When a user clicks on any link, they expect to see confirmation of where they are generally this is gleaned from a prominent page title or breadcrumb. Although the words “My Site” appears at the top of the page, it does not look like a page title. The words My Site are an unlinked title that is attempting to communicate that the links to the right are subareas of the parent “My Site” concept. Easy to figure that out after thinking a little bit. (The point is that the user has to think and even navigate around a bit to recognize the pattern in interaction. That’s no good. ) This control is the strangest navigation/breadcrumb hybrid that I’ve seen. Additionally, the words newsfeed are highlighted.


The “My Content” page does come close to providing Closure through the standard breadcrumb. You can see you landed on My Content after clicking the My Content link.


However, by introducing this component, more inconsistency and confusion is introduced because the parent node is not identical in both navigation controls.


Next in the Series:

This article was originally intended to contain qualitative feedback from My Site users to support the issues I identified. My first interview was with Chris Poteet, a 5-year veteran of SharePoint consulting and a UX lead. Further discussions with Chris changed my approach to this article and extended it into a series. I discovered a very knowledgeable and well-versed peer. We will be collaborating on the remaining articles.

Next, we will dive deeper into these usability issues and the impact they have on users.

Part 2: Impact of SharePoint 2010 My Sites Usability Issues

Once we have defined the impact these issues have on users, Chris and I will recommend and possibly design solutions that directly address the issues outlined in Part 1.

Part 3: Proposed Redesign of SharePoint 2010 My Sites


Navigation and Wayfinding - WebStyleGuide3

Other Resources

Navigation Concepts and Principles

SharePoint 2010 Related Resources

SharePoint Developer Orientation - Part 3: Be a User

2011-07-17-SPDevOrientation-Part01-01.jpgNot So Fast!

If you are truly new to SharePoint, and you want to be a SharePoint developer, it is going to take time and you will have to start small. You cannot – or should not – develop for SharePoint without understanding the platform from the user’s point of view. The platform is for them, after all. You are only going to be needed when users need help, or when a professionally developed and maintained application is warranted. Also, as you develop components, you should understand how your users will interact with them and use them in a normal user scenario.

So, before you start reading development books, spend a couple of days playing around in the environment. Learn how to create site collections, sites, pages, custom fields, content types, lists, views, etc. Do this only from the web UI and avoid SharePoint Designer or Visual Studio for now. It is important to know where the lines are so you start to get a picture of the user’s capabilities. There are plenty of resources available to get you started.

Start Creating in the Web UI

When you create a site, notice the different site templates available to you. Go into site settings and learn about site features. Notice that a Team Site deploys with the “Wiki Page Home Page” feature enabled, for example, while the Blank site does not. Create a list and notice the many field types available. Create another list and add a lookup field to the first list. Explore or take a guided tour, but do spend some time experiencing SharePoint from a user’s perspective.

If you think about a custom application, it would mainly consist of data, data access, processing, and UI. SharePoint lists are a robust data store with indexing and referential integrity. They can handle millions of records (although there are caveats with large lists). SharePoint’s data access comes in a variety of flavors, including Server API, cross-platform Client APIs, and Web Services. With event receivers, workflows, web parts, controls, http modules, timer jobs, custom actions, xsl, and client script, you have all the necessary means to implement your processing. Finally, SharePoint is a web framework and has OOTB default rendering, although you could create your own pages, views, web parts, HTML, etc. You can also utilize any of the applicable data access methods listed above from other platforms, like a native smartphone app, for example.

How’d They Do That?

By looking at the platform from a user’s point of view, you are engaging in some sort of reverse engineering. You are looking at what is possible before getting bogged down with how to do it. It is a useful exercise, and I suggest everybody take a minute to go to the web UI, find something really cool, and then figure out how you can do the same thing in your code.

While I was learning the SharePoint 2010 web UI, there were many things that caught my eye; the ribbon, the dialogs, the rich client experience. As you will find out, you get some of this for free when you start developing your own solutions, and some you have to work for. When I was building a web part, for example, I wanted to pop open a dialog to collect input like the Silverlight Web Part does. After a couple failed attempts, I put it off for another time. My colleague, Rob Cronin, sent me to a blog post by Wictor Wilén that explained the undocumented feature. Having had experience with the web UI, I knew it was possible.

Another colleague, Rob Johnson, told me about his experience exploring SharePoint 2010. He experimented with service applications like Excel Services. He learned how to reference a cell, chart, or pretty much anything in an Excel document via a URL (using RESTful services). “Think of the possibilities,” he said. Well, as a developer exploring SharePoint through a user’s eyes, I say think of the opportunities.

When you hit a wall, DON’T crack SharePoint Designer just yet. Search for third party tools, open source projects, and crafty solutions from the SharePoint community (and your colleagues!). Think like a user and don’t try to develop your way out of every problem. Is there a fix you can purchase, install, or configure? How far can a user go without leaving the web UI and without calling you?

Learn SharePoint Permissions

Learning SharePoint permissions is important for a few reasons. First, the users will have different experiences based on their permission levels. If a user hits a wall, is it because they don’t have the permission to accomplish their task? Or is it truly a limitation of the platform that you may have to develop around? The user may not know which it is and call you. Will you know?

Second, you may work with organizations that have different approaches towards user empowerment. Consider how working with an organization that embraces user empowerment might differ from one that is more locked down. Developing in an environment where users can develop for themselves makes for an interesting dynamic. You may step on each other’s toes, be met with unrealistic expectations, and, if the culture doesn’t truly support it, you may begin to feel a lot of tension between the two groups. On the other hand, if users are so locked down that they need a developer to do anything, then that defeats the purpose of SharePoint. Costly developers will spend too much time creating pages and configuring web parts for the underprivileged rather than developing innovative solutions.

Understanding these dynamics, possibilities, and limitations will pay dividends later.

Thanks for Reading,
Lou Estrada

jQuery - .SPServices - Google.OrgChart API Mashup - Part 1: Introduction

A client had a requirement to modify an Org Chart that they had on their SharePoint (WSS3) site. When looking at it, I realized that it was an image with the links mapped. The image itself was sliced up pretty well and it was impossible to make the requested modifications because I didn’t have the original image to edit.

I looked at different commercial Org Charts but the ones I found only displayed contact data either from Active Directory or a custom Contact List in SharePoint.

I knew that Google had a charting API and when I looked, that included an Org Chart. This API would work perfectly for me since my client wanted more of a Site Map that would illustrate their different department sites with links to each site, I needed to include HTML in the content of the ‘Nodes’ of the Org Chart. I quickly fired up SharePoint Designer and coded some jQuery and HTML to create the chart in a Content Editor Web Part (CEWP). It worked but my client would always need a web developer to make any modifications to the chart. What I wanted to do was to provide them with a solution that would allow them to make modifications to the chart without any developer resources.

I have been working with the wonderful SPServices jQuery library that Marc Anderson has written for some time. I love the ability to query the SharePoint Web Services with jQuery. It provides some great possibilities. So, I noodled about and came up with the following solution, which I will cover in 5 parts.

The Pieces

The Requirement

The client wants to display a visual representation of their organization and provide links to their individual team site. The client wants to be able to modify the content and structure of the Organizational Chart without using developer resources. The end result should look like Figure 1.


The Solution

After thinking about this requirements a bit, I thought that Google’s Visualization API, specifically their charting API might give me the tools necessary to actually draw an organizational chart. I knew that I could write some javascript code to access the API so that was pretty simple. I quickly set out to create an organizational chart using Goolgles OrgChart visualization and hard-coded all of the content. This provided the visual result I wanted but not the functional result. An end user would need to know HTML to be able to update the chart. What I wanted to do is to create a couple of lists that would drive the content and structure of the list. The perfect solution for this is Marc Anderson’s SPServices jQuery library for SharePoint Web Services. Marc has done a fantastic job with this library and is constantly updating the code to keep up with the changes in both SharePoint and jQuery. The SPServices library will allow us to query a SharePoint list and then parse the XML that is returned and send that data to the Google API to draw the org chart.

So, now that we have an idea of how we are going to create the solution, it’s time to set up the lists.

Setting up the lists

To make this easy to modify by anyone, I have decided to use two custom lists. The first custom list is to control the structure of the org chart. Two fields are necessary, a name for the node and what its parent is. Of course, the first node will not have a parent. I created a list with the following fields:

Field Name Type Notes
Single line of text
This lookup field references the Title field in the same list.

Table 1 – Site Map List

Add the following content to the Site Map List

Title Parent

Table 2 – Site Map list content

To supply content to each node, I chose to use an additional list that I called Site Map Content. In this list, I needed to define the content line, any URL that the content would link to, the position the content should appear in the node and what node to place the content in. Table 2 illustrates how I created the content list.

Field Name Type Notes
Single line of text
Renamed the Title field
Single line of text
set to zero decimal places, minimum number 1
Lookup to the Site Map list and reference the Title field

Table 3 – Site Map Content List

Now add the following content to the Site Map Content List

Content Url Position SiteMapNode
Director: Jim Smith
Manager: Bob Blisand
Oracle Team Site
MSSQL Team Site
MySQL Team Site
Manager: Chris Cooper
Microsoft Systems Team
Linux Team
Manager: Wesley Willingham
SharePoint Development
Web Development

Table 4 – Content for the Site Map Content List

Now that we have the two lists created, we can begin coding. In the next part of this series, we will set up the environment we will need to code the solution.

How to disable the process termination by IIS when debugging


When you are writing great lines of code for your SharePoint solution, you’ll probably be testing and debugging that code as well. You deploy your solution, attach Visual Studio to the worker process and when the debugger hits the breaking point. You examine what happens and read the values of your variables at that moment. And before you know it, you get the message that IIS has terminated the process that was being debugged.


What happens here? The Windows Process Activation Service (WAS) pings an application pool’s worker process at set intervals for monitoring. If a worker process is non-responsive, WAS can shut it down. This WAS pinging is enabled by default and the interval is set to 90 seconds.

To avoid this you can either disable the Ping Enabled setting of the application pool of your web application or increase the Ping Maximum Response Time. From the Administrative Tools menu, start the Internet Information Services (IIS) Manager and expand your server. Select the Application Pools node. In the Application Pools list select the application of your web application and click on the Advanced Settings link.


Now set Ping Enabled to false (or increase Ping Maximum Response Time to 900) and save your settings by clicking the OK button. You will now be able to answer the phone again while debugging and analyzing your code.

Productivity Tips for SharePoint Users - 5 - Custom Lists


2011-08-22-CustomLists-01.pngI recently worked on a presentation that resulted in demonstrations of the TOP 10 Productivity Tips for SharePoint Users. The session was broken into the 10 tips (Number one being the highest rated). You can read the series introduction here.

Productivity tip 5 was all about the quick wins that can be gained from Custom lists (and of course the Out of the Box lists and libraries provided in SharePoint).


The productivity gains are potentially very obvious here….but to list a few:

  • Being able to access the information anywhere any time
  • Replacement of spreadsheets that were duplicated emailed and seldom held current information.
  • Having lists instead of spreadsheets means multiple updates concurrently, instead of locked workbooks slowing down processes
  • Quick wins for users! Being able to automate painful processes so people could quickly and easily collaborate on common information
  • Custom lists are things that Power Users can do, so it empowers them as users, ensures they are getting great value out of their SharePoint sites, and can effect change fast!
  • Custom lists are a type of instant online form – without the complexity of other means, but giving users electronic forms, that could be simply customised in SharePoint Designer, have custom fields, and collect all types of data

Lists and libraries also had some great features for users

  • Viewing in datasheet view, for quick updates to metadata
  • Connect to Outlook, for fast files uploads
  • Quick Steps
  • Adding workflow to items or lists, to improve business processes
  • Creating alerts so users can be updated when items (on specific views if required) are changed

So…some examples…

  • Correspondence Register
  • People lists – one of the MOST common lists on Intranets (and also one of the most common reasons people frequent the Intranet!) – these were a combination of lists that use the User Profile Service, and Custom lists, to contain external contacts, or lists per project and so on
  • A Digital Diary – or internal Trade Me for employees to list items for sale
  • Maintenance lists
  • Assets and Hardware lists
  • lists to maintain navigation items for multiple site collections within a site
  • Tips and Tricks list
  • Resources lists and libraries

And the list goes on… :)

So the tip – finding better ways to store and access information.


A special addition to this blog, is compliments of one of the Bay of Plenty SharePoint User group members (John Murray from Zespri, who is working on a Contracts Management solution) – and that was the use of Quick Steps within the Ribbon on lists or libraries…while Quick Steps have many advantages, in helping users find what they need in just one click, this example really shows good use of “big friendly pushbuttons" in the ribbon (or in the context menu) to surface workflow. Nice! Thank you John!


SharePoint Permissions - Part 2


I posted a blog about SharePoint permissions and I realized there is a really important aspect about creating unique permissions! Look at the following example:

  • Contoso
    • Departments
      • SharePoint
      • Infrastructure
      • IT Servicedesk

If you decide to give all department sites unique permissions then you have to remember that if a user does not get permissions to Departments he or she won’t be able to access the site! The user will get an access denied message. The user can only access, for example the SharePoint site, by surfing to the SharePoint team URL. This is because of the broken inheritance and unique permissions of the department sites.

I advise you to give the users read permissions to Departments because you don´t want users to get access denied messages ;-)

I also have a couple more interesting tips for working with SharePoint permissions. There are two out-of-the-box solutions that can help you.

  • Check permissions
  • Show unique secured content

Check permissions

This option will show the permissions of a user within a site. To use this go to Site Actions and Site Permissions and click on the Check Permissions icon. Fill the name of the desired user and click on Check Now:


You see the permissions of the user. It would have been nice if you also could have seen the lists, libraries and items. I also would have loved to see this for the whole site collection! But at least it is an improvement to MOSS 2007.

Show unique secured content

This option can show you content (list, libraries or items) that have unique permissions. To use this go to Site Actions and Site Permissions and click on the Show me unique secured content hyperlink:


You can see the lists (Project voortgang) and libraries (Planning) with unique permissions. By clicking on manage permissions you will see these permissions and are able to change them.

While I always advise not to change permissions on items because it can become difficult to manage, you can view the items with different permissions than the other documents in the library. Just click on view exceptions:


You get a nice overview of all items with unique permissions.

I hope this will help you in your life as SharePoint Site administrator :-)

Business Model for SharePoint: Do you have one?

I had breakfast with Ben McMann in Dallas a couple months ago. Since that time he’s written a few articles and really impressed me with the clarity of his thinking. Recently, he put up a deck on slideshare, What’s your SharePoint Business Model?,  that shows how to create a business model framework for SharePoint.
I flipped through the deck and really liked what I saw, especially the little scenarios near the end where he shows how you can utilize the model to help make business decisions. The model generator is free if you’d like to take a crack at it yourself, but is only available as an app on iPad. I think this is a HUGE limitation, but at least you can get an idea of how to create your own framework, even if you don’t have an iPad.
Nice work, Ben.
Recent Articles by Ben McMann

Automatic Tagging Based from a Folder: How to Get Your Users to Eat their Vegetables (Without them knowing it)


The Debate

The health benefits of including vegetables as part of a healthy diet are well documented. Eating vegetables may help reduce the risk of heart disease, lower blood pressure, etc. However, there are some people who refuse to eat their vegetables, regardless of the benefits.

Tagging your content in SharePoint is like eating your vegetables – it’s good for you! However, just like with vegetables, there are many end users who do not like (or want) to have to tag their content. They prefer to use good old-fashioned folders. contains many articles on the topic of folders vs. tags (see: SharePoint Folders vs. Metadata, Folders in doc libraries are metadata cries for help, SharePoint: Convert Folder Structures to Metadata, and Folders and Metadata Rehashed).

The Teams


The Solution

Fortunately, SharePoint 2010 has an out-of-the-box feature that can satisfy both sides of the debate. The Column default value settings in a SharePoint library allow files to be tagged automatically based on what folder they live in. This solution allows contributors to store their content in folders without having to worry about tagging every file individually, while consumers can enjoy all the benefits that tagged content offers.


The Example

For example, let’s say I have a Technical Training documentation directory on a file share that I that I want to migrate over to SharePoint 2010. The file share directory contains three levels of folders on various Adobe and Microsoft products.


Step 1: Clean Up the Existing File Share Directory

Take the time to eliminate all unnecessary directories and files. You only want to move the most relevant files.

Step 2: Create Columns and Tags Based on Folder Structure

Use the existing folder structure on the networked file share as the basis for creating columns and tags in the SharePoint library.


For example, given the folder structure listed above, we can create a custom choice column in our document library called Vendor and supply it the values of Adobe and Microsoft. Then we can create another choice column called Product Suite and supply it values of Acrobat, CS5, Office 2007, Office 2010, etc. Finally, we can create a final choice column called Application and supply it values of Acrobat Professional, Acrobat Reader, Flash, Photoshop, Illustrator, Access, Outlook, etc. Each choice column represents the topic of a folder. The values of the choices represent the titles of the folders.


Step 3: Re-Create the folder structure in the SharePoint Library

Take the time to re-create the folder structure in the SharePoint library. This will give you the opportunity to re-organize the folders and correct inconsistencies that existed in the file-share directory structure.


Step 4: Create the default value settings in the SharePoint library.

  1. Open the document library and go to the Library Settings page.
  2. Click the Column default value settings link in the General Settings column.
  3. Click the name of a folder in the Location to configure column, located on the left side of the screen. (e.g., Microsoft)
  4. 2011-08-19-FoldersVsTags-07.png

  5. Click the column name that corresponds to the selected location. (e.g., Vendor)
  6. 2011-08-19-FoldersVsTags-08.png

  7. Click the Use this default value option and enter the tag value in the default value field.
  8. 2011-08-19-FoldersVsTags-09.png

  9. Click OK.
  10. Repeat for all the columns and sub-columns on the library. The default values of the 2nd layer of folders will set in the Product Suite column. The default values for the 3rd layer of folders will be set in the Application column.
  11. Folders with a default value will display a green icon over the folder and the default value will be displayed.
  12. 2011-08-19-FoldersVsTags-10.png

Step 5: Copy or move the files from the file share directories into the SharePoint Library directories.

Use whatever method you prefer to copy or move the files from the file share directories into the SharePoint library folders. The files will be tagged automatically depending on what folder they are placed in. Files that are placed in 2nd or 3rd level folders will inherit the default values of their parent folders as well. (e.g. When a file is placed in the Microsoft 2011-08-19-FoldersVsTags-11.png Office 2010 2011-08-19-FoldersVsTags-11.png Excel folder it would automatically be tagged Vendor = Microsoft, Product Suite = Office 2010, and Product = Excel.


Enabling automatic tagging in a folder provides the best of both worlds to your users. Content contributors can quickly and easily store files in locations that are meaningful to them without having to worry about tagging their content. Content consumers can utilize the automatically generated tags to quickly and easily find the files without having to know what specific directory there are stored.

Note: There are 3rd party products which do the same thing. My goal here was to demonstrate an out-of-the box solution.