Recently on SharePointPro Connections I got a lot of questions for SharePoint RBS. To help people to get clear on this topic here’s a FAQ… For installation and other documentations please refer to my pervious blog post on this topic: SharePoint 2010 Beta with FILESTREAM RBS Provider. Todd Klindt also has a very nice step by step guide: Installing Remote Blob Store (RBS) on SharePoint 2010.
Q: What is RBS?
From SQL RBS Team Blog:
RBS(Remote Blob Store) is a set of standardized APIs that allow storage/retrieval of BLOBs outside of your main SQL database where a dedicated BLOB store is desirable for various reasons. This uses a provider model for plugging in any dedicated BLOB store that implements these RBS APIs.
Q: Which version of SQL Server can I use for SharePoint RBS?
SQL Server 2008 and SQL Server 2008 R2 both support RBS. A RBS Library needs to be downloaded and installed on SQL Server to enable the feature. All SQL editions (Express, Standard, Enterprise…) support RBS. Licensing requirement may involve depending on the scenarios.
Q: What is FILESTREAM?
FILESTREAM is a SQL Server 2008 feature to store BLOB content on to file system.
From FILESTREAM Overview:
FILESTREAM integrates the SQL Server Database Engine with an NTFS file system by storing varbinary(max) binary large object (BLOB) data as files on the file system. Transact-SQL statements can insert, update, query, search, and back up FILESTREAM data. Win32 file system interfaces provide streaming access to the data.
FILESTREAM uses the NT system cache for caching file data. This helps reduce any effect that FILESTREAM data might have on Database Engine performance. The SQL Server buffer pool is not used; therefore, this memory is available for query processing.
SQL FILESTREAM feature does not allow to store content on anything other than local storages. (SMB shares cannot be used for store BLOB content)
Q: Is there a comparison of FILESTREAM and RBS?
Please check SQL RBS team blog: SQL Server Remote BLOB Store and FILESTREAM feature comparison.
Q: What is RBS FILESTREAM Provider?
RBS FILESTREAM Provider is a free out-of-the-box provider shipped by Microsoft SQL RBS Team that allows a deployment to use a SQL Database (local or remote) as a dedicated BLOB store. This provider utilizes the FILESTREAM as the BLOB storage mechanism and ties the two technologies together.
Q: Any benefit for using RBS with SharePoint?
By using RBS for SharePoint, customer maybe able to leverage cheaper storage, improve performance, and enable better integration stories with 3rd party technology for their SharePoint databases. But be careful, the benefit is different case by case. You need to investigate your scenarios to see if RBS really fits you.
Q: Any benefit to use RBS FILESTREAM Provider?
Benefit for Windows SharePoint Services 3.0 with Windows Internal Database upgrade:
We no longer support Windows Internal Database (WID) with SharePoint Foundation 2010. However, SQL Server Express has a 4GB DB size limit. The direct upgrade of a content DB > 4gb from WID to SQL Server Express is not supported. To get around of this limit, customer can use RBS FILESTREAM Provider to store all the BLOB content on to file system so the DB size will still remain small.
Benefit for other scenarios:
We are currently recommending to use this technology with document archiving and media streaming scenarios. Tests show that with RBS FILESTREAM Provider large BLOB objects can have better I/O compared with putting everything in the database.
Q: Can RBS FILESTREAM Provider support SMB shares to store the content, for example a NAS device?
No. SQL FILESTREAM feature does not allow to store content on anything other than local storages. Therefore RBS FILESTREAM Provider has the same limitation. 3rd party RBS Providers do not have this limitation if they are not leveraging SQL FILESTREAM feature.
Q: How is the BLOB content stored on the file system with RBS FILESTREAM Provider? Is it encrypted? Does TDE helps with the encryption?
The BLOB objects are stored with GUID names to make sure they can be linked from the RBS tables. The content is not encrypted. TDE does not apply to the content in file stream.
Q: I heard there’s a remote feature in RBS FILESTREAM Provider, is that supported by SharePoint 2010?
This feature allows SQL RBS FILESTREAM Provider to store BLOBs on to a remote SQL Server DB/Instance. SharePoint 2010 will support this remote feature of RBS FILESTREAM Provider. However the test work will not be finished at the time of SharePoint 2010 RTM. We will announce the supportability of this remote feature later when the test is done.
Q: Is there a licensing requirement for SQL Server when I want to use RBS for SharePoint?
Yes, there is. If the BLOB objects are stored on local SQL Server file system then you can use any SQL Server SKU. For any other scenarios, local SQL Server needs to be Enterprise. The following table shows the license requirement for different scenarios.
Q: Any 3rd party RBS provider I can use?
Currently StoragePoint (acquired by Metalogix recently) and EMC are providing RBS Providers for different storage options. NetApps, Opentext, Commvault are also working on it.
AvePoint also made their DocAve Extender free – a EBS provider for 2007, and a RBS provider for 2010. (thanks to Chris Musico for pointing out)
STEALTH Software also offers RBS providers. (Thanks Mark)
Q: Is EBS still supported?
EBS(External BLOB Storage API) is introduced by SharePoint 2007. It is still supported in this release (2010). Moving forward, in order to have a more unified storage solution, we will only support RBS in the next release.
Q: How should I backup the content if I’m using RBS?
By using SharePoint Backup and Restore, it doesn’t really matter where the BLOB objects are stored – this is taken care by SQL RBS. So when you use SharePoint Backup on a RBS enabled content database, it will still backup everything. You can restore the backup to a non-RBS enabled database too, the BLOB objects will be inside the database – SQL RBS will decide where to put them, not SharePoint.
If you are trying to backup the database by using SQL Backup, keep in mind this will not backup the BLOB objects. You need to manually backup the database first, then manually backup (XCOPY or other file backup tools) these BLOBs. When restore, using a reverse order to restore BLOBs first, then the databases. UPDATE: SQL Backup now can take care of FILESTREAM BLOB objects.
Q: Can RBS help to remove the 2GB file size limit in SharePoint?
No, using RBS with SharePoint will have the same file size limit.
Q: Can I enable RBS on a content database with content existing? How to migrate those content into the BLOB store? (Thanks to Chris Givens)
Yes, you can enable RBS on a content database and then migrate content into the external storage. There's a "Migrate()" method to handle this process. For example using Windows PowerShell, $cdb is the content db with RBS enabled, the following command will do the job:
$cdb.Migrate()
Q: Should I consider using RBS all the time?
No. RBS may be used when :
For example, if you only have 100GB of data, seperated in several content databases, and most of the content are documents, go for RBS will not benefit your server farm.
Q: Are SQL Mirroring, Clustering and Log Shipping supported when using RBS FILESTREAM Provider?
Log Shipping and Clustering are supported. SQL FILESTREAM cannot be used together with SQL Mirroring.
If you have additional questions please leave them in the comment, I can add them into this list later.
Jie.
[3/9/2010 - WCF fix need to be installed after .Net Framework 3.5.1 is enabled (since it's a WCF fix, which is part of .Net Framework. Otherwise it cannot apply to the system. This fix will be automatically downloaded and installed by pre-requisite installer in RC/RTM build)
[12/7 - +Office Web Apps on Win7]
[11/23 - added a short notice on win7+Office Web Application - this will not install and no workaround so far]
[11/21 - added setup keys in case people can't find them]
[11/19 - updated user profile sync instructions - update WCF Fix for R2 and Win7 - update script for PowerPoint View/Edit]
Since SharePoint 2010 has been made available for MSDN/TechNet subscriber public now, here’re some steps you would like to follow to get a successful installation. But keep in mind: This beta is not supported and you CANNOT upgrade the installation to RTM when it’s released. This Beta should only be used for evaluation purpose.
The public download of SharePoint Server 2010 Beta (Enterprise) is here:http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=77c30c6c-47fc-416d-88e7-8122534b3f37
The key you can use is:
PKXTJ-DCM9D-6MM3V-G86P8-MJ8CY
BV7VC-RMR6B-26P6Y-BTQDG-DX2KQ This key should be avoided - it is a wrong key.
Any one in the two would work.
Please note there's no technical difference between SharePoint Server 2010 + Enterprise CAL and SharePoint Server for Internet Sites Enterprise. It is only about licensing.
$e = Get-SPServiceApplication | where {$_.TypeName.Equals("Word Viewing Service Application")} $e.WordServerIsSandboxed = $false $e.WordServerIsSandboxed
$p = Get-SPServiceApplication | where {$_.TypeName.Equals("PowerPoint Service Application")} $p.EnableSandboxedViewing = $false $p.EnableSandboxedEditing = $false $p.EnableSandboxedViewing $p.EnableSandboxedEditing #(Please use the below script for PowerPointServiceApplication - You need to enter "Y" for the answer of each cmd)Get-SPPowerPointServiceApplication | Set-SPPowerPointServiceApplication -EnableSandboxedViewing $falseGet-SPPowerPointServiceApplication | Set-SPPowerPointServiceApplication -EnableSandboxedEditing $false
In the server's c:\windows\system32\inetsrv\config\applicationHost.config Add the line below in the end of the dynamicTypes. <add mimeType="application/zip" enabled="false" />
IISRESET
Enable Developer Dashboard and turn to OnDemand for troubleshooting page performance issues. It can be done by STSADM or SharePoint 2010 Management Shell (Windows PowerShell).
STSADM: stsadm -o setproperty -pn developer-dashboard -pv OnDemand
Windows PowerShell:
$svc=[Microsoft.SharePoint.Administration.SPWebService]::ContentService
$ddsetting=$svc.DeveloperDashboardSettings
$ddsetting.DisplayLevel=[Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::OnDemand
$ddsetting.Update()
Happy SharePointing!
Jie Li
Technical Product Manager, SharePoint
It’s quite interesting that we have talked so much on the improved browser support in SharePoint 2010. But if you are a Mac user, you can rarely see a comprehensive list of what you can do and what you cannot with clear explanation. If you search on the internet, you can find Dux has a very good video here: http://www.vimeo.com/10709658. He went through nearly all the features with Office for Mac 2008. If you are a Mac user/admin and need to use SharePoint, it’s worth watching. Virtualization would be another way to get around of the limitations. The official documentation for browser support is here: http://technet.microsoft.com/en-us/library/cc263526.aspx. Scroll down to the bottom of the page, you can find the limitations for Safari and Firefox on a non-Windows system (most of the time that means Mac).
However, some of the information there may not be accurate…or just confusing. So I will try to make it clear in this post…
Here’re some questions I collected during the past months, and the answers to them are based on my experience, not official support statement:
Can Mac users use SharePoint 2010?
Of course yes. Both Safari and Firefox are supported browsers of SharePoint 2010 because of the introduce of XHTML 1.0 in the product. The limitations can be found in http://technet.microsoft.com/en-us/library/cc263526.aspx. However, there’re some mistakes in the language used in the article so please read on.
Can SharePoint Admins manage SharePoint 2010 with Safari?
Central Admin web site can be accessed by Safari and Firefox without any problem. If you do have issues with OOTB Central Admin site, please check settings on your Mac and network – something is wrong there, not SharePoint. There’s no ActiveX controls to block you from doing any admin tasks. Of course, there’s no Windows PowerShell on a Mac so you cannot do the Windows PowerShell Remoting tasks, but that cannot stop you from using Remote Desktop for Mac to connect to those SharePoint Servers.
Can I directly open Office file from SharePoint and save it back?
Yes, although you will not have Read Only/Edit option to choose from before you open it in Office for Mac. The file will be opened as Read Only by default, and you can modify the file by click Edit. Then you can also save it back to the original location.
Can I upload file to SharePoint using Mac?
Certainly you can. In the TechNet article there’s an item like this:
File upload and copy: Requires an ActiveX control that is not support on this platform.
But this is invalid. File upload does not require an ActiveX control. What you cannot achieve is to use the Upload Multiple Documents options, see below.
Can I upload multiple files to SharePoint using Mac?
On the browser, no. Unless you use virtualization solutions with Internet Explorer, the Upload Multiple Documents menu item is disabled. The reason behind this is the feature requires STS Upld ActiveX control. However, you can use Microsoft Document Connection to upload multiple files without any problem.
Microsoft Document Connection, which was introduced in Office for Mac 2008 SP2, now is also a part of the Office for Mac 2011 installation. It can connect to both SharePoint sites and SkyDrive. Multiple file upload is simple with this application – just drag and drop them into the application then everything is done. The application itself can be seen as a very lite version of SharePoint Workspace, although it doesn’t do much beyond upload, read, edit, check in/check out. You cannot delete a file, create a new folder, or edit its metadata properties in this app, and to get the latest update you need to hit Refresh button.
Can I have Explorer View in Mac?
No. Since how Windows/Mac plus all the browsers has different ways to handle this protocol, it is nearly impossible to have a standard way to implement it to work across different platform with native Explorer/Finder support. Microsoft Document Connection is a good client to replace this feature.
How do I use Infopath/Onenote/Access/Visio, etc…on SharePoint with Mac?
Since these applications are not existing in current Office for Mac 2011 release, the only way to use them on Mac is to use virtualization. Alternatively, you can use Infopath Service, Onenote, Access Service and Visio Service on SharePoint with Safari/Firefox on Mac. Office Web Apps also allows you to directly view/edit Office files without even install Office for Mac on the machine. (You need to have a Office client license to use Office Web Apps on SharePoint)
Does Media Web Part work on Mac?
Yes. You need to install SilverLight on Mac before it’s functional.
Can I insert HTML5 video content to SharePoint so it can work with Mac?
Yes. Upload the video to any document library and reference it in your video tag. Please note H.264 content will not work with Firefox since they didn’t implement the support. See http://blogs.msdn.com/b/opal/archive/2010/06/14/what-s-the-story-for-html5-with-sharepoint-2010.aspx
Here’s an example: The upper right video is from Media Web Part, while the lower left one is built with Content Editor Web Part with HTML5 <video> tag.
Since I have already installed Office for Mac 2011, can I use the features on the Ribbon such as Connect to Outlook, Excel, SharePoint Workspace, etc?
Unfortunately no. These features uses ActiveX controls except Export to Excel. And for Export to Excel feature, since Excel for Mac does not have a good support for Web Query(.iqy), it is really hard to make it to work. I may need to dig into the details, but it seems like when you run saved query Excel failed to authenticate with SharePoint. Outlook for Mac does not have the ability to connect to SharePoint.
Can I edit SharePoint pages using Safari? I cannot do it with iPad or iPhone!
Yes you can – This is fully supported. The mobile version of Safari is a trimmed down version of Safari -- it does not support contentEditable property so it cannot be used with any rich text editing application. For details see http://blogs.msdn.com/b/opal/archive/2010/09/01/can-i-use-ipad-iphone-with-sharepoint-2010.aspx
Is there presence support if I installed Communicator for Mac?
No. The presence information (green/yellow/red) is shown through an ActiveX control installed by Communicator(Lync) if you use Windows. But you can have presence indicator when you use Office clients such as Outlook for Mac.
I’ll try to update this post when I have more information…
Jie
This is how I setup user profile sync for SharePoint Server 2010 Beta on my machine. You should not take this as an official guide. But the steps may help if you have been drive crazy. :)
You should also check out TechNet article and the steps on our team blog first, they are more "official". And it's not come from "another MS guy in the wild" like me:)
[Update - we are considering to gather all information and put it back to TechNet article, could be video walkthrough, screenshots, and hope that could help. After that is done, i may remove the content here.]
The following steps in done on Windows Server 2008 R2. But it also applies to Windows Server 2008. The WCF fix for R2 and Win7 is not currently available to public but it will be released in coming days here.
08/26/2011 Update: Here's the official iPad support informarion from SharePoint team - http://sharepoint.microsoft.com/blog/Pages/BlogPost.aspx?pID=960
A quick answer to this question is: Yes, but that depends on how you access SharePoint.
To understand the myth, we need to go through some details…
How to access SharePoint content from iPhone/iPad?
Okay, we got two methods apparently. The first one is to use a browser like Safari on the iPhone/iPad to browse the pages directly, just like how you use that on the desktop. The second one involves Apps.
How about the browser way? Is it supported?
Good news is, it works most of the time. Bad news is, there is something that’s not supported by Mobile Safari currently. Although we do support all mobile browsers, that’s in Mobile View of the pages. Mobile Safari can handle those pages pretty well, but not all the full version of the pages.
What is the problem and why can’t you fix it???!!!
The most obvious problem is that Rich Edit controls won’t work with these iOS devices (current verison: iOS 4.0). If you dig deeper into the issue, you will find that iPhone/iPad actually won’t work with any Rich Edit fields on the internet nowadays. The problem is Mobile Safari does not support enough features as Safari does. It’s a trimmed down version of Safari, one of the attribute it does not support is contentEditable. This attribute is widely used in SharePoint, in Google Docs, in TinyMCE(One of the best WYSIWYG editor)…
So until Apple improve their Webkit code on these devices, the only way to get around of this is to add detection code to remove Rich Edit experience for iOS devices, just like to switch to the Mobile View. There’s no way for the whole internet world to “fix” what Mobile Safari is missing.
In SharePoint, that means things involves editing in a Rich Text way will not work: Office Web Apps Edit Mode, Page Edit Mode, etc. Viewing pages and content are good.
Why does this contentEditable matter?
This attribute is introduced by Internet Explorer 5.5 more than 10 years ago, and is widely supported in all modern browsers like Firefox, Safari, Chrome and Opera. It is a fundamental of creating those rich edit experience within browsers instead of a separate RIA so gradually it’s also accepted in HTML5 standard.
Further reading on HTML5 & contentEditable: http://blog.whatwg.org/the-road-to-html-5-contenteditable
How about the Apps way?
There’re several Apps in App Store currently for SharePoint access. Just search for SharePoint, and you can find them. The experience varies, but in general they do the job. Currently there’s no client from Microsoft does that – if you need, you may want to consider a Windows Phone device.
What’s the conclusion?
If you need to use these iDevices’ browser with SharePoint, you need to test your usage scenario first since Mobile Safari is not in the supported browsers for full page views anyway. You are responsible for the customizations to make unsupported browsers work. Or you can wait until Apple release some fix for their iOS to reduce the problem. No idea if their new 4.2 will do something on that currently. Apps is good to check out, but may not meet all the needs depending on how you want to use it. I don’t have a recommendation here.
A new improvement in SharePoint 2010 is the support of Service Connection Point (Active Directory Marker). This can help IT Professionals to track SharePoint 2010 installations in their environment.
To use this new feature, administrator needs to create a container in Active Directory then set the right permission to the container before they implement SharePoint 2010 products in their environment. This can be done through ADSI Edit. Here’re the steps:
1. Start ADSI Edit on your domain controller, or use remote administration tool to connect to it from another machine.
2. Expand System.
3. Right click in the white area then choose New, Object…
4. Create a container.
5. Fill in the container name, by default this should be Microsoft SharePoint Products. You can use other names, but you need to create a group policy for the domain machines to set a string value ContainerDistinguishedName under registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\SharePoint. In this way PSConfig can detect the new name and change it accordingly.
6. Click Finish. The container is created.
7. Right click on the container, choose Properties.
8. Click Security.
9. Add the users you want to write to this container, and give them Create serviceConnectionPoint objects permission by clicking Advanced, then edit the object. When users who cannot write to this container install SharePoint 2010, no new entry will be created. A wise idea would be give Authenticated Users the permission so to track all the objects.
10. Install and provision a new SharePoint farm in the environment, and check if the SCP has been created successfully. If everything works, you can find a new GUID object under Microsoft SharePoint Product Container. Right click it and select Properties, you can find that the server farm’s topology web services is recorded here. In this case it is https://sp2010:32844/Topology/topology.svc
I will post a script for listing all the SharePoint 2010 server names in Script Center later.
Update: the script is here: http://gallery.technet.microsoft.com/ScriptCenter/en-us/af31bded-f33f-4c38-a4e8-eaa2fab1c459
UPDATE 09/28/10: Check out new security bulletin to download updates http://www.microsoft.com/technet/security/bulletin/MS10-070.mspx
You may have already read these articles. If not, please do it right now.
http://www.microsoft.com/technet/security/advisory/2416728.mspx
http://blogs.msdn.com/b/sharepoint/archive/2010/09/21/security-advisory-2416728-vulnerability-in-asp-net-and-sharepoint.aspx
I will not repeat the message in those posts, but you should follow the instructions to prevent potential attacks.
So how about SharePoint Server 2007 and WSS 3.0? It’s not on SharePoint Team Blog (yet).
You may need to follow the workaround for ASP.Net 1.0~3.5:
Update: 2007/WSS3 is not vulnerable to the attack. No workaround is needed right now, but you still need to apply the fix when it come out.
Please follow the updated SP team blog post for 2007 issue:
How to validate? Can I type in some non-existing pages to test if web.config changes work on SharePoint?
The answer would be no. When you try to access a non-existing page on a SharePoint site with a modified web.config you will still have 404 codes. But SharePoint has its own custom error handler to generate those 404s for non-existing pages, which will not be able to be used directly by the attack. The workaround will be able to prevent error codes from being generated by accessing certain ASP.Net resources, and it would work if you followed the steps correctly.
Just remember, the ultimate solution is the upcoming ASP.Net fix. This workaround is just temporary, get you protection before the patch is released. Once it’s released, apply the fix and then restore your web.config to the original ones.
The Lotus Notes Protocol Handler has been changed to Lotus Notes Connector in SharePoint 2010 products. The good thing is, now Lotus Notes Connector has its own Service and Service Application. It is working on x64 platform, supporting Lotus Domino 5.5~8.5. And the UI as been improved a lot. So here’re the steps to configure Lotus Notes search in SharePoint Server 2010. It also applies to Search Server 2010.
Prepare Lotus Notes Client
I’m assuming the reader has basic Lotus Notes administrator knowledge. If not, don’t worry – follow the instructions in Notes Setup and TechNet article and you may still succeed.
This guide is done with Lotus Domino and Notes 8.5. The steps with earlier versions are the same.
Make sure Lotus Notes Client has been installed on the SharePoint box you want to use as an indexer.
Suggestion: use C:\Lotus\Notes as installation directory so you won’t miss it. The installer in Notes 8.5 32bit has some issues with “(x86)” and messed up my program files directory on x64 OS.
If you need to make mappings file from this machine, Domino Designer is also needed. Domino Administrator can be an option.
After installation, double click Notes icon to launch it and go through connection setup. make sure it can connect to the Domino Server you want to crawl.
Setup Lotus Notes Connector on SharePoint Server
1. In Farm Configuration Wizard, make sure Lotus Notes Connector is selected and click Next. This will create the service and applications.
2. In System Settings, click Manage services on server.
3. Click Start on Lotus Notes Connector
4. So now it tells you there’re couple of steps you need to follow before provisioning the service. Don’t click Provision now, step 5-10 are required.
5. Download Lotus Notes C++ API 3.0 (not 3.0i) from IBM. The link may change as IBM updates their website quite often and breaks outside links. Make sure to download the one for Windows.
6. Get lcppn30.dll from the package and copy it to x:\program files\microsoft office servers\14.0\bin and x:\lotus\notes (your notes installation directory).
7. Go to x:\program files\microsoft office servers\14.0\bin\1033 (1033 is LCID for US English. The folder name may be different for other languages. For example, zh-cn is 2052), run NotesSetup.exe. Make sure the account to run NotesSetup.exe is the same with the one you use to start the Lotus Notes Connector Service.
8. Okay, this is the same one in 2007. Put in your Lotus Notes path like the following. Password is the one of the account you want to use for crawl. If you want to have security trimming with search result, click next. Otherwise you can check Ignore Lotus Notes security while building an index option, skip step 9 and finish setup.
9. Fill in server name, account mappings db name, view name and column title in the dialogue. For how to create this mapping file, you can refer to http://technet.microsoft.com/en-us/library/cc261820.aspx. The same file with 2007 still works in 2010.
10. Finishing setup. If everything is working, you should see the configuration succeeded message box.
11. Go back to the browser window in step 4 and click Provision. This will start Lotus Notes Connector service.
Setup and crawl Lotus Notes Content Source in SharePoint Server 2010
1. In Service Applications, click Search Service Application.
2. Create a Lotus Notes Content Source. The difference with 2007 is you don’t need to manually select every server name and each database name with a dropdown list any more. just copy and paste the Lotus Notes database addresses and it’s done.
For example, I created a document library in the root directory of Domino Server. The name is Document.nsf. There’s a doc inside, talking about Halo 3 ODST. So in the address line I put down notes://domino85/document.nsf.
The document in the lib – Mass Effect 2 is the one I’m playing the second round right now but this is just a demo<- horrible smiley btw.
4. Kick off a full crawl to see the result!
Refine Lotus Notes search result with Metadata Property Mappings
When you do a search after the crawl, you may see a strange ID in the title of the result. This is the same behavior with 2007 – the crawler doesn’t know which field should be used as the title, so it chooses the uid of the notes document. This can be changed through Metadata Property Mappings, which used to be called managed property.
1. In Search Service Application, click Metadata Property Mappings from the left bar. Then click Categories.
2. Click Notes in the categories. This UI is much better than 2007!
3. Since this is a document library, the title should be “Subject” Notes field. So click the drop down of “Subject(Text)”.
4. You can add mappings to the managed property: Title.
5. Don’t forget to click on the Title link after you mapped it with Subject(Text).
6. Move up Subject(Text) in the order to make sure it is the first to be picked up and mapped to the Title. If you skip this step, the doc id will be picked up instead.
7. A full crawl to make sure everything is updated.
8. Done!
Like Office SharePoint Server 2007, there’s no OOTB PDF iFilter in SharePoint Server 2010. If you add PDF as a file type for SharePoint Search, you will get the following result:
You can see that only the file attributes are indexed.
You need to install a x64 PDF iFilter for this. There’re three PDF iFilter on market, Adobe, Foxit, and TET. You can refer to my earlier post for comparison. Since the registry name is changed in 2010, you may need to manually modify it to make the iFilters registered. Foxit recently updated their installer to reflect this change.
http://www.foxitsoftware.com/pdf/ifilter/
Quote from Foxit PDF iFilter change log:
Version Number: 1.0.0.3213
* Fixes a crash issue that is caused by embedded fonts.
* Adds the following registry settings in the installation program:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\14.0\Search\Setup\Filters\.pdf]
"Extension"=".pdf"
"FileTypeBucket"=dword:00000001
"MimeTypes"="application/pdf"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\14.0\Search\Setup\ContentIndexCommon\Filters\Extension\.pdf]
@="{987f8d1a-26e6-4554-b007-6b20e2680632}"
So run the installer, and then restart SharePoint Server Search 14 service. This service name is subject to change when RTM, but you can easily get the idea.
Recrawl the files.
It worked. Please note the installer will not get you PDF icon file, you need to follow the steps here http://www.foxitsoftware.com/pdf/ifilter/installation.html to download icon file and modify DOCICON.XML.
This also applies to Search Server 2010. FAST Search index PDF files OOTB, so you don’t need to go with these steps.
After so long a time Adobe finally released its 64bit version of PDF iFilter!
http://www.adobe.com/support/downloads/detail.jsp?ftpID=4025
“In response to customer requests, Adobe is releasing Adobe PDF iFilter 9 for 64-bit platforms, which will allow searching PDF files on Microsoft® Windows® 64-bit platforms for applications such as Microsoft Office SharePoint Server 2007, Microsoft Exchange Server 2007, and Microsoft SQL Server 2005.”
But, what about performance? How does it compare with FoxIT 64bit PDF iFilter?
My friend Deb Haldar did a performance test last year for their 32bit iFilters. You can find the result here: FOXIT vs.. Adobe PDF IFilter [ 32-bit only ]. Let’s say, FoxIT 32bit PDF iFilter is more than 4 times faster than the Adobe one.
Will the story change in 64bit age?
I picked about two sets of PDF files. Set I contains ~1000 PDF files, 1.7 GB in total. Set 2 contians ~2600 files, 2.4G in total. Language is mixed by 30% Chinese, 70% US English. The hardware spec is a two-way dual core XEON at 3.4GHz, 4G Ram. SharePoint was patched with October CU. Here’s the result.
On average, FoxIT x64 PDF ifilter is still ~5 times faster than the Adobe one. But FoxIT charges 330 USD for a 2 core machine, while Adobe PDF iFilter is free. So if PDF indexing is the key to your business, go with FoxIT to get much better performance. If not, you may play with Adobe PDF iFilter to furfill some simple and basic request.
With all the improvements in SharePoint 2010 for IT Professionals, I always put Windows PowerShell support as the number one. Maybe this has something to do with my past Linux/Unix background, but the main reason is, I’m a really really lazy person. If something can be put into automation, then why bother to click through it manually every time? Schedule it to run at certain time everyday can save me a lot of time. In the past SharePoint versions, STSADM is okay, but it’s limited and hard to play with. Although you can use Windows PowerShell to call object models directly, but that is too complex and indeed a developer stuff. Now, with SharePoint 2010 Windows PowerShell cmdlets, scripting can be really fun!
But someone asked me this question:
You are telling me scripting is great – but isn’t that just a server thing? I still need to open remote desktop on my laptop to connect to the server box and then do the shell stuff, can’t I have something like SSH? Just run my script remotely without opening my browser, remote desktop, only Windows PowerShell…
Definitely you can do it! Windows PowerShell v2 RTM on Server 2008/R2, which is also a requisite of SharePoint 2010, supports “remoting”. So you can manage SharePoint 2010 remotely with Windows PowerShell prompt on your local machine.
Let’s try it!
Enable Remoting support on SharePoint Server box
A few steps are necessary to setup Windows PowerShell Remoting for SharePoint.
Enable Windows PowerShell Remoting
Windows PowerShell Remoting needs to be enabled first by calling the following cmdlet in Windows PowerShell:
Enable-PSRemoting
This command will do a quick configuration of Windows Remote Management (WinRM). A HTTP listener will be created by WinRM and firewall exceptions will be created automatically. If you get a Kerberos error, it could be possible that SPN for HTTP/yourservername is not there and you need to use setspn to add it. Most of the time you won’t have the issue.
You can test if the remoting is working by type Enter-PSSession –ComputerName localhost on the same server box.
However, there’re two extra requirements for SharePoint remoting. I just list them here, if you want further details, Zach Rosenfield, the Program Manager who owns SharePoint Windows PowerShell support, explained in his blog SharePoint PowerShell “Remoting” Requirements.
Increase memory limit for remote shell
Some of the SharePoint cmdlets could run for quite a long time and require a lot of memory. By default, a remote shell will be allocated 150 MB of memory, this may cause some of the command to fail, for example site collection creation. Use the following command to increase this limitation to 1000MB. This is only necessary if you need to run those commands on that server.
Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 1000
If this value is too low, then you may have error messages like:System.Management.Automation.RemoteException: Process is terminated due to StackOverflowException.
Setup CredSSP support
Credential Security Service Provider(CredSSP) authentication should be used if you need to do “double hop” with your credentials. It does not mean using other authentication methods you can’t run the cmdlets at all, depending on different security permission scenarios, they may or may not work. CredSSP is the best way to deal with the situation.
In some of the situation, even without CredSSP the cmdlets still work. For example, my current account is in Microsoft domain. The target server is in contoso.com domain. I used Negotiate authentication with a username and password to logon this server remotely, then created a new content database without any problem. You can test your environment to choose the best way – certain domain policy may prevent client machine from delegating credentials, which is required by CredSSP. But still, please use CredSSP in any case if possible.
To enable CredSSP on the server, use the following command:
Enable-WSManCredSSP –Role Server
You can use Get-WSManCredSSP to check if it is enabled.
Setup client machine for Remoting
Enable CredSSP support
To use CredSSP, you need to run the following command in Windows PowerShell, where * can be replaced with the server name you want to connect:
Enable-WSManCredSSP -Role client -DelegateComputer *
Use Get-WSManCredSSP to check if it is enabled correctly.
Create and enter a remote session of Windows PowerShell
If your current user on client machine has permission to the SharePoint farm and Windows PowerShell on the remote box, you can use Enter-PSSession to create and enter the remote session.
For example, connecting to sharepoint.contoso.com…
Enter-PSSession -ComputerName sharepoint.contoso.com
If it works, the command prompt will be changed to [sharepoint.contoso.com]: PS C:\Users\Administrator\>.
The session will be closed when you type exit or Exit-PSSession. You can also use New-PSSession to create the session to use with Invoke-Command.
To connect to a machine with CredSSP and a different credential, you can use
Enter-PSSession -ComputerName sharepoint.contoso.com -Authentication CredSSP –Credential domain\username
This will pop up a dialogue for you to type in password. If you want this process to be fully automated, you can store the credential first into a file.
Store and use credentials for scripting
A credential in Windows PowerShell is a object which contains username (as plain text) and password (as secure string).
First, use the following command to covert password from keyboard input to a secure string in a text file.
Read-Host -AsSecureString | ConvertFrom-SecureString | out-file C:\crd-sharepoint.txt
When you need to create a credential object, read this password (the secure string) from the file and create the credential with the following command:
$pwd = Get-Content C:\crd-sharepoint.txt | ConvertTo-SecureString
then create the credential (replace myusername with your domain\username):
$crd = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList "myusername",$pwd
Then you will be able to use this credential in the command line without any dialogue.
Enter-PSSession -ComputerName sharepoint.contoso.com -Authentication CredSSP -Credential $crd
Load SharePoint Windows PowerShell Snap-in
Unlike SharePoint Management Shell, You need to load this snap-in manually to use the cmdlets for SharePoint.
Add-PSSnapin Microsoft.SharePoint.Powershell
Then everything will work.
Further readings
Zach Rosenfield’s Blog
http://sharepoint.microsoft.com/blogs/zach
Zach’s blog is my favorite. The following articles are highly recommended to read…
SharePoint 2010 PowerShell Permissions Explained
http://sharepoint.microsoft.com/blogs/zach/Lists/Posts/Post.aspx?ID=56
SPModule.HelloWorld()
http://sharepoint.microsoft.com/blogs/zach/Lists/Posts/Post.aspx?ID=54
Remote Install of SharePoint (with SPModule)
http://sharepoint.microsoft.com/blogs/zach/Lists/Posts/Post.aspx?ID=55
Webcast - Getting Started: Windows PowerShell for SharePoint 2010 Administrators, by Todd Kindt on TechNet
http://technet.microsoft.com/en-us/sharepoint/ee518673.aspx Technical Reference: Windows PowerShell for SharePoint Server 2010
CHM references for download. Please note there’ll be some changes in the cmdlets between beta and RTM.
http://technet.microsoft.com/en-us/library/ee662539(office.14).aspx
Got Questions?
Ask them on TechNet Forum! If we got enough questions we may even open a separate section for Windows PowerShell!
SharePoint 2010 - Setup, Upgrade, Administration and Operation
Despite the draft status, HTML5 is indeed a hot topic this year. Audio/Video tag and codec war, Canvas, Local Storage… So now the question comes: Does/Will SharePoint 2010 support HTML5?
Depending on what you want, the answer may be quite different. I always ask some questions before I answer the supportability question: What do you mean by support? What do you want to achieve?
So here’s why I’m asking:
If you answered the questions and considered the above points, you will have a general idea whether you want to use HTML5 or not in your project. Now the question turns into another way: Are you trying to get HTML5 tags into SharePoint 2010 pages, or are you trying to make SharePoint 2010 to output HTML5 pages that can be validated?
Hope this helps to clarify the questions of HTML5 and SharePoint 2010.
#Update: IE9 Platform Preview 3 is released for public: http://ie.microsoft.com/testdrive/ It supports audio and video tags, plus canvas. My demo is working in the preview, but you have to select "Force IE9 Document mode" in the menu since we are not outputing native HTML5 pages. The test result shows a lot of progress has been made in IE9 development.
[update Adobe PDF iFilter result]
Recently Foxit updated their PDF iFilter 2.0. An interesting improvement is “optimized for multi-core processor”. It claims that you can get 3 times better performance compared with its own version 1.0. Let’s see how my test result goes.
Machine:
Dell 2950 (I bought this two years ago)
2 x quad core Intel Xeon E5410 @ 2.33GHz, 8GB Memory, 3 x 10000 rpm HD RAID 5
File set:
22,559 PDF Files in 84 folders, 15.7 GB total, from People’s Daily Archive
Content Source:
File Share, on the same machine, to avoid network latency and bottlenecks
Software Platform
Windows Server 2008 R2
SQL Server 2008 R2 Nov CTP
SharePoint Server 2010 Beta
Foxit PDF iFilter 2.0 x64
TET PDF iFIlter 3.0 x64
Adobe PDF iFilter 9.0 x64
After each crawl, reset index, restart osearch14 service.
Test Result – update Adobe PDF iFilter result
Vendor
Crawl Time(h:m:s)
Crawl Time(s)
File Per Second
Success(including warning)
Error
Amazing! The full crawl was done in just 13 minutes. If you still remember the last test I did, Foxit version 1.0 got 10.73 files per second on SharePoint 2007 x64 with the same hardware spec.
Adobe PDF iFilter is single threaded. Only one CPU core was working during the full indexing process.
Here’re the screenshots of the CPU usage…
Screenshots
Comment
Nice job, Foxit!
You may have already been busy trying different new fancy features of SharePoint 2010. Time to try something really hardcore for IT Pro! Remote Blob Storage is always what people are asking for – to put blob objects outside of SQL Server database, directly on file system or on some storage solutions like Documentum and FileNet. In such way, it may provide cheaper storage or better performance. SharePoint 2010 support RBS, and also can leverage SQL Server FILESTREAM RBS provider for customers to try out the capability.
In SharePoint 2010, FILESTREAM RBS Provider is also used for getting around the 4GB database limitation in SQL Server Express. Given the fact that SharePoint Foundation 2010 (used to be called Windows SharePoint Services v4) is no longer a part of Windows Server operating system, it will not use Windows Internal Database. So when Windows SharePoint Services 3.0 users are trying to upgrade their farms, they may have an internal database larger than 4GB, which would pass the limitation of SQL Server Express. There will be a prompt to let user download this FILESTREAM RBS Provider to put large blob objects on file system, store the rest like metadata, configuration in databases. In this way, the limitation of SQL Server Express can be bypassed. But, at the same time you should consider to move to other SQL Server editions. With the growth of the databases, SQL Server Express and Windows Internal Database are not the choices for scalability.
Note: FILESTREAM RBS Provider does not always provide better performance. We will release document on TechNet for recommendation and planning.
You can also consider using a third party RBS provider.
Documentation (Updated on 12/04/2009)
Overview of BLOB storage
http://technet.microsoft.com/en-us/library/ee748607(office.14).aspx (SharePoint Foundation 2010)
http://technet.microsoft.com/en-us/library/ee748649(office.14).aspx (SharePoint Server 2010)
Install and configure Remote BLOB Storage
http://technet.microsoft.com/en-us/library/ee663474(office.14).aspx (SharePoint Foundation 2010)
http://technet.microsoft.com/en-us/library/ee748631(office.14).aspx (SharePoint Server 2010)
Enable a content database to use Remote Blob Storage (RBS)
http://technet.microsoft.com/en-us/library/ee748605(office.14).aspx (SharePoint Foundation 2010)
http://technet.microsoft.com/en-us/library/ee748641(office.14).aspx (SharePoint Server 2010)
Upgrade from a stand-alone installation of Windows SharePoint Services 3.0 to SharePoint
http://technet.microsoft.com/en-us/library/ee663471(office.14).aspx
Installation Notes
The key component is the provider itself. With SharePoint 2010 Public Beta, we need to use the FILESTREAM RBS Provider shipped with SQL Server 2008 R2 Nov CTP. Don’t worry, it can be installed and used with SQL Server 2008.
The original download link on TechNet article pointed to an older version of the provider which was used with SharePoint 2010 Technical Preview (a.k.a. June CTP). This link has already been updated with the new one, so if you downloaded “RBS_X64.msi” earlier, please re-download it. The correct installer should be 4.67MB, with a digital signature time stamp at Nov 1st, 2009.
When you copy and paste the script, be careful with the quotes – there could be issues with them. You need to clean the wrong quotes, and replace them with the right one.
Follow the steps described in the documentation and get it setup. If you get into any problems, please report them to SharePoint 2010 - Setup, Upgrade, Administration and Operation Forum on TechNet Forums.
Another point is, you can allow only big files to be put into FILESTREAM. Since FILESTREAM performance is not as good as the databases when it deals with small files (for example, <1M), you can change this threshold. The following Windows PowerShell command change the setting to 1M (1048576 bytes), file below 1M will be stored in DB.
$cbd = Get-SPContentDatabase “WSS_Content” $cbd.RemoteBlobStorageSettings.MinimumBlobStorageSize=1048576 $cdb.Update()
It would be good to test the performance based on your own storage and hardware.
FAQ:
Q1. Who should consider using FILESTREAM RBS Provider?A: People who are using Windows Internal Database to host their Windows SharePoint Services 3.0 or SharePoint Server 2007 content database, and want to upgrade to 2010 products, should consider FILESTREAM RBS Provider. Also, FILESTREAM RBS Provider could also be considered to deal with the following scenarios:
1. Store terabytes of data for archiving purpose.2. Media streaming.
Q2 removed. :-)
Windows Server 2008 R2 RC is avaliable several days ago. You may ask questions: What if I want to install WSS/MOSS on Windows Server 2008 R2? Is that supported?
The answer: WSS/MOSS RTM & SP1 is not supported on WS2008R2. But with SP2, it is supported. If you try to run the installer without SP2 slipstreamed, it would be blocked and you cannot continue. Meanwhile, if you want to use SQL Server 2008, you will also need to apply SQL Server 2008 SP1 on it after installation.
So slipstream build of WSS and MOSS SP2 is required. WSS SP2 slipstream build can be found here: x86 x64. There’s no slipstream build for MOSS so you need to create your own one. Here’s a quick guide:
Remove all stuff inside the Updates folder of your MOSS installation directory. Download both wss and moss SP2 packages, extract them in command line using /extract:drive\path option, and then put all into the Updates folder. Delete Wsssetup.dll, this is important. Otherwise only WSS SP2 will be installed.
More details can be found on TechNet.
With SP2 slipstreamed, you can run the installer without any problem now. After installation, site version will be 12.0.0.6421.
Windows Server 2008 SP2 is also supported by MOSS/WSS SP2.
Update: Windows PowerShell v2 RTM download link, KB971831 download link, KB976462 download link
If you don’t have internet connection on the machine you want to install SharePoint 2010, then you need to download pre-requisites manually.
Note: This article applies only to Beta 2 (Public Beta) currently, I will update this when it’s RTM. If you are using Technical Preview, then this does not apply to you.
The download links will be provided when you click Learn more about these prerequisites in the pre-req installer tool. However, this link is not activated yet. So I will list the links below.
SharePoint Server
The following is needed for installation on Windows 2008 R2 and Windows Server 2008.
KB971831 (This KB only applies to Windows Server 2008 and Vista)
http://support.microsoft.com/kb/971831 (this is the KB article)
http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=KB971831&DownloadId=7285 (this is the download)
KB976462 would be the WCF Fix article for Windows 2008 R2 and Windows 7
http://support.microsoft.com/kb/976462 (link not activated yet)
http://go.microsoft.com/fwlink/?LinkID=166231 (this is the download)
Microsoft SQL Server 2008 Native Client: http://download.microsoft.com/download/3/5/5/35522a0d-9743-4b8c-a5b3-f10529178b8a/sqlncli.msi
Microsoft "Geneva" Framework Runtime http://download.microsoft.com/download/F/3/D/F3D66A7E-C974-4A60-B7A5-382A61EB7BC6/MicrosoftGenevaFramework.amd64.msi
Microsoft Sync Framework Runtime v1.0 (x64) http://download.microsoft.com/download/C/9/F/C9F6B386-824B-4F9E-BD5D-F95BB254EC61/Redist/amd64/Microsoft%20Sync%20Framework/Synchronization.msi
Microsoft Chart Controls for Microsoft .NET Framework 3.5 http://download.microsoft.com/download/c/c/4/cc4dcac6-ea60-4868-a8e0-62a8510aa747/MSChart.exe
Microsoft SQL Server 2008 Analysis Services ADOMD.NET http://download.microsoft.com/download/A/D/0/AD021EF1-9CBC-4D11-AB51-6A65019D4706/SQLSERVER2008_ASADOMD10.msi
Filter Pack 2.0 should be already included in installation files.
On Windows Server 2008, additional files are needed.
.Net Framework 3.5 SP1
.NET Framework 3.5 Service Pack 1 (Full Package) KB959209 KB967190
PowerShell V2 RTM (It's better to use RTM than CTP3 - Remoting is not working correctly in older builds)
http://www.microsoft.com/downloads/details.aspx?FamilyId=d37e25cf-db05-4b23-a852-cdf865d81b82&displaylang=en
SQL Server 2005 Patches
SQL Server 2005 SP3
http://www.microsoft.com/downloads/details.aspx?familyid=AE7387C3-348C-4FAA-8AE5-949FDFBE59C4&displaylang=en
CU3 for SQL Server 2005 SP3
http://support.microsoft.com/kb/967909
SQL Server 2008 Patches
SQL Server 2008 SP1
http://www.microsoft.com/downloads/details.aspx?familyid=66AB3DBB-BF3E-4F46-9559-CCC6A4F9DC19&displaylang=en
CU2 for SQL Server 2008 SP1
Cumulative update package 2 for SQL Server 2008 Service Pack 1
Hope this helps.
Although there’s very small chance for people to decide to disable/uninstall Office Web Apps from their farm, sometimes this is still required, for example if customer has licensing issues.
When Chris Givens was working on 10174 training course he noticed that the uninstall did not go smoothly as he thought. I was working with him and reviewing the content as the content owner from a Product Manager’s perspective, and got notified as well. However a lot of things happened afterwards so I didn’t have time to look at it until now.
Here’re a few points you must remember when you want to uninstall Office Web Apps:
If you can tolerance server down time then maybe it’s fine for you. Otherwise the whole process are not that pleasant. So how about just disable it like this:http://technet.microsoft.com/en-us/library/ee837418.aspx ?
Using Notepad, open a new text file and then copy and paste the following script into the file.
$webAppsFeatureId = $(Get-SPFeature -limit all | where {$_.displayname -eq "OfficeWebApps"}).Id $singleSiteCollection = Get-SPSite -Identity http://<site_name> Disable-SPFeature $webAppsFeatureId -Url $singleSiteCollection.URL
Hmm, in fact this will not completely disable the feature. You have to enable “Open in Client” feature as well, then all files can be opened in Office clients instead of the browser. However if you visit the server without Office client installed or using something like Safari/Chrome, you will still be redirected to the Office Web Apps page like WordViewer.aspx even you have deleted the service applications, stopped the related services.
Why? Because the modification to the drop down menu and open behavior by Office Web Apps cannot be turned off using those ways. Of course, a full uninstall will work – but like what I listed above, it has many cons. Luckily this is not the end of the world. With a few hours work I identified the change made by Office Web Apps and confirmed with the product team. Here’s my findings:
The reason why you can see those drop down menus with items like “Edit in Browser” is because the XML definition is changed. Take this one as an example:
c:\program files\common files\microsoft shared\web server extensions\14\template\xml\serverfilesword.xml
Content:
<?xml version="1.0" encoding="utf-8" ?> <!-- Copyright (c) Microsoft Corporation. All rights reserved. --> <ServerFiles> <Mapping FileExtension="doc" RedirectUrlTemplate= "/_layouts/WordViewer.aspx?id=|0" NoGetRedirect="TRUE" /> <Mapping FileExtension="dot" RedirectUrlTemplate= "/_layouts/WordViewer.aspx?id=|0" NoGetRedirect="TRUE" /> <Mapping FileExtension="docx" RedirectUrlTemplate= "/_layouts/WordViewer.aspx?id=|0" NoGetRedirect="TRUE" CreateRedirectUrlTemplate= "/_layouts/CreateNewDocument.aspx?id=|0" /> <Mapping FileExtension="docm" RedirectUrlTemplate= "/_layouts/WordViewer.aspx?id=|0" NoGetRedirect="TRUE" CreateRedirectUrlTemplate= "/_layouts/CreateNewDocument.aspx?id=|0" /> <Mapping FileExtension="dotx" RedirectUrlTemplate= "/_layouts/WordViewer.aspx?id=|0" NoGetRedirect="TRUE" CreateRedirectUrlTemplate= "/_layouts/CreateNewDocument.aspx?id=|0" /> <Mapping FileExtension="dotm" RedirectUrlTemplate= "/_layouts/WordViewer.aspx?id=|0" NoGetRedirect="TRUE" /> </ServerFiles>
The purpose of this file is to tell SharePoint that if it has such doc files within a doc lib, use the redirect url template to process it. So what we will do is to simply remove this file or comment out the section to make it looks like this:
<?xml version="1.0" encoding="utf-8" ?> <!-- Copyright (c) Microsoft Corporation. All rights reserved. --> <ServerFiles> <!-- <Mapping FileExtension="doc" RedirectUrlTemplate= "/_layouts/WordViewer.aspx?id=|0" NoGetRedirect="TRUE" /> <Mapping FileExtension="dot" RedirectUrlTemplate= "/_layouts/WordViewer.aspx?id=|0" NoGetRedirect="TRUE" /> <Mapping FileExtension="docx" RedirectUrlTemplate= "/_layouts/WordViewer.aspx?id=|0" NoGetRedirect="TRUE" CreateRedirectUrlTemplate= "/_layouts/CreateNewDocument.aspx?id=|0" /> <Mapping FileExtension="docm" RedirectUrlTemplate= "/_layouts/WordViewer.aspx?id=|0" NoGetRedirect="TRUE" CreateRedirectUrlTemplate= "/_layouts/CreateNewDocument.aspx?id=|0" /> <Mapping FileExtension="dotx" RedirectUrlTemplate= "/_layouts/WordViewer.aspx?id=|0" NoGetRedirect="TRUE" CreateRedirectUrlTemplate= "/_layouts/CreateNewDocument.aspx?id=|0" /> <Mapping FileExtension="dotm" RedirectUrlTemplate= "/_layouts/WordViewer.aspx?id=|0" NoGetRedirect="TRUE" /> --> </ServerFiles>
Then do the same to serverfilespowerpoint.xml. Unless you are using standard CAL, there’s no need to touch Excel Services since it’s a part of Enterprise CAL and is not installed by Office Web Apps.
Then combine this change with the disable of Office Web Apps feature and the enable of Open in Client feature, Office Web Apps can be disabled completely on the site collection from a user experience perspective. You can also stop the related services and service applications.
Please note this post only talks about new installation using slipstreamed build, not updating an existing farm.
In the previous blog post I mentioned the following:
Should I use slipstreamed SharePoint server installation files to deploy SharePoint and its CUs? Maybe – depending on if you want to use language packs or not. If language packs are not installed when you install SharePoint Server, and you install those LPs after the server has been installed, you may need to reapply SharePoint CU packages to get all those LPs up to date.
Now I got questions about this “maybe”. Let me go deeper in this topic…Slipstream is good – but you have to use it in the right way, with the right order.
A typical slipstreamed SharePoint Server install is like this:
Looks simple and clear. But it is wrong – you will have RTM version of Language packs in this way. Why? Think about the table we had in previous post, then think about Cumulative Update concept. If something is not installed when you apply the CU package, then those files of the missing component will not be installed at all. In this case, the language pack updates in the CU server package are the ones missing.
The following screenshot shows what this will look like (Chinese LP in 4763 RTM, but all other components are in June CU 6105)
To fix this issue you need to apply language pack SP1s and June CU again. So the installation order should be changed to something different:
This would work. But why install June CU twice? It’s a waste of time so let’s change it again. The other thing is that you can slipstream LP SP1 into language pack installation files (extract and put all files in updates folder):
Now all language packs are updated to latest version.
What can you learn from this? Don’t slipstream CU if you need to install additional language packs. Always apply CU Server Package at the last step.
[Update: People asked why the official guidance on SharePoint Team Blog and CAPES Blog are different from my post - The official guidance is to keep the consistency with the patching methods in the past. At the meantime we are also working hard internally to provide crisp clear official guidance in the future, so stay tuned. ]
There’re always lots of questions around SharePoint patching. How to patch SharePoint? Which patch should I use to get a certain build number? In which order should I apply those patches? What is CU? What is SP? What is the difference between them?… All these questions are hard to answer – because to understand the answers, you have to understand the patching process of SharePoint.
Let’s go through different scenarios of SharePoint patching. Hopefully this can explain the mystery. I will start with the easy one and then the complex one.
Apply a security/feature fix on SharePoint Server Farm
This is the most simple scenario in SharePoint patching. Download the patch, apply it to every SharePoint Server in the farm and run PSConfig on all of them. That’s it.
Wait, is this really that simple?
The answer is no. Because there will be quite a few questions here:
Wdsrv-x-none.msp Not Applicable 44,946,432 17-Mar-2011 22:59
Use my table above to look up the component, you will find WDSRV does not belong to Office Web Apps, but SharePoint Server 2010. It is the Word Server (Word Automation) component. Someone mistakenly labeled it Office Web Apps hotfix. So, if you tries to apply this update to a SharePoint Foundation + Office Web Apps installation, it will never work – because this WDSRV component does not exist. If you applied any SharePoint Server update that has a higher version number than this patch, it will not be able to be applied either since the fix is already included.
Is this helpful? Let’s go on to the second scenario: Cumulative updates.
Apply Cumulative Updates/Service Packs on SharePoint Server Farm
CU packages are released in a bi-monthly manner. We want to make it more predictable so customer can plan their patching window, and save time by package everything together. CU does not have the same testing quality with Service Packs in theory, and the release schedule is always a little bit funny. Most of the CUs are scheduled to be released at the end of that month (subject to change), for example Apr CU was released on Apr 26th. If a last minute regression comes in at that time, then the release will be delayed, and you may already noticed Feb CU was released in March 3rd, to ensure the quality.
I used to post CU release information on SharePoint Team Blog. Now Stefan Goßner’s blog is my favorite to catch up with all the information. For example his Apr CU post is quite clear on the packages: http://blogs.technet.com/b/stefan_gossner/archive/2011/04/27/april-2011-cu-for-sharepoint-2007-and-2010-has-been-released-today.aspx
You can see he listed all the full server packages. Please remember, unless necessary, please only use these server packages to apply CU update. Internally we call them “Uber” updates, which includes all language packs and all components. If you are not using these packages, you may be missing some component updates. How to tell that? Using the table above to compare with the file information tables in KB article, and you will find all of the components are covered, with all MUI packages. Individual fixes do not have all of them.
Service Packs are different. Traditionally the service pack downloads does not give you an all-in-one package like the Uber updates do. Language packs are not there in the main package, you need to download and apply them separately.
Now here are the questions:
All the above is just to identify which update should be installed. The best “how to patch” article is still the one on TechNet: http://technet.microsoft.com/en-us/library/ff806338.aspx and it covered how to monitor patching, how to reduce downtime, etc.
[11/13/2010] Update on current version of FilaMente and SharePlus.
[11/13/2010] +Moprise is a new free SharePoint client on iPad - it handles files pretty good, but lacks of ability to handle lists.
Disclaimer: This is not an official support statement or recommendation from Microsoft Corporation and SharePoint team.
In the last blog post I discussed iPad experience on SharePoint but didn’t go through the Apps, so this blog is to continue the discussion. Please note this is not even a personal recommendation, just a quick reference to help the readers to consider when they want to do the similar. And as always, 3rd party applications should be supported by their developers, not Microsoft.
If you do a search for “SharePoint” on iPad’s App Store, you can find two generic SharePoint clients. One is Filamente and another is SharePlus. There’re some other special SharePoint clients around, like a NewsGator client and a Team Portal client, we are not discussing them because they only work with their own platform.
So, what’s the difference? I bought both apps, and played with them for over a month. It’s interesting to see both of them provided a good set of features, and SharePlus also have a lite version for people to try out… Really hard to say which one is better. Here’s a quick table of the facts from my experience. I only work with some list items and document sets on our SharePoint library so this does not cover all the area.
No – it will be displayed as list
Update: This is supported in current version. Thanks to the author!
*I bought SharePlus at 4.99USD in Sep. SharePlus Lite is free all the time without list items editing feature.
Performance
Just personal – it feels like Filamente is faster than SharePlus when you try to open a SharePoint site and load all asset list. But after that the two are the same.
UI and Features
The two Apps shares a similar UI with minor difference. But the lack of document set support in Filamente is really annoying. Other than that it’s fine. In v1.1 Filamente added FBA support, I haven’t got a chance to try out though.
Preview
Both of the Apps use Apple’s default viewer which means bad formatting for office documents. But both of them allows you to open the file in a 3rd party App which may handle the formatting better. Neither of the Apps use Office Web Apps even that’s deployed.
Don’t expect these apps to be able to handle all the collaboration scenarios on SharePoint. But if you just want to preview the documents and lists on the iPad, they are pretty handy compared with the browser experience in Mobile Safari.
Do you know www.opensearch.org? This is a open standard for search engines, which is created by A9.com from Amazon.
Why does it matter? Don't look at all those boring documents on opensearch.org, generally speaking, this is a standard that requires search engines return a RSS/ATOM feed. So you can use your favorite feed reader, get the best answers just in time.
Meanwhile, a standard RSS feed allows you intergrate different search engine results into your own application. For example, you have a enterprise search engine inside your company, but you want to intergrate some search results from outside, an iframe is okay but not very good. With XML+XSLT, you can intergeate them very easily. This is not limited to search engines, you can try different ideas, Yahoo Image Search, Google News Search, Live Spaces Search, LinkedIn expert search... Anything.
Well, what if a site does not return RSS feed? Wikipedia, Linkedin, they don't have anything. Oh, Wikipedia said they support opensearch, but they only support a part of the standard. What they returned can only be used in IE7/Firefox live search.
Live.com has a very useful feature to solve this problem. It can return RSS feed for any results. To give wikipedia a RSS feed, just use
http://search.live.com/results.aspx?q={searchTerms}+site%3aen.wikipedia.org&format=rss
And that's all.
Here I list some of the sites to be used with RSS feed:
My friend Dan Winter posted 2009 SharePoint Toolbox Review today on his blog. Within the post, the best tool I like is the ULS Viewer. If there’s an election of SharePoint Administrator troubleshooting tools, I would vote it as the president!
So what is ULS? It stands for Unified Logging Service. Mr. Winter explained that a lot in his blog so I would not repeat. But, it is the top one thing you should look at when you want to troubleshoot some SharePoint issue. Of course, troubleshooting is not always to get the symbols, debug and trace problems… If that is indeed needed, then it may be a bug. Most of the time, ULS log is already quite helpful. For example, sometimes I got a service error in the webpage, some errors in event log, but nothing told the exact root of the problem. Then when I looked into ULS log, it told me that the credential of the user did not work. It is really helpful.
I did a user research earlier this year, more than 75% of SharePoint Administrators had no idea about ULS log. There’re some reasons. Since the ULS log is designed mainly for product group and customer service usage, the default format is not very user friendly. The log is hard to read, and you may get overwhelming messages instead of the useful ones. Now, we have ULS Viewer to solve the problem.
For SharePoint 2010, by default, ULS log is at
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\LOGS
You can check the directory and try to read those logs. I was quite used to that, with notepad:)
ULS Viewer can be used in different modes. The log can be read from log files, real time ULS log, or even clipboard. Here’s some examples:
On a machine running SharePoint 2010, run ULS Viewer. Click File, Open From, then choose ULS (This could also be done by simply press Ctrl+U). Immediately the logs will be shown in real-time. You can filter message level by click the icons in the middle. This can tell you what is going on inside SharePoint.
The best feature I love is the Toggle Correlation Tree button. In SharePoint 2010 we can use correlation id to trace a series of event inside SharePoint. For example, in this screenshot, my machine is trying to flush usage log. The different entries may be buried in the big ULS log file, but with correlation id you can easily track them – they shared the same id “c000006c-5b56-412b-9de1-78aae06d121f”.
Another good feature is the notifications. You can set notification level for ULS Viewer, by default it will pop up notification for Critical message. For example in this screenshot, when Health Analyzer checked my machine for a security rule, it wrote a critical message into the log. With ULS Viewer, you can quickly identify the location of the message. If there’s an exception, you can also check the detail of that.
I’m ready to throw my notepad away – ULS Viewer is the one to go with, for troubleshooting.
When you want to build a Internet facing site, Search Engine Optimization(SEO) is always very important. Who doesn’t want their sites to be visited by more people? However, SEO is not a very simple task, it needs to be planned at the very beginning of the site construction. I worked on many sites before, different topics, but they all landed into the first page of search engine results for certain keywords. I didn’t use any black hat tricks in my work, they might have better result at the beginning, but they would get punished when search engines improves. Of course – always make sure you have awesome content in the sites, that is the key. Remember, by following the right way, even a site with all hand-crafted static HTML pages could get much more traffic than a complex WCM system.
Let’s take a look at my quick check list of SEO:
This checklist can help you to start with your project. But don’t forget to promote your site as much as you can. More links coming from important websites can bring up your ranks significantly. And don’t use spamlinks or hidden text – these can get your site a very low score in the long time.
#Update: Windows 7/Vista SharePoint install guide link
#Update: KB979917
There’re a couple of things you would like to know when deploy SharePoint 2010 RTM.
Q: Where can I find hardware and software requirements?
You should check http://technet.microsoft.com/en-us/library/cc262485(office.14).aspx. Also, you can download all the pre-requisites here for offline install.
Q: How to specify the file locations for Prerequisite Installer?
You can check the parameters through command line with:
PrerequisiteInstaller.exe /?
A dialogue will popup and show all the parameters.
A typical use of Prerequisite Installer in offline mode (Windows Server 2008 R2):
Just a note: You don’t need to specify FilterPack parameter. It is included in the installation media.
Q: Can I manually install those prerequisite before I run Prerequisite Installer?
Yes. After downloaded all the prerequisites and installed them manually, you can run Prerequisite Installer to setup application server/web server roles for your server box. It will then check if you have installed all the prerequisites correctly.
Q: Is there anything I should install after the prerequisite installer?
You also need to install ADO.NET Data Service update. This is used for the services like REST web services.This component is not installed by prerequisite installer because its RTM date is too late to make into the code. The prerequisite installer will be updated at SP1 to include it.
UPDATE: If you want to use claims, you need to apply KB979917 for ASP.Net. It can be downloiaded here directly: http://code.msdn.microsoft.com/KB979917/Release/ProjectReleases.aspx?ReleaseId=4033
Q: I want to install SharePoint on Windows 7/Vista but Prerequisite Installer is blocked.
Yes. Prerequisite Installer is blocked on Windows 7/Vista. The guidance for developers will be updated on MSDN later. is here: http://msdn.microsoft.com/en-us/library/ee554869(office.14).aspx
Q: Does Prerequisite Installer install SQL Server updates for me?
No. It cannot install SQL Server updates. You need to confirm that the SQL Server meets the requirement: SQL Server 2005 SP3 with CU3, SQL Server 2008 SP1 with CU2, or SQL Server 2008 R2.
Q: Do you have a Windows PowerShell script to help me to deploy SharePoint 2010 farm?
Yes. SPModule has been released to the download center. It can be downloaded here: http://www.microsoft.com/downloads/details.aspx?FamilyID=c57556ff-8df0-44fd-aba6-3df01b9f80ce&displaylang=en
It provides the following commands: Install-SharePoint, New-SharePointFarm, Join-SharePointFarm, and Backup-Logs.
For more information on this module, please check Zach Rosenfield’s blog.
Q: When I install SharePoint on a domain controller(DC), Setup doesn’t give me any option to choose from server farm/standalone installation.
A: This is a designed behavior. SQL Server Express 2008 is not supported on a domain controller, so the standalone mode of SharePoint installation is removed when administrator tries to deploy on a DC. If you really want to override this behavior for demo/dev purpose, you can try:
setup.exe /config FILES\SETUP\config.xml
This will install a SingleServer(Standalone).
A complete list of the parameters can be shown with setup.exe /?
Q: Where can I download language packs for SharePoint 2010?
The language packs will be available on download center later. We will also give a update on all language offerings on team blog.
Q: Do I need to apply language packs of SharePoint Foundation AND SharePoint Server on a server installation?
No. You only need to apply the server language packs for a SharePoint Server installation. These server language packs cover SharePoint Server, Search Server, Office Web Apps, Project Server and FAST Search Server for SharePoint.
Q: I only see a English version of FAST Search Server for SharePoint. Where're the localized ones?
FAST Search Server is provided natively in English SKU. The localization is done by language packs.
Q: What is the patch/update release cycle for SharePoint 2010? Will you still have those CU packages?
SharePoint 2010 still uses the same patch/update cycle – we will have cumulative updates for every two months. Server-packages will still include all the components for update. The next CU will be June.
Q: Can I upgrade pre-RTM SharePoint 2010 installations to RTM? If in-place upgrade is blocked, then can I use database attach?
No, this is blocked by code. DB attach is also blocked.
Q: I don't have access to MSDN/TechNet Subscriber download! When can I download the trial bits of SharePoint Server 2010? How about FAST Search Server? Search Server?
Trial bits will be provided on download center around the time of launch (5/12).
Q: Can I install Office Web Apps on SharePoint Server Trial?
No. The installer prevents you from mixing different types of license (retail vs. trial). You can install Office Web Apps on SharePoint Foundation 2010, or licensed SharePoint Server 2010.
Q: Should I tell my users to use Office 2010 x64 to get better performance?
No. Please refer to http://blogs.technet.com/office2010/archive/2010/02/23/understanding-64-bit-office.aspx
If you’re trying to decide between 32-bit and 64-bit Office, you should ask yourself what your needs are. Are you an Excel power user working with huge amounts of data? Do you need to work with file sizes greater than 2 GB? If so, then you would benefit from 64-bit Office being able to utilize more memory. If not, we’re recommending 32-bit Office 2010 as the default installation on both 32-bit and 64-bit Windows mainly due to compatibility with existing 32-bit controls, add-ins, and VBA.
Q: When I use Word/PowerPoint Web Apps on a domain controller, I have errors poped out.
Warning: Office Web Apps should not be installed on a domain controller - this is not supported and may bring security risk to your DC. Your can find the related KB here: [link not live yet]:
Both the Word Viewing Service Application and the PowerPoint service application sandbox their converter processes. The way by which the sandbox works is incompatible with security restrictions on a domain controller. It is sandboxing converter processes that could potentially cause a successful exploited security vulnerability in SharePoint or Office Web Apps. This security compromise could cause catastrophic results to the Domain Controller.
The following script can help to enable Office Web Apps on a DC. (with security risk)
Open SharePoint 2010 Management Shell, then run:
#Enable Word Web App:
#Enable PowerPoint Web App - you need to answer "Y" for each command:
Get-SPPowerPointServiceApplication | Set-SPPowerPointServiceApplication -EnableSandboxedViewing $falseGet-SPPowerPointServiceApplication | Set-SPPowerPointServiceApplication -EnableSandboxedEditing $false
On the server, use Notepad to open c:\windows\system32\inetsrv\config\applicationHost.config. Add the line below at the end of the dynamicTypes section. <add mimeType="application/zip" enabled="false" />
Then do a IISRESET /NOFORCE. Please note all files viewed (already have cache created) before these commands need to be re-upload again to make sure them work with Office Web Apps. Please note the service application name could be different if you are working on a SKU that's not English. 中文版的尤其要记得把Word Viewing Service Application改名!!!
I’ll continue to update this post when more questions come.
I was investigating on what exactly are the differences between a SharePoint farm with Standard CAL and Enterprise CAL. And even more, with/without Office Web Apps. So first I got my single server installation built, with Office Web Apps, and took several screenshots. Then I go ahead to input my Enterprise key in Convert License Type page.
What? The input control is disabled? Current License shows I have SharePoint Server with Standard Client Access License, it’s not a trial, so it’s not my key problem.
When move the mouse to the input box, it shows a default cursor, instead of a text cursor, which means it is disabled. I tried inside and outside the VM, different browsers, nothing really help.
I don’t have the time to troubleshoot what the hell happened, so here’s the trick:
Get your IE8 developer tool out, and point it to the disabled input box.
Now you can have the line highlighted. Hmm, disabled=”disabled”. Let’s change it to trick the page.
I changed the name “disabled” to something that doesn’t make sense. I guess people can have a better idea for this but anyway.
Now I can input my Enterprise license key to the box. Wait, OK button is still disabled. Time for the same trick…
After Ok button is enabled, click on it, the feature for Enterprise CAL now can be unlocked without any problem.
I don’t know what caused the original problem. But anyway, this is a quick way to have a workaround.
Note: this is not for production use. If you got the same issue on a production farm, better call support.