WSS3SDK之:Mobile开发概览

Windows SharePoint Services 3.0 提供了一整套架构和Feature来支持mobile访问SharePoint列表数据。Mobile设备通过URL访问一个站点只需要在原先的URL路 径上加一个"m"文件夹。大致的格式为: http(s)://Server/[sites/][Site/]m/。Mobile设备的用户将被重定向到一个moblie主页。该那里,用户可以通过读写SharePoint列表导航到一个视图页面,同样列表也具有一个mobile视图。mobile视图其实是一个标准视图,只不过标记为可以同时用于mobile。

注意

您可以通过一般的web浏览器(如IE)访问一个站点的mobile页面,只需要在页面URL后加上"m/"作为结尾文件夹就可以了。

WSS中所渲染的mobile视图和窗体框架是基于SharePoint本身的窗体渲染架构,但却使用了不同的控件。不同于浏览器中的典型页面所用的 Microsoft.SharePoint.WebControls命名空间下的服务器控件,在moblie页面中使用的是位于 Microsoft.SharePoint.MobileControls命名空间下的WSS mobile控件,这些控件继承自ASP.NET 2.0的 System.Web.UI.MobileControls

架构与渲染

SharePoint的列表架构驱动了mobile页面和控件的主要渲染工作,主要表现为:

  • 列表架构中的节决定了mobile列表视图中的排序顺序,筛选及显示的字段。
  • 列表架构属性的布尔值指定了该视图是否是一个mobile视图,以及是否是默认的mobile视图。
  • 窗体架构中的字段顺序决定了在列表项的mobile窗体页面中的字段顺序。
  • 字段架构属性的布尔值决定了该字段是否显示在新建窗体,编辑窗体或显示窗体中,以及该字段是否是隐藏字段。

控件模板

WSS mobile功能使用的模板渲染机制与在浏览器中的实现很类似。MobileDefaultTemplates.ascx 文件(位于Local_Drive:\Programe Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES目录下)包含了所有的用于mobile页面的渲染模板定义。

提醒

不建议直接修改MobileDefaultTemplates.ascx文件,这样会破坏WSS的mobile功能。

通过创建自定义用户控件模板(.ascx文件)并部署到\CONTROLTEMPLATES文件夹中,您可以自定义任何mobile页面的渲染(比如,主页,视图,窗体页面等等)。您可以根据站点类型、列表类型或字段类型的不同来定义指定控件的渲染。

重定向Mobile主页

WSS 实现了一种上下交错的mobile主页重定向功能。当用户访问一个标准的SharePoint网站时,比如,http://Server/sites /SiteCollection/Site/m/,在通常的网站URL后加"m",用户会被重定向到一个mobile的default.aspx页面,接 着会重定向到实际的mobile主页(mbllists.aspx)来显示所有列表的清单:http://Server/sites /SiteCollection/Site/_layouts/mobile/mbllists.aspx 。

默认情况下,该重定向feature支持所有基于标准STS网站定义或BLOG网站定义的站点。Blog用户会被重定向到bloghome.aspx,而不是mbllists.aspx,因为blog基于一种不同的站点定义类型。

用于mobile主页重定向的Feature位于下列目录中:

Local_Drive:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\MobilityRedirect

Blog

WSS对 mobile blogging的支持包括了所有SharePoint mobile功能,比如分页,列表字段定制,mobile视图定制,mobile首页重定向等等。如果要定制您专属的mobile blog解决方案,您可以定制SharePoint的mobile blog页面和mobile控件,过程与定制其他mobile功能类似。

浏览器定义文件

您可以修改WSS的浏览器定义文件(位于\Inetpub\wwwroot\wss\VirtualDirectories\80\App_Browsers\compat.browser)来添加对新的mobile设备的支持。

你可能感兴趣的:(mobile)