Tag Archives: sp2010

How FAST Search Server 2010 for SharePoint Powers Worldwide Intranet Search at Microsoft

Have you ever wondered how Microsoft deploys and uses enterprise software?  Check out the Microsoft IT Showcase: How Microsoft Does IT

Recently posted is a whitepaper that details how Microsoft IT deployed FAST Search Server 2010 for SharePoint to provide worldwide enterprise search capabilities to Microsoft employees.

Download the whitepaper or read about it online.

Tips for SharePoint Beginners

I have been working with SharePoint 2010 since the very early beta days.  At that time I was working for a consulting firm where I was assisting a county government with their SharePoint administration and development tasks.  I was lucky because my customer decided to take a risk by allowing me to move them towards a new SharePoint version before even the beta was available.  They agreed to allow me to invest time in SharePoint 2010 and investigate the effort to upgrade their recently deployed 2007 farm to SharePoint 2010.  While SharePoint 2010 was in beta I worked to convert my custom developed SharePoint 2007 solutions to Visual Studio 2010 SharePoint projects.  Two weeks after SharePoint 2010 hit RTM I successfully migrated an intranet and a public facing web site from SharePoint 2007 to SharePoint 2010. 

Since that time this customer has gone on to do some amazing things with their SharePoint 2010 farm, including rolling out several more public facing web sites and an extranet.

So I titled this post “Tips for SharePoint Beginners” and I am sure by  now you are asking, where are the tips?  I wanted to first establish a bit of background so you can see where my opinions on SharePoint 2010 came from.  These tips are really aimed at the person or persons who are planning a SharePoint deployment.  Hopefully a few of these tips will provide you with a bit of wisdom and guidance to help you be successful.

  • Know why you are deploying SharePoint.  This may seem obvious, but I have seen many organizations decide that they need to deploy SharePoint just because they hear everyone else is doing it.  Before you even begin to think about deploying SharePoint, make sure you fully understand the products capabilities and licensing models.  Ensure that you have a good business reason for deploying SharePoint.  Don’t start out with SharePoint as your solution and then go looking for a problem that it can fill.  I believe that every organization can benefit greatly from SharePoint, however, you need to identify why YOUR organization is going to use SharePoint.
  • Don’t be an army of one.  A single person or department (…I’m looking at you in IT) should not take on a SharePoint deployment alone.  If you want a successful, well adopted implementation, you need to include representation across the user base during planning and governance.  Implementing a SharePoint steering committee is a very good practice. For the best outcome, have representation from different departments within the organization invited to be on the steering committee.  I also recommend rotating people in and out of the steering committee to keep fresh ideas and perspectives.
  • Choose the right tool.  SharePoint is like a hammer. It is a great tool that helps you accomplish specific tasks.  The key is to know when you really need a screwdriver.  By reviewing the SharePoint documentation and overviews you will have a better understanding of when SharePoint should be used and when it shouldn’t.
  • A single conversation with a wise man is better than ten years of study.  If you or your co-workers are not experienced with SharePoint deployments, ask for help!  There are many great Microsoft partners that have deep SharePoint expertise.  SharePoint is not just about technology but it is also about business processes.  Working with an experienced SharePoint team will give your organization a much better chance of fully utilizing your SharePoint environment and seeing higher user adoption.
  • Have a plan beyond deployment. Having a healthy SharePoint environment requires more than just a good deployment.  Installing the software in a properly architected server farm is just the beginning.  A healthy SharePoint environment can only stay that way if there is a good governance plan in place.  This plan outlines the who, what and why of your SharePoint Farm.   Who is the project sponsor?  Who has final authority over policies?  Who is the SharePoint administrators?  Who has access to SharePoint?  What is the usage policy for SharePoint?  What features will be enabled in the environment?  Why is SharePoint being used in the organization?   I could keep going on and on.  A solid governance plan will help end user adoption and will ensure that the SharePoint farm is being managed and used as intended.
  • The tortoise wins the race. Quickly pushing out a SharePoint environment to an organization will almost certainly fail.  Users do not like change and they are even less likely to use SharePoint if they feel forced.  Start with a small SharePoint project and get buy in from those who will be impacted.  Over time you can slowly bring on new features or users to the environment, building on the success of the previous project.
  • Empower the user.  SharePoint enables a distributed management system for sites and content.  By empowering the user to create their own sites, libraries, lists and workflows you will see an increase in productivity and employee satisfaction.  Users who constantly have to wait for a SharePoint administrator to build everything will be frustrated an unhappy.  Empowering users doesn’t mean that you let them run wild and do anything they want.  A well defined governance plan working in concert with SharePoint security and quota controls can make a user feel empowered to build solutions to their own issues. 
  • KISS principle.  The biggest obstacle when deploying and managing SharePoint is controlling complexity.  Focus on the out of the box capabilities and resist the urge to install a bunch of 3rd party solutions (or develop your own).  Don’t run past your current knowledge or skill set.  Take your time and learn about all of the features of SharePoint.  You might be surprised at what you can do with lists, libraries, web parts and SharePoint Designer.   Of course there are always exceptions and in some cases the whole reason for deploying SharePoint is to support a 3rd party solution or another product (such as Team Foundation server or Project Server).
  • Don’t reinvent the wheel.  You may run across a situation where you need to extend SharePoint for a specific task or requirement.  Before you jump into Visual Studio I recommend that you do a bit of research to see if the solution you require has already been built.  Purchasing a pre-built solution can be less costly than trying to build your own.  A pre-built solution you purchase will also most likely have some sort of support option in case you run into an issue.
  • Play in the sandbox. Developing custom solutions in SharePoint 2007 was a dangerous affair. The first issue is that every custom solution had to be deployed at the farm level.  This means that if a single custom solution starts to misbehave it has the capability to impact performance and stability of the entire SharePoint farm.  The second issue is that Visual Studio didn’t provide an easy way to build solution packages (.wsp) so many people resorted to manually copying and deploying files to a SharePoint server.  Both of these situations can really cause a mess in a production SharePoint environment.  With SharePoint 2010 there is a new feature called sandbox solutions.  A sandbox solution is built with Visual Studio 2010 and deployed as a SharePoint solution package (.wsp).  The difference is that the sandbox solution runs within a separate controlled process space on the SharePoint servers.  If the solution misbehaves then it only affects itself and not the whole farm.  A good rule of thumb is that if you are going to build customizations, build sandboxed solutions.  In some cases a solution can only be built as a farm solution.  In those circumstances make sure you carefully test the solution before deploying.  One last note, only sandbox solutions are allowed to be deployed in SharePoint Online. 
  • If it is not a solution, it is a problem.  In the previous bullet point I mentioned SharePoint solution packages.  Any custom developed solution should only be deployed to SharePoint if it is in a solution package.  A solution package contains all of the solution’s files along with a manifest that directs SharePoint on how to install the files.  This allows for easy deployment  and retraction of your solution across one or more SharePoint farms.  If you don’t use a SharePoint solution package for your customizations then you will quickly find that supporting your environment becomes a nightmarish task.  Don’t be that guy (or girl) that just copies custom solution files directly to the SharePoint servers and NEVER manually modify the web.config file.
  • Prevent frustration with education. People, in general, resist change.  People despise change if they feel that they cannot understand the new “thing”.  In this case the thing is SharePoint.  A solid training plan when well executed will drive adoption to the new SharePoint environment you are deploying.  Training doesn’t have to be an expensive proposition. There are many free online resources such as webcasts, videos and hands on labs that your team can utilize.  Some of my previous customers have taken on a train the trainer style of education.  They select a few people who are excited about SharePoint and send them to formal training.  When those people return they host classroom style training for the other employees.  This helps control costs while building up a key set of employees who are experts in the usage and management of SharePoint.
  • You can lead a horse to water.  You will never be able to force people to use SharePoint.  The more you insist, the more they will resist.  The key is to have an active marketing effort internal to your organization about SharePoint.  Demo the features and capabilities.  Show people how they can accomplish tasks more quickly and become more productive.  When people get excited and are not forced into a solution they seem to adopt it with less resistance.

Do you have tips for those starting out with SharePoint?  Let’s hear them in the comments section!

SharePoint Resources

I have compiled a selection of documentation, case studies, how-to articles and training on my SharePoint resources page

SharePoint 2010 with SQL Server 2012

Update Note (04/12/2012):  Updated information for using SharePoint 2010 with SQL Server 2012 is posted here

With the RC0 release of SQL Server 2012 I have been seeing more and more people interested in testing it with SharePoint 2010.  If you attempt to install SharePoint 2010 with a SQL Server 2012 database you may receive an error message related to a missing stored procedure.

SQL Server 2012 removed the system stored procedure sp_dboptions.   This is a required stored procedure for installing SharePoint 2010 RTM.  Service pack 1 for SharePoint 2010 does eliminate the dependency for the sp_dboptions stored procedure.

To install SharePoint 2010 on SQL 2012 you will need to ensure that you have the SharePoint 2010 with Service Pack 1 installer or you will need to slipstream the service pack so that it is included in the RTM build of SharePoint.

Check out the following blog post if you need instructions on how to slipstream a service pack into the SharePoint 2010 RTM.


Update 04/06/2012:  Check out the TechNet article for configuring SQL 2010 with SharePoint 2010 for AlwaysOn availability groups.

2012 Heartland Region SharePoint Conference

ICC is once again hosting a Heartland Regional SharePoint Conference in Lewis Center, Ohio.  The conference will be held on March 9, 2012 at The Conference Center at NorthPointe.

The conference will include Keynote presentations along with 3 different session tracks; developer, infrastructure and business user.

Sponsor’s this year include Microsoft, ICC, Quest Software, KnowledgeLake, Nintex and CriticalPath Training.

Make sure you register soon to secure your spot!  This event will fill to capacity quick!

For more information visit: http://iccsharepoint.com/

SharePoint 2010 Development Environment Part 2

A while back I wrote a post called SharePoint 2010 Development Environment where I outlined my basic recommendations for getting a developer up and running building custom SharePoint solutions. Since that time I have received a few direct messages and comments on that post asking if I could expand upon the original article and get a bit deeper into team development.

The very first and most important concept that I didn’t mention in the previous post is that all custom development for SharePoint should be packaged as a SharePoint solution.  You should never deploy customizations to SharePoint by copying source files to locations on the SharePoint server’s file system.  This includes image files, custom web services, and web.config modifications. You must learn what a solution file is and how to create one before you can be successful in building customizations or branding for SharePoint.

There are two different types of SharePoint solutions that can be built; farm solutions and sandboxed solutions. My recommendation is to always build sandboxed solutions if possible. Sandboxed solutions provide protection against misbehaving code and also allows Site Collection owners to deploy the solutions.  Sandboxed solutions are also  the only type of solution allowed to be deployed in SharePoint Online.

In some cases the type of customization you wish to make to an on-premises SharePoint deployment can only be accomplished with a farm solution. In those situations you will want to test, test and re-test all of your code in the solution prior to deployment.  A simple mistake in a farm solution has the potential to impact the stability of the full SharePoint farm.

In the original article I made some recommendations for a developer environment and they still are valid today. The developers should all have a 64 bit Windows 7 computer with at least 4GB of RAM (8GB recommended).  On that computer you will install SharePoint Foundation 2010, Visual Studio 2010 and SharePoint Designer 2010.   Each developer, including graphic designers, should have this exact same build.   Now, in some cases you may need to install the Standard or Enterprise version of SharePoint if your solution requires APIs that are not available in Foundation.

I also recommended the use of Team Foundation server for managing source code and for tracking work items, bugs and issues.  If you choose not to use Team Foundation server you will need at least some sort of shared source control system that integrates well with Visual Studio.  If it doesn’t integrate with Visual Studio then you are just greatly reducing the productivity of your developers. 

A good shared source control system is key for any successful team development project!

The lead developer should be responsible for setting up the project structure and ensuring that every person on the development team, including graphic designers, are all working out of the same shared source control system.  The team development process should occur just like any other .NET development effort.

One big hang-up I think happens when people start building up SharePoint development skills is figuring out how to do the Dev to Test to Production move when working with SharePoint in a team environment. The first thing is to ensure that every developer is working in their own completely isolated development environment (hence the reason for separate Windows 7 development systems).  This is important so that developers are not stepping on each other while trying to debug their code. Having developers share a single SharePoint environment will lead to frustration and potential mistakes.

When it comes time to test the full solution, the lead developer (or test lead) will get the latest source code for the project from Team Foundation Server (or whatever source control system you are using) and do a build.  That build will generate a SharePoint solution package that will then be copied to the SharePoint test farm and deployed.  The testers can then proceed to take the necessary actions to verify that the custom solution is working as intended.  Any bugs or issues can be logged and sent back to the developers.

Developers may wish to do basic integration testing from time to time.  At any time the developers are able to retrieve the latest code from source control so they can do a quick integration test on their local dev machines prior to the real test process on the SharePoint test farm.

Another key concept that must be understood is that there is a big difference between content and customizations (or code).  Customizations, or better known as SharePoint solutions, should go through a dev, test and then production process just like any other development project. Content should not. Content should be built in the production environment and possibly follow an approval workflow process in that environment.  Think of content as any list, library, images, text, documents or other data that is not directly used by your custom solution.

Everything isn’t just black and white.  There are times when content should be deployed as part of a solution.  Usually this content will be Office document templates, images, or other files that are in direct support of the solution itself.  A good example of a solution with built in content is the Productivity Hub.  A good rule is that if the content will be created, edited or maintained by a SharePoint content editor then you should probably not include the content as part of a SharePoint solution.  You should also not include that content as part of a dev, test, production deployment cycle.

Document libraries and lists may not be considered just content if your solution directly relies on those items. For example, your solution may use a custom SharePoint list for storing information.  In this case, the list is not just content but a required part of your solution. You will need to ensure that your custom solution has a way to automatically provision that list when the solution package is installed and activated.  Never rely on a person to manually create supporting content as part of your solution install process.

SharePoint Designer is a great tool to assist in the development process. Keep in mind that when you use SharePoint Designer you are just creating content. Using SharePoint Designer to modify a master page or to create a workflow process is just creating content within a SharePoint site collection.  You should always copy or export the work you do in SharePoint Designer and place it into your Visual Studio project so that it is packaged as part of your SharePoint solution.  Remember that by having the customizations in a SharePoint solution package you can easily deploy it to other SharePoint farms.  Solution packages are reusable, content generally is not.

You might be wondering, if I build all of my content in my production site, how will I ever use that in my test or dev environments?  You will do site collection backups of the portion of your production site you need to work with in the test and dev environment and then restore it into the appropriate environment.   I usually look at it like this:  solutions move from dev to test to production.  Content moves from production to test and dev.

To wrap up, below are a few tips that I feel make SharePoint Development a bit easier:

  • Always use Visual Studio 2010 to build custom SharePoint solutions.
  • Always use a shared source control system.  I recommend Team Foundation Server.
  • Never share a development environment with multiple developers. Shared development environments can cause issues which will greatly reduce the productivity of the developers.
  • Never manually deploy files to SharePoint servers; always deploy your customizations using a solution package.
  • SharePoint Designer just creates content. If you use SharePoint Designer, think about how it will impact your ability to deploy your solution.
  • Don’t break your development efforts up into a bunch of little Visual Studio projects unless it makes good sense.  One solution package is easier to manage and deploy than several.
  • Content should always be created where it will live. Don’t try to run content through the dev, test, and production deployment cycle.
  • Use the shared test environment to ensure that all of the solutions you build work properly and integrate well with each other.
  • Copy site collections from the production to the test server if you need that content to test your custom solutions.
  • Limit the number of people who have the ability to deploy a custom solution build to the test farm. 
  • Content is not code, don’t try to manage it the same way.
  • Branding should always be placed in a SharePoint solution package so it can be reused.

Do you have your own tips for SharePoint team development?  Let us know in the comments section below!

Thinking Outside the Firewall with SharePoint

Microsoft partner Perficient is offering a SharePoint webinar series titled Thinking Outside the Firewall with SharePoint.  Learn how you can use SharePoint 2010 :

  • as an extranet for collaboration with vendors, partners and customers.
  • as a public facing web site.
  • as an enterprise search platform for your intranet, extranet and public facing sites.

Guarantee you spot by registering today!


Session 1: SharePoint Extranets

Date: Tuesday, January 24, 2012 | 11:00 AM – 12:00PM PT

Register Button

Extranets connect organizations to employees, partners, vendors and customers and provide a secure, engaging and personalized interaction with people, information, applications and business processes. With the proper strategy in place, extranets can provide a strong competitive advantage, reduce costs and ultimately foster business growth.

Perficient”s SharePoint Extranets Webinar is a must attend event for organizations looking to:

  • Reduce supply chain inefficiencies
  • Interact with your loyal customer base
  • Extend customer self service strategies
  • Share business resources with partners
  • Enable mobile capabilities
  • Extend remote employee access

Join Perficient”s SharePoint experts for this informative webinar to discuss extranet capabilities, best practices, and use cases. Register today!


Session 2: SharePoint Internet Sites – Tuesday, February 21, 2012 -11:00am PT

From web site, to display ad, to microsite, to Facebook page, every digital interaction has the power to shift a consumer”s affinity for a brand either positively or negatively. By using the SharePoint platform for your public facing internet site, content can easily be updated by business stakeholders, rather than involving IT.

More information and registration here!

Session 3: Search in SharePoint – Tuesday, April 3, 2012 – 11am PT

When someone visits a site looking for a specific piece of information, they will often head straight to the search bar. If the search results don”t provide what they”re looking for, they will most likely move on to another source of information, potentially costing your organization a sale. SharePoint”s FAST Search utilizes the latest in enhanced search technology, providing users the most complete search results possible.

More information and registration here!

Free Office 365 Training Series for State and Local Governments

Microsoft is offering a series of free online Office 365 training courses for State and Local Government customers to get users familiar with the benefits of Exchange Online, SharePoint Online and Lync Online.

These courses are delivered live and are approximately 90 minutes long. Make sure you register soon and mark your calendars for these great training sessions!


End User Tips n” Tricks on Office 365

This session gives users an overview of Office 365 while highlighting its most exciting features. Users can watch a live instructor showcase a tip or feature every couple of minutes, providing a broad and real-world understanding of what the platform can do. Topics include:

– Email Tips with Exchange online
– Collaborate with SharePoint Online
– Getting the most out of Lync Online

Training Date:
Thursday, February 16, 2012, 11:00 A.M. 12:30 P.M. Pacific Time
Register for this session

End User Tips n” Tricks on Office 365: Focus on SharePoint Online

If you”ve been wondering what SharePoint Online is and how it can impact your organization and the role it can play in your employees” productivity experience, this is a great training session to attend. Topics include:

– Collaborating with team sites
– Simplifying document access through Office Web Apps
– Coauthoring content using Microsoft Office and SharePoint Online
– Automating business processes
– Improving communication with Lync Online integration

Training Date:
Friday, March 16, 2012, 11:00 A.M. 12:30 P.M. Pacific Time 
Register for this session

End User Tips n” Tricks on Office 365: Getting the most out of Exchange Online with Email

Exchange Online can be a great tool for business and your organization. This session provides insight into the role it can play in your productivity and the impact it can have on your organization. Topics include:

– Organizing your Inbox in Outlook 2010
– Connecting with your contacts
– Accessing your mail anywhere on virtually any device
– Keeping track of your day in Outlook 2010

Training Dates:

Friday, January 13, 2012, 10:00 A.M. 11:30 A.M. Pacific Time
Register for this session

Wednesday, April 18, 2012, 10:00 A.M. 11:30 A.M. Pacific Time
Register for this session

SharePoint Online: Business Connectivity Services

The latest update to SharePoint online brought about a few new capabilities including Business Connectivity Services (BCS).  With BCS it is now possible to connect SharePoint online to external data sources and line of business applications via web services or Windows Communication Foundation services.  BCS enables full read and write capabilities of external data sources when granted proper permissions.  As of January 1, 2012 it is not possible to connect SharePoint Online directly to SQL Server or SQL Azure.

Once you have established a BCS connection to external data you can display the data using built in BCS web parts or by accessing it with the client object model.  It is not possible to use sandboxed solutions to interact with the BCS.  See the MSDN article titled What’s New for BCS Development in SharePoint Online for additional details.

The first step in using BCS with SharePoint Online is creating a web service that will communicate to the data source or line of business application.  This web service should implement at a minimum two methods; one for retrieving all of the data and a second method for returning a specific record based on a unique ID.  These web methods should return a collection of entity classes or a single entity class containing the data.  An entity class is a .NET class that has fields for holding data.

Below is the entity class definition I used in a web service to pull blog post information from my WordPress database.


As you can see, I am defining a few fields that will hold data that is returned from my custom web service.  It is important that you do have a unique ID as part of your entity class.  The unique ID is how BCS will be able to retrieve details about a single record in your data set.

Once the entity class is defined it is possible to create the two required web methods for retrieving data.  Below is the method I created to retrieve all of the blog posts from my WordPress database.  I am using an entity data model for connecting to the database.  This allows me to use LINQ for querying the WordPress data tables.  This method is returning an array of BlogPostsRecord objects which is my entity class.



The second method is used to return a single, specific record from the WordPress database.



Since SharePoint’s BCS does allow writing data back I could have created additional methods for submitting information back to the database.  In this sample I decided to only read data from my WordPress database.

After the web service has been built and tested it can be deployed on a web server that is accessible from the Internet. Since this web service is hosted on the Internet it is important to implement some level of security.  In my case I decided to simply use file level permissions and configure IIS to require NTLM authentication only. This means that anyone connecting to the web service will need to provide the proper Windows credentials to use the web service.  You may also choose to use SSL to encrypt the connection to and from the web service.

To allow SharePoint Online to communicate with the web service it will need to know the credentials to use with the BCS connection.  This is where the SharePoint Online Secure Store Service comes into play.  To configure the Secure Store Service, login to the SharePoint Online administration portal and choose the Secure Store Service option.  Choose new and complete the form by supplying a target application ID, display name, contact email address, application administrators and members.

The target application ID can be any string and will be used when defining the BCS data source.  In the members section add every user that you wish to have rights to the credentials defined for this target application.  In my case I want all of my tenant users to have access to my blog post list, therefore I need all of the users to have access to the secure store credentials.  It is important to understand that adding a person to the members list does not allow them to actually view the username and password of the defined credentials.  This only allows BCS or other applications to use the defined credentials on behalf of the users listed in the members section.



After the Secure Store Service application definition for the web service has been defined the credentials used to access the web service can be stored.  In SharePoint Online’s Secure Store Service definition list click on the drop down next to our application definition and choose Set Credentials.   This will allow you to enter in the Windows credentials that are required in order to access the web service located on the remote IIS server.  Enter the credentials in the DomainUsername format.



With the web service created and the credentials defined in the SharePoint Online Secure Store Service it is now possible to create the BCS definition.  I used SharePoint Designer to create an External Content Type which in turn creates the BCS definition and a default list view for my external data.

Open up SharePoint Designer and connect to the SharePoint Online site.  Select External Content Types in the left navigation menu in SharePoint Designer.  External content types are reusable metadata descriptions of connectivity information and data definitions plus the behaviors you want to apply to a certain category of external data.  See the MSDN article titled What Are External Content Types for more details.



Initially your External Content Types list will be empty.  In the top ribbon bar of SharePoint Designer choose External Content Type in the New grouping.



In the External Content Type Information section click on the links next to Name and Display name in order to set those values.



Click on the link next to External System to define the BCS connection to the remote web service.  Click on the Add Connection button on the Operation Designer page.  Select WCF Service from the Data Source Type dialog box and then click OK.  The other types listed are only support on SharePoint on-premises and not for SharePoint Online.



Complete the WCF Connection form with the URL to your web service.  Also set the WCF Service Authentication settings to connect with impersonated Windows identity and specify the Secure Store Service application ID.  If you created a .NET web service your service metadata URL will be the service URL followed by ?WSDL.   An example would be http://mydomain/demo.aspx?wsdl.



You may be prompted to provide credentials after hitting OK.  If you are, enter in the Windows credentials for the web service.  In a few moments the web service should be listed in the Data Source Explorer.   Expand the Web Methods folder and you should see the two web methods offered by the web service.   In my case I have GetPost, for retrieving a single record, and GetPosts for retrieving all of the records.

Right click on the web method that retrieves a single record and choose New Read Item Operation.


This will open up a Read Item operation wizard for defining the read operation for the SharePoint BCS. Review the information on the first page and then click on the Next button.



On the Input Parameters Configuration screen we need to configure the input parameter that we are passing to our web service in order to retrieve a single record.  In this case I have a single parameter in my web service defined called postid that is my identifier.  When this page of the wizard first comes up there is an error indicating that an identifier needs to be specified.  Selecting the postid element and then checking the Map to Identifier option (under properties) resolves the issue.  Click next to continue.

image   image


The final page of the wizard is displayed that defines the returned data from the web service.  Once again we must map one of the fields as an identifier.  My web service returns an ID field, so I will select that and click the Map to Identifier check box.  Also ensure that the Identifier property for the ID field is set to postid.  Click finish to complete the read item operation definition.



Now the operation to retrieve all of the records needs to be created. On the Operation Designer screen where the web methods are displayed, right click on the method that returns all of the records, in my case GetPosts, and choose New Read List Operation. Review the first page of the wizard and then click next.  Since this web method doesn’t have any input parameters we can skip the second page of the wizard;  click next.

On the Return Parameter Configure page of the wizard we need to once again define the field that holds the unique identifier for the returned records.  My web service returns the unique identifier in the ID field, so I will choose that under the Data Source Elements section and then click on Map to Identifier property.

If I decide to use this external data source as the source for a picker control I will need to specify what field will provide the data for the picker control.  In my case I would want to use the blog post title.  I selected Post_Title from the Data Source Elements section and then I checked the Show In Picker property.

Once all of the property settings have been configured for your web service, click on the finish button.  Click on the SharePoint Designer’s save button to make sure all of our settings are saved out to SharePoint Online.

At this time, the BCS connection has been created to our remote web service. To use this connection I decided to allow SharePoint designer to create default list and forms for my data.  Click Create Lists & Form on the ribbon bar and then provide a name for the new list in the dialog box that pops up.




After the list and form is created you can connect to your SharePoint Online site and view the new external list.  You can sort and filter the new list just like you can with any other SharePoint list.  You can also create new views of the external list.



With SharePoint Online it is possible to access and use remote data or information stored in line of business applications.  A combination of SharePoint Online’s Secure Store Service and Business Connectivity Services makes this possible.  With a little bit of up front work you can provide your users with a wealth of information at their fingertips in one single location.


What’s New for BCS Development in SharePoint Online
Download SharePoint Designer
What Are External Content Types

Office and SharePoint 2010 Cumulative Update for December 2011

Microsoft has released the latest cumulative updates for Office 2010 and SharePoint 2010.  We recommend that you test hotfixes before you deploy them in a production environment. Because the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous update package. We recommend that you consider applying the most recent fix release that contains the hotfix that you need.

More information: http://support.microsoft.com/kb/2639884

SharePoint Online: Intranet Branding

Organizations that deploy SharePoint either on-premises or in the cloud almost always ask the same question:  How can I change the look and feel (or brand) of the sites?  I use the term branding to describe the task of modifying a sites colors, fonts, logos and other user interface elements.

With SharePoint Online there are a few different options for intranet branding.  A person may choose to use themes, SharePoint Designer, or a SharePoint Sandboxed Solution created with Visual Studio 2010. Each of these options provide a specific level of customization capabilities which I will describe throughout this post.

Julian Soh, a co-worker, has a great analogy when speaking about SharePoint branding.  Julian says to think of a SharePoint site as a room in your house. If you are looking to make a minor change to that room you would most likely paint it, which is a fairly simple task. It is possible to do the same thing with a SharePoint site. By configuring a site theme a site administrator can select fonts and colors to be used within the site.


If the SharePoint administrator goes into the site settings page for their site they will see the option to choose a site theme under the look and feel heading.  Clicking on the Site theme link will allow the administrator to choose from one of several predefined themes, or the person can use the customize theme section to manually choose colors and font settings. Under the look and feel section on the site settings page there is a link called Title, description, and icon. Clicking on this link enables the site administrator to change the title, description or site logo (icon).

Let’s go back to the room analogy for a SharePoint site. If just painting the room doesn’t meet your needs you may need to do a bit of remodeling.  This might involve reconfiguring the room or knocking out a wall to make the room bigger.  This type of renovation is much more involved than just painting and may require an advanced skill set, however, it does give you more options to make the space fit your specific needs.  SharePoint Designer is a free product that provides the ability to make complex changes to a SharePoint site by modifying it’s master page. The master page is the template that is used to render the look, feel, and content of a SharePoint site.  By modifying the master page it is possible to reconfigure the web part zones, change the layout of the standard controls, and modify the default styles.

Important note: never modify the default master page files included with SharePoint. If you wish to use one of the included master pages as a starting point, make a copy of the file and modify it.

SharePoint Designer is a great tool for making complex branding changes, however, those changes are only applied to a single site collection. To use the same brand across all of the site collections would require that the master page file along with any supporting images, scripts and style sheets  be manually copied to each site collection. Although this is not a complex process it does introduce the potential for mistakes.

If you plan to create a custom brand for your SharePoint 2010 intranet that will be applied to every site collection I would recommend creating a sandboxed solution using Visual Studio 2010.  The SharePoint development tools in Microsoft Visual Studio 2010 provide a simple and effective approach to packaging and deploying the files and code that are required to apply branding to Microsoft SharePoint 2010 sites using a sandboxed solution. For SharePoint Online you would still need to upload the custom solution to each site collection, however, since the files are all packaged together there is a lesser chance that a mistake will be made by misplacing a file or forgetting to copy it.  A SharePoint 2010 Sample SharePoint Online BrandingSandboxed solution created with Visual Studio also allows you to write code to automate part of the branding process.  For example, you may include code to automatically change the site’s logo when the solution package is activated.  You can also add code that will reset the site to the original look, including removal of the logo, when you deactivate the sandboxed solution.

Building a sandboxed solution with Visual Studio 2010 is not a difficult process but it still does require some familiarity with web development concepts. Usually a sandboxed solution would be built and packaged by someone who has prior experience building SharePoint solutions or at a minimum experience building web applications with Visual Studio.

SharePoint Online supports custom branding efforts through the use of themes, SharePoint Designer or sandboxed solutions.  The use of themes is the simplest method but only provides capabilities to change the colors and fonts used to render the pages.  If you wish to make more complex changes to the brand of a site you will need to use either SharePoint Designer 2010 or Visual Studio 2010.

Below I have provided links to articles that have more in depth examples on how to brand a SharePoint site by using the techniques mentioned above. 


Resources for this article:

Themes Overview for SharePoint Server 2010

Customize a master page to brand your site with SharePoint Designer 2010

SharePoint Designer (32 bit) Free Download

Deploying Branding Solutions for SharePoint 2010 Sites Using Sandboxed Solutions

Source Code Example for Sandboxed Solution Branding

Starter Master Pages for SharePoint 2010