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.
Jie.
[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.
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.
MS10-079 is a security bulletin about vulnerabilities in Word. If you read through the bulletin, you can find that it impacts Office Web Apps too. Sounds pretty clear? However, when I tried to apply it I was confused.
Screenshot of the original page:
Okay, the first one is KB2346411, and the second one is KB2345015. And it further stated in the bulletin that For Microsoft Office Web Apps, customers need to install both security update KB2346411 and security update KB2345015 to be protected from the vulnerabilities described in this bulletin. Fine. So apply KB2346411 – pretty straight forward, no restart or psconfig needs to be run. Then, apply KB2345015 – here comes the problem. You may see a strange dialogue show up like below:
Aha, an empty box with OK button. OK for what? Click…
Huh?
I didn’t install any other updates except KB2346411 for Office Web Apps. So now this is really confusing – if this so called “Security Update for Microsoft Word Web Application 2010” is try to apply a fix for Word Web App (Apparently they even made the product brand name wrong, but anyway, some times they even called SharePoint Foundation 2010 as Office SharePoint Foundation. They have no respect of our brand names), then it should update some files related with Word Web App, which I had never patched before. Background knowledge: CU fix does not include Office Web Apps. Now it tells me the update is already “installed” – this made me nervous about my system security. Is it patched? Or is this something wrong with that fix?
After reading into the description of the KB article, it turns out the files it want to replace are the WDSRV.DLL related ones. This is Microsoft.Office.Word.Server in your GAC. Let me explain – this is not Word Web Apps at all – it is not even a part of Office Web Apps. Instead, this is Word Automation Services, which is used to convert word documents on SharePoint Server. Further explanation is here: http://msdn.microsoft.com/en-us/library/ee558830.aspx. This component is included in all SharePoint Server installation even without Office Web Apps installed. And this patch, is already included in December 2010 Cumulative Update so there’s no point to apply it if you have Dec CU already.
Quick Summary: If you need to apply MS10-079 to a farm with Dec CU, the only thing needed is KB2346411.
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.
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
[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.
Here’s the updated security bulletin for the issue.
http://www.microsoft.com/technet/security/bulletin/MS10-070.mspx
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.
Disclaimer: This is not a supportability claim for using IE9 on SharePoint 2010. Browser support status will be updated here: http://technet.microsoft.com/en-us/library/cc262485.aspx once the testing is done for specific release version of browsers. Using beta software will never be supported unless you have a special support agreement signed with Microsoft like the “Go-Live” license we did during SP2010 TAP program.
Previously in What’s the Story for HTML5 with SharePoint 2010 we mentioned that HTML5 content can be loaded in to SharePoint pages and libraries. Now Internet Explorer 9 Beta has been released, can it be used to view HTML5 content on SharePoint?
Yes – but we need to do a little bit modification. When you visit a SharePoint 2010 site with IE9, you can open developer tools by pressing F12:
You can find that it is rendered in IE9 7 Compat View, with Document Mode IE8 standards. IE9 is different than Firefox/Safari/Chrome. To ensure the max compatibility, it switches modes when visiting different websites. Unless you specified HTML5 doctype in the page, it will not render <video> and <canvas> tags. So what we need to do in addition is two items:
1. Change doctype in master page (v4.master) to <!DOCTYPE html>
2. Remove <meta http-equiv=”X-UA-Compatible” content=”IE=8”> . This meta tag will force IE9 to act like IE8 and no HTML5 render will be available.
After these are done your HTML5 content should be able to be rendered correctly. The supportability of these method is unknown, so you should only use it with publishing pages since you can control the whole style by yourself.
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.
To my blog readers: As you may already know, I accepted a new role as a Program Manager for SharePoint Online Dedicated. It’s quite exciting to look at the future of collaboration and program management, it’s a new world for me.
Thanks for all the support in the past – this blog will continue, but will be in a much broader way in terms of topics. There’ll be more for SharePoint related technologies, not only IT Pro stuff.
If you get the chance to come to Redmond and want to pay me a visit, I will be in Building 3, although temporarily I will still be in Building 17 until the office move is settled.
If your farm is still running 2007 products, you may want to have a look into these new cumulative updates. They must be installed on the farm that reaches the SP1 patch level or above.
Description of the Office SharePoint Server 2007 Cumulative Update Server Hotfix Package (MOSS server-package): June 29, 2010
http://support.microsoft.com/kb/983310
Description of the Windows SharePoint Services 3.0 Cumulative Update Server Hotfix Package (WSS server-package): June 29, 2010
http://support.microsoft.com/kb/983311
Description of the Project Server 2007 hotfix package (Pjsrvapp-x-none.msp; Pjsrvwfe-x-none.msp): June 29, 2010
http://support.microsoft.com/kb/983312
You can read the description of each packages (click into the detail KBs) to find what they fixed. It is not necessary to apply them if you are not affected by those issues. For more information on how to apply updates, check Update Resource Center.
I was pinged many times for multilingual search in SharePoint in the past. One of the issues is word breaking – in SharePoint 2007 if you set browser language to some other language than you are searching in, you may trigger the wrong wordbreaker and have a bad result. SharePoint 2010 improved on this topic and now it is more multilingual friendly, for example it has Results Query language setting in the webpart. But what is the order of this process? If user set a browser language will it override the setting in the webpart? And do I have to install OS/SharePoint language packs to get my search working?
Luckily I just got a very detailed answer from Harneet Sidhana, Program Manager of SharePoint Productivity Search. So here’s the order of the language detection process:
And for the second question, you don’t have to install OS language packs or SharePoint language packs to search in multilingual. All the wordbreakers and stemmers are included in the binaries you installed, no matter which language SKU you have. I know some of the trainers and “SME”s are telling people you have to do so, that maybe true for MUI(but not always), definitely not true for search.
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.
It’s launch time!
Evaluate SharePoint with Guidance
SharePoint Server 2010 Evaluation Guide
Microsoft SharePoint 2010 IT Pro Evaluation Guide
SharePoint Server 2010 Walkthrough Guide
Trials and Related Bits Download
Microsoft SharePoint Server 2010 Trial
Microsoft SharePoint Foundation 2010
2010 Server Language Packs for SharePoint Server 2010, Project Server 2010, Search Server 2010, and Office Web Apps 2010
Language Packs for SharePoint Foundation 2010
Microsoft Search Server 2010 Express
Forefront Protection 2010 for SharePoint
SharePoint Foundation 2010 MP for Operations Manager 2007
SharePoint 2010 Products MP for Operations Manager 2007
FAST Search Server 2010 for SharePoint MP for Operations Manager 2007
Microsoft SharePoint Designer 2010 (32-bit)
Microsoft SharePoint Designer 2010 (64-bit)
Evaluation VM Download
2010 IW Demo VM (RTM)
Learn SharePoint on TechNet
http://technet.microsoft.com/en-us/sharepoint/ee410529.aspx
Getting Started with SharePoint 2010 for IT pros
Use these 11 modules to help you learn what Microsoft SharePoint Server 2010 can do for you, how it works, how to create a site, and more.
http://technet.microsoft.com/en-us/sharepoint/ee518660.aspx
IT Pro Advanced Training (20 hours video training)
For IT professionals, SharePoint Server 2010 offers enhancements to drive productivity, a scalable unified infrastructure, and flexible deployment. SharePoint Server 2010 Advanced IT Professional Training is a deep technical learning series for current SharePoint Server 2007 professionals who are looking to upgrade their skills to SharePoint Server 2010.
Each module also has downloadable options.
http://technet.microsoft.com/en-us/sharepoint/ff420396.aspx
SharePoint Server IT Pro Training Slides
TechNet Virtual Labs for SharePoint 2010 IT Pro
TechNet SharePoint Resource Centers
http://technet.microsoft.com/en-us/sharepoint/ff465365.aspx
How Do I Videos
Related Blog Posts
FAQ: SharePoint 2010 RTM Installation
SharePoint 2010 Search Engine Optimization (SEO) Tips
Don’t Miss SharePoint 2010 Capacity Management Center!
The New SharePoint Category in TechNet Script Center
Generate SharePoint 2010 Sitemap with Windows PowerShell
FAQ: SharePoint 2010 Remote BLOB Storage (RBS)
SharePoint 2010 with Windows PowerShell Remoting Step by Step
Behind the Mobile View in SharePoint 2010
PDF iFilter Test, with SharePoint 2010
Track SharePoint 2010 Installations by Service Connection Point (AD Marker)
More to come today bookmark this and keep checking back!
Jie Li
Technical Product Manager, SharePoint
#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.
http://sharepoint.microsoft.com/blogs/zach/Lists/Posts/Post.aspx?ID=54
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:
$e = Get-SPServiceApplication | where {$_.TypeName.Equals("Word Viewing Service Application")} $e.WordServerIsSandboxed = $false $e.WordServerIsSandboxed
#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.
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.
If you are looking for SharePoint 2010 capacity planning guidance, the first stop should be the Capacity Management Center on TechNet.
Some of the best bets there:
We will have more and more coming in the following days…
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
I don’t think any of my blog readers can miss the big announcement today: SharePoint 2010 reaches RTM! so I’m not going to tell you that
I was in the Atrium of B16 when the “Big Release Button” was pushed – lots of engineering folks gathered there and looking at sign off process running on the big screen. People broke into wild cheers when it’s done. You can imagine the happiness at that time.
But for me, the majority of the works has just been started – we need to make sure with this release, you can get great planning guidance, great documentation, great labs and trainings for all your needs. If you have any concerns about the materials, just ping me – send me a message through the blog or follow my twitter account at http://www.twitter.com/jiel.
There’ll be a huge amount of materials coming – for example, TechNet has already started to publish the content for RTM. One of my favorites is the following:
Plan browser support (SharePoint Server 2010)
Instead of the Level 1/2/3 statement for browser support, we listened to the feedback of our partners and customers. In this article we documented all the limitations for the browsers we tested. If you want to know the limitation of Firefox or Safari with SharePoint 2010, this is definitely the place you want to check.
On the launch day of May 12th, we will release VMs, Eval Guides, HOLs, Virtual Labs, Training Videos… Don’t forget to register for the virtual launch event! We will have live Q&A hosted at that time.
But for now – I really need to take some rest
To help the community to contribute their SharePoint ideas with the power of Windows PowerShell, we created a new SharePoint category in TechNet Script Center Repository. Now you can submit your own scripts and share them with the community!
This is how it looks…We moved the scripts in the old sub category underneath Office to this new one. Several sub categories are created to help you to find the right script you want.
(http://bit.ly/c1d40Z)
The sub categories:
If you want to contribute the repository, click the “Upload” button on the upper right corner.
Choose the right category, it should be SharePoint
Paste your scripts, then fill in the detail descriptions
Review the result, then publish it!
My first submission on the script center is done
There're only 10 scripts now. Come and share your scripts!
#Update: This script has been submitted to SharePoint category in TechNet Script Center Repository.
If you are working on SEO project for your internet facing SharePoint site, one of the top thing would be sitemap generation. There’re quite a few sitemap generation tools on the market, including the sitemap tool in SEO Toolkit for IIS. But do you know you can achieve this just by Windows PowerShell script? It is quite flexible, and easy to customize and automate.
So here is something you can leverage….
New-SPSiteMap Script
function New-SPSiteMap { param($SavePath="C:\inetpub\wwwroot\wss\VirtualDirectories\80\SiteMap.xml", $Url="http://sharepoint") $web=Get-SPWeb $url $list = $web.Lists | ForEach-Object -Process {$_.Items}| ForEach-Object -Process {$_.url.Replace(" ","%20")}
#excludes directories you don’t want in sitemap. you can put multiple lines here:
$list= $list | ? {$_ -notmatch "_catalogs"}
$list= $list | ? {$_ -notmatch "Reporting%20Templates"}
$list= $list | ? {$_ -notmatch "Reporting%20Metadata"}
$list | New-Xml -RootTag urlset -ItemTag url -ChildItems loc -SavePath $SavePath } function New-Xml { param($RootTag="urlset",$ItemTag="url", $ChildItems="*", $SavePath="C:\SiteMap.xml") Begin { $xml="<?xml version=""1.0"" encoding=""UTF-8""?> <urlset xmlns=""http://www.sitemaps.org/schemas/sitemap/0.9"">" } Process { $xml += " <$ItemTag>" foreach ($child in $_){ $Name = $child $xml += " <$ChildItems>$url/$child</$ChildItems>" } $xml += " </$ItemTag>" } End { $xml += "</$RootTag>" $xmltext=[xml]$xml $xmltext.Save($SavePath) } }
You can download the script here. This script does have some limitations – for example, I didn’t use http encode for the urls so if you have urls in Chinese, they may not be able to be accessed. But certainly one of the best practice of SEO is to avoid using these languages in the url which may cause such encoding. I didn’t implement <lastmod> either.
Usage: New-SPSiteMap –Url [sitename] –SavePath [yoursiteroot\sitemap.xml]
For example, I want to create a sitemap for a SharePoint demo site, so I first need to load the functions into my SharePoint Management Shell, then do the following:
New-SPSiteMap –Url http://www.sharepointisawesome.com –SavePath C:\inetpub\wwwroot\wss\VirtualDirectories\80\sitemap.xml
Robots.txt Customization
The next step is to create a robots.txt with the following content, replace yoursitename with domain name:
Sitemap: http://yoursitename/sitemap.xml
This is to make sure search engines can pick up your sitemap file directly when they read robots.txt. Save it to the same root directory of your SharePoint site. For example: C:\inetpub\wwwroot\wss\VirtualDirectories\80\
Do a iisreset to ensure the new sitemap.xml and robots.txt can be loaded. Done!
Search Engine Submission
You can wait for search engines to read your robots.txt and sitemap, or directly submit the sitemap to them.
Example: Submit a new site to Bing.com:
http://www.bing.com/webmaster/WebmasterAddSitesPage.aspx
Fill in web address and sitemap address, then follow the validation instructions.
Automate Sitemap Generation Process
If your site structure is updated frequently, you can also schedule the script to run everyday. This can be achieved by task scheduler. I will not go into the detail here, but don’t forget to use Add-PSSnapin Microsoft.SharePoint.PowerShell to load the snapin before you load the functions.
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.
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()
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