モバイル ページとリダイレクト システムの概要

最終更新日: 2010年5月5日

適用対象: SharePoint Foundation 2010

この記事の内容
モバイル ページへの自動リダイレクト
ホーム ページのリダイレクト
モバイル コントロールとアダプター
リスト、リスト アイテム、およびフィールドのレンダリング
ブログ

Microsoft SharePoint Foundation は、SharePoint ページとリスト データへのモバイル アクセスをサポートするアーキテクチャを提供します。モバイル デバイスのユーザーは、デスクトップ ブラウザーのユーザーがアクセスする URL と同じ URL にアクセスします。モバイル デバイスは、モバイル デバイス用に最適化されたページのバージョンに自動でリダイレクトされます。そのページから、モバイル デバイスのユーザーは、モバイル ページのフッター セクションにあるナビゲーション リンクを使用して、ホーム ページ、すべてのコンテンツ ("複数リストのリスト") ページ、リスト ビュー ページ、モバイル バージョンのカスタム サイト ページ (Web パーツ ページおよび Wiki 対応ページを含む) にアクセスできます。また、モバイル バージョンのアイテム作成フォーム、アイテム編集フォーム、およびアイテム表示フォームもあります。モバイル ビューを持つあらゆるリストにアクセスできます。モバイル ビューは、単なる標準の SharePoint リスト ビューであり、モバイル リスト ビューとして別の使用方法がマーク付けされています。詳細については、「モバイル ビュー」を参照してください。

注意

モバイル ページにはモバイル デバイス エミュレーターを使用してアクセスできます。エミュレーターのセットアップ方法については、「SharePoint へのモバイル デバイス アクセスの開発を準備する」を参照してください。サイトのモバイル ページには、Internet Explorer など、一般的な Web ブラウザーを使用してアクセスすることもできます。これを行うには、ページの URL の末尾に "?Mobile=1" を付加します。SharePoint Foundation の以前のバージョンでは、Web サイトの URL の末尾に "/m" を挿入していました。下位互換性を維持するためにこの方法も依然として使用できますが、従来の MobileRedirection 機能を最初に有効にする必要があります (この機能は SharePoint 管理シェルのコマンドレット: Enable-SPFeature –identity "MobileRedirection" –URL https://Server/SiteURL で有効にします)。これに応じて、モバイル以外のページの URL を入力し、"?Mobile=0" を URL の末尾に付加することで、モバイル デバイスでモバイル以外のページを強制的に読み込むことができます。

モバイル ページへの自動リダイレクト

SharePoint Foundation は、モバイル デバイスからの要求を検出し、要求されたモバイル以外のページの URL をそのモバイル用の代替ページに自動で変更します。

注意

モバイル ページが対応する非モバイル ページは、モバイル ページの "ターゲット ページ" と呼ばれます。

この検出処理は、HTTP 要求ライフサイクルの BeginRequest イベント内の SPRequestModule によって実装されます。SPRequestModule の変更や置き換えはできませんが、変更可能な 2 番目の種類のリダイレクトがあります。詳細については、以下の「 ホーム ページのリダイレクト」を参照してください。SPRequestModule の詳細、および SharePoint Foundation でのページ要求ライフサイクルの詳細については、「ASP.NET アプリケーションとしての Microsoft SharePoint Foundation」を参照してください。

ホーム ページのリダイレクト

モバイル デバイスからのすべての要求と同様に、Web サイトのホーム ページに対する要求は、モバイル デバイスからの表示用に最適化されたページのバージョンに自動でリダイレクトされます。要求された URL にページの指定がなく Web サイトの URL のみが含まれる場合 (http://MyServer/MySite など)、または URL に default.aspx ページ以外のページ名が指定されている場合 (http://MyServer/MySite/HomePage.aspx など) は、最小でもこの動作が行われます。ただし、URL に default.aspx がページとして明示的に指定されている場合 (http://MyServer/MySite/default.aspx など) は、開発者が変更できる "ホーム ページのリダイレクト" と呼ばれる特別な種類のリダイレクトが呼び出されます。BeginRequest イベント中の初期リダイレクトでは、要求は、_layouts\Mobile にある特別な default.aspx ページに送信されます。ただし、このファイルは実際にレンダリングされません。その内容は、主に、別のページに要求をリダイレクトするコントロールです。たとえば、要求されたホーム ページがブログ サイトの場合、リダイレクトの第 2 段階は _layouts\Mobile\bloghome.aspx ファイルに移行します。ホーム ページがチーム サイト用またはグループ作業サイト用の場合、あるいはホームページがブログを除くその他のモバイル対応のサイトの種類用の場合、要求は _layouts\Mobile\mblwp.aspx にリダイレクトされます (モバイル デバイスのブラウザーが CHTML または WML を使用する場合、そのブラウザーはリッチ テキストをレンダリングできないため、Wiki 対応のページも _layouts\Mobile\mblwp.aspx にリダイレクトされます)。この第 2 段階のリダイレクトはカスタマイズできます。カスタム モバイル ホーム ページを置き換えたり、ページに他のカスタム モバイル ページへのリンクを含めたりすることができます。詳細については、「[方法] リダイレクションを使用してモバイル ホーム ページをカスタマイズする」を参照してください。カスタム Web テンプレートのホーム ページに対する要求の場合、リダイレクト動作は、Web テンプレートの最終的な派生元のサイト定義によって決まります。

前に説明したとおり、ページの URL の末尾に "?Mobile=1" を付加することで、コンピューター ブラウザーでモバイル ページを強制的に開く場合があります。コンピューター ブラウザーでホーム ページのリダイレクトを強制的に呼び出すには、次の例のように、ページ名として default.aspx を指定します。

http://MyServer/MySite/default.aspx?Mobile=1

Web サイトに対して従来の MobileRedirection 機能がアクティブ化されている場合、

http://MyServer/MySite/m

上記の URL をコンピューターまたはモバイル デバイスのブラウザーに追加しても、ホーム ページのリダイレクトが呼び出されます。

ホーム ページのリダイレクトは、STS、SGS、または BLOG のサイト定義に基づくあらゆる Web サイトでサポートされます。ホーム ページのリダイレクトはカスタム サイト定義で有効にすることができます。SharePoint Foundation のサイト定義の詳細については、「サイト定義と構成」と「WebTemp.xml」を参照してください。

注意

MPS、CENTRALADMIN、TENANTADMIN、または従来の WIKI サイト定義に基づく Web サイトでは、モバイル アクセスはサポートされません。

モバイル コントロールとアダプター

モバイル アクセス用のまったく異なる一連のページに加えて、SharePoint Foundation には、モバイル ページ用のまったく別の一連のコントロールもあります。ブラウザーに表示される Web サイト ページで一般的に使用される Microsoft.SharePoint.WebControls 名前空間のサーバー コントロールとは異なり、モバイル ページで使用される Microsoft.SharePoint.MobileControls 名前空間の SharePoint Foundation モバイル コントロールは、System.Web.UI.MobileControls 名前空間の Microsoft ASP.NET コントロールを継承します。

モバイル ページには、モバイル以外の Web パーツ ページでの Web パーツの動作をほぼ再現するコントロールを含めることもできます。このコントロールは、モバイル Web パーツ アダプターと呼ばれます。このコントロールがレンダリングできるのは、モバイル Web パーツ ページのみです (mblwp.aspx)。

リスト、リスト アイテム、およびフィールドのレンダリング

モバイル リスト ビューのページとフォームでリスト、リスト アイテム、フィールドをレンダリングするシステムは、モバイル以外のページでそれらをレンダリングするシステムと基本的に同じです。主な違いは、リストに表示できる長さフィールドとアイテム数にレンダリング制限が課せられることです。長すぎるフィールドは切り捨てられます。制限を超えるリストは、改ページ調整されます。

リスト スキーマ

SharePoint リスト スキーマは、モバイル以外のページと同じ方法で、モバイル ページでのリストのコンテンツを決定します。リスト スキーマで何をレンダリングするかを決定するいくつかの方法を以下に示します。

  • リスト スキーマのセクションに基づいて、モバイル リスト ビューでの並べ替え順、フィルタ、およびビュー フィールドが決定されます。

  • ビュー スキーマのブール属性に基づいて、ビューがモバイル ビューであるかどうか、およびビューが既定のモバイル ビューであるかどうかが指定されます。

  • フォーム スキーマのフィールドの順序に基づいて、モバイル リスト アイテム フォーム ページでのフィールドの順序が決定されます。

  • フィールド スキーマのブール属性に基づいて、新規作成フォーム、編集フォーム、または表示フォームのどのフォームに特定のフィールドを表示するか、またはフィールドを非表示にするかどうかが決定されます。

コントロール テンプレート

SharePoint Foundation のモバイル機能では、ブラウザーに表示するページに実装されるシステムと同様のレンダリング テンプレートのシステムが使用されます。%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\CONTROLTEMPLATES ディレクトリにある MobileDefaultTemplates.ascx ファイルと GbwMobileDefaultTemplates.ascx ファイルには、モバイル ページで使用されるすべての既定のレンダリング テンプレート定義が格納されています。

注意注意

MobileDefaultTemplates.ascx ファイルと GbwMobileDefaultTemplates.ascx ファイルの内容を変更することはサポートされていません。これらのファイルの内容を変更した場合、SharePoint Foundation のモバイル機能が損なわれる可能性があります。

\CONTROLTEMPLATES フォルダー内にユーザー コントロール テンプレート (.ascx ファイル) を作成することで、あらゆるモバイル ページのレンダリング方法 (たとえば、ホーム、ビュー、フォーム ページ) をカスタマイズできます。サイトの種類、リストの種類、またはフィールド型に従って、コントロールの特定のレンダリングを定義できます。

ブログ

SharePoint Foundation におけるモバイル ブログのサポートには、他のすべての SharePoint モバイル機能のサポート (改ページ調整、リスト フィールドのカスタマイズ、モバイル ビューのカスタマイズ、モバイル ホーム ページのリダイレクトなど) が含まれます。独自のモバイル ブログ ソリューションを構築するには、他のモバイル ページとコントロールをカスタマイズするのと同じような方法で、SharePoint モバイル ブログ ページおよびモバイル コントロールをカスタマイズできます。