Top 10 New Features of SharePoint 2013

Here are some Top Features of SharePoint 2013 that will start to sell your business on investigating the Preview. All of these features are documented in TechNet. I'll do a Top 10 for each audience as more information becomes available.

  1. Support the tools designers use: Flexibility in Branding – How great will it be that your designers can use Dreamweaver or other popular design products. More information on TechNet Branding Features

    "Whether that is Adobe Dreamweaver, Microsoft Expression Web, or some other HTML editor. To brand a SharePoint site, designers just create a site design as they typically would, by implementing HTML, CSS, and JavaScript"

  2. Offline and Sync of My Site (and other libraries) – "In SharePoint Server 2013 Preview, My Sites include several improvements to saving, synchronization, sharing, and moving of content. Users have the option to synchronize their My Site document library content with a local drive to enable offline access to documents." Saving and Syncing Content (I really love the new Follow people, documents, sites, and tags to customize their feed!!)
  3. Search Engine Optimization & Analytics is in Search – Search is TONS better. Much of this is due to Analytics moving into search. This will make Analytics Processing Component in SharePoint Server 2013 Preview runs different analytics jobs to analyze content in the search index and user actions that were performed on a site to identify items that users perceive as more relevant than others. TechNet Analytics Recommendations
  4. Content Search WebPart – This webpart is cool, but it may take a demo to understand the power. In many ways this is the next generation of Content Query Web Part. "Content Search Web Part that displays content that was crawled and added to the search index. You can use category pages when you want to aggregate content that meets certain criteria or parameters. For example, in an intranet scenario, all company events are maintained in a list that is shared as a catalog. A query is issued from the Content Search Web Part to return all items from the search index that are specified in the query." Content Search Web Part
  5. Optimized mobile browser experience – For some companies this may be the reason to upgrade alone. Mobile is definitely something I have been looking for. "For smartphone mobile devices SharePoint Server 2013 Preview provides a lightweight, contemporary view browsing experience for users to navigate and access document libraries, lists, wikis, and Web Parts. Contemporary view. This view offers an optimized mobile browser experience to users and renders in HTML5. This view is available to Mobile Internet Explorer version 9.0 or later versions for Windows Phone 7.5, Safari version 4.0 or later versions for iPhone 4.0, and the Android browser for Android 4.0. Classic view This view renders in HTML format, or similar markup languages (CHTML, WML, and so on), and provides backward compatibility for mobile browsers that cannot render in the new contemporary view" Mobile browser experience Device specific Master Pages – You can target your branding to the device! Targeting different devices such as smartphones, tablets. "Allow a single publishing site to be rendered in multiple ways by using different designs that target different devices." TechNet Device Specific Branding Feature
  6. Rich Workflows – If workflows were a sore point, they've gotten a lot better and seem much more able to handle more complex activities including looping and working with webservices (anyone thinking orchestration?). "A new action that enables no-code web service calls from within a workflow, New actions for creating a task and starting a task process and New workflow building blocks such as Stage, Loop, and App Step" With Azure Workflows you can even do "REST and Service Bus Messaging" Workflow in SharePoint 2013 Machine Translation – Looking forward to really seeing what our business can do with this translation service. Automated translation into various languages!
  7. Development gets more familiar – Developers who are not SharePoint developers will find SharePoint 2013 preview a lot easier to work with. Leverage your existing "ASP.NET, Apache, C#, Java, and PHP. The new cloud app model gives you the freedom of choice." Familiar development environments
  8. New App Model – This new app model will take you into the New Online World – "The new app model embraces web standards: You can develop the user experience with HTML and JavaScript, and leverage SharePoint and other REST services right from the client using JavaScript and JSON. You can even create your own REST services and provide a web hosting platform of your choice to handle complex logic and integration of data and services. The new cloud app model also takes advantage of OAuth to allow for secure communication between SharePoint and remote hosted apps and services." Familiar tools – App Model
  9. Shredded Storage – This is one of my favorite new features. I can't wait to see what it does to our farm. Shredded storage will remove file duplicates and reduce the amount of content sent across the wire. You can find more on this in the IT pro decks.
  10. Social Features: Activity feeds – I really like the idea that I can get real notifications of what's happening on a site including following documents, following sites, and following people… and automatically following team members (if you want). Communities – I think Microsoft's new site template communities will be interesting with integrated microblogging. I'm definitely anxious to see how our internal communities use them. What's new in social computing





SharePoint 2010 Farm Backup Fails

I was successfully running backups of my SharePoint 2010 server for a few weeks, then all of a sudden I noticed they weren't finishing properly. They'd run through most of the backup process, then stall trying to backup the Search Service Application. When I looked at the backup log file it showed the following:

I also noticed the following event log error (Event ID: 67, Source: SharePoint Server Search) :



















After some investigation, I realized I had deleted my original Search Application and created a new one, but for some reason the old object still existed in SQL.

I tried a few methods to delete the old object, but nothing was working. When I manually tried to delete it through Central Admin it would pop up a screen saying it was processing, but it never did anything. A Google search turned up the following article: http://prequest01.wordpress.com/2008/08/16/unable-to-delete-shared-services/

I used the following stsadm command:

Stsadm -o deleteconfigurationobject -id "object GUID"

To find the object GUID, simply go into Central Admin - Manage Service Applications and highlight the offending legacy service application (Search Service Application in my case). You should now be able to see the GUID in the IE address bar. Run the command above, and try your backups again and all should be well.

You can also run the following command from the SharePoint PowerShell: Get-SPServiceApplication

If your backups are still failing, you can always increase the logging level to get more details about the Backup and Restore Process in the Diagnostics Logging Settings, from Errors only to Verbose. This will help troubleshooting. Once you find out the exact issue, you can bring logging back to default levels to reduce I/O and storage required for this extra activity.








How to solve SharePoint 2010 Event ID 7043 error

We recently noticed the following error in the Application event log on our SharePoint 2010 servers:




A quick Google search turned up the following article on the SharePoint forum:http://social.technet.microsoft.com/Forums/en/sharepoint2010setup/thread/c894d98c-24ab-416c-aca9-ae57644deb5e

It turns out the issue is caused by bad code. Simply do a search for the file called TaxonomyPicker.ascx (C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\CONTROLTEMPLATES) and open it up in Notepad. Do a search for the characters "," and replace it with a "," (minus the quotation marks in both cases).

From this:


To this:



Thanks to Brian Lala, this can all be accomplished by creating and running the following script:

# Powershell script to implement the fix suggested in http://support.microsoft.com/kb/2481844

$TaxonomyPickerControl = "$env:CommonProgramFiles\Microsoft Shared\Web Server Extensions\14\TEMPLATE\CONTROLTEMPLATES\TaxonomyPicker.ascx"
Write-Host " - Making a backup copy of TaxonomyPicker.ascx..."
Copy-Item $TaxonomyPickerControl $TaxonomyPickerControl".bad"
$NewTaxonomyPickerControl = (Get-Content $TaxonomyPickerControl) -replace ',', ","
Write-Host " - Writing out new TaxonomyPicker.ascx..."
Set-Content -Path $TaxonomyPickerControl -Value $NewTaxonomyPickerControl
Write-Host " - Done! Press any key to exit..."
$null = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")


Microsoft finally release a KB article on the issue which can be found here: http://support.microsoft.com/kb/2481844




Sharepoint tool: SharePoint Manager 2010

Although SharePoint 2010 offers the Central Administration Site and PowerShell as methods to expose current settings in your SharePoint environment, they can often be a little clunky to work with. 

If you've never seen it, you're going to love SharePoint Manager 2010. It's a free download from codeplex. As the description for the tool states, "SharePoint Manager 2010 is a SharePoint object model explorer. It enables you to browse every site on the local farm and view every property. It also enables you to change the properties".

To get your very own copy for free, simply visit http://spm.codeplex.com/.

I first stumbled on this tool when I was going through application event logs on my SharePoint 2010 server and couldn't figure out what site certain errors were referring to. As many of you know event logs simply use the ID of a site (ex: 0a90494e-c226-4067-9762-7d75f952c803). A simple Google search for linking ID's to names turned up SPM 2010. Now I can simply drill down to my Site Collections with the tool and it's easy to see:

The tool is also very handy for finding all your application pool and IIS settings, not to mention having a look at what's in a sites recycle bin. You can also look at quota settings, as well as what features or services are deployed. Curious to know who has permissions on a site or what lists are in a site? Just drill down and the information is there!

Some additional points:
  • The application has to be installed on the SharePoint Server you want to work with.
  • You have to be logged in as a SharePoint administrator.
  • The tool has multilingual support. 
  • It uses the SharePoint object model and doesn't access SQL directly.
  • It was architected and designed by Carsten Keutman - http://www.keutmann.dk/. Thanks Carsten!
Download it today and let me know what you think. If you know of any other tools other admins might be interested in, pleas let me know.




How to get All SharePoint 2010 Databases

If  you've setup numerous SharePoint 2010 test boxes in order to get comfortable with all the great new features. Because I'm running in a test environment I hadn't been paying too much attention to the SQL server I was using. Yesterday I logged in and found a staggering number of similarly named databases which were no longer being used because the test boxes were done.

So how do you figure out which databases are which? There's a great SharePoint Powershell cmdlet you can run on your SharePoint server that will give you a list of all the databases your server is using:

Get-SPDatabase | Sort-Object disksizerequired -desc | Format-Table Name

When you run the command, you'll get a list of all the databases similar to the following:

Now that you have your list, log into SQL Server Management Studio and delete the corresponding databases:

Get-SPDatabase | Sort-Object disksizerequired -desc | Format-Table Name | out-file c:\databases.txt

You can also see how big the databases are by running the following:

Get-SPDatabase | Sort-Object disksizerequired -desc Format-Table Name, @{Label ="Size in MB"; Expression = {$_.disksizerequired/1024/1024}}





How to Set Up the SharePoint 2010 User Profile Service Application to Synch AD Users –Part II

Now that we have our connection to AD configured and the user profile service application is up and running, we're ready to do our first import of users from AD. 
1. In order to perform the synchronization, you'll need to verify you have the following permissions:

• You must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site 

• The Farm Administrator account must be a Service Administrator for the User Profile Service that you are configuring. For more information about how to set service permissions, see Assign administration of a User Profile service application (SharePoint Server 2010).

• The account that you use to synchronize profile information with Active Directory Domain Services (AD DS) must have Replicate Directory Changes permissions on the AD DS domains from which you want to import data. If the NETBIOS name is different from the domain name, the account that is used must also have Replicate Directory Changes permissions on the cn=configuration container. For more information about how to configure Replicate Directory Changes in AD DS, see How to grant the "Replicating Directory Changes" permission for the Microsoft Metadirectory Services ADMA service account (http://go.microsoft.com/fwlink/?LinkId=47854). Create All Child Objects permission is needed to export properties, such as profile pictures, from SharePoint Server to AD DS.

2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

3. On the Manage Service Applications page, click in the Title column of the User Profile Service Application row to select it. 

4. In the Operations group of the ribbon, click Manage.

5. On the Manage Profile Service page, in the Synchronization section, click Start Profile Synchronization.

6. On the Start Profile Synchronization page, select Start Incremental Synchronization to synch only user and group profile data that has changed or select Start Full Synchronization to synchronize all user profile data.


The Start Full Synchronization option is time and resource intensive. We do not recommend it unless absolutely required to reset data that is stored in user profiles or to do an initial synchronization of user profiles.

When using AD DS, you must run full synchronization any time a new profile property mapping is created.

7. Click OK.

After the Profile Synchronization job is finished, you can search for a known profile or for accounts that begin with a known domain name from the Manage User Profiles page.

Because the import uses MIIS/FIM you can also open the miisclient.exe application from C:\Program Files\Microsoft Office Servers\14.0\Synchronization Service\UIShell\miisclient.exe to verify that the sync was successful:

How to Set Up the SharePoint 2010 User Profile Service Application to Synch AD Users - Part I

As part of our demo environment, I've been working on our configuration for the user profile service application to importusers from our AD so we can start using MySite's , Profile Pages, Social Tagging, etc… Here are the steps I followed from Microsoft plus some of my own comments: 


The Environment & Requirements


• SharePoint 2010 Enterprise Beta server acting as Web and App.


• SQL 2008 SP1 CU2 (separate from SP2010 server)


• AD (domain functional level 2003)


• The account you use to connect to AD must have at least Replicate Directory Changes permissions on the AD DS domain(s) from which you wish to import data and on the cn=configuration container are needed for SharePoint Server 2010. For more information about how to configure Replicate Directory Changes in AD DS, see How to grant the "Replicating Directory Changes" permission for the Microsoft Metadirectory Services ADMA service account (http://go.microsoft.com/fwlink/?LinkId=47854). Create All Child Objects permission is needed to export properties, such as profile pictures, from SharePoint Server to AD DS.

For my lab environment, I'm ignoring profile pictures....for now.

•The farm is running either the Standard or Enterprise version of SharePoint Server 2010 and you have run the farm configuration wizard. Profile Synchronization does not work on a stand-alone installation for SharePoint Server 2010 Beta.


• An instance of the User Profile Service application exists and is started. For more information, see Create, edit, or delete a User Profile service application (SharePoint Server 2010).


• If you are using Microsoft SQL Server 2008, Microsoft SQL Server 2008 with Service Pack 1 (SP1) with Cumulative Update 2 (CU2) (http://go.microsoft.com/fwlink/?LinkId=165962) is required.


• The WCF hotfix (KB976462) for Windows Server 2008 R2 is installed.


• You must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.


• The Farm Administrator account, which is created during the SharePoint farm setup, must also be a Local Administrator on the server where the User Profile Synchronization service is deployed


• The Farm Administrator account must be a Service Administrator for the User Profile Service that you are configuring. For more information about how to set service permissions, see Assign administration of a User Profile service application (SharePoint Server 2010).


• The Service Administrator account can log on locally to the server where Profile Synchronization will be deployed.


• If you are using a Windows Server 2003 AD DS forest, the Service Administrator account must be a member of the Pre-Windows 2000 Compatible Access group for the domain with which you are synchronizing. For more information about adding accounts to the Pre-Windows 2000 Compatible Access group, see Some applications and APIs require access to authorization information on account objects (http://go.microsoft.com/fwlink/?LinkId=179420).


Start the Required Services


1. Start the User Profile Synchronization service through Central Administration


• Confirm that the user account performing this procedure is a member of the Farm Administrators SharePoint group. 


• On the SharePoint Central Administration Web site, click System Settings, and then on the System Settings page, in the Servers section, click Manage services on server.


• To change the server on which you want to start or stop the service, on the Server menu, click Change Server, and then click the server name that you want. 


• By default, only configurable services are displayed. To view all services, on the View menu, click All.


• To start the service, click Start in the Action column of the relevant service.


• Click OK to start or stop the service. Be sure to enter the account info for the SharePoint farm admin account.






Wait about 10 minutes and verify the both ForeFront Identity Management services start up properly in services.msc. Once they start, do an IISRESET.




Create a Profile Synchronization Connection


1. Verify that you have the following administrative credentials:


• You must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site 


• The Farm Administrator account must be a Service Administrator for the User Profile Service that you are configuring. For more information about how to set service permissions, see Assign administration of a User Profile service application (SharePoint Server 2010).


• If you are synchronizing profile information by using AD DS, the account that is used to connect to AD DS must have Replicate Directory Changes permissions in AD DS. This account must be the same as the farm administrator account or the User Profile Service administrator account and is required to do either full or incremental synchronization with AD DS. Create All Child Objects permission is needed to export properties, such as profile pictures, from SharePoint Server to AD DS.


2. Before proceeding, make sure that you have determined which directory service containers that you want synchronized with SharePoint Server. I have several test users already setup in an OU.


3. On the Central Administration Web site, in the Application Management section, click Manage service applications.


4. On the Manage Service Applications page, click the Name of the User Profile Service Application that you want to manage. 


5. On the Manage Profile Service page, in the Synchronization section, click Configure Synchronization Connections.


6. On the Synchronizations Connections page, click Create New Connection.


7. On the Add new synchronization connection page, type a name for the synchronization connection in the Connection Name box.


8. From the Type list, select the kind of directory service to which you want to connect. AD in this case.


9. If the selected type is Business Data Connectivity, enter a name for the connection in the Name box. Select a Business Data Connectivity application from the Business Data Connectivity Entity box. Select whether the entity has a 1:1 mapping or a 1:many mapping, enter the appropriate profile property, and then click OK. Otherwise, continue with the following steps. - I'm ignoring this functionality for this post.

10. In the Connection Settings section, type the name of the directory service forest to which you want to connect (domain.com), the account credentials for the directory service (domain\admin), and the port that you want to use when you connect to the directory service (use the default) . Select Auto discover domain controller to automatically locate the domain controller for this forest or type the name of the domain controller in the Domain controller name box. - I don't recommend using the autodiscover. There have been other users who've reported problems, but I'll leave it up to you.


11. In the Connection Settings section, select the Use SSL-secured connection: check box, if needed, to use a Secure Socket Layer connection when you connect to the directory service.


12. In the Containers section, click Populate Containers and then select the containers from the directory service that you want to synchronize. Click Select All if you want to synchronize all containers. For example, if you only want to synchronize user information, you can select only those containers that have user profile information.



13. Click OK.


To configure Profile Synchronization settings 




1. Verify that you have the following administrative credentials:


• You must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site 


• You must be a Service Administrator with Full Control permissions for the User Profile Service that you are configuring. For more information about how to set Full Control permissions, see Assign administration of a User Profile service application (SharePoint Server 2010).


• The Farm Administrator account, which is created during the SharePoint farm setup, must also be a System Administrator (sysadmin) on Microsoft SQL Server 2005 or Microsoft SQL Server 2008


• If you are synchronizing profile information with AD DS, the account that is used must have Replicate Directory Changes permissions. This account must be the same as the farm administrator account or the User Profile Service administrator account and is required to do either full or incremental synchronization with AD DS. Create All Child Objects permission is needed to export properties, such as profile pictures, from SharePoint Server to AD DS.


2. On the Central Administration Web site, in the Application Management section, click Manage service applications.


3. On the Manage Service Applications page, click the Name of the User Profile Service Application that you want to manage. 


4. On the Manage Profile Service page, in the Synchronization section, click Configure Synchronization Settings.


5. On the Configure Synchronization Settings page, in the Synchronization Entities section, select Users and Groups to synchronize both user information and group information or select Users to synchronize only user information.


You should first do a full synchronization of users only. Once this is complete, run an incremental synchronization of both users and groups. 


6. On the Configure Synchronization Settings page, in the Synchronize BDC Connections section, click to clear the Include existing BDC connections for synchronization? check box if you want to exclude data import from the Business Data Connectivity service. - No BDC for now.


7. On the Configure Synchronization Settings page, in the External Identity Manager section, select Use SharePoint Profile Synchronization to use the Profile Synchronization engine in SharePoint Server 2010 or select Enable External Identity Manager to use an external synchronization application such as Microsoft Identity Lifecycle Manager 2007.


Enabling an external identity manager disables all Profile Synchronization options and the status display in SharePoint Server 2010. 





8. Click OK.


In Part II of this blog I'll go through the steps to do the initial synchronization and show you how to use the MIIS client to verify it's working properly.