• Jie Li's GeekWorld

    FAQ: SharePoint 2010 Remote BLOB Storage (RBS)

    • 49 Comments

    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:

    $cdb.Migrate()

    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.

    Jie.

  • Jie Li's GeekWorld

    Installation Notice for SharePoint 2010 Public Beta

    • 41 Comments

    [3/9/2010 - WCF fix need to be installed after .Net Framework 3.5.1 is enabled (since it's a WCF fix, which is part of .Net Framework. Otherwise it cannot apply to the system. This fix will be automatically downloaded and installed by pre-requisite installer in RC/RTM build)

    [12/7 - +Office Web Apps on Win7] 

    [11/23 - added a short notice on win7+Office Web Application - this will not install and no workaround so far

    [11/21 - added setup keys in case people can't find them]

    [11/19 - updated user profile sync instructions - update WCF Fix for R2 and Win7 - update script for PowerPoint View/Edit] 

    Since SharePoint 2010 has been made available for MSDN/TechNet subscriber public now, here’re some steps you would like to follow to get a successful installation. But keep in mind: This beta is not supported and you CANNOT upgrade the installation to RTM when it’s released. This Beta should only be used for evaluation purpose.

    The public download of SharePoint Server 2010 Beta (Enterprise) is here:
    http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=77c30c6c-47fc-416d-88e7-8122534b3f37

    The key you can use is:

    PKXTJ-DCM9D-6MM3V-G86P8-MJ8CY

    BV7VC-RMR6B-26P6Y-BTQDG-DX2KQ This key should be avoided - it is a wrong key.

    Any one in the two would work. 

    Please note there's no technical difference between SharePoint Server 2010 + Enterprise CAL and SharePoint Server for Internet Sites Enterprise. It is only about licensing.

    1. Read hardware and software requirement article on TechNet.
    2. Prepare a Windows Server 2008 x64 machine with 8GB memory. Windows Server 2008 R2 requires a hotfix which is not yet released to have the service applications running so I don’t recommend to use that now which is released finally so now you can use it. Web Server Editions are not supported. Windows Server Fundation edition is not supported either. You can also install SharePoint 2010 on Windows 7 and Vista, however additional steps would be required as pre-requisite installer does not work currently on client OS.Windows 7 N and KN would not work due to an installer bug. Please also note Office Web Application cannot needs to follow the same edit of config.xml to be installed on client OS.

      If you give the machine very little memory, something like 2GB, and even have SQL Server running on the same machine, you would likely to get some timeout errors with service applications, for example, search and user profile.
    3. Get your AD ready. Create a new account for services, for example contoso\sp_admin.
      1.       Open Active Directory Users and Computers
      2.       Right click domain and select “Delegate Control”
      3.       Click Next
      4.       Click Add
      5.       Enter object name (i.e. contoso\sp_admin)
      6.       Click Ok
      7.       Click Next
      8.       Select “Create a custom task to delegate”
      9.       Click Next
      10.     Check "Replicating directory changes”
      11.     Click Next
      12.     Click Finish 
    4. Prepare SQL Server 2005/2008 envoriment. If it is on a different box, don't forget Windows Firewall settings. For SQL Server on Windows 2008/R2, you can use the script in KB968872 to open all necessary ports.
      1. SQL Server 2005 SP3 and CU3
      2. SQL Server 2008 SP1 and CU2
    5. Run Pre-Requisition Installer to download and install required components. You can also download them seperately. I listed all download links in SharePoint 2010 Pre-Requisites Download Links. The links are also available in requirement article, or by clicking “Learn more about…” in the installer.
    6. Install WCF FIX: A hotfix that provides a method to support the token authentication without transport security or message encryption in WCF is available for the .NET Framework 3.5 SP1 (Windows Server 2008, Windows Server 2008 R2) . Please note the 2008 fix also applies to Vista, while the 2008 R2 fix also applies to Windows 7.
      If you don't have this fix installed, you will get "Unrecognized attribute 'allowInsecureTransport'" error in ULS log. And most of the service applications will not run properly.
    7. Setup the farm using complete farm installation. Standalone installation is not recommended, and should be only used when you want to install SharePoint 2010 on Windows 7/Vista for dev purpose.
    8. Go with configuration wizard to setup all service applications. Use the user you created in step 3 as SharePoint Managed Account for services and web applications.
    9. Read Config Profile Synchronization to setup profile sync. Dave Pae is going to post complete steps for Profile Sync on SharePoint Team Blog. Follow the instruction on SharePoint Team Blog. You can also check my steps on how to setup user profile sync.
    10. If you are using SharePoint on DC, the following Windows PowerShell command would need to be run to enable Sandboxed Solutions.
      $acl = Get-Acl HKLM:\System\CurrentControlSet\Control\ComputerName
      $person = [System.Security.Principal.NTAccount]"Users"
      $access = [System.Security.AccessControl.RegistryRights]::FullControl
      $inheritance = [System.Security.AccessControl.InheritanceFlags]"ContainerInherit, ObjectInherit"
      $propagation = [System.Security.AccessControl.PropagationFlags]::None
      $type = [System.Security.AccessControl.AccessControlType]::Allow
      $rule = New-Object System.Security.AccessControl.RegistryAccessRule($person, $access, $inheritance, $propagation, $type)
      $acl.AddAccessRule($rule)
      Set-Acl HKLM:\System\CurrentControlSet\Control\ComputerName $acl

    11. If you are trying to use Office Web Apps on DC(Office Web Application need to be installed seperately, like a language pack or an update. Please also note that Office Web Application cannot be installed on needs to follow the same edit of config.xml to install on Windows 7), then the following commands need to be run to make the services work. Please note that in different languages, Service Application names could be localized. You can find them out by Get-SPServiceApplications, and then change the names in the script as necessary.

      Please do note that Office Web Apps is not supported on a DC. So this configuration should never be used in production.


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

      $p = Get-SPServiceApplication | where {$_.TypeName.Equals("PowerPoint Service Application")}
      $p.EnableSandboxedViewing = $false
      $p.EnableSandboxedEditing = $false
      $p.EnableSandboxedViewing
      $p.EnableSandboxedEditing
      #(Please use the below script for PowerPointServiceApplication - You need to enter "Y" for the answer of each cmd)
      Get-SPPowerPointServiceApplication | Set-SPPowerPointServiceApplication -EnableSandboxedViewing $false
      Get-SPPowerPointServiceApplication | Set-SPPowerPointServiceApplication -EnableSandboxedEditing $false

      In the server's c:\windows\system32\inetsrv\config\applicationHost.config
      Add the line below in the end of the dynamicTypes.
      <add mimeType="application/zip" enabled="false" />

      IISRESET

    12. Enable Developer Dashboard and turn to OnDemand for troubleshooting page performance issues. It can be done by STSADM or SharePoint 2010 Management Shell (Windows PowerShell).

      1. STSADM: stsadm -o setproperty -pn developer-dashboard -pv OnDemand

      2. Windows PowerShell:

        $svc=[Microsoft.SharePoint.Administration.SPWebService]::ContentService

        $ddsetting=$svc.DeveloperDashboardSettings

        $ddsetting.DisplayLevel=[Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::OnDemand

        $ddsetting.Update()

    Happy SharePointing!

    Jie Li

    Technical Product Manager, SharePoint

  • Jie Li's GeekWorld

    SharePoint 2010 on a Mac with Office for Mac 2011

    • 31 Comments

    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.

    uploadmultiple

    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

  • Jie Li's GeekWorld

    User Profile Sync Setup in SharePoint Server 2010 Beta

    • 20 Comments

    This is how I setup user profile sync for SharePoint Server 2010 Beta on my machine. You should not take this as an official guide. But the steps may help if you have been drive crazy. :)

    You should also check out TechNet article and the steps on our team blog first, they are more "official". And it's not come from "another MS guy in the wild" like me:)

    [Update - we are considering to gather all information and put it back to TechNet article, could be video walkthrough, screenshots, and hope that could help. After that is done, i may remove the content here.]

    The following steps in done on Windows Server 2008 R2. But it also applies to Windows Server 2008. The WCF fix for R2 and Win7 is not currently available to public but it will be released in coming days here.

    1. Start with a fresh SharePoint Farm installation, make sure WCF fix (Please refer to my pervious post) is already applied on the machine.
    2. A web application is already created at port 80. A site collection is also created.
    3. Don’t do anything on User Profile Service Application now…If you did, you may need to rebuild the farm. (am i kidding? no… this is beta.)
    4. Click System SettingsManage Services on server.
    5. Start Microsoft SharePoint Foundation User Code Service – this maybe not necessary, but I always do it first.
    6. If you are on Domain Controller, run the following script to make sure User Code Service has the right permission to run.
      $acl = Get-Acl HKLM:\System\CurrentControlSet\Control\ComputerName
      $person = [System.Security.Principal.NTAccount]"Users"
      $access = [System.Security.AccessControl.RegistryRights]::FullControl
      $inheritance = [System.Security.AccessControl.InheritanceFlags]"ContainerInherit, ObjectInherit"
      $propagation = [System.Security.AccessControl.PropagationFlags]::None
      $type = [System.Security.AccessControl.AccessControlType]::Allow
      $rule = New-Object System.Security.AccessControl.RegistryAccessRule($person, $access, $inheritance, $propagation, $type)
      $acl.AddAccessRule($rule)
      Set-Acl HKLM:\System\CurrentControlSet\Control\ComputerName $acl
    7. Start User Profile Synchronization Service. After you click the link, it should show something like this:
      snap0120
    8. Although the service is “Starting”, we can check the timer job if it is running properly. Click MonitoringCheck job status. Now you may find a job “ProfileSynchronizationSetupJob” is running. This may take several minutes to finish. If it finished instantly then something is wrong, you may have to rebuild it again.
      snap0119
    9. When it’s finished, the job will disappear from Running category. Now check Services again, user profile sync service should be “Started”.
      snap0121
    10. Time to setup connection! Click Application ManagementManage service applications. Scroll down to find and click User Profile Service Application. (Hint: you can copy the link to this item and add this to Resource links on Central Administration main page to save time in the future. You can do the same to Search and Managed Metadata.)
    11. It is possible that you get an empty status now. It’s okay.
      snap0122
    12. Click Configure Synchronization Connections.
    13. Oh – why I got this? “An error has occurred while accessing the SQL Server database or the SharePoint Server Search Service. If this is the first time you have seen this message, try again later. If this problem persists, contact your administrator.”
      snap0123
    14. Do a IISRESET in cmd line. Refresh the page,  problem solved.
      snap0124
    15. Now, click Create New Connection.
    16. Fill in your domain information. Choose the users or OU you want to import. Click Ok.
      snap0125  snap0126
    17. The connection you just created should be there. If not, you may need to rebuild. (I’m a bad guy, always telling you bad news.)
      snap0127
    18. Now go back to User Profile Service Application, the numbers should be shown on the side.
      snap0128
    19. You can choose to Start Profile Synchronization now. After some time, the number would change. It depends on the size of the OU you just chose.
      snap0129
    20. Click Manage User Profiles, and try to find a user. Yes, he is there!
      snap0130 

    Jie Li

    Technical Product Manager, SharePoint

  • Jie Li's GeekWorld

    Can I use iPad/iPhone with SharePoint 2010?

    • 18 Comments

    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.

  • Jie Li's GeekWorld

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

    • 15 Comments

    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.

    snap0076

    3. Right click in the white area then choose New, Object…

    snap0077

    4. Create a container.

    snap0078

    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.

    snap0079snap0088[3]

    6. Click Finish. The container is created.

    snap0080 snap0081

    7. Right click on the container, choose Properties.

    snap0082

    8. Click Security.

    snap0083snap0084

    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.

    snap0085snap0086

    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

    snap0087

    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.

  • Jie Li's GeekWorld

    ASP.Net Vulnerability and SharePoint

    • 14 Comments

    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:

    • 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" />
    • IISRESET /NOFORCE

    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:

    http://blogs.msdn.com/b/sharepoint/archive/2010/09/21/security-advisory-2416728-vulnerability-in-asp-net-and-sharepoint.aspx

    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

  • Jie Li's GeekWorld

    Crawl Lotus Domino with Lotus Notes Connector in SharePoint Server 2010

    • 12 Comments

    The Lotus Notes Protocol Handler has been changed to Lotus Notes Connector in SharePoint 2010 products. The good thing is, now Lotus Notes Connector has its own Service and Service Application. It is working on x64 platform, supporting Lotus Domino 5.5~8.5. And the UI as been improved a lot. So here’re the steps to configure Lotus Notes search in SharePoint Server 2010. It also applies to Search Server 2010.

    Prepare Lotus Notes Client

    I’m assuming the reader has basic Lotus Notes administrator knowledge. If not, don’t worry – follow the instructions in Notes Setup and TechNet article and you may still succeed.

    This guide is done with Lotus Domino and Notes 8.5. The steps with earlier versions are the same.

    Make sure Lotus Notes Client has been installed on the SharePoint box you want to use as an indexer.

    Suggestion: use C:\Lotus\Notes as installation directory so you won’t miss it. The installer in Notes 8.5 32bit has some issues with “(x86)” and messed up my program files directory on x64 OS.

    snap0033[3]

    If you need to make mappings file from this machine, Domino Designer is also needed. Domino Administrator can be an option.

    snap0034[3]

    After installation, double click Notes icon to launch it and go through connection setup. make sure it can connect to the Domino Server you want to crawl.

    snap0035[3]

    Setup Lotus Notes Connector on SharePoint Server

    1. In Farm Configuration Wizard, make sure Lotus Notes Connector is selected and click Next. This will create the service and applications.

    snap0028

    2. In System Settings, click Manage services on server.

    snap0030[3]

    3. Click Start on Lotus Notes Connector

    snap0031[3]

    4. So now it tells you there’re couple of steps you need to follow before provisioning the service. Don’t click Provision now, step 5-10 are required.

    snap0032[3]

    5. Download Lotus Notes C++ API 3.0 (not 3.0i) from IBM. The link may change as IBM updates their website quite often and breaks outside links. Make sure to download the one for Windows.

    snap0042[3]

    6. Get lcppn30.dll from the package and copy it to x:\program files\microsoft office servers\14.0\bin and x:\lotus\notes (your notes installation directory).

    7. Go to x:\program files\microsoft office servers\14.0\bin\1033 (1033 is LCID for US English.  The folder name may be different for other languages. For example, zh-cn is 2052), run NotesSetup.exe. Make sure the account to run NotesSetup.exe is the same with the one you use to start the Lotus Notes Connector Service.

    snap0040[3]

    8. Okay, this is the same one in 2007. Put in your Lotus Notes path like the following. Password is the one of the account you want to use for crawl.  If you want to have security trimming with search result, click next. Otherwise you can check Ignore Lotus Notes security while building an index option, skip step 9 and finish setup.

    snap0044[3]

    9. Fill in server name, account mappings db name, view name and column title in the dialogue. For how to create this mapping file, you can refer to http://technet.microsoft.com/en-us/library/cc261820.aspx. The same file with 2007 still works in 2010.

    snap0064

    10. Finishing setup. If everything is working, you should see the configuration succeeded message box.

    snap0047[3]

    snap0048[3]

    11. Go back to the browser window in step 4 and click Provision. This will start Lotus Notes Connector service.

    snap0049[3]

    Setup and crawl Lotus Notes Content Source in SharePoint Server 2010

    1. In Service Applications, click Search Service Application.

    snap0029[3]

    2. Create a Lotus Notes Content Source. The difference with 2007 is you don’t need to manually select every server name and each database name with a dropdown list any more. just copy and paste the Lotus Notes database addresses and it’s done.

    snap0050[3]

    For example, I created a document library in the root directory of Domino Server. The name is Document.nsf. There’s a doc inside, talking about Halo 3 ODST. So in the address line I put down notes://domino85/document.nsf.

    snap0052[3]

    The document in the lib – Mass Effect 2 is the one I’m playing the second round right now but this is just a demoSmile<- horrible smiley btw.

    snap0051[3]

    4. Kick off a full crawl to see the result!

    snap0053[5]

    snap0054[3]

    Refine Lotus Notes search result with Metadata Property Mappings

    When you do a search after the crawl, you may see a strange ID in the title of the result. This is the same behavior with 2007 – the crawler doesn’t know which field should be used as the title, so it chooses the uid of the notes document. This can be changed through Metadata Property Mappings, which used to be called managed property.

    snap0055[3]

    1. In Search Service Application, click Metadata Property Mappings from the left bar. Then click Categories.

    snap0056

    2. Click Notes in the categories. This UI is much better than 2007!

    snap0057

    3. Since this is a document library, the title should be “Subject” Notes field. So click the drop down of “Subject(Text)”.

    snap0058

    4. You can add mappings to the managed property: Title.

    snap0059[3]

    snap0065

    5. Don’t forget to click on the Title link after you mapped it with Subject(Text).

    snap0066

    6. Move up Subject(Text) in the order to make sure it is the first to be picked up and mapped to the Title. If you skip this step, the doc id will be picked up instead.

    snap0062

    7. A full crawl to make sure everything is updated.

    8. Done!

    snap0063

    Jie.

  • Jie Li's GeekWorld

    Index and Search PDF Files in SharePoint Server 2010

    • 12 Comments

    Like Office SharePoint Server 2007, there’s no OOTB PDF iFilter in SharePoint Server 2010. If you add PDF as a file type for SharePoint Search, you will get the following result:

    snap0086

    You can see that only the file attributes are indexed.

    You need to install a x64 PDF iFilter for this. There’re three PDF iFilter on market, Adobe, Foxit, and TET. You can refer to my earlier post for comparison. Since the registry name is changed in 2010, you may need to manually modify it to make the iFilters registered. Foxit recently updated their installer to reflect this change.

    http://www.foxitsoftware.com/pdf/ifilter/

    Quote from Foxit PDF iFilter change log:

    Version Number: 1.0.0.3213

    * Fixes a crash issue that is caused by embedded fonts.

    * Adds the following registry settings in the installation program: 

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\14.0\Search\Setup\Filters\.pdf]

    "Extension"=".pdf"

    "FileTypeBucket"=dword:00000001

    "MimeTypes"="application/pdf"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\14.0\Search\Setup\ContentIndexCommon\Filters\Extension\.pdf]

    @="{987f8d1a-26e6-4554-b007-6b20e2680632}"

    So run the installer, and then restart SharePoint Server Search 14 service. This service name is subject to change when RTM, but you can easily get the idea.

    snap0088

    Recrawl the files.

    snap0089

     

    It worked. Please note the installer will not get you PDF icon file, you need to follow the steps here http://www.foxitsoftware.com/pdf/ifilter/installation.html to download icon file and modify DOCICON.XML.

    This also applies to Search Server 2010. FAST Search index PDF files OOTB, so you don’t need to go with these steps.

    Jie Li

    Technical Product Manager, SharePoint

  • Jie Li's GeekWorld

    PDF iFilter Battle! FoxIT vs.. Adobe, 64bit version

    • 10 Comments

    After so long a time Adobe finally released its 64bit version of PDF iFilter!

    http://www.adobe.com/support/downloads/detail.jsp?ftpID=4025

    “In response to customer requests, Adobe is releasing Adobe PDF iFilter 9 for 64-bit platforms, which will allow searching PDF files on Microsoft® Windows® 64-bit platforms for applications such as Microsoft Office SharePoint Server 2007, Microsoft Exchange Server 2007, and Microsoft SQL Server 2005.”

    But, what about performance? How does it compare with FoxIT 64bit PDF iFilter?

    My friend Deb Haldar did a performance test last year for their 32bit iFilters. You can find the result here: FOXIT vs.. Adobe PDF IFilter [ 32-bit only ]. Let’s say, FoxIT 32bit PDF iFilter is more than 4 times faster than the Adobe one.

    Will the story change in 64bit age?

    I picked about two sets of PDF files. Set I contains ~1000 PDF files, 1.7 GB in total. Set 2 contians ~2600 files, 2.4G in total.  Language is mixed by 30% Chinese, 70% US English. The hardware spec is a two-way dual core XEON at 3.4GHz, 4G Ram. SharePoint was patched with October CU. Here’s the result.

     

      File Set File Number Total File Size(MB) Avg File Size(MB) Crawl Time(m:s) Crawl Time(s) File Per Second Success Error
    FoxIT I 1041 1751 1.68 6:02 362 2.88 1064 0
    Adobe I 1041 1751 1.68 30:03 1803 0.58 1063 1
    FoxIT II 2676 2406 0.90 7:46 466 5.74 2759 0
    Adobe II 2676 2406 0.90 40:58 2458 1.09 2757 2

    On average, FoxIT x64 PDF ifilter is still ~5 times faster than the Adobe one. But FoxIT charges 330 USD for a 2 core machine, while Adobe PDF iFilter is free. So if PDF indexing is the key to your business, go with FoxIT to get much better performance. If not, you may play with Adobe PDF iFilter to furfill some simple and basic request.

  • Jie Li's GeekWorld

    SharePoint 2010 with Windows PowerShell Remoting Step by Step

    • 9 Comments

    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

    snap0089

    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.

    snap0117[4]

    To enable CredSSP on the server, use the following command:

    Enable-WSManCredSSP –Role Server

    snap0103[3]

    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 *

    snap0111[3]

    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

    snap0099[5]

    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


    snap0100

    Then you will be able to use this credential in the command line without any dialogue.

    Enter-PSSession -ComputerName sharepoint.contoso.com -Authentication CredSSP -Credential $crd

    Load SharePoint Windows PowerShell Snap-in

    Unlike SharePoint Management Shell, You need to load this snap-in manually to use the cmdlets for SharePoint.

    Add-PSSnapin Microsoft.SharePoint.Powershell 

    Then everything will work.

     

    Further readings

    Zach Rosenfield’s Blog

    http://sharepoint.microsoft.com/blogs/zach

    Zach’s blog is my favorite. The following articles are highly recommended to read…

    SharePoint 2010 PowerShell Permissions Explained

    http://sharepoint.microsoft.com/blogs/zach/Lists/Posts/Post.aspx?ID=56

    SPModule.HelloWorld()

    http://sharepoint.microsoft.com/blogs/zach/Lists/Posts/Post.aspx?ID=54

    Remote Install of SharePoint (with SPModule)

    http://sharepoint.microsoft.com/blogs/zach/Lists/Posts/Post.aspx?ID=55

    Webcast - Getting Started: Windows PowerShell for SharePoint 2010 Administrators, by Todd Kindt on TechNet

    http://technet.microsoft.com/en-us/sharepoint/ee518673.aspx

    Technical Reference: Windows PowerShell for SharePoint Server 2010

    CHM references for download. Please note there’ll be some changes in the cmdlets between beta and RTM.

    http://technet.microsoft.com/en-us/library/ee662539(office.14).aspx



    Got Questions?

    Ask them on TechNet Forum! If we got enough questions we may even open a separate section for Windows PowerShell!

    SharePoint 2010 - Setup, Upgrade, Administration and Operation

     

    Jie.

  • Jie Li's GeekWorld

    What’s the Story for HTML5 with SharePoint 2010?

    • 9 Comments

    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)
      http://www.sharepointisawesome.com

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

  • Jie Li's GeekWorld

    PDF iFilter Test, with SharePoint 2010

    • 8 Comments

    [update Adobe PDF iFilter result] 

    Recently Foxit updated their PDF iFilter 2.0. An interesting improvement is “optimized for multi-core processor”. It claims that you can get 3 times better performance compared with its own version 1.0. Let’s see how my test result goes.

    Machine:

    Dell 2950 (I bought this two years ago)

    2 x quad core Intel Xeon E5410 @ 2.33GHz, 8GB Memory, 3 x 10000 rpm HD RAID 5

    File set:

    22,559 PDF Files in 84 folders, 15.7 GB total, from People’s Daily Archive

    Content Source:

    File Share, on the same machine, to avoid network latency and bottlenecks

    Software Platform

    Windows Server 2008 R2

    SQL Server 2008 R2 Nov CTP

    SharePoint Server 2010 Beta

    Foxit PDF iFilter 2.0 x64

    TET PDF iFIlter 3.0 x64

    Adobe PDF iFilter 9.0 x64

    After each crawl, reset index, restart osearch14 service.

    Test Result – update Adobe PDF iFilter result

    Vendor

    Crawl Time(h:m:s)

    Crawl Time(s)

    File Per Second

    Success(including warning)

    Error

    Foxit 0:13:00 780 29.02 22637 0
    TET 1:17:44 4664 5.07 22637 0
    Adobe 8:29:43 30583 0.74 22637 0

    Amazing! The full crawl was done in just 13 minutes. If you still remember the last test I did, Foxit version 1.0 got 10.73 files per second on SharePoint 2007 x64 with the same hardware spec.

    Adobe PDF iFilter is single threaded. Only one CPU core was working during the full indexing process.

    Here’re the screenshots of the CPU usage…

    Vendor

    Screenshots

    Comment

    Foxit snap0012 Foxit PDF iFilter 2 is able to use multiple cores. Most of the time CPU usage is at around 90%.
    TET snap0013 TET PDF iFilter 3 is also able to use multiple cores. CPU usage is 100% all the time.
    Adobe snap0015 Adobe PDF iFilter 9 is single threaded. It can only use one core of the machine.

    Nice job, Foxit!

    Jie.

  • Jie Li's GeekWorld

    SharePoint 2010 Beta with FILESTREAM RBS Provider

    • 8 Comments

    You may have already been busy trying different new fancy features of SharePoint 2010. Time to try something really hardcore for IT Pro! Remote Blob Storage is always what people are asking for – to put blob objects outside of SQL Server database, directly on file system or on some storage solutions like Documentum and FileNet. In such way, it may provide cheaper storage or better performance. SharePoint 2010 support RBS, and also can leverage SQL Server FILESTREAM RBS provider for customers to try out the capability.

    In SharePoint 2010, FILESTREAM RBS Provider is also used for getting around the 4GB database limitation in SQL Server Express. Given the fact that SharePoint Foundation 2010 (used to be called Windows SharePoint Services v4) is no longer a part of Windows Server operating system, it will not use Windows Internal Database. So when Windows SharePoint Services 3.0 users are trying to upgrade their farms, they may have an internal database larger than 4GB, which would pass the limitation of SQL Server Express. There will be a prompt to let user download this FILESTREAM RBS Provider to put large blob objects on file system, store the rest like metadata, configuration in databases. In this way, the limitation of SQL Server Express can be bypassed. But, at the same time you should consider to move to other SQL Server editions. With the growth of the databases, SQL Server Express and Windows Internal Database are not the choices for scalability.

    Note: FILESTREAM RBS Provider does not always provide better performance. We will release document on TechNet for recommendation and planning.

    You can also consider using a third party RBS provider.

    Documentation (Updated on 12/04/2009)

    Overview of BLOB storage

    http://technet.microsoft.com/en-us/library/ee748607(office.14).aspx (SharePoint Foundation 2010)

    http://technet.microsoft.com/en-us/library/ee748649(office.14).aspx (SharePoint Server 2010)

    Install and configure Remote BLOB Storage

    http://technet.microsoft.com/en-us/library/ee663474(office.14).aspx (SharePoint Foundation 2010)

    http://technet.microsoft.com/en-us/library/ee748631(office.14).aspx (SharePoint Server 2010)

    Enable a content database to use Remote Blob Storage (RBS)

    http://technet.microsoft.com/en-us/library/ee748605(office.14).aspx (SharePoint Foundation 2010)

    http://technet.microsoft.com/en-us/library/ee748641(office.14).aspx (SharePoint Server 2010)

    Upgrade from a stand-alone installation of Windows SharePoint Services 3.0 to SharePoint

    http://technet.microsoft.com/en-us/library/ee663471(office.14).aspx

    Installation Notes

    The key component is the provider itself. With SharePoint 2010 Public Beta, we need to use the FILESTREAM RBS Provider shipped with SQL Server 2008 R2 Nov CTP. Don’t worry, it can be installed and used with SQL Server 2008.

    The original download link on TechNet article pointed to an older version of the provider which was used with SharePoint 2010 Technical Preview (a.k.a. June CTP). This link has already been updated with the new one, so if you downloaded “RBS_X64.msi” earlier, please re-download it. The correct installer should be 4.67MB, with a digital signature time stamp at Nov 1st, 2009.

    When you copy and paste the script, be careful with the quotes – there could be issues with them. You need to clean the wrong quotes, and replace them with the right one.

    Follow the steps described in the documentation and get it setup. If you get into any problems, please report them to SharePoint 2010 - Setup, Upgrade, Administration and Operation Forum on TechNet Forums.

    Another point is, you can allow only big files to be put into FILESTREAM. Since FILESTREAM performance is not as good as the databases when it deals with small files (for example, <1M), you can change this threshold.  The following Windows PowerShell command change the setting to 1M (1048576 bytes), file below 1M will be stored in DB.

    $cbd = Get-SPContentDatabase “WSS_Content”
    $cbd.RemoteBlobStorageSettings.MinimumBlobStorageSize=1048576
    $cdb.Update()

    It would be good to test the performance based on your own storage and hardware.

    FAQ:

    Q1. Who should consider using FILESTREAM RBS Provider?
    A: People who are using Windows Internal Database to host their Windows SharePoint Services 3.0 or SharePoint Server 2007 content database, and want to upgrade to 2010 products, should consider FILESTREAM RBS Provider. Also, FILESTREAM RBS Provider could also be considered to deal with the following scenarios:

    1. Store terabytes of data for archiving purpose.
    2. Media streaming.

    Q2 removed. :-) 

     

    Jie Li

    Technical Product Manager, SharePoint

  • Jie Li's GeekWorld

    Install MOSS 2007 & WSS 3.0 on Windows Server 2008 R2 – you will need SP2 slipstream

    • 8 Comments

    Windows Server 2008 R2 RC is avaliable several days ago. You may ask questions: What if I want to install WSS/MOSS on Windows Server 2008 R2? Is that supported?

    The answer: WSS/MOSS RTM & SP1 is not supported on WS2008R2. But with SP2, it is supported. If you try to run the installer without SP2 slipstreamed, it would be blocked and you cannot continue. Meanwhile, if you want to use SQL Server 2008, you will also need to apply SQL Server 2008 SP1 on it after installation.

    snap014

    So slipstream build of WSS and MOSS SP2 is required. WSS SP2 slipstream build can be found here: x86 x64. There’s no slipstream build for MOSS so you need to create your own one. Here’s a quick guide:

    Remove all stuff inside the Updates folder of your MOSS installation directory. Download both wss and moss SP2 packages, extract them in command line using /extract:drive\path option,  and then put all into the Updates folder. Delete Wsssetup.dll, this is important. Otherwise only WSS SP2 will be installed.

    More details can be found on TechNet.

     

    With SP2 slipstreamed, you can run the installer without any problem now. After installation, site version will be 12.0.0.6421.

    snap015 

    Windows Server 2008 SP2 is also supported by MOSS/WSS SP2.

  • Jie Li's GeekWorld

    SharePoint 2010 Pre-Requisites Download Links

    • 8 Comments

    Update: Windows PowerShell v2 RTM download link, KB971831 download link, KB976462 download link

    If you don’t have internet connection on the machine you want to install SharePoint 2010, then you need to download pre-requisites manually.

    Note: This article applies only to Beta 2 (Public Beta) currently, I will update this when it’s RTM. If you are using Technical Preview, then this does not apply to you.

    The download links will be provided when you click Learn more about these prerequisites in the pre-req installer tool. However, this link is not activated yet. So I will list the links below.

    snap0091

    SharePoint Server

    The following is needed for installation on Windows 2008 R2 and Windows Server 2008.

    KB971831 (This KB only applies to Windows Server 2008 and Vista)

    http://support.microsoft.com/kb/971831 (this is the KB article)

    http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=KB971831&DownloadId=7285 (this is the download)

    KB976462 would be the WCF Fix article for Windows 2008 R2 and Windows 7

    http://support.microsoft.com/kb/976462 (link not activated yet)

    http://go.microsoft.com/fwlink/?LinkID=166231 (this is the download)

    Microsoft SQL Server 2008 Native Client:
    http://download.microsoft.com/download/3/5/5/35522a0d-9743-4b8c-a5b3-f10529178b8a/sqlncli.msi


    Microsoft "Geneva" Framework Runtime
    http://download.microsoft.com/download/F/3/D/F3D66A7E-C974-4A60-B7A5-382A61EB7BC6/MicrosoftGenevaFramework.amd64.msi


    Microsoft Sync Framework Runtime v1.0 (x64)
    http://download.microsoft.com/download/C/9/F/C9F6B386-824B-4F9E-BD5D-F95BB254EC61/Redist/amd64/Microsoft%20Sync%20Framework/Synchronization.msi


    Microsoft Chart Controls for Microsoft .NET Framework 3.5
    http://download.microsoft.com/download/c/c/4/cc4dcac6-ea60-4868-a8e0-62a8510aa747/MSChart.exe


    Microsoft SQL Server 2008 Analysis Services ADOMD.NET
    http://download.microsoft.com/download/A/D/0/AD021EF1-9CBC-4D11-AB51-6A65019D4706/SQLSERVER2008_ASADOMD10.msi

    Filter Pack 2.0 should be already included in installation files.

    On Windows Server 2008, additional files are needed.

    .Net Framework 3.5 SP1

    .NET Framework 3.5 Service Pack 1 (Full Package) KB959209 KB967190

    PowerShell V2 RTM (It's better to use RTM than CTP3 - Remoting is not working correctly in older builds)

    http://www.microsoft.com/downloads/details.aspx?FamilyId=d37e25cf-db05-4b23-a852-cdf865d81b82&displaylang=en

    SQL Server 2005 Patches

    SQL Server 2005 SP3

    http://www.microsoft.com/downloads/details.aspx?familyid=AE7387C3-348C-4FAA-8AE5-949FDFBE59C4&displaylang=en

    CU3 for SQL Server 2005 SP3

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

    SQL Server 2008 Patches

    SQL Server 2008 SP1

    http://www.microsoft.com/downloads/details.aspx?familyid=66AB3DBB-BF3E-4F46-9559-CCC6A4F9DC19&displaylang=en

    CU2 for SQL Server 2008 SP1

    Cumulative update package 2 for SQL Server 2008 Service Pack 1

    Hope this helps.

    Jie Li

    Technical Product Manager, SharePoint

  • Jie Li's GeekWorld

    Uninstall or Disable Office Web Apps?

    • 8 Comments

    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

    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.

     

    Jie.

  • Jie Li's GeekWorld

    Be Careful When You Use Slipstreamed SharePoint Installation Files

    • 7 Comments

    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)

    snap0042

    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.

    snap0044

    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.

  • Jie Li's GeekWorld

    The Mystery Behind SharePoint 2010 Patching

    • 6 Comments

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

    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:

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

  • Jie Li's GeekWorld

    SharePoint on the iPad: Filamente and SharePlus

    • 6 Comments

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

    snap0009

    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.

    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.

    snap0010snap0027

    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.

    snap0041

    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.

  • Jie Li's GeekWorld

    Some OpenSearch sites for reference

    • 6 Comments

    Do you know www.opensearch.org? This is a open standard for search engines, which is created by A9.com from Amazon.

    Why does it matter? Don't look at all those boring documents on opensearch.org, generally speaking, this is a standard that requires search engines return a RSS/ATOM feed. So you can use your favorite feed reader, get the best answers just in time.

    Meanwhile, a standard RSS feed allows you intergrate different search engine results into your own application. For example, you have a enterprise search engine inside your company, but you want to intergrate some search results from outside, an iframe is okay but not very good.  With XML+XSLT, you can intergeate them very easily. This is not limited to search engines, you can try different ideas, Yahoo Image Search, Google News Search, Live Spaces Search, LinkedIn expert search... Anything.

    Well, what if a site does not return RSS feed? Wikipedia, Linkedin, they don't have anything. Oh, Wikipedia said they support opensearch, but they only support a part of the standard. What they returned can only be used in IE7/Firefox live search.

    Live.com has a very useful feature to solve this problem. It can return RSS feed for any results. To give wikipedia a RSS feed, just use

    http://search.live.com/results.aspx?q={searchTerms}+site%3aen.wikipedia.org&format=rss

    And that's all.

    Here I list some of the sites to be used with RSS feed:

    WikiPedia (en-us) http://search.live.com/results.aspx?q={searchTerms}+site%3aen.wikipedia.org&format=rss
    WikiPedia (zh) http://search.live.com/results.aspx?q={searchTerms}+site%3azh.wikipedia.org&format=rss
    Live Search http://search.live.com/results.aspx?q={searchTerms}&format=rss
    Live News http://search.live.com/news/results.aspx?q={searchTerms}&amp;format=rss
    Google Blog http://www.google.com/blogsearch_feeds?hl=en-us&amp;q={searchTerms}&amp;lr=&amp;ie=utf-8&amp;num=10&amp;output=rss
    Google Blog (zh-cn) http://www.google.cn/blogsearch_feeds?hl=zh-cn&amp;q={searchTerms}&amp;lr=&amp;ie=utf-8&amp;num=10&amp;output=rss
    Google News http://news.google.com/news?hl=en-us&amp;ned=us&amp;ie=UTF-8&amp;q={searchTerms}&amp;output=rss
    Google News (zh-CN) http://news.google.com/news?hl=zh-CN&amp;ned=cn&amp;q={searchTerms}&amp;ie=UTF-8&amp;output=rss
    Flickr http://api.flickr.com/services/feeds/photos_public.gne?tags={searchTerms}&amp;lang=en-us&amp;format=rss_200
    LinkedIn http://search.live.com/results.aspx?q={searchTerms}+%28site%3Awww.linkedin.com%2Fpub%29&amp;format=rss
    MSDN http://search.msdn.microsoft.com/search/Feed.aspx?brand=msdn&amp;query={searchTerms}&amp;lang=en-us&amp;feed=rss
    MSDN China http://search.msdn.microsoft.com/search/Feed.aspx?brand=msdn&amp;query={searchTerms}&amp;lang=zh-cn&amp;feed=rss
    TechNet http://search.technet.microsoft.com/search/Feed.aspx?brand=technet&amp;query={searchTerms}&amp;lang=en-us&amp;feed=rss
    TechNet China http://search.technet.microsoft.com/search/Feed.aspx?brand=technet&amp;query={searchTerms}&amp;lang=zh-cn&amp;feed=rss
    Technorati http://feeds.technorati.com/search/{searchTerms}?language=en
    Technorati (zh) http://feeds.technorati.com/search/{searchTerms}?language=zh
    Wired http://www.wired.com/search/rss?query={searchTerms}
    Yahoo http://api.search.yahoo.com/WebSearchService/rss/webSearch.xml?appid=yahoosearchwebrss&amp;query={searchTerms}&amp;adult_ok=0
    Yahoo Images http://api.search.yahoo.com/ImageSearchService/rss/imageSearch.xml?appid=yahoosearchimagerss&amp;query={searchTerms}&amp;adult_ok=0
    Yahoo News http://news.search.yahoo.com/news/rss?p={searchTerms}&amp;ei=UTF-8
    Britannica http://www.britannica.com/opensearch?query={searchTerms}&amp;ct=eb&amp;start=0&amp;count=20
    del.icio.us http://del.icio.us/rss/tag/{searchTerms}?language=en
    Youtube http://www.youtube.com/rss/tag/{searchTerms}.rss
    Amazon http://amazon.com/rss/tag/{searchTerms}/new?length=100
  • Jie Li's GeekWorld

    ULS Viewer, for SharePoint 2010 Troubleshooting

    • 5 Comments

    My friend Dan Winter posted 2009 SharePoint Toolbox Review today on his blog. Within the post, the best tool I like is the ULS Viewer. If there’s an election of SharePoint Administrator troubleshooting tools, I would vote it as the president!

    So what is ULS? It stands for Unified Logging Service. Mr. Winter explained that a lot in his blog so I would not repeat. But, it is the top one thing you should look at when you want to troubleshoot some SharePoint issue. Of course, troubleshooting is not always to get the symbols, debug and trace problems… If that is indeed needed, then it may be a bug.  Most of the time, ULS log is already quite helpful. For example, sometimes I got a service error in the webpage, some errors in event log, but nothing told the exact root of the problem. Then when I looked into ULS log, it told me that the credential of the user did not work. It is really helpful.

    I did a user research earlier this year, more than 75% of SharePoint Administrators had no idea about ULS log. There’re some reasons. Since the ULS log is designed mainly for product group and customer service usage, the default format is not very user friendly. The log is hard to read, and you may get overwhelming messages instead of the useful ones. Now, we have ULS Viewer to solve the problem.

    For SharePoint 2010, by default, ULS log is at

    C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\LOGS

    You can check the directory and try to read those logs. I was quite used to that, with notepad:)

    ULS Viewer can be used in different modes. The log can be read from log files, real time ULS log, or even clipboard. Here’s some examples:

    On a machine running SharePoint 2010, run ULS Viewer. Click File, Open From, then choose ULS (This could also be done by simply press Ctrl+U). Immediately the logs will be shown in real-time. You can filter message level by click the icons in the middle. This can tell you what is going on inside SharePoint.

    snap0204

    The best feature I love is the Toggle Correlation Tree button. In SharePoint 2010 we can use correlation id to trace a series of event inside SharePoint. For example, in this screenshot, my machine is trying to flush usage log. The different entries may be buried in the big ULS log file, but with correlation id you can easily track them – they shared the same id “c000006c-5b56-412b-9de1-78aae06d121f”.

     snap0206

    Another good feature is the notifications. You can set notification level for ULS Viewer, by default it will pop up notification for Critical message. For example in this screenshot, when Health Analyzer checked my machine for a security rule, it wrote a critical message into the log. With ULS Viewer, you can quickly identify the location of the message. If there’s an exception, you can also check the detail of that.

    snap0208 

    I’m ready to throw my notepad away – ULS Viewer is the one to go with, for troubleshooting.

    Jie.

  • Jie Li's GeekWorld

    SharePoint 2010 Search Engine Optimization (SEO) Tips

    • 5 Comments

    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:
      http://foo.com/nodes/123
      http://foo.com/blog/sharepoint-2010-search-engine-optimization-seo-tips/
      http://foo.com/blog/sharepoint2010/seo/tips/
      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.

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

  • Jie Li's GeekWorld

    FAQ: SharePoint 2010 RTM Installation

    • 5 Comments

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

    snap0105

    A typical use of Prerequisite Installer in offline mode (Windows Server 2008 R2):

    snap0106

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

  • Jie Li's GeekWorld

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

    • 5 Comments

    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.

    snap0149

    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.

    snap0150

    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.

    snap0151

    Now you can have the line highlighted. Hmm, disabled=”disabled”. Let’s change it to trick the page.

    snap0152

    I changed the name “disabled” to something that doesn’t make sense. I guess people can have a better idea for this but anyway.

    snap0153

    Now I can input my Enterprise license key to the box. Wait, OK button is still disabled. Time for the same trick…

    snap0154

    After Ok button is enabled, click on it, the feature for Enterprise CAL now can be unlocked without any problem.

    snap0155

    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.

Page 1 of 4 (89 items) 1234