Tag Archives: feature

Reduce Administrator Workload Using Extranet Collaboration Manager for SharePoint 2010′s (ExCM) "Site Sponsors" Feature

Collaboration Manager (ExCM) 2010
has the ability to greatly reduce the
workload on your IT Department by implementing what we call “Site
Sponsors.”  Site Sponsors can be either
Windows or Forms Based Authentication (FBA) users, and are basically users with
some elevated privileges who are capable of managing the Extranet Users for a
given site.  Let’s take a closer look at
Sponsorship and how it’s configured.

We access the Site Sponsors options under the “Extranet
Management” menu located in Site Settings:

From that screen we can see any existing Site Sponsors as
well as the options for managing them:

For this blog, we will create a new Site Sponsor.  Let’s assume that the AMCE Corporation is a
client of ours who uses our extranet to access information important to
them.  We will create a new Site Sponsor,
a user from the ACME Corporation, and make him responsible for managing all the
ACME users who access our extranet.  This
is an “extreme” example of Sponsorship (since this sponsor is outside the
company), but I believe it illustrates the feature nicely. Now, let’s take a
closer look at how Sponsorship is configured. 
After “New Site Sponsor” from the ribbon, the screen below is presented:

First, I will select a user to be the Site Sponsor.  I will stick to using Extranet Users for the
purpose of this illustration:

Next, we need to configure our Security Settings.  This is probably the least understood topic
when using Sponsorship, so let’s take a close look at each area.  The first area is the “Associative Security
Definition.”  These are the SharePoint
Groups and/or Extranet Roles to which every user this Sponsor invites to the
site will automatically be added.  In
this example, I have created a role name “ACME Members” and added that Role to this
site’s “Visitors” SharePoint Group.  By
entering “ACME Members” in this area, every user that Timmy invites will
automatically be added to the “ACME Members” Role and will therefore have basic
read-only access since the Role has been added to the site’s “Visitors” group.

The next area is the “Optional Associative Security
Definition.”  Any SharePoint Group and/or
Extranet Role entered here will be presented as checkboxes to the Sponsor when
he invites users to the site.  In this
example, I have entered another Role I created named “ACME Managers” that has
greater privileges than the “Members” Role because I have added it to the
site’s “Owners” SharePoint Group:

Finally, we have the “Administrative Security
Definition.”  This includes the Groups
and/or Roles that the Site Sponsor can manage. 
When we say “manage” in this situation, we are referring to specific
permissions the Sponsor has been granted. 
Here are the possible permissions that can be assigned:

All of these are checked by default, but you can customize
them to your specific needs.  The best
practice for the “Administrative Security Definition” is to add any Groups
and/or Roles that appear in the first two Security Definition boxes.  This ensures that any user the Sponsor
Invites, he can also manage:

Finally, we have the “Include Site Groups” option.  When this is set to “Yes,” any SharePoint
Groups the Sponsor is currently associated with for the site will be included
in both the Optional and Administrative Security Definitions.  For this example, I will select “No” in this

Now that we have successfully created a Site Sponsor, let’s
log into our site as that Sponsor and invite a new user from the ACME
Corporation.  Here are the new options that
the new Sponsor sees when clicking “Site Actions:”

From here, they can both invite new users and manage
existing users that they sponsor.  After
clicking on “Invite Users,” we see this:

Notice the “Site Access” area.  As you can see, the “Optional” Security
Definition appears here to allow the Sponsor to optionally add the new user to
the Groups and/or Roles specified…along with the “Associative” Security
Definition to which they will be added automatically (ACME Members in this

After clicking “Save,” the invitation is sent to the new
user.  When they open it, here’s what
they see:

After completing the registration, we can review it under
the “Invitations” area of the Extranet Management menu.  Notice the “Sent By” and “Security Definition”

So we can see that this invitation was sent by our new Site
Sponsor, and that Jeremy was also added to the appropriate Security

The last area we’ll review here is the “Manage Users” screen
for the Site Sponsor.  After logging back
in as my new Sponsor and clicking “Site Settings – Manage Users,” we see this:

From here, the Sponsor can do things like create new user
(via invitation or manually), grant and remove access, change a user’s
password, etc.  Notice that we see an
additional user than the one we just invited. 
This is due to the “Administrative Security Definition.”  The other user (Tony) is also a member of the
ACME Members and ACME Managers Roles, so our new Sponsor can also manage him.

Site Sponsorship gives IT administrators the ability to
offload basic extranet administration tasks to capable, responsible users,
freeing up their time for important IT work, and reducing IT labor costs.

Read More

Three points to consider when using the SharePoint BCS

The SharePoint Business Connectivity Services (BCS) is an integration feature of SharePoint 2010 which provides read/write access to line-of-business data in external systems. Once an external system has been modelled in the BCS, a SharePoint user or developer can compose solutions that use external data directly without having to possess expert knowledge about the API of the back-end system.

There are many options when it comes to architecting a SharePoint solution that is integrated with an external system. In some scenarios the BCS will be a valuable constituent of a solution, in other cases it may not be a good fit. If you are looking to connect SharePoint with an ERP system or other line-of-business system, there are some important points to consider when deciding whether the BCS should be part of your solution architecture.

Up to 20 operations need to be supported
The BCS provides a back-end neutral framework for integration by requiring the API of the back-end system to be mapped to 20 stereotyped operations. Many APIs of business applications are not very BCS-friendly and it may require substantial effort to distill the APIs into services that can be mapped to the stereotyped BCS operations. This is not a problem when connecting to simple data sources like SQL Server databases, but more complex business applications often have APIs that are very hard to decipher for outsiders (e.g. SAP has a very granular generic API which presents a significant challenge in this regard).

Data is retrieved on-demand
Business data accessed through the BCS is exposed through what is called external lists in SharePoint. These external lists share many of the characteristics of the traditional SharePoint lists. However, one important difference is that the data is not stored in SharePoint. This is often a positive thing because you generally do not want to replicate business data across multiple storages unless you have to. But there are also common scenarios where data caching is required. For example, the administrator of your ERP system might not be too happy if you are frequently hitting the system live to retrieve data that rarely changes.

Workflows cannot be associated with external lists
SharePoint workflow generally works by reacting to items in a list being added or changed. Items in external lists are fetched on-demand and are not stored in SharePoint and therefore workflows cannot be directly associated with external lists. If you consider a use case where you want to trigger a business process every time a new item is added to a table on the back-end then the BCS is not a good option. You can still query data in an external list as part of a workflow running on a document library or an “internal” list, but items in an external list cannot be the primary object of the workflow.

These are all important things to consider when deciding whether the BCS should be part of your solution architecture. There are solutions where the BCS is a natural fit and there are solutions where you will have to come up with an alternative way of bringing the line-of-business data into SharePoint. As always, if you have any experiences with this please share your thoughts below.

Read More

PSIGEN Continues Technical Leadership in SharePoint Scanning and Capture with Enhanced Feature Release

IRVINE, Calif., June 2, 2011 – PSIGEN Software, Inc., the technical leader in SharePoint scanning and capture, announced the release of an Enhanced Feature Set for SharePoint. The new release provides unmatched “out of the box” features, with a focus on automated document routing and Managed Metadata. PSI:Capture now provides a capture solution that allows dynamic routing to SharePoint sites, libraries and folders, as well as setting content type and file naming based on document characteristics. Along with routing enhancements, the product allows the ability to automatically populate the SharePoint Term Store based on information extracted from documents.

“We found that our SharePoint partners and customers were looking for the next level in automation and integration, and wanted to fully leverage the SharePoint feature set.” said Steve Boals, V.P. of Sales for PSIGEN. “Our product now provides enhanced document routing and integration with SharePoint Managed Metadata that is unmatched in the market.”

SharePoint Scanning and Capture
Read More

Variations in SharePoint 2010 – Connecting People with Content

When you provision a new SharePoint publishing site, one of the first options you’ll see on the default welcome page is to use the Variations feature to manage multi-lingual sites and pages. My name is Josh Stickler and I’m the Program Manager responsible for Variations. In this post, I’ll provide a brief overview of the Variations feature and highlight main improvements in SharePoint 2010.

If there are additional areas that are of particular interest to you, please post in the comments section and I will try to address as many as I can. I’d really appreciate getting any and all feedback. Thanks!

What is the Variations feature?

Variations is a SharePoint feature that facilitates the management and maintenance of content that can be served to multiple audiences. These audiences can vary in terms of different languages, countries, or regions, but they can also represent different brands or devices.


How does Variations work?

For each channel you wish to serve content, you can specify a Variations label. Labels are instantiated as SharePoint publishing sites and the full set of labels in a site collection is referred to as the Variations Hierarchy. I refer to SharePoint publishing sites created and managed by the Variations feature as “variation sites.”

Using variations, target variation sites reflect one source variation site in terms of pages and site structure. When setting up variations, specify one variation site as the source; all other variation sites are targets. By default, pages published on the source variation site are copied to all target variation sites as draft versions and sites created on the source are created (not copied – this is an important distinction) on all target variation sites. You can only have one source variation site per Variation Hierarchy and you can only have one Variation Hierarchy per site collection.

What’s new in SharePoint 2010?

The concept and core architecture of Variations, in which pages and site structure are replicated across multiple variation sites in a site collection remains the same as in Microsoft Office SharePoint Server 2007; however, we have made significant improvements to better meet the needs of enterprise customers serving content across multiple channels.

These improvements can be divided into four categories:

  • Server Citizenship
  • Content Distribution
  • Editing Experience
  • Reliability

Server Citizenship

Variations operations now execute in the background via timer jobs. For the end user, this means that you no longer have to wait at a progress screen for operations to complete.  For the system administrator, this means that the cost of resource-intensive operations like Create Hierarchies can be better managed.


You can adjust the frequency with which Variations operations run in Central Administration. Next, I’ll explain the difference between the “Create” and “Propagate” timer jobs in the context of improvements we’ve made to the Variations content distribution models.

Site and Page Propagation

MOSS 2007 featured two models for distributing pages across your Variations Hierarchy:

1. Automatic Creation: If “Automatic Creation” is enabled on the Variation settings page (it is enabled by default), then publishing a page on the source variation site will cause that page to be copied to all target variation sites.

2. Manual Creation: If “Automatic Creation” is disabled, then the “Create Variations” Ribbon button is the only way to copy a new page to a specific, individual target variation site.

We’ve received feedback that there are often cases in which changes need to be published locally to the source variation site without being propagated to all targets. For instance, if the source variation site has a typo in English, the correction may not be relevant to a target site in German, so if the correction is published in the source page, it can be unnecessarily confusing to copy this changed English version to all target sites.

In SharePoint 2010, we introduce a third, “hybrid” content distribution model:

3. On-Demand Page Propagation

A setting has been added (configurable through the Object Model) to disable Automatic Page Propagation. When the setting is enabled, publishing or approving a page on the source variation site will not cause that page to be copied to any target variation sites. The "Automatic Creation" setting will be ignored for pages. "Update Variation" and "Create Variation” are the means by which a user can distribute content across the Variation hierarchy on-demand.

I’ll go into more detail on content distribution models in a future post. But so as not to keep you in suspense on how to configure on-demand page propagation, here are the PowerShell commands:

Enable On-Demand Page Propagation:

$site = new-object Microsoft.SharePoint.SPSite("http://yourserver/sites/abc")
$folder = $site.RootWeb.Lists["Relationships List"].RootFolder
$folder.Properties.Add("DisableAutomaticPropagation", "True")

Disable On-Demand Page Propagation:

$site = new-object Microsoft.SharePoint.SPSite("http://yourserver/sites/abc")
$folder = $site.RootWeb.Lists["Relationships List"].RootFolder

We’ve also made improvements for target variation site content owners to better understand what has changed on the source variation site when new draft versions appear on a target variation site.

Editing Experience

To make efficient use of their time and effort, target variation content editors need an easy and informative way to determine what content is new when pages are propagated from the source variation.


A new “View Changes” button compares the most recent source version propagated to the target with the most recent source version published on the target.  Changes are highlighted in a pop-up report to enable content processing directly in the rich-text editor.


Highlighted report


Corresponding location in the Rich Text Editor

This button is available on a target variation page after it has been published once and a new draft version has been copied from the source variation site via one of the Variations timer jobs. I will go into more detail on this new feature in an upcoming blog post dedicated to explaining View Changes with screenshots, a sample workflow, and an example scenario.


One of our main goals for Variations in SharePoint 2010 is to make the feature more reliable so enterprise customers can entrust management and distribution of content across multiple channels to Variations.

Now that Create Hierarchies runs in the timer service, we support pausing and resuming this operation during timer service recycles to support long-running operations in large deployments. This also means that the process is not affected by Application Pool recycles. We’ve also made the relationships list, which tracks all target pages linked to a source page, more robust. We now track variations pages using GUIDs for better performance and scale.

Thanks for reading. Check back soon for upcoming blog posts on what’s new in Variations and other exciting developments in Enterprise Content Management.


Josh Stickler

Program Manager

Read More

SharePoint 2010 Social Networking: Part 5c – Browsing Bookmarks and Tags


This post is Part 5c of my SharePoint 2010 Social Networking series.  The other parts of Part 5 are all related to the Social Bookmarking and Tagging features of SharePoint 2010:

Part 5a – Intro and Central Database of Bookmarks and Tags For All Users

Part 5b – Bookmarking and Tagging User Experience

Part 5c – Browsing Bookmarks and Tags < You are here

Part 5d – Searching Bookmarks and Tags

(Note: For the first post of the SharePoint 2010 Social Networking series and a table of contents, go here.)

Feature: Browsing Bookmarks and Tags

Of course, having a community of users bookmarking\tagging pages and storing that data in the database for the benefit of others (described in Part 5a and Part 5b) is only a good thing if there are well-designed tools for the users to retrieve and sift through the data when they need to find something.  Of the most common approaches for finding information in a database, 1) browsing, and 2) searching are the most familiar for most users.

So, let’s first look at what Delicious and SharePoint Server 2010 have to offer in terms of browsing through bookmarks and tags and then I will cover searching in the next post.

(Note: I am using the grandfather of all social bookmarking applications, Delicious, to help me compare/contrast the social bookmarking and tagging features of SharePoint 2010. See Part5a of this series if you would like the complete explanation about this.)

For bookmark browsing functionality, a user needs well-designed features that address these fundamental questions/requirements:

  • How can I browse through all of my bookmarks and tags?

- By bookmarked page name chronologically

- By bookmarked page name alphabetically

- By tag name chronologically

- By tag name alphabetically

  • How can I browse through and discover other users’ bookmarks and tags that might help me?

Let’s look at how well Delicious and SharePoint 2010 support these requirements:



Browsing for bookmarks and tags on Delicious is very intuitive and powerful.

By default, on the home page Delicious shows the most recent bookmarks saved to its database by the entire community of users:


Here are some important points about this page that I have called out in the screen shot above:

  1. The home page defaults to the most recent bookmarks collected by the service (Fresh Bookmarks tab), but also shows tabs for the most popular bookmarks (Hotlist tab) and a way to explore the most popular tags being used (Explore Tags tab).
  2. A count of the bookmarks saved in the last minute is shown and it is hyperlinked to a page that will show all of those bookmarks in reverse chronological order.
  3. Each bookmark shows as a line item with the page’s title as a hyperlink and the site that the page is from noted below beginning with the word “via”.
  4. A count of the number of users who have bookmarked the page is shown.  The count is hyperlinked to a page that will show all of the users who have bookmarked the page and any tags that they have used.
  5. The most popular tags that have been used with the bookmark are shown and hyperlinked.  Clicking on one of the tags will take the user to a page that shows all bookmarks that have used that tag.

What if the user just wants to see his\her bookmarks\tags?  By clicking on the Bookmarks button in the top navigation of the page header, the user will go to their My Delicious home page and see only his\her bookmarks, by default, in reverse chronological order:


One thing I particularly like about this page is that I can see how many other users have bookmarked the same page that I have bookmarked (example circled in the screen shot).  If I click on that number, I am taken to a page that gives me the list of all of the other users and the tags that they used when creating the bookmark: 


The Delicious approach to prominently displaying counts of users who have bookmarked a given page is powerful.  It lets the user easily see what bookmarks others are finding to be most useful and does so in a quantitative way.

Also, from the page above I might find other tags that other users have used that might lead me to other useful pages related to a given subject.  This type of functionality demonstrates the essence of how social bookmarking and tagging can facilitate knowledge sharing and discovery.

Now, let’s shift the discussion from “Bookmarks” to “Tags” in Delicious.

Delicious uses a fairly standard tag cloud for browsing tags:


If the user clicks on a tag in the cloud, he will see all of his bookmarks where he used that tag:


What if the user wants to see all bookmarks for all users for a given tag?  Delicious doesn’t make this quite as easy as I think it should be, but it is still fairly easy.  The user just navigates to the Explore Tags page (using the drop down in the top navigation) and types in the name of the tag they are interested in.  The result is a page that shows the most recent bookmarks for that tag:


By adjusting the number of bookmarks to show per page, the user can see up to 100 bookmarks per page that have been associated with the tag and scroll through them in reverse chronological order.

In summary, Delicious gives the user numerous easy-to-use and powerful ways to browse through and filter its database of bookmarks and tags and discover bookmarks and tags that other users have stored.


SharePoint Server 2010:

Browsing for “My” Bookmarks and Tags

If a user wants to see all of their bookmarks\tags, the feature that is provided for this is the Activities web part that is on the Tags and Notes view of the user’s My Profile page of their My Site:

SharePoint 2010 Tags and Notes on My Site

(Note that Tad Orman is signed in as the user.  Because of that, he sees all information on his My Site – even information he has marked as private.  Other users can see a public version of this page on his My Site that would only show information that he has not marked as private.)

To snap this screenshot, I logged in as Tad Orman, navigated to his My Profile page (1) on his My Site, selected the Tags and Notes tab (2), and refined what is shown in the Activities web part (5) by clicking on the Tags hyperlink (3) in the Refine By Type (4) control.  The result is that the Activities web part (5) is showing all of Tad’s tagging activities for the month selected.  (Note that the Activities web part has a scroll type of control (6) at the top that allows the user to scroll forward and backward through his/her activities by month.)

Within the list of activities, the user can see the page name (or URL, in some cases) he bookmarked\tagged (e.g. “Gears Marketing Project – ….” in the highlighted line), the tag that he used (“Gears” in the highlighted line), and the date that he bookmarked\tagged the page.

The page name (or URL) is hyperlinked.  So, the user can go directly to the tagged page by clicking on the link.

The tag is also hyperlinked.  If the user clicks it, he is taken to the Tag Profile page for that tag.  I will explain more about the Tag Profile page a little later.

Finally, there is a line below the bookmark/tag that gives the user the additional options to View Related Activities, Make Private, or Delete the bookmark:

SharePoint 2010 Tags Options

I think the options to mark a bookmark as private and delete a bookmark are self-explanatory.  The option to view related activities is not and requires more explanation.  I’ll cover it a little later. 

***One very important point to note here is that SharePoint 2010 never uses the terminology “bookmark” or “link” anywhere.  Even though the product certainly stores bookmarks\links in its database, it never uses that terminology in the user interface.  It only uses the term “Tags”, which it also stores in its database along with each bookmark\link

Even though this can be explained to end users (as I do below), I believe it will end up being confusing to many of them.  Users will ask questions like “How can I store bookmarks in SharePoint and share them with other users?” and “How can I find all of the bookmarks I have saved to the database?” and “What happened to the “My Links” feature from MOSS 2007 – what replaces it?”.  The answer to all of these questions is “Tags”, but the jump from the term bookmarks (or links) to tags will not be that intuitive for many everyday users, IMHO.***

Filtering and Sorting the List of Bookmarks\Tags to Make Finding Easier

The tag cloud underneath the Refine by tag control, needs some more explanation because it is the key to browsing and filtering tagging activities alphabetically, as opposed to browsing tags in reverse chronological order by month (which is the default).

Users can filter the list of tagging activities by using the tag cloud and the contents of the tag cloud can be sorted alphabetically by tag name to help the user find the tag she is interested in.  But, the steps for doing this may not be very obvious to new users.

In the sequence of screenshots below, this is accomplished by setting the Refine by Type control to “Tags” (1)  and then setting the Refine by Tag control to “Alphabetically” (2), and finally selecting the specific tag in the tag cloud that you are interested in (Gears Project in the screen shot) (3):

SharePoint 2010 - Browsing for Bookmarks

What this causes to happen is: the Activities web part (4) will only show bookmarks\tags activities for the tag selected in the Tag Cloud web part (Gears Project in the example).  This allows the user to browse through her tagging activities alphabetically by clicking on each tag in the Tag Cloud web part until she finds what she is looking for.

So, the three web parts, Refine by type (1), Refine by tag (2), and Activities For (4), are designed to work together to facilitate filtering and browsing of bookmarks and tags.

(Note: It is not possible in SharePoint 2010 to view the Activities web part (4) filtered or unfiltered sorted alphabetically by bookmarked page name. The list of activities in the web part are always sorted in reverse chronological order. Because of this, users cannot browse through the complete list of all of their bookmarked pages alphabetically. They can only browse tags alphabetically and then filter the activities list down to those for a specific tag.)


Browsing to Discover Bookmarks and Tags Used by Other Users

This is really the functionality of social bookmarking and tagging that makes it “social”.  More importantly, as I stated above about Delicious, this is where these software features can really help enterprises with knowledge sharing and discovery.  I believe the bigger the enterprise the more value this can provide because of the sheer volume of internal content that is stored in SharePoint.  The search engine is also critical, just like it is on the Internet.  But, there are times when humans can discover important information that search crawlers can’t.  The ability for humans to easily share what they have discovered is another important way to make sure quality content gets out to those who can benefit from it.

It seems to me that the SharePoint product team went to great extents to try to provide multiple ways and multiple places for a user to discover the bookmarks and tags that other users have created.  I think this approach to surfacing the bookmarking and tagging activity is great!

The best way to understand this is to walk through a scenario.  The scenario I will run through below is as follows:

Scenario: Jeff Williams is a member of the Contoso CRM Consulting team.  Tad Orman is also a Contoso CRM consultant and on Jeff’s team (they both report to Syed Abbas, the team leader).  Because Jeff and Tad report to the same manager, out-of-the-box SharePoint 2010 automatically connects them as Colleagues.  Jeff has heard through the “grapevine” that a group in a division in another geographical region is working on a new project to develop a product line that is vastly different than the existing product lines at Contoso.  Jeff would like to learn a little bit more about this initiative in case it might impact his work at some point.  Unfortunately, Jeff is out of the office most of the time and he doesn’t get a chance to “gather at the water cooler” with his co-workers that much, so he doesn’t think he will overhear what might be going on with the new product line anytime soon.  But, he does have some new social computing tools in SharePoint 2010 that are supposed to facilitate knowledge networking.  Maybe they could help him find more information…………

Here is Jeff Williams’ My Profile page in SharePoint 2010 (Note: the My Profile page is no longer the home page of a user’s My Site as it was in MOSS 2007):

SharePoint 2010 My Site My Profile page

To begin, Jeff starts paying attention to his My Newsfeed page which is now the home page of the My Site in SharePoint 2010:

SharePoint 2010 My Newsfeed

All of a sudden he starts noticing that his colleague, Tad Orman, has been tagging pages and documents in a site and using the tag “Gears Project”.  Could this have something to do with the new product line that Jeff has heard about?  Jeff has been stuck on an internal project in a remote office in Peru for the last six months and he is not as informed as he normally would be if he was working back at headquarters.

In the newsfeed, Jeff clicks on the hyperlink that reads “What is the projected Go-live date”.  This apparently is the name of a SharePoint page that Tad has bookmarked and tagged with “Gears Project”.  This is what Jeff sees when he clicks on the link:

SharePoint 2010 Error Page

Ooops, it doesn’t look like Jeff has access to this page.  (As an aside, it also doesn’t look like bookmarks and tags in the newsfeed in SharePoint 2010 follow the security trimming rules that SharePoint Search follows.)

Jeff navigates back to his My Newsfeed page and decides to click on the tag “Gears Project” in one of the line items to see if that would give him any more information.  He is taken to the Tag Profile page for the Gears Project tag:

SharePoint 2010 Tag Profile page 

In SharePoint 2010, every tag that is created has its own Tag Profile page, like this one.  The Tag Profile page is designed to show a list of all of the content where the tag has been used and the number of users who have used the tag on each content item.  Content items can be SharePoint pages, document libraries, lists, documents or list items.

It looks like another person has been using the Gears Project tag and tagging some of those same pages that Tad tagged and that showed up in Jeff’s newsfeed.  Since it is a hyperlink, Jeff decides to click on the number (2) in the first item to see who else has tagged one of these pages:

SharePoint 2010 People Who Tagged dialog

Looks like someone named Jeff Hay has also tagged those pages.  That name, Jeff Hay, sounds familiar.  Sounds like he might be one of the big shots at Contoso.  Jeff Williams decides to click through to Jeff Hay’s public profile on his My Site:

SharePoint 2010 Tags and Notes on My Site - Jeff Hay

Yep, Jeff Hay is a big shot.  He is the Corporate Vice President of Operations at Contoso.  And on this Tags and Notes tab, Jeff Williams can see that Jeff Hay has used the Gears Project tag several times.

Still, Jeff Williams is stuck. If he clicks on any of the bookmarked pages for the Gears Project (whether on Jeff Hay’s profile page, or on Jeff Williams My Newsfeed page, or the Gears Project Tag Profile page), he is just going to get an Access Denied message like the one he got above.

Wait.  It looks like there is another public tag in Jeff Hay’s tag cloud that might relate to this.  Next to the Gears Project tag there is a “New Product” tag.  Can’t hurt to click on it and see where it leads:

SharePoint 2010 Tags and Notes on My Site - Jeff H


SharePoint 2010 Tags and Notes on My Site - Jeff H

Hmmm… Looks like Jeff Hay has also been tagging some of the Gears Project related pages with the “New Product” tag as well.  That’s very interesting.  If Jeff Williams could only access one of these pages he might get another clue………

The second one in the list “Gears Project – Blog” didn’t appear in the list of bookmarked pages for the “Gears Project” tag.  So, Jeff Hay has bookmarked that page with the tag “New Product”, but not the “Gears Project” tag.  Wonder why?  Maybe it is worth a click to see if that page is accessible:

SharePoint 2010 Tags and Notes on My Site - Jeff H

Whoa!  Jeff Williams just hit pay dirt. Read the content of the blog post in this screen shot:

SharePoint 2010 My Site Blog Post

Frank Martinez is the Chief Operating Officer of the company and Jeff Hay reports to him.  Frank Martinez reports directly to the CEO, Dan Jump:

SharePoint 2010 My Site

Frank Martinez has decided to write a blog post on his internal My Site blog.  By default, My Site blogs are viewable by anyone that can authenticate to SharePoint.  Frank is divulging some breaking news and choosing to do it using his SharePoint blog because he is interested in fostering knowledge networking in the company and believes that the new tools in SharePoint 2010 can help do that.

On top of finding this information, Jeff Williams also sees that Frank Martinez has indicated that he is willing to be asked about the Gears Project tag:

SharePoint 2010 Ask Me About

Why not?  Seize the day!  Jeff Williams clicks on the hyperlink in Frank’s “Ask Me About” section and asks the COO a question:

SharePoint 2010 Note Board and Ask Me About

SharePoint 2010 Note Board and Ask Me About

How cool is that?  Jeff Williams finds an open door to ask a question of the Chief Operating Officer of the company!

So, to recap, Jeff Williams was able to fairly quickly discover some new important knowledge that he didn’t have when he walked in the door to the office that morning.  Moreover, he discovered it while working at a remote office far away from headquarters and not working side by side with his other team members.  SharePoint 2010’s social bookmarking and tagging approach really enabled Jeff to jump from bookmark to bookmark and “find the needle in the haystack” pretty quickly.  Finally, two other social computing features of SharePoint 2010, Note Boards and Ask Me About, gave Jeff an easy opportunity to engage with the company’s COO by asking a question related to the subject.

In this scenario, I showed the following tools in SharePoint 2010 that help the user browse and discover other people’s bookmarks and tags:

  • My Newsfeed
  • The Tag Profile page for a tag
  • The public view of another user’s My Site and their public tagging activity

In addition to these three tools, users can discover what tags other users have used by looking on the Tags tab of the Tags and Notes dialog of any SharePoint page.  There is a Suggested Tags section with hyperlinks to the Tag Profile page for each tag, and there is a Recent Activities section that shows some of the most recent users who have tagged the page and what tags they have used.  The user name and the tag used are both hyperlinked:

SharePoint 2010 Suggested Tags and Recent Activities

By the way, this dialog box can also be brought up when you click on the “View Related Activities” hyperlink when browsing through bookmarks on a My Site:

SharePoint 2010 Bookmarks and Tags - View Related Activities


Finally, with respect to browsing and discovering bookmarks and tags, SharePoint 2010 also provides a Tag Cloud web part that can be placed on any page in a SharePoint site.  The Tag Cloud web part has a few web part properties that can be adjusted to affect the content and display of the web part:

  1. “Show Tags” filter
  2. “Maximum Items” to display
  3. “Show Count” check box

SharePoint 2010 Tag Cloud web part options

The “Show Tags” filter, offers three options:

  • By Current User
  • By All Users
  • Under the current URL by all users

“By Current User” is going to show all of the tags that the currently logged-in user has created in all sites, in all site collections and all web applications, up to a maximum of the top 50 most used tags.  Essentially, using this filter will result in showing exactly the same tags as is shown on the tag cloud on a user’s My Site.

“By All Users” is going to show an aggregation of all users tags from all sites, in all site collections and all web applications, up to a maximum of the top 50 most used tags.

“Under the current URL by all users” is going to show only tags that have been assigned to content from the current site and all sites underneath it.  It will show all users tags up to a maximum of the top 50 most used tags.

Here is a sample of the Tag Cloud web part with the “Show Tags” filter set to “By All Users”:

SharePoint 2010 Tag Cloud web part

One other point worth noting about the Tag Cloud web part is that I have seen it appear in at least two different Categories in the Web Part Gallery.  I have seen it appear in the “Navigation” group in some site collections and the “Social Collaboration” group in other site collections.  I assume that this is due to different templates being used to create the site collections and inconsistency between those templates.  Here are a couple of screen shots that demonstrate this:

SharePoint 2010 Web Part Gallery - Tag Cloud Web Part

SharePoint 2010 Web Part Gallery - Tag Cloud Web Part


Comparison: Browsing Bookmarks and Tags

At first, I did not feel like SharePoint 2010’s tools to browse and discover bookmarks and tags were very robust or well-designed.  At first blush it seemed to me that the average user could pretty easily figure out how take advantage of the social bookmarking features of Delicious and find relevant bookmarks and tags, but I wasn’t so sure about that being the case with SharePoint 2010.  The approach the two products take is very different.

The all-together, all-in-one-site approach in Delicious makes it easy to “get your arms around” the capabilities and how to use them.  The spread out, “follow the string” approach in SharePoint 2010 is not nearly as easy to logically understand, but may turn out to be much more effective at helping the user discover the knowledge and actually do something with it.  I think the example scenario I walked through in the latter half of this post does a good job of demonstrating that fact.

I am about finished with covering social bookmarking and tagging in SharePoint 2010.  All that is left is to look at how the Search engine supports finding bookmarks and tags.  That will be the subject of my next post and then I will move on to other aspects of SharePoint 2010’s deep set of social computing features.  Thanks for reading!

Read More

View Changes Makes In-Browser Content Localization Easier

View Changes is a new SharePoint 2010 Variations feature that compares two versions of a source page relevant to the corresponding target page. View Changes provides a report highlighting the differences between the source version that has most recently propagated to the target and the prior source version that propagated to the target and was published on the target. By highlighting differences, the View Changes button simplifies in-browser content editing using the Variations feature.

I’m Josh Stickler, the Program Manager responsible for Variations. In this post, I will explain:

  • Where to find the View Changes button
  • When the View Changes button is available
  • Our envisioned content editing process using View Changes

The most common application of the Variations feature is in multi-language sites.  Let’s look at View Changes from the perspective of Anders, an English-to-Danish translator working with the Danish subsidiary of AdventureWorks, an international camping goods retailer.


AdventureWorks is set up with an English (EN-US) site as its source label and target labels for international markets, each corresponding to a different language.  Pages from the source label automatically propagate to the target labels when they are published so AdventureWorks’ global web presence is in sync.  Translators at each of the targets then process the English-language content for localized consumption. AdventureWorks’ Variations hierarchy looks like this:


Initial Localization

Automatic Creation

Let’s imagine that content authors at AdventureWorks in the United States have just published a new page with a sneak peek of this winter’s new product lineup. Since “Automatic Creation” is enabled (this is the case by default), the page is picked up by the Variations Propagate Pages timer job and copied to all target labels, including Danish (DA-DK).

E-mail Notification

As the designated owner of the new page, Anders gets an e-mail informing him that this page has been copied to the target label by the Variations feature and is ready for processing. 

Target Translation and Publication

Anders navigates to the page on the Danish (DA-DK) variation of the AdventureWorks website and sees the English language content.  Since it’s all new, he translates all of this content into Danish and submits the page for approval.  The page is approved and published and now appears on the Danish variation of the website.

Since Anders received an entirely new page to translate, there were no changes to view; hence, the View Changes button is not available.

Subsequent Modification

Source Modification and Publication

Back in the United States, AdventureWorks decides to announce a new product in its sneak peek lineup.  English language content authors add a paragraph describing this new product, an ultra light sleeping bag, and publish the page. The page now propagates to the Danish variation.

E-mail Notification

Anders receives an e-mail notification that new content is ready for processing.  He visits the appropriate page on the Danish variation site and the English content appears and is waiting for translation.

But wait, there is a lot of English content here, and Anders has already translated most of it.  Only one paragraph has been added.  How will Anders know that he doesn’t need to re-translate the whole page?

It’s at this point that the View Changes button comes to the rescue and is available. 


Please note that View Changes requires the Variations Propagate Pages timer job to be enabled. View Changes only compares changes between a source version of a page and a target version that has been copied using the Variations Propagate Pages operation.

Version Comparison

Anders clicks the button and a version differential window pops up, highlighting the new paragraph that has been added.  Now, Anders knows that only this paragraph has been added and doesn’t have to scan through the new and old versions of the English content to determine what he has to translate. 

Restore Previous Version

Anders decides he prefers to revert back to the translated Danish version of the page as a basis for adding the new paragraph.  With the View Changes window open, Anders knows exactly which paragraph to translate and where it goes.  He adds the new content in Danish, submits for approval, and it’s published live on AdventureWorks’ Danish variation site.  Fantastisk.

In addition to providing target variation site translators with insight into what content has changed when pages are copied from the source, SharePoint 2010 also enables authors on the source to decide when to propagate content to targets. By default in MOSS 2007, when content authors published pages in the source variation site, that page would automatically propagate to all target variation sites, even for small changes that are relevant only to the source variation site.

SharePoint 2010 provides the ability to disable automatic page propagation; source variation site content authors can then use the Update Variations button to propagate content on demand. See my previous post, “Site and Page Propagation” for more information on how to enable this setting.

Thanks for reading! Keep checking back for new blog posts.

Josh Stickler
Program Manager

Read More

Programmatically Setting SharePoint 2010 Calendar Overlays

I recently did a project where my client needed several calendars provisioned via a Feature Receiver when a particular type of Site Collection was created; they had one primary calendar and they wanted all the other calendars to be overlaid onto the primary one using SharePoint 2010’s Calendar overlay capabilities. Here’s a quick summary of [...]
Read More

Deploying an External Content Type, Error: The default web application could not be determined

I had this error today creating an External Content Type for Business Connectivity Services (BCS) in Visual Studio 2010. I had to get help resolving it so I wanted to share the resolution.

Error occurred in deployment step ‘Add Solution’: The default web application could not be determined. Set the SiteUrl property in feature BdcModelProject2_Feature1 to the URL of the desired site and retry activation.

Parameter name: properties

You can resolve this by editing the Feature1.feature file in Visual Studio 2010. Open the template and add a line to tell them what your web application is. Mine is called http://intranet.contoso.com

Add this line:     <Property Key=”SiteUrl” Value=”http://intranet.contoso.com/” />

So the full template now looks like this:

<?xml version=”1.0″ encoding=”utf-8″ ?>
<Feature xmlns=”http://schemas.microsoft.com/sharepoint/“>
    <Property Key=”GloballyAvailable” Value=”true” />
    <Property Key=”SiteUrl” Value=”http://intranet.contoso.com/” />

Read More

FILESTREAM with SharePoint 2010

​Author: Bill Baer, Senior Technical Product Manager, Microsoft Corporation – SharePoint

FILESTREAM is a new feature in SQL Server 2008 that enables the storage of unstructured data on a NTFS file system. FILESTREAM (local or remote) is supported in SharePoint 2010 as one mechanism of reducing capital expenditures through enabling the storage of large binary unstructured data on content addressable or commodity storage.

Unstructured Data
Unstructured data refers to information that does not adhere to a defined model or does not fit well into relational tables in SharePoint unstructured data can refer to Microsoft Office document file formats, video, audio, and related file types.
Structured Data
Structured data in SharePoint refers to the metadata associated with its corresponding unstructured data or BLOB. Relational databases are most often cited as examples of structured data.
SQL Server and Unstructured Data Storage
There are three (3) approaches to storing unstructured data with SQL Server, RBS, SQL BLOB, and FILESTREAM:
  • Remote BLOB Storage (RBS) in which SharePoint relies on a new layer in SQL Server to read or update BLOB data stored outside of the database on separate BLOB Stores (file system or dedicated BLOB stores)
  • SQL BLOB which refers to traditional BLOB storage with SharePoint, BLOB data is stored along side the structured metadata in the Content Database
FILESTREAM is implemented on the varbinary(max) datatype instructing the database engine to store unstructured data on the file system through a FILESTREAM filegroup that contains file system directories instead of the files themselves also known as data containers. Data containers are the interface between database engine storage and file system storage. varbinary is the binary data type designation for binary large objects stored in SharePoint 2010 content databases and refers to variable-length binary data. (MAX) refers to a value that max indicates that the maximum storage size is 2^31-1 bytes or otherwise 2GB. Remote BLOB Storage does not provide a mechanism to exceed to the 2GB file size limit imposed by SharePoint.
In SharePoint 2010 remote BLOB data is referenced by a unique identifier in content databases configured for RBS (see illustration).

FILESTREAM offers several benefits as related to performance 1) FILESTREAM uses the NT system cache for caching file data reducing the effect that FILESTREAM data has on Database Engine performance and 2) the SQL Server buffer pool is not used; therefore, memory is available for query processing.
FILESTREAM provides optimum value in scenarios where SharePoint is used to storage large BLOB data such as video files that will benefit from FILESTREAM or BLOB data that exceeds 1MB.
Special Considerations
FILESTREAM and Business Continuity Management
Database mirroring does not support FILESTREAM since a FILESTREAM filegroup cannot be created on the principal server and database mirroring cannot be configured for a database that contains FILESTREAM filegroups. If the FILESTREAM provider is used to store BLOB data locally (within the same content database) the database cannot be configured for database mirroring.
If the FILESTREAM provider is configured to store the BLOB data within a separate SQL database or when using a 3rd party BLOB store, the content database can be mirrored; however, database mirroring will apply only to the content database and not the BLOB data. The BLOB data needs to be handled separately and kept in sync with the associated metadata (content database). For FILESTREAM BLOB databases, this can be done through log shipping.
To learn about the differences between FILESTREAM and SQL Server Remote BLOB Store see also http://blogs.msdn.com/b/sqlrbs/archive/2009/11/18/sql-server-remote-blob-store-and-filestream-feature-comparison.aspx.
FILESTREAM and the Office Web Applications Cache
The Office Web Applications cache is used by Word and PowerPoint Web Applications to create a version of a document requested for viewing through the browser improving performance and reducing resource consumption on server machines by making cached versions of a document or presentation available in cases where there are multiple requests for the same document. 
The Office Web Applications cache occurs in two (2) distinct tiers, on the server file system and within a “specialized” site collection hosted on a per Web application basis. Document or presentation requests made through the Office Web Applications are served through both caches as the images are rendered for client consumption. Both cache locations are used by all site collections within a Web application where the Office Web Applications features activated.
Content databases where FILESTREAM is configured will store the cached versions of the document or presentation in the configured provider location.  It is recommended to configure the Office Web Applications cache on a database that is not configured for FILESTREAM.
Configuring FILESTREAM with SharePoint 2010
The instructions that follow are designed to be used on a single-server deployment for demonstration purposes and implements the local FILESTREAM Provider.
Enable FILESTREAM on the target SQL Server Instance
1.       On the Start menu, point to All Programs, point to Microsoft SQL Server 2008 (R2), point to Configuration Tools, and then click SQL Server Configuration Manager.
2.       In the list of services, right-click SQL Server Services, and then click Open.
3.       In the SQL Server Configuration Manager snap-in, locate the instance of SQL Server on which you want to enable FILESTREAM.
4.       Right-click the instance and then click Properties.
5.       In the SQL Server Properties dialog box, click the FILESTREAM tab.
6.       Select the Enable FILESTREAM for Transact-SQL access check box.
7.       If you want to read and write FILESTREAM data from Windows, click Enable FILESTREAM for file I/O streaming access. Enter the name of the Windows share in the Windows Share Name box.
8.       If remote clients must access the FILESTREAM data that is stored on this share, select Allow remote clients to have streaming access to FILESTREAM data.
9.       Click Apply.
10.    Click Start, click All Programs, click Microsoft SQL Server 2008 (R2), and then click SQL Server Management Studio.
11.    In SQL Server Management Studio, click New Query to display the Query Editor.
12.    In Query Editor, enter the following Transact-SQL code:
EXEC sp_configure filestream_access_level, 2
In Query Editor, enter the following Transact-SQL code:
Provision the RBS Data Store
1.       Click Start, click All Programs, click Microsoft SQL Server 2008 (R2), and then click SQL Server Management Studio.
2.       Expand Databases.
3.       Select the content database for which you want to create a BLOB store, and then click New Query.
4.       In SQL Server Management Studio, click New Query to display the Query Editor.
5.       In Query Editor, enter the following Transact-SQL code:
use [Database Name]
if not exists (select * from sys.symmetric_keys where name = N’##MS_DatabaseMasterKey##’)create master key encryption by password = N’Admin Key Password !2#4′
In Query Editor, enter the following Transact-SQL code:
use [Database Name]
if not exists (select groupname from sysfilegroups where groupname=N’RBSFilestreamProvider’)alter database [Database Name] add filegroup RBSFilestreamProvider contains filestream
In Query Editor, enter the following Transact-SQL code:
use [Database Name]
alter database [Database Name] add file (name = RBSFilestreamFile, filename = ‘c:\BlobStore’) to filegroup RBSFilestreamProvider
Install the Microsoft SQL Server 2008 R2 Remote Blob Store
Download the x64 package for the Microsoft SQL Server 2008 R2 Remote Blob Store from the Microsoft SQL Server 2008 R2 Feature Pack at http://www.microsoft.com/downloads/en/details.aspx?FamilyID=ceb4346f-657f-4d28-83f5-aae0c5c83d52&displaylang=en.
Open a Command Prompt with Administrator permissions and execute the following command to install RBS.MSI downloaded in the previous step:
msiexec /qn /lvx* rbs_install_log.txt /i RBS.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="<Database Name>" DBINSTANCE="<Instance Name>" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1
Specify the full path to RBS.MSI in the above state, i.e. C:\Users\Administrator\Desktop\RBS.MSI. Replace the values for DBNAME and DBINSTANCE to match your environment.
Enable Remote BLOB Storage
1.       On the Start menu, click All Programs.
2.       Click Microsoft SharePoint 2010 Products.
3.       Click SharePoint 2010 Management Shell.
4.       In the SharePoint 2010 Management Shell, enter the following Windows PowerShell statement to set the content database to be configured:
$database=Get-SPContentDatabase –Identity “Database Name”
In the SharePoint 2010 Management Shell, enter the following Windows PowerShell statement to gets the object that holds settings that determine how the content database uses Microsoft SQL Server Remote Blob Storage:
In the SharePoint 2010 Management Shell, enter the following Windows PowerShell statement to determine if RBS has been installed for the selected content database:
The result of $rbs.Installed() should be True, if the result is False, verify RBS.MSI has been installed successfully by reviewing rbs_install_log.txt. Ensure the install statement was running In the SharePoint 2010 Management Shell, enter the following Windows PowerShell statement to enable RBS for the selected content database:
In the SharePoint 2010 Management Shell, enter the following Windows PowerShell statements to set the RBSprovider for the selected content database:

The result of $rbs should be:
Table 1

Appendix for Table 1
Enabled specifies whether or not RBS has been enabled for the selected content database.
ActiveProviderName is name of the SQL Remote Blob Storage provider new files will be stored in. This will be null if new files will not be stored using SQL Remote Blob storage.
MinimumBlobStorageSize refers to the minimum size a BLOB may be to be considered RBS storage worthy, BLOB data exceeding the specified MinimumBlobStorageSize will be stored in the RBS data store.
FILESTREAM performance data shows BLOB data exceeding 1MB provides the most efficient streaming performance. See also http://msdn.microsoft.com/en-us/library/cc949109(SQL.100).aspx.

To configure the MinimumBlobStorageSize:
1.       On the Start menu, click All Programs.
2.       Click Microsoft SharePoint 2010 Products.
3.       Click SharePoint 2010 Management Shell.
4.       In the SharePoint 2010 Management Shell, enter the following Windows PowerShell statements to configure the MinimumBlobStorageSize at 1MB:
$database = Get-SPContentDatabase “Database Name”
UpgradePersistedProperties specifies the collection of field names and values for fields that were deleted or changed.
Validate Installation
To validate the FILESTREAM configuration and RBS installation:
1.       Click Start, click All Programs, click Microsoft SQL Server 2008, and then click SQL Server Management Studio.
2.       Expand Databases.
3.       Select the content database for which you want to create a BLOB store, and then click New Query.
4.       In SQL Server Management Studio, click New Query to display the Query Editor.
5.       In Query Editor, enter the following Transact-SQL code:
USE [Database Name]
SELECT * FROM dbo.DatabaseInformation
Confirm that both the RBSCollectionId and RBSProvider rows are available.
Test the RBS Data Store
1.       Select a desired Document Library on a site in the configured content database.
2.       Upload a file that is greater than 1 MB.
3.       On the computer that contains the RBS data store, click Start, and then click Computer.
4.       Browse to the RBS data store directory.
5.       Browse to the file list and open the folder that has the most recent modified date (other than $FSLOG). In that folder, open the file that has the most recent modified date. Verify that this file has the same size and contents as the file that you uploaded. If it does not, ensure that RBS is installed and enabled correctly.
The data store directory structure will appear similar to that in the following diagram.

In the event error "The URL ‘<Document Library>/File’ is invalid. It may refer to a nonexistent file or folder, or refer to a valid file or folder that is not in the current Web.” is displayed when uploading documents greater than the configured MinimumBlobStorageSize open SQL Server Configuration Manager and enable Enable FILESTREAM for file I/O streaming access and restart the SQL Server (MSSQLSERVER) service.
Additional Resources



Read More

What are Microsoft Office Web Apps for SharePoint 2010?

Today, we want to unravel an amazing hot and popular  feature that comes with our Portal Front SharePoint Hosting offering. This feature is Microsoft Office Web Applications. But what is it?
Microsoft Office Web Apps allow you to view and edit Microsoft Office documents directly from the browser. Knowing this, here are some common follow up [...]
Read More