• Jie Li's GeekWorld








  • Jie Li's GeekWorld

    Be Careful When You Use Slipstreamed SharePoint Installation Files


    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:

    1. Install SharePoint Server RTM + SP1 + June CU Slipstreamed
    2. Install SharePoint Server Language Packs
    3. Run PSConfig

    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:

    1. Install SharePoint Server RTM + SP1 + June CU Server Package Slipstreamed
    2. Install SharePoint Server Language Packs
    3. Install SharePoint Server LP SP1(s)
    4. Install June CU Server Package again
    5. Run PSConfig

    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):

    1. Install SharePoint Server RTM + SP1 Slipstreamed
    2. Install SharePoint Server Language Packs + Server LP SP1 Slipstreamed
    3. Install June CU Server Package
    4. Run PSConfig

    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 Li's GeekWorld

    The Mystery Behind SharePoint 2010 Patching


    [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:

      • Will my database be updated?
        Maybe. Depending on which DB version you have right now, a DB schema may or may not be triggered.
      • When will the database be updated?
        If a database schema update is necessary, then the first time you run PSConfig those databases will be updated. Alternatively you can detach all content databases, apply the patch, run PSconfig, and then reattach content databases. In this way you can choose when to update individual content databases.
      • How can I tell if this patch can be applied to my farm?
        Take a look at the build number. SharePoint patch will check the version number to decide if a file should be replaced or not. If you already have a component with a higher version number, then it will not be touched since all the fixes are already included.
      • How can I know what is included in the patch?
        Aha! Now you get the point. I’m going to share my secret here, you may have never seen this before on any official documents.

        Look at the KB article of the fix. There is a file information table which contains all MSI/MSP/CAB filename, size and date. The following quick table may help you to understand the names:

        Directory Name File Name Component
        SharePoint Server 2010    
        ACCSRV acsrvwfe Access Services
        DLC dlc Document Lifecycle Component
        IFS ifswfe Infopath Forms Services
        LHPSRV lhpwfe Slide Library
        OSRV osrv Shared Components
        MEWA mewa Excel Mobile Viewer Component
        PPL pplwfe User Profile
        PPSMA ppsmawfe PerformancePoint Services
        SEARCH oschwfe Search Server 2010 Core
        SPS spswfe SharePoint Portal
        VISIOSERVER/VisioSrv vsrvwfe Viso Services
        WASRV wasrvwfe Web Analytics
        WDSRV wdsrv Word Server (Word Automation)
        WSS sts (wss) SharePoint Foundation 2010 Core
        XLSERVER xlsrvwfe Excel Services
        SharePoint Foundation 2010    
        WSS sts (wss) SharePoint Foundation 2010 Core
        Office Web Apps 2010    
        WACMEWA wacmewa Office Web Apps Excel Mobile Viewer
        WACWFE wacwfe Office Web Apps Web Front End
        WOSRV wosrv Office Web Apps Shared Components
        XLSERVERWAC xlwacwfe Excel Web App Components
        Project Server    
        PRJSRV prjsrvwfe/pswfe Project Server Web Front End

        Table 1. All Components in SharePoint 2010 Related Products

        File names ending with “MUI” means MUI/Language Pack for that component. For example dlc and dlcmui, sts and wssmui, etc. Ending with -x-none means it is not language related.

        It is very important to understand the above table – if you really want to get clear on patching, you may want to recite it Smile. Anyway, sometimes the description provided on KB pages are not correct. For example http://support.microsoft.com/kb/2516497 says it is a Office Web Apps hotfix package in April. And here’s the file table:

    Not Applicable

    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:

    • Do I need to install SharePoint Foundation CU first to update a SharePoint Server farm?  【Please follow SharePoint Team Blog/TechNet guidance to apply the patches at this moment】
      No. SharePoint Foundation CU are included in SharePoint Server CU packages. Look at the table I showed you above, STS.CAB is all what Foundation has, and that is already included as part of SharePoint Server 2010 and its CU/SPs. Apply Foundation CU before a SharePoint Server CU won’t break your farm, just a waste of time since the setup program has to go through those files twice.
    • 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.

      Best way to install a up-to-date multi-language SharePoint Server 2010 farm now is
      • Install SharePoint Server 2010 with SP1 Slipstreamed
      • Install SharePoint Server 2010 Language Packs with SP1 Slipstreamed
      • Install Office Web Apps 2010 and Project Server 2010 with SP1 Slipstreamed if necessary
      • Install SharePoint Server 2010 (with Project Server 2010) latest CU Full Server Package
      • Install Office Web Apps 2010 latest CU (if exists)
      • Run PSConfig

    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.


  • Jie Li's GeekWorld

    Uninstall or Disable Office Web Apps?


    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:

    • Uninstall Office Web Apps will remove the server from the SharePoint Farm. If you read the notification carefully when you click the uninstall button you will know this.
    • All web applications and sites created by SharePoint will be deleted from IIS.
    • You can rejoin the machine back to the Server Farm by psconfig with your farm passphrase.
    • You need to redeploy customizations to the server.
    • If this happens to be the server which hosts Central Administration, you need to rebuild the CA. This can be done through the Management Shell: New-SPCentralAdministration -Port xxxx -WindowsAuthProvider "NTLM"

    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 ?

    To deactivate the Office Web Apps Feature on a single site collection by using Windows PowerShell

    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


    <?xml version="1.0" encoding="utf-8" ?>
    <!-- Copyright (c) Microsoft Corporation. All rights reserved. -->
        <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" />

    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. -->
        <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" />

    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.



  • Jie Li's GeekWorld

    How to apply MS10-079 to a SharePoint farm with Office Web Apps enabled?


    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…



    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.



  • Jie Li's GeekWorld

    What Can Happen When You Try to Convert a Standard SharePoint 2010 Farm to Enterprise


    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.

  • Jie Li's GeekWorld

    SharePoint 2010 on a Mac with Office for Mac 2011


    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.

    Sequence-11 12 10-5 31 PM

    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.

    silverlight silverlightvideo

    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.

    Sequence-11 12 10-1 00 PM

    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 Li's GeekWorld

    SharePoint on the iPad: Filamente and SharePlus


    [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.

      Filamente 1.1.0 SharePlus 2.1
    Support common tasks on SharePoint Yes Yes
    Preview docs Yes Yes
    Open files in 3rd party Apps Yes Yes
    Edit List Yes Yes
    Go Offline Yes Yes
    Form based Authentication Yes No Yes - Supported in Current version
    Document Set

    No – it will be displayed as list

    Update: This is supported in current version. Thanks to the author!

    Yes – shows as folders
    Stability Crashes sometimes Crashes sometimes
    Price (as of 10/25/2010) 2.99 USD 14.99 USD*

    *I bought SharePlus at 4.99USD in Sep. SharePlus Lite is free all the time without list items editing feature.


    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.



    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.


  • Jie Li's GeekWorld

    Please install updates for ASP.Net issue immediately


    Here’s the updated security bulletin for the issue.


  • Jie Li's GeekWorld

    ASP.Net Vulnerability and SharePoint


    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.



    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:

    • Put error.html in %CommonProgramFiles%\Microsoft Shared\Web Server Extensions\12\template\layouts
    • Modify web.config in each directory under %SystemDrive%\inetpub\wwwroot\wss\virtualdirectories to have a customerror section like this: <customErrors mode="On" defaultRedirect="/_layouts/error.html" />

    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.


  • Jie Li's GeekWorld

    IE9 + SharePoint 2010 + HTML5


    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.

  • Jie Li's GeekWorld

    Can I use iPad/iPhone with SharePoint 2010?


    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.Smile

    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.


  • Jie Li's GeekWorld

    Moving forward…


    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.

  • Jie Li's GeekWorld

    June 2010 Cumulative Update Server Packages for SharePoint Server 2007, Windows SharePoint Services 3.0 and Project Server 2007


    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


    Description of the Windows SharePoint Services 3.0 Cumulative Update Server Hotfix Package (WSS server-package): June 29, 2010


    Description of the Project Server 2007 hotfix package (Pjsrvapp-x-none.msp; Pjsrvwfe-x-none.msp): June 29, 2010



    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.



  • Jie Li's GeekWorld

    Multilingual Search in SharePoint Server 2010 and FAST Search Server 2010


    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:


    1. If the user specified a language preference using the advanced language preference setting. If there is only one language selected, then this becomes the language of query. If user selected multiple languages, then there is a dropdown enabled in the user interface to select the default language.

    2. If the above is not set by a user, an administer can set language on each search page as follows:
      a. Edit the search results page
      b. Edit the core results web part
      c. Under Result Query Options – Use the Query Language Dropdown to select the preferred language for the results page

      snap0184[3]   snap0185[3]
    3. If none of the above are set, then we use the default language of the browser as the language of the query:

    4. If none of the above are set (which is unlikely since most of the people do have a default language in their browser) we default to CultureInfo.InvariantCulture as the language of the query (fixed in a recent QFE. Without the QFE, the user will see an exception instead).


    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.



  • Jie Li's GeekWorld

    What’s the Story for HTML5 with SharePoint 2010?


    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:

    1. Most of the time it’s up to browsers to support HTML5 content rendering, not SharePoint. If you implemented new features in HTML5 on your site, it may means people with legacy browsers cannot use it. So either you need to provide a workaround, or you should make sure every visitor of your content is using IE9/Firefox/Safari/Chrome/Opera, etc. In some scenarios this make sense, for example you want to build a SharePoint video site dedicated to iPad users, but most of the time you will have mixed browsers.
    2. Although browsers gradually started to support *some* of the new features in HTML5, it is still in draft. Which means a lot of things can still change, or be implemented, for example the codec for <video> tag. Microsoft and Apple have chosen H.264 for native support, while Mozilla, Google and Opera is more on the WebM/VP8 side (although a VP8 codec installation can help IE9 to support it). The editor of HTML5 specification estimated it will reach W3C Candidate Recommendation stage during 2012, and W3C Recommendation stage in the year 2022 or later.
    3. Many scenarios are also easy to achieve by using Silverlight and even Flash. HTML5 is technically good, but that does not directly turn it into a wonderful experience for web designers all the time. If you know who your audience will be, what browser/OS they mainly use, and consider the experience/efficiency of your implementation team, HTML5 may or may not be the best choice.

    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?


    • If you want to use HTML5 tags in SharePoint 2010 pages, it is certainly fine – it’s up to the browsers to render those tags. Here’s an example for <video> tag. Please use IE9 Platform Preview 3, Safari or Chrome to visit it since they support H.264 codec. (A mp4 file loaded into Shared Documents, and a Content Editor Webpart is used to put in <video> tag)

      The implementation is done by using Content Editor Webpart. You may also notice there’s another HTML5 Canvas demo here. This is just one of the ways of adding HTML5 tags into the page. As long as the browsers can render it, it works. And this is also supported just like to add generic HTML content into SharePoint pages. Since you are adding HTML5 tags inside a XHTML 1.0 page, a complex HTML5 application may or may not have issues, you are responsible for testing of the code you added.
    • If you want make SharePoint to output native HTML5 pages and get validated, then the answer will be no. There’s not much I can say regarding the future versions of SharePoint, but this will not be supported in the SharePoint 2010 timeframe. SharePoint 2010 is designed to output content in XHTML 1.0 natively. It is impossible to get all the components completely rewritten to produce validated HTML5 pages, and not to mention HTML5 is still in draft, and will still be in draft for several years.


    Hope this helps to clarify the questions of HTML5 and SharePoint 2010. Smile

    #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.



  • Jie Li's GeekWorld

    SharePoint 2010 IT Pro Learning Resources


    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



    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.



    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.


    SharePoint Server IT Pro Training Slides


    TechNet Virtual Labs for SharePoint 2010 IT Pro

    Business Continuity Management in SharePoint Server 2010 http://go.microsoft.com/?linkid=9730288
    Configuring Tenant Administration on SharePoint Server 2010 http://go.microsoft.com/?linkid=9730290
    Configuring User Profile Synchronization in SharePoint Server 2010 http://go.microsoft.com/?linkid=9730292
    Windows PowerShell in SharePoint Server 2010 http://go.microsoft.com/?linkid=9730294
    Backup and Restore in SharePoint Server 2010 http://go.microsoft.com/?linkid=9730155
    Introduction to Microsoft SharePoint Server 2010 Upgrade http://go.microsoft.com/?linkid=9730532

    TechNet SharePoint Resource Centers


  • Getting started
  • Architecture design
  • Business continuity management (backup, recovery, availability, and disaster recovery)
  • Capacity management
  • Installation and deployment
  • Security and authentication
  • Upgrade and migration
  • Virtualization
  • What's new
  • Windows PowerShell
  • Business Connectivity Services
  • Business intelligence
  • Enterprise collaboration
  • Enterprise content management
  • Enterprise search
  • Records management
  • Social computing
  • Web content management


    How Do I Videos

  • How Do I: Use SharePoint 2010's Health and Monitoring Features?
  • How Do I: Use the SharePoint 2010 Managed MetaData Service?
  • How Do I: Configure SMS Text Message Alerts in SharePoint 2010?
  • How Do I: Configure Document Conversions in SharePoint 2010?
  • How Do I: Create a New Web Application and Site Collection in SharePoint 2010?
  • How Do I: Email Enable SharePoint 2010 Lists?
  • How Do I: Configure an Alternate Access Mapping in SharePoint 2010?
  • How Do I: Backup and Restore a SharePoint 2010 Site Collection?
  • How Do I: Work with SharePoint Solution Packages in SharePoint 2010?
  • How Do I: Configure Business Connectivity Services in SharePoint 2010?
  • How Do I: Restore Individual List Items in a SharePoint 2010 Site?
  • How Do I: Extend an Existing SharePoint 2010 Web Application?


    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 todaySmile bookmark this and keep checking back!


    Jie Li

    Technical Product Manager, SharePoint

  • Jie Li's GeekWorld

    FAQ: SharePoint 2010 RTM Installation


    #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:

    $e = Get-SPServiceApplication | where {$_.TypeName.Equals("Word Viewing Service Application")}
    $e.WordServerIsSandboxed = $false

    #Enable PowerPoint Web App - you need to answer "Y" for each command:

    Get-SPPowerPointServiceApplication | Set-SPPowerPointServiceApplication -EnableSandboxedViewing $false
    Get-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.


  • Jie Li's GeekWorld

    SharePoint 2010 Search Engine Optimization (SEO) Tips


    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:

    1. Use meaningful site names and page names to create “friendly” URLs.
      Think about these examples:
      Which one would be more likely to get traffic? Definitely that’s not the first one. How about the second and the third? Most of the time the second one will get more traffic, depending on the keywords. Pages with a very deep URL (sites1/sites2/sites3/sites4/page1.html) is unlikely to get a better ranking.  In SharePoint 2010, you need to carefully plan your site infrastructure and page names so it can be more meaningful to the crawlers and the users.
    2. Great Page Titles
      Do give the pages better title, it’s one of the important factor for search, from the query algorithm to user experience.  For example, “Untitled” “New-Page-1” does not make sense. Even if it can be shown in the result, very few people will likely to click on it. Good page title would be something like the site intro page title for example: “SharePoint is Awesome – Trainings, Demos, Hands on Labs” or a sub site page title: “SharePoint is Awesome – Search Engines Optimization Explained”.
    3. Accurate Meta Elements.
      Search Engines uses meta elements like <description> , <language> and <robots> to crawl the pages. <keywords> is no longer used. Within the three, <description> has more influence on the ranking.  You can customize these meta elements with SharePoint Designer.
    4. Up-to-date Sitemap.xml and Robots.txt, and even a HTML sitemap page that provides all the links.
      Sitemaps can be submitted to search engines, and they can also be picked up with the reference from Robots.txt.  For SharePoint 2010, you can use my script here:  Generate SharePoint 2010 Sitemap with Windows PowerShell to create the sitemap file. And then use Task Scheduler to run it everyday. Robots.txt can be used to point search engines to the sitemap files, and prevent some of the folders from being crawled.
    5. Search Engine Friendly Redirects
      Some search engines, prefer 301 (Permanent) redirects to 302 (Temporary) redirects. Out of the box SharePoint uses 302 redirects to maintain flexibility of site creations and variations.  But you can override this behavior by different methods. For example this and this are achieved by using URL Rewrite Module in IIS SEO Kit.
    6. Search Engine Friendly Menus and Navigations
      Use Text! Avoid from using Flash/Silverlight/Javascripts for navigation menus because they are hard to be picked up by the crawlers. If you have to use technologies for menus , provide an alternative if possible. Don’t forget accessibility is also very important, although not quite related with SEO.
    7. Faster Page Response Time.
      Recently Google put site speed into their ranking calculation algorithms. This is not a very important factor, but worth considering. Something can be put into consideration are caching, load balancing, network infrastructure optimization. In SharePoint 2010, Developer Dashboard is a great feature to help to analyze page loading time – for example webpart loading time.  In this way you will know if some webparts should fixed or removed.

    8. Better anchor text for links, alt text for images.
      Anchor text can give search engines better understanding for the pages pointed to. You can take it as “another title” for the target pages. Alt text for images are also good to have.
    9. Always provides text based content for rich media.
      Think about a video file, a Flash/Silverlight application or a podcast on your website, how can it be indexed and showed in search result? Title and tags are important. But more importantly, you can improve the result by providing transcript to the video/audio, or text alternatives to your Flash/Silverlight applications. Certain features in Silverlight can also help. For more information on Silverlight SEO, please check http://www.silverlight.net/learn/whitepapers/seo-for-silverlight/.
    10. Use Webmaster Tools to submit sitemap, check results.
      Search Engines provide webmaster tools to help people to submit and optimize their sites.
      Bing: http://www.bing.com/webmaster
      Google: http://www.google.com/webmasters/tools/

    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.


  • Jie Li's GeekWorld

    Don’t Miss SharePoint 2010 Capacity Management Center!


    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:

  • Capacity management and sizing overview
  • Software boundaries and limits <- Everyone should get this!
  • Storage and SQL Server capacity planning and configuration
  • Topologies for SharePoint Server 2010 (model) <- Great Visio diagram – I’m considering to print out some of that and give out to people Smile
  • Hardware and software requirements (updated for RTM)
  • Designing large lists and maximizing list performance

    We will have more and more coming in the following days…



  • Jie Li's GeekWorld

    Track SharePoint 2010 Installations by Service Connection Point (AD Marker)


    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.

    snap0080 snap0081

    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



  • Jie Li's GeekWorld

    So we got RTM now, what’s next?


    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 thatSmile

    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 restSmile



  • Jie Li's GeekWorld

    The New SharePoint Category in TechNet Script Center


    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.



    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   SmileSmileSmile


    There're only 10 scripts now. Come and share your scripts!


  • Jie Li's GeekWorld

    Generate SharePoint 2010 Sitemap with Windows PowerShell


    #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>"

    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:


    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.


  • Jie Li's GeekWorld

    FAQ: SharePoint 2010 Remote BLOB Storage (RBS)


    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.

    Scenario Local SQL SKU Remote SQL SKU
    FILESTREAM Provider,
    BLOB stored on local SQL Server file system
    Any SQL SKU N/A
    FILESTREAM Provider,
    BLOB stored on Remote SQL Server file system
    SQL Enterprise SQL Standard or above
    3rd Party RBS Provider SQL Enterprise N/A


    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:


    Q: Should I consider using RBS all the time?

    No. RBS may be used when :

    • You have huge content dbs for document archiving so you want to reduce storage cost (terabytes of data)
    • You have large media files to stream to the audience
    • You need to use RBS to integrate 3rd party storage/archiving solutions to SharePoint. (For example EMC Documentum)

    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.


  • Page 1 of 4 (90 items) 1234