Saturday, August 13, 2011

SharePoint 2010 Disable Mobile Page Redirect

When deploying SharePoint Farms, it is very important to consider the mobile aspects of using SharePoint also. Sometimes, it is very easy to miss this aspect. Out of the box, SharePoint 2010 provides few basic mobile pages. When you browse from a mobile, then you will be redirected to a different page rather than the regular publishing/wiki page you would see. You will be redirected to a page in layouts folder: /_layouts/mobile/mblwp.aspx.

If you are using a custom branded page for SharePoint 2010, then you may not want the users not to redirect to the out of the mobile page when browsing from their mobile.  The easiest and supported way to do this is to add a web.config entry for the respective web application. The below entry needs to be added under the node <system.web>:

   1:  <browserCaps>

   2:   <result type="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

   3:   <filter>isMobileDevice=false</filter>

   4:  </browserCaps> 

There are other ways to change this setting, specifically modifying the compat.browser file in the “App_Browsers” folder located in the application’s virtual directory. In here, you can disable the setting for a specific mobile. For example, to disable the redirect on IPhone, you would modify the isMobileDevice setting to false. By default it is set to true:

   1:  <!-- iPhone Safari Browser -->

   2:      <!-- sample UA "Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; ja-jp) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A345 Safari/525.20" -->

   3:      <browser id="iPhoneSafari" parentID="AppleSafari">

   4:          <identification>

   5:              <userAgent match="iPhone" />

   6:              <userAgent match="Mobile" /> 

   7:          </identification>

   8:          <capabilities>

   9:              <capability name="isMobileDevice"                    value="true" />

  10:              <capability name="canInitiateVoiceCall"              value="true" />

  11:              <capability name="optimumPageWeight"                 value="1500" />

  12:              <capability name="requiresViewportMetaTag"           value="true" />

  13:              <capability name="supportsTouchScreen"               value="true" />

  14:              <capability name="telephoneNumberDetectionDisabled"  value="true" />

  15:          </capabilities>

  16:      </browser>

No comments:

Post a Comment