SharePoint Blogging Tips

I am seeing more and more interest from organizations wanting to use SharePoint’s Blogging capabilities internally.  Blogging can be a great way to communicate and collaborate in an organization, but it is just now getting the mainstream attention and consideration.  Here are some tips and considerations that can help your organization maximize the effectiveness.

New Communication Uses

While the feature has not changed much, it is being perceived differently now.  In some cases it is being used to replace things that perhaps would have been communicated via something like a standard Announcement list.  While the Announcements support expiration, they leave a lot to be desired.  A blog article can be categorized more effectively without needing to configure any extra lists, and they can also be used to solicit feedback or comments. 

Blog Authoring Tools

The content authoring in SharePoint 2007 was a bit cumbersome in 2007.  It is better with 2010, but I would highly recommend using a tool like MS Live Writer for anyone that blogs on a regular basis.  This tool works great with all major blog platforms including SharePoint.  It can also provide a real advantage for anyone maintaining multiple blogs (Company Personal, Project/Product Team, Public). 

Blog Extensions

For anyone interested in widely using the Blogs and would like more features and flexibility, I would highly recommend you take a look at the Community Kit for SharePoint, Enhanced Blog Edition (CKS:EBE).  The current version 2.0 was built for SharePoint 2007 (WSS/MOSS) with a new version in the planning stages for SharePoint 2010.

Migration Tools

If there is significant content currently housed on another blog platform that you want to migrate into SharePoint you may want to consider a migration tool.  As an example the Metalogix Migration Manager for Blogs and Wikis can quickly and effectively move content and images into a SharePoint blog.


SharePoint’s blogging capabilities can provide a effective mechanism for communication and collaboration throughout an organization.  With these tips hopefully you can better leverage it in your organization. 

SharePoint Designer 2010 Available Workflow Actions

A colleague of mine was asking for a comprehensive list of available workflow actions in SharePoint Designer 2010.  I did some searches and couldn’t find the details so I thought I would provide them here.

Core Actions
  • Add a Comment 
  • Add Time to Date 
  • Do Calculation 
  • Log to History List 
  • Pause for Duration 
  • Pause until Date 
  • Send an Email 
  • Set Time Portion of Date/Time Field
  • Set Workflow Status 
  • Set Workflow Variable 
  • Stop Workflow
Document Set Actions
  • Capture a version of the Document Set 
  • Send Document Set to Repository 
  • Set Content Approval Status for the Document Set 
  • Start Document Set Approval Process
List Actions
  • Check In Item 
  • Check Out Item 
  • Copy List Item 
  • Create List Item 
  • Declare Record 
  • Delete Item 
  • Discard Check Out Item 
  • Set Content Approval Status
  • Set Field in Current Item 
  • Undeclare Record 
  • Update List Item 
  • Wait for Field Change in Current Item
Relational Actions
  • Lookup Manager of a User
Task Actions
  • Assign a Form to a Group 
  • Assign a To-do Item 
  • Collect Data from a User 
  • Start Approval Process 
  • Start Custom Task Process 
  • Start Feedback Process
Utility Actions
  • Extract Substring from End of String 
  • Extract Substring from Index of String 
  • Extract Substring from Start of String 
  • Extract Substring of String from Index with Length 
  • Find Interval Between Dates

I was disappointed to report that there is still no out of the box action for calling a Web Service or action to bring back other attributes of the User’s Profile.  Custom or Third-Party actions will still have to be used to support this.

Event – SharePoint Saturday Tampa Wrap-up

Another SharePoint Saturday is in the books.  As always it is great to see the interest and how people can come together to share their experiences.

A big thank you to everyone that attended my session, to the event sponsors and of course to all of the event coordinators and volunteers that made it happen.

Despite the technical issues with my VM, hopefully there was some good content shared during the demo.  For anyone interested, here is my slide deck:  SharePoint 2010 Personalization Overview

User Profiles – Driving Business Process

The workflow features first introduced in WSS 3.0/MOSS in 2007 and enhanced in the 2010 offerings present an opportunity for organizations with SharePoint to start to automate the coordination of their business processes.  While many have been working with it, one of the limitations I have seen is that everything is localized to a particular site or process.  In many cases there are configuration or user attributes managed in a local list that can be used as a data source. 

Manage the Data Centrally

One technique that is not widely used, but could greatly enhance the capabilities and manageability of the workflows as a whole would be to utilize the User Profiles more to house and maintain information relating to the users.  By managing it centrally it can be used by all processes throughout the organization.  For user maintained properties, it provides a central and secure mechanism for them to maintain it.  For system maintained properties, synchronized from an external system through AD or the BCS (HRIS, CRM, etc) there are already mechanisms in place to manage this.

In SharePoint Designer 2010 there is a new action that supports a lookup for a user’s manager.  This would be a critical component to support approval workflows obviously, but for most business processes there are other attributes that are also needed.  Some could be based on default user profile fields like Location or Hire Date, but others are likely to be custom to the organization.  Custom properties could include employee IDs, department charge codes, division identification, etc.  [Note: See User Profiles – Creating Custom Properties for a walk through] 

How to Access the Data

Typically the information is accessed via the API with UserProfileManager or the UserProfileService web service (/_vti_bin/userprofileservice.asmx).

InfoPath – From InfoPath you can identify a DataSource through a Web Service call pointing to the UserProfileService.  [Note: See Itay Shakury’s blog for full walk through]

Visual Studio Workflows – In visual studio with the full ASP.NET capabilities it is easiest and most effective to use the UserProfileManager to access the profile and all properties.

SharePoint Designer Workflows – With the exception of the manager lookup action that was added, SharePoint Designer workflows will need either a custom or third party action that can interact with the User Profiles. 

I am currently working on a simple action that I will blog about and post to CodePlex.

Other Uses – Delegation of Authority

This process could also be used to provide a mechanism for maintaining additional, more complex properties.  An example would be something like Delegation of Authority which allows a person of authority to be able to delegate (or pass) that responsibility to another person.  SharePoint does not handle this at all out of the box.  A series of fields could be defined to support this; Start Date, End Date, Delegate.  This information could be read into the discrete processes with management being centralized in the User Profiles.

The limitation with this model is that the User Profiles are not like a list and do not support advanced business rules.  If that is required a separate system would need to be build, but I would recommend you try and keep it centralized and not built into the specific process.


By leveraging the User Profiles as a central repository that can support your organization’s processes you will simplify the management of the information and make it much easier to reuse in a consistent manner across the many processes. 

User Profiles – Creating Custom Properties

The User Profiles in SharePoint Server represent a very robust and flexible way to manage information about the members of your organization.  It can be used to fill the roll of a searchable Employee Directory, used to drive business processes and workflows, and also makes it easier to find people in the organization based on their expertise and user property attributes providing social networking functionality. 

The default properties that are created at the time of installation are just a starting point.  In this article I will show you just how easy it is to create new properties that help support your organization and business processes. 

Planning The New Property

When defining new fields here is a selection of things to consider:

  • Name / Display Name
  • Type – Wide range of field types
  • Length – Cannot be modified in some situations
  • Configure a Term Store Set – Managed Meta Data
  • Policy Setting – Required, Optional, or Disabled
  • Privacy Settings – Field level privacy
  • Edit Settings – User maintained or administrator/system maintained
  • Display Settings – Show on View/Edit/Newsfeed
  • Search Settings – Support for a user Alias (i.e. Employee ID) and if it is Indexed
  • Profile Synchronization – You also have the ability to configure a synchronization with an external system (i.e. CRM, HRIS)

In many cases the options change based on the value of previous options.  A good example is based on the settings with the Type of string (Multi Value) or the Policy Setting.

Create Custom Property Walkthrough

Since I work in consulting, much of our content is very much client focused.  This is a great example of a property that would be very important to us, but not so important for the average company.  In my case, I want to allow consultants to add one or more customer names that they have worked with.  Since this valuable information could potentially be used for a number of purposes, (like tagging) throughout the entire SharePoint environment, I have decided to create a Managed Meta Data Term Set for this property so that we can reuse the content. 

Here is a quick shot of the Client List I created in the Term Store.

Define A Term Set

To create a new property, browse out to the User Profiles Service Application (or whatever your Profile Service App is named) and select the Manage User Properties link.

Manage User Properties

A full listing of the User Properties is displayed with properties organized into sections.  They can be ordered and placed into sections as needed.  To create a new property, simply click the New Property menu item.

New Property

Complete the main Property Settings.  In many cases changes to these settings cannot be made which means the previous property would have to be deleted and recreated.  In this case I created my Clients property and set it to a multi-value string separated by semicolons.  I then pointed it to the Client List Term Set previously configured.

Property Definition

The next set of fields control how the list is displayed and if it can be edited.  In this case, I want to make it an optional property and encourage consultants to maintain the value so I will enable it in each of the Display Settings.  It is not confidential information, so I will be sure to set the Privacy level to Everyone. 

Display and Policy Settings

Here is what the current profile looks like when rendered.  You can see that the Clients field is displayed and each value a link that feeds into the People Search.

Profile View

Once the values have been crawled and are available in the search index, you will start to see results in the people search process. 

People Search


By extending the User Profiles with custom properties you can leverage the robust platform to support an organization and its unique processes and content.

Event – June MSDN SharePoint MVP Chat

Another SharePoint MVP chat has been scheduled to take place next week.  Here are the details:

Live Chats to Learn more about SharePoint – with 17 MVP Experts Do you have questions about SharePoint? Want to learn more about the recently launched SharePoint 2010? By popular request, SharePoint MVPs from around the world are participating in a live chat event about SharePoint. These Q&A; events are a great opportunity to tap into the vast knowledge of these industry professionals who are regarded as the best in their field.

Please join us on Wednesday June 23rd at 9am PDT! Learn more and add these chats to your calendar by visiting the MSDN event page

On June 23rd, tune in between 9:00 – 10:00 AM Pacific time to chat with the following MVPs:

  • Amanda Perran
  • Ben Curry
  • Bryan Phillips
  • Dan Attis
  • Daniel Larson
  • Jason Medero
  • Mike Oryszak
  • Muhanad Omar
  • Paul Schaeflein
  • Paul Stork
  • Randy Drisgill
  • Rob Foster
  • Saifullah Shafiq Ahmed
  • Serge Tremblay
  • Shane Perran
  • Spencer Harbar
  • Woody Windischman
  • Configuring SharePoint 2010s Social Aggregation Jobs

    SharePoint 2010 includes a number of useful features to enhance Social Collaboration by aggregating and surfacing social data.  By default, these jobs may be disabled or at the very least not set to update frequently enough.  Like all Timer Jobs in SharePoint 2010, these jobs can be configured to meet your needs.

    You can find the jobs by navigating to Central Administration, selecting the Monitoring option, and then clicking the Review job definitions link under Timer Jobs.

    Monitoring -> Timer Jobs Timer Jobs” src=”″ />

    Two of the important jobs that should be immediately tweaked are the User Profiles – Activity Feed Job and the User Profiles – Social Rating Synchronization Job.

    Configure Timer Job

    The User Profiles – Activity Feed Job is disabled by default.  It should be activated and a good schedule set.  The schedule should be set based on how much activity you have, but chances are this is not going to negatively impact your farm so I prefer to have this updated very frequently.  For demo servers I’m setting this to 10 minutes.  In production servers, I will set it to 30 minutes. 

    For the User Profiles – Social Rating Synchronization Job, an hourly schedule should suffice most environments.  During coordinated feedback campaigns though it may be necessary to decrease the scheduled wait times.

    Configure Timer Job


    Setting the schedule for these jobs will provide social communities more timely content and social interactions further driving user engagement and overall collaboration.

    Related Posts

    %d bloggers like this: