Skip Ribbon Commands
Skip to main content
Virtual Version of Me!!
Home
August 25
SharePoint 2010 – My Site Error

This post specifically relates to the following:

"You have deployed the User Profile Service Application, Created the connection, synchronized the Accounts from Active Directory but did not set a My Site URL when you configured the Service Application".

If you receive an error similar to this when you click the following link, you will need to perform the steps below.

Firstly go to "Central Administration", "Manage Service Applications" then click on your "User Profile Service Application".

Then click the "Setup My Sites" link.

You will then need to modify the following value from nothing to the URL of the Web Application / Site Collection you have configured for the My Sites.

Once saved and done you can click the same link as you did originally and you should now see the My Site load.

Hope this helps.

August 25
SharePoint 2010 – windows-service-credentials-FIMSynchronizationService

While working on a new Virtual Machine build I noticed that when I tried to set the security account for the "User Profile Synchronization Service" I got the following error:

To resolve this you will need to go to the following location:

http://{URL}/_admin/ServiceJobDefinitions.aspx

You will then need to remove the following item:

Once done you can now then set the credentials as you wanted to.

The correct new job should then be created and should update the credentials as expected.

Hope this helps.

August 18
SharePoint Design Multi-Browser Testing

Like most of you out there one of the things that it is compulsory now is testing the new SharePoint design or functionality within multiple browsers. Historically if like me you would have installed everything on your machine and used that for testing the design it can be a little tedious to open each browser one by one just to check the design. For me this has changed now, not only can we use the features within the Expression Web 4 Super preview to show side by side browsers such as below:

We now have another platform to use. I recently install the Adobe CS5 suite and noticed that from within Dreamweaver CS5 I have a new option.

If we click this link it will ask us to register but once done should load the following screen:

As you can see I am using our company's web site which has loaded into Internet Explorer 8.0 and Chrome 3.0. From the "View" menu I can choose what view I wish to use:

Also if we click the "Browser Sets" link we get the following:

This is great as I can now switch between any of the browsers and make sure my design works as it should. When you type a URL in you get the following screen where it loads the page into all of the browsers so you can quickly flick through them to check it.

I personally think this is a great tool and a quick way to test the design. There are plenty of other ways of doing the same but this one works really well and it integrated to the Adobe products. I would love to see this many browser options from within the Expression Suite also but for now, we are stuck with the following:

We shall see when the rest get added.

July 14
SharePoint 2010 – Multi Tenancy Configuration (Part 1)

As part of some work I have been doing recently and some long conversations (thanks again Spence) I have been working with the Multi-Tenancy options. For the solution I was looking at designing I was wondering whether the multi-tenant approach would work. Historically in SharePoint 2007, to get the idea of common services for a site you would normally have to create separate SSP's for each site that needed. This meant there was slightly more overhead for the server and in general configuration. The separate SSP's approach did work however; it meant you could configure the SSP's to sync with active directory etc that would be independent of the other sites. In effect each website became isolated from each other with separate databases from each other. Now if we jump into the present with SharePoint 2010 we have the whole multi-tenant approach which in reality is not the same at all. The concept is the same but there are still some of the same problems and architecture issues that we all faced within SharePoint 2007.

For my solution I have multiple web sites that need to be separate from each other security wise as well as the services that they offer. Each site needed to have user profiles available and sync to potentially different user stores such as Active Directory. So after some investigation and discussion I decided that to achieve this that multi-tenant may be the approach. The logic behind this was to minimize the performance overhead on the servers with multiple service applications and backend databases, as well as trying to design a cleaner solution. So I decided to test this approach.

To begin with I would suggest that you look at the following documents and posts before you jump into the whole Multi-Tenant approach:

http://www.harbar.net/presentations/spevo/DD105%20Multi%20Tenancy.pdf

http://www.harbar.net/articles/sp2010mt1.aspx

http://www.harbar.net/articles/sp2010mt2.aspx

http://blogs.technet.com/b/speschka/archive/2009/11/30/enabling-multi-tenant-support-in-sharepoint-2010.aspx

http://blogs.technet.com/b/speschka/archive/2009/12/30/multi-tenancy-in-sharepoint-2010-part-2.aspx

http://blogs.technet.com/b/speschka/archive/2010/01/16/multi-tenancy-in-sharepoint-2010-part-3.aspx

So to begin, the system I am testing on has a base install of SharePoint 2010, the configuration database is created and Central Administration is all setup. In order to enable Multi-Tenant support you will need to perform the following steps:

  1. Provision Service Applications in Partition Mode
  2. Create the Tenant Sites (assuming the web applications have been created beforehand)
  3. Create Subscriptions
  4. Associate Subscriptions to the Tenant Sites
  5. Create Tenant Admin Sites

Let's begin, firstly you will need to use Powershell for this provisioning, and you will need to make sure that each Service Application that can be set to Multi-Tenant has the correct parameter added (Shown in Bold in the Powershell itself.

Firstly we will create the Partition (Multi-Tenant) Service Applications using the following Powershell:

NOTE: You will see I am using a bunch of variables within the Powershell commands, these are just for the base names etc I need in the script

 

BCS Service and Proxy

New-SPBusinessDataCatalogServiceApplication -Name $bcsSAName -ApplicationPool $saAppPoolName -DatabaseServer $databaseServerName -DatabaseName $databasePrefixName"_BCS" -PartitionMode > $null

Get-SPServiceInstance | where-object {$_.TypeName -eq "Business Data Connectivity Service"} | Start-SPServiceInstance > $null

 

Metadata Service and Proxy

New-SPMetadataServiceApplication -Name $metadataSAName -ApplicationPool $saAppPoolName -DatabaseServer $databaseServerName -DatabaseName $databasePrefixName"_METADATA" -PartitionMode > $null

New-SPMetadataServiceApplicationProxy -Name "$metadataSAName Proxy" -DefaultProxyGroup -ServiceApplication $metadataSAName -PartitionMode > $null

Get-SPServiceInstance | where-object {$_.TypeName -eq "Managed Metadata Web Service"} | Start-SPServiceInstance > $null

 

User Profile Service and Proxy

$userProfileService = New-SPProfileServiceApplication -Name $userProfileSAName -ApplicationPool $saAppPoolName -ProfileDBServer $databaseServerName -ProfileDBName $databasePrefixName"_PROFILE" -SocialDBServer $databaseServerName -SocialDBName $databasePrefixName"_SOCIAL" -ProfileSyncDBServer $databaseServerName -ProfileSyncDBName $databasePrefixName"_SYNC" -PartitionMode

New-SPProfileServiceApplicationProxy -Name "$userProfileSAName Proxy" -ServiceApplication $userProfileService -DefaultProxyGroup -PartitionMode > $null

Get-SPServiceInstance | where-object {$_.TypeName -eq "User Profile Synchronization Service"} | Start-SPServiceInstance > $null

 

Secure Store Service and Proxy

$serviceapp = New-SPSecureStoreServiceApplication -Name $secureStoreSAName -partitionmode -sharing -databaseserver $databaseServerName -databasename $databasePrefixName"_ SSOPART" -applicationpool $saAppPoolName -auditingEnabled:$true -auditlogmaxsize 30

$proxy = $serviceapp | New-SPSecureStoreServiceApplicationProxy -defaultproxygroup:$true -name "$secureStoreSAName Proxy"

Update-SPSecureStoreMasterKey -ServiceApplicationProxy $proxy -Passphrase $farmPassPhrase

Start-Sleep -s 5

Update-SPSecureStoreApplicationServerKey -ServiceApplicationProxy "$secureStoreSAName Proxy" -Passphrase $farmPassPhrase

 

Search Service and Proxy

Start-SPEnterpriseSearchServiceInstance $searchServerName

Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $searchServerName

$searchApp = New-SPEnterpriseSearchServiceApplication -Name $searchSAName -ApplicationPool $saAppPoolName -DatabaseServer $databaseServerName -DatabaseName $databasePrefixName"_SEARCH" -Partitioned

$searchInstance = Get-SPEnterpriseSearchServiceInstance $searchServerName

$searchApp | Get-SPEnterpriseSearchAdministrationComponent | Set-SPEnterpriseSearchAdministrationComponent -SearchServiceInstance $searchInstance

$InitialCrawlTopology = $searchApp | Get-SPEnterpriseSearchCrawlTopology -Active

$CrawlTopology = $searchApp | New-SPEnterpriseSearchCrawlTopology

$CrawlDatabase = ([array]($searchApp | Get-SPEnterpriseSearchCrawlDatabase))[0]

$CrawlComponent = New-SPEnterpriseSearchCrawlComponent -CrawlTopology $CrawlTopology -CrawlDatabase $CrawlDatabase -SearchServiceInstance $searchInstance

$CrawlTopology | Set-SPEnterpriseSearchCrawlTopology -Active

do {write-host -NoNewline .;Start-Sleep 1;} while ($InitialCrawlTopology.State -ne "Inactive")

$InitialCrawlTopology | Remove-SPEnterpriseSearchCrawlTopology

$InitialQueryTopology = $searchApp | Get-SPEnterpriseSearchQueryTopology -Active

$QueryTopology = $searchApp | New-SPEnterpriseSearchQueryTopology -Partitions 1

$IndexPartition= (Get-SPEnterpriseSearchIndexPartition -QueryTopology $QueryTopology)

$QueryComponent = New-SPEnterpriseSearchQuerycomponent -QueryTopology $QueryTopology -IndexPartition $IndexPartition -SearchServiceInstance $searchInstance

$PropertyDatabase = ([array]($searchApp | Get-SPEnterpriseSearchPropertyDatabase))[0]

$IndexPartition | Set-SPEnterpriseSearchIndexPartition -PropertyDatabase $PropertyDatabase

$QueryTopology | Set-SPEnterpriseSearchQueryTopology -Active

$searchAppProxy = New-SPEnterpriseSearchServiceApplicationProxy -Name "$searchSAName Proxy" -SearchApplication $searchSAName -Partitioned > $null

 

We will now create the other general Service Applications using the following Powershell.

 

Access Services and Proxy

New-SPAccessServiceApplication -Name $accesssSAName -ApplicationPool $saAppPoolName > $null

Get-SPServiceInstance | where-object {$_.TypeName -eq "Access Database Service"} | Start-SPServiceInstance > $null

 

Visio Service and Proxy

New-SPVisioServiceApplication -Name $visioSAName -ApplicationPool $saAppPoolName > $null

New-SPVisioServiceApplicationProxy -Name "$visioSAName Proxy" -ServiceApplication $visioSAName > $null

Get-SPServiceInstance | where-object {$_.TypeName -eq "Visio Graphics Service"} | Start-SPServiceInstance > $null

 

Web Analytics Service and Proxy

$stagerSubscription = "<StagingDatabases><StagingDatabase ServerName='$databaseServerName' DatabaseName='SHAREPOINT_STAGE'/></StagingDatabases>"

$reportingSubscription = "<ReportingDatabases><ReportingDatabase ServerName='$databaseServerName' DatabaseName='SHAREPOINT_WAREHOUSE'/></ReportingDatabases>"

New-SPWebAnalyticsServiceApplication -Name $WebAnalyticsSAName -ApplicationPool $saAppPoolName -ReportingDataRetention 20 -SamplingRate 100 -ListOfReportingDatabases $reportingSubscription -ListOfStagingDatabases $stagerSubscription > $null

New-SPWebAnalyticsServiceApplicationProxy -Name "$WebAnalyticsSAName Proxy" -ServiceApplication $WebAnalyticsSAName > $null

Get-SPServiceInstance | where-object {$_.TypeName -eq "Web Analytics Service"} | Start-SPServiceInstance > $null

Get-SPServiceInstance | where-object {$_.TypeName -eq "Web Analytics Data Processing Service"} | Start-SPServiceInstance > $null

 

Excel Services and Proxy

New-SPExcelServiceApplication -name $excelSAName –ApplicationPool $saAppPoolName > $null

Set-SPExcelFileLocation -Identity "http://" -ExcelServiceApplication $excelSAName -ExternalDataAllowed 2 -WorkbookSizeMax 10 -WarnOnDataRefresh:$true

Get-SPServiceInstance | where-object {$_.TypeName -eq "Excel Calculation Services"} | Start-SPServiceInstance > $null

 

Performance Point Service and Proxy

New-SPPerformancePointServiceApplication -Name $performancePointSAName -ApplicationPool $saAppPoolName > $null

New-SPPerformancePointServiceApplicationProxy -Default -Name "$performancePointSAName Proxy" -ServiceApplication $performancePointSAName > $null

Get-SPServiceInstance | where-object {$_.TypeName -eq "PerformancePoint Service"} | Start-SPServiceInstance > $null

 

State Service and Proxy

New-SPStateServiceDatabase -Name $databasePrefixName"_STATE" -DatabaseServer $databaseServerName | New-SPStateServiceApplication -Name $stateSAName | New-SPStateServiceApplicationProxy -Name "$stateSAName Proxy" -DefaultProxyGroup > $null

 

Word Conversion Service and Proxy

New-SPWordConversionServiceApplication -Name $WordAutomationSAName -ApplicationPool $saAppPoolName -DatabaseServer $databaseServerName -DatabaseName $databasePrefixName"_WORD" -Default > $null

Get-SPServiceInstance | where-object {$_.TypeName -eq "Word Automation Services"} | Start-SPServiceInstance > $null

 

Usage Application

New-SPUsageApplication -Name $usageSAName -DatabaseName $databasePrefixName" _USAGE" -DatabaseServer $databaseServerName

 

We then need to create the Subscription Service Application using the following command:

 

$App = New-SPSubscriptionSettingsServiceApplication -ApplicationPool $saAppPoolName -Name $subscriptionSAName -DatabaseName $databasePrefixName" _SUBSCRIPTION"

$proxy = New-SPSubscriptionSettingsServiceApplicationProxy -ServiceApplication $App

Get-SPServiceInstance | where {$_.TypeName -eq "Windows SharePoint Services Subscription Settings Service"} | Start-SPServiceInstance

 

So now we have everything created we now have a full list of service applications ready to use.

 

So now we need to perform the following steps:

 

  1. Provision Service Applications in Partition Mode
  2. Create the Tenant Sites (assuming the web applications have been created beforehand)
  3. Create Subscriptions
  4. Associate Subscriptions to the Tenant Sites
  5. Create Tenant Admin Sites

To create the Tenant Sites we are going to use the following commands. Firstly we need to set some variables as before:

 

$tenantSiteTemplate = "BLANKINTERNETCONTAINER#0"

$tenantTemplate = "tenantadmin#0"

$tenantMySiteTemplate = "SPSMSITEHOST#0"

$tenantSecondaryOwnerAlias = "DOMAIN\Administrator"

$tenantOneOwnerAlias = "DOMAIN\TenantOneAdmin"

$tenantTwoOwnerAlias = "DOMAIN\TenantTwoAdmin"

$tenantThreeOwnerAlias = "DOMAIN\TenantThreeAdmin"

 

Now we use the following commands to create the sites:

 

new-spsite -url $tenantOneUrl -template $tenantSiteTemplate -owneralias $tenantOneOwnerAlias

new-spsite -url $tenantTwoUrl -template $tenantSiteTemplate -owneralias $tenantTwoOwnerAlias

new-spsite -url $tenantThreeUrl -template $tenantSiteTemplate -owneralias $tenantThreeOwnerAlias

 

Once these sites are created we need to now get a reference to them and created the subscriptions and associate them to the newly created sites.

 

$site1 = Get-SPSite | where {$_.url -eq $tenantOneUrl }

$site2 = Get-SPSite | where {$_.url -eq $tenantTwoUrl }

$site3 = Get-SPSite | where {$_.url -eq $tenantThreeUrl }

 

$sub1 = New-SPSiteSubscription

$sub2 = New-SPSiteSubscription

$sub3 = New-SPSiteSubscription

 

Set-SPSite -Identity $site1 -SiteSubscription $sub1

Set-SPSite -Identity $site2 -SiteSubscription $sub2

Set-SPSite -Identity $site3 -SiteSubscription $sub3

 

So now we have all the service applications created, tenant sites created and subscriptions created and assigned we are now ready to perform the rest of the configuration. In the next post we will look at the next steps:

 

  1. Provision Service Applications in Partition Mode
  2. Create the Tenant Sites (assuming the web applications have been created beforehand)
  3. Create Subscriptions
  4. Associate Subscriptions to the Tenant Sites
  5. Create Tenant Admin Sites

 

We will also look at the association of the service applications within the subscription, as well as the configuration for using different OU's for each tenant. Hope this helps.

 

NOTE: If I have missed anything so far let me know. J

June 18
SharePoint 2010 – Event 6803

Over the past couple of days I have been setting up various SharePoint 2010 environments and working with the User profiles Service Application. While working with it I found the following issue:

This issue after some investigation seems to have started happening after I renamed the server. What I noticed is that the STSADM command for rename server does not seem to completely rename everything that is referenced with the old name. So to fix this problem I did the following:

  1. Launch the following application

     

    C:\Program Files\Microsoft Office Servers\14.0\Synchronization Service\UIShell\miisclient.exe

     

     

  2. Once loaded, you will see that part of the full import failed. Click the "Management Agents" button
  3. This will then load the following:

     

     

  4. You need to now select the "Extensible Connectivity", right click and then select the "Properties" option

     

     

  5. When this loads you will see "Connect To" line, this is pointing to the old name of my server "TestServer"

     

     

  6. Modify this line so it now points to the correct server name of host header that you are using
  7. Once saved, you can then go back to "Central Administration", and re-run the profile synchronization from the service application
  8. After the process is completed you should see the following in the application

     

     

  9. There are still a couple of errors but all in all it ran successfully and profiles now exist

Hope this helps.

June 16
SharePoint 2010 'undefined' is null or not an object

When using a custom Master Page within SharePoint 2010 you may experience the following issue when creating site columns.

This error is caused by incorrect syntax within the master page itself. To reproduce this issue, do the following.

  1. Edit your custom Master Page
  2. Locate the following section:

     

     

  3. Cut the selected lines so the code now looks like this:

     

     

  4. You can now check-in and publish your Master Page
  5. Open a document library
  6. Click the "Library" tab from the ribbon bar
  7. Now select "Create Column"
  8. Complete the values as required

     

     

  9. Now when you click the "OK" button you should raise the error
  10. If you also try to delete a column it will error also with the standard SharePoint Yellow error screen

 

The fix for this is to ensure that the following lines are in-between the "</form>" and "</body>" tags in the master page.

Hope this helps. J

 

 

June 15
SharePoint 2010 Error 6317

So you have your new SharePoint 2010 environment working but for some reason you may be getting errors in the event log such as these.

Event ID:  6317
The computer name in the database does not match the computer name.
User Action: Run miisactivate.exe to update the server configuration to match the new computer name.

The side effect of this is that the "Forefront Identity Manager Synchronization Service" won't start.

The error message is very cryptic and after looking through some of the documentation is not well documented. So to resolve this issue you need to do the following.

  1. Navigate to: C:\Program Files\Microsoft Office Servers\14.0\Synchronization Service\Bin
  2. Open up "miiskmu.exe"

     

     

  3. Select the "Export Key Set" option, other options may be available.
  4. Add the relevant credentials

     

     

  5. Leave the location as-is

     

     

  6. Open up a command prompt from the same location above and type the following:

     

    miisactivate.exe miiskeys-1.bin DOMAIN\UserName *

     

     

  7. Press "YES" on the following popup message

     

     

  8. Enter the password for the chosen account in the prompted box (this is what the * was for in the command above)

     

  9. This should now complete and the service will now start successfully.

Hope this helps.

June 07
SharePoint 2010 – Add List Items as Anonymous (Not Code)

I am sure that at some point in a project that you have been faced with the decision of adding list data to SharePoint but having to perform this as anonymous users. In my case this always comes up on every project, the question often being "can anonymous users add events to my list?" What generally happens is next it the argument between the developers who would code this using elevated privileges and then the sales guys who say just use a data view web part and all is well. In reality there is call for both of these approaches, however more times than none, it becomes a custom developed solution using "RunWithElevatedPrivledges" in code. So now that SharePoint 2010 is available and all singing all dancing I decided to work out the approach and how we address this issue without having to use jQuery, custom code or really completed stuff. So begin with you will need to open SharePoint Designer 2010. Before I did so I created a test page that I could then use. Once SharePoint Designer 2010 is open navigate to your test page, in my case it is in the site pages library.

You will need to right click the test page and now select the "" option.

Now that our page is in edit mode we can start to add the items we need to create the new item form for our list. To create this if we now select the "PlaceHolderMain" place holder and select "Insert" from the ribbon bar and then the "New Item Form" button, which will then allow you to select the list or library you wish to use.

In my case I am using a custom list called "MyContacts" based on the out of the box discussion list.

Once selected, you should end up with the following.

To modify the fields you need to select the "Add / Remove Columns" ribbon bar button.

We will then select and order the fields as shown below.

So now we can make changes to the look and feel or we can leave it as it is and make some other changes. So to what we want is to have the users complete the form, then click save, save the item and then redirect to a thank you page. This can be achieved by selecting the "Save" button and right clicking and selecting the option "Form Actions".

We are then presented with the following options.

We will modify this by adding the "Navigate to page" option with the following settings:

If we now browse to the page directly in the browser we should be able to add an item and get redirected to the page, without the user seeing the standard "AllItems.aspx" page.

The great thing about this is that with the permission set on the list as follows, anonymous users can access the site, complete the details add the user and then get redirected to the thank you page, with no code added by me; this is all out of the box functionality.

Now of course the issue here has always been that if I add the above security then an anonymous user could access the list by using the following path: /Lists/{List Name}/AllItems.aspx

To negate this we can simply add the following to the web.config of the server which will prevent anonymous users accessing this location.

<location path="Lists">

<system.web>

<authorization>

<deny users="?" />

</authorization>

</system.web>

</location>

 

Or use the following for that specific location:

 

<location path="Lists/MyContacts/AllItems.aspx">

<system.web>

<authorization>

<deny users="*" />

</authorization>

</system.web>

</location>

 

Either way this is great functionality that we can now use without having to custom code any of the functionality above, and of course with the DataFormWebPart being XSLT based will give us greater flexibility in the UI.

May 13
SharePoint 2010 and Office Web Applications

So by now you should have had chance to play with SharePoint 2010 and been blown away by the new design and extra features that it brings to the table. One of the new features that can be added to the SharePoint 2010 farm is Office Web Application 2010. This brings some of the editing capabilities of the Office Suite directly into the browser. This is a big "WOW" factor in many of the demonstrations I have given of SharePoint 2010. So in this post I thought I would take you through the installation and the use of the Web Applications. To begin with you will need a SharePoint 2010 installation that works with service applications and web applications configured and ready for use. You will then need to get a copy of the Office Web Application 2010 RTM disk and you should be good to go. So let's start the installation from the disk:

Now the base installation will try to validate the entered key, this does work without Internet Access as well so no need to run have internet access for this. Enter the key and then continue with the installation.

Accept the license agreement as with all Microsoft Products then continue on.

Either leave the values as default or set the installation location for the "DATA" components. Once done we can continue.

You now get the standard installation screen, like watching paint dry so go and do something else then come back later. Once it is done you should then get the option to run the configuration wizard, which you "need" to do so the service applications components etc are deployed into your SharePoint farm.

Once the wizard starts as with any upgrade process you will see the number of steps it needs to complete. What is new though is you get a percentage indicator for the upgrade process, not sure on how it calculates the number as it gives you random percent figures. Very nice to see this though.

Once installed it will load Central Administration and ask if you want to run the wizard. If you want to you can but for me I will configure this manually by selecting the "cancel" option.

Now we are sent back to the main pages of Central Administration, from here we need to select "Manage Services on Server" which will load the following list. Both the "PowerPoint" and the "Word Viewing" services need to be started.

Now that they are started we need to access the "Managed Service Applications" option from Central Administration.

This will list the activated service applications that are configured for the SharePoint Farm. Here we need to add new Service Applications for both the new "PowerPoint" and "Word" services we enabled previously.

Let's choose the "Word Viewing" service first. Simply complete the required values for the name and then configure the application pool that you wish to use for the service. Repeat this for the "PowerPoint" service. Once the service applications are created we can click on each one and are presented with management options.

Word Viewing Service Application

PowerPoint Service Application

So now we have the service applications configured and working we can now enable the required functionality within the site collection. If we access the site collection features from the administration side of the site collection we need to enable the following feature.

Once done we are ready to test the Office Web Application functionality. This is done by adding some documents to an existing document library. So let's access the "View All Content" option from the "Site Actions" menu.

We will then access the "Documents" library and then click on the "Documents" tab from the ribbon bar.

From the "Documents" tab we will select the "New Document" option.

Once we click this option you will notice we now get sent to a new page instead of being prompted with the standard dialog from SharePoint.

Now we can call our document anything we need to and click the "OK" button. This will then create the document and load it inside the browser with the Word ribbon bar.

We can then add text and save, which in turn will add the document to the library.

We can also upload documents such as Word, Excel or PowerPoint files and have them render inside of the Office Web Applications.

Word

PowerPoint

Excel

As you can see this is great functionality that will enhance the whole SharePoint 2010 user experience completely. We will look at the Office Web Applications in more detail in a further post.

NOTE: If you do get errors when running the applications or loading the files then use the following link to resolve them.

http://support.microsoft.com/kb/981691

April 01
SharePoint MVP for another year!!
It is that time again, sleepless nights, not knowing if I had done enough. With all my life changing stuff this year, moving to the USA, new Job etc, I was really unsure, but low and behold I recieved an email a few moments ago confirming that I am a SharePoint MVP for another year. I want to say thank you to everyone who reads my blog, leaves comments (will respond better), emails and all those I meet, as well as Microsoft for bestowing this honour for another year. It is going to be a great year so stay tuned to my blog and hopefully see some of you at conferences and user group meetings.
1 - 10Next
MVP