次の方法で共有


モバイル ドキュメント ビューアーの開発

最終更新日: 2011年2月2日

適用対象: SharePoint Foundation 2010

ここでは、ユーザーがワード プロセッサ、スプレッドシート アプリケーションなど、特定のアプリケーションの形式でドキュメントをモバイル デバイス上に表示できるドキュメント ビューアーをホストするモバイル ページを作成する方法について説明します。モバイル ページを作成すると、モバイルのエンド ユーザーは、Microsoft SharePoint Foundation ドキュメント ライブラリにあるファイルをモバイル デバイス上で開くことができるようになります。一部のモバイル デバイスには、特定のドキュメントの種類用のビューアーが内蔵されている場合があります。要求側のデバイスにこのようなビューアーが内蔵されているかどうかを確認し、内蔵されている場合は、作成したブラウザーではなく、デバイスのブラウザーで要求されたドキュメントを開くことを選択できるように、応答システムを構成できます。

ヒントヒント

Microsoft SharePoint Server などのマイクロソフト製品を含む、Microsoft SharePoint Foundation に基づいて構築されている製品には、モバイル ドキュメント ビューアーとホスティング ページを組み込むことができ、既に組み込まれています。ドキュメント ビューアー プロジェクトを開始する前に既に使用できる項目について確認してください。

概要

SharePoint Foundation ソリューションのユーザーがモバイル ドキュメント ビューアーを使用できるようにする作業は、次の 2 つの部分に大きく分けられます。

  • ビューアーをホストするページの作成

  • ビューアー ページの登録

ビューアー ホスティング ページの作成

モバイル ビューアーのホスティング ページは、通常、各フロントエンド Web サーバーの %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\Layouts\Mobile フォルダーに展開する 1 つの aspx ファイルです。ページのコンテンツについて完全に一般化することはできません。ページの中核となるのは、通常、指定した種類のドキュメントを表示できるコントロールへの参照です。また、編集、ページ分割、またはドキュメントの種類に関係するその他の機能を実行できるようにするコントロールも考えられます。

ページの登録

ページを登録するには、mdocview_*.xml という名前の XML ファイルを作成します。* は、有効なファイル名文字で構成される文字列です。会社名など、他のドキュメント ビューアー プロバイダーが使用している名前と重複する可能性が少ない文字列を使用することをお勧めします。ページは、すべてのフロントエンド Web サーバーの %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\Config に展開します。

ファイルの最上位ノードは、MobileDocViewers 要素です。1 つ以上の子 MobileDocViewer 要素を追加します。次に、MobileDocViewer 要素の例を示します。

<MobileDocViewers>
  <MobileDocViewer Name=”xps” FilePath=”/_layouts/mobile/mxps.aspx” QueryId=”doc” AppendSourceUrl=”true” />

</MobileDocViewers>

Name 属性では、ビューアーが表示できるファイルの種類のファイル名拡張子を識別します。FilePath 属性では、ビューアーをホストするために作成したファイルの Web サイト相対パスとファイル名を識別します。QueryId 属性では、URL クエリのキーを指定します。この例では、ビューアー ホスティング ページの URL の最後に "?doc=" が追加されます。AppendSourceUrl 属性では、ユーザーが表示するドキュメントの URL を URL の最後に追加するかどうかを指定します。この例では、値が true なので、URL が追加されます。したがって、ドキュメント ライブラリにある File.xps という名前のファイル (その URL は http://MyServer/Shared Documents/File.xps) を表示する完全な Web サイト相対 URL は、/_layouts/mobile/mxps.aspx?doc=http:%2F%2FMyServer%2FShared%20Documents%2FFile%2Exps になります。

サイト コレクション レベルでアクティブ化、非アクティブ化できるフィーチャーとしてページをパッケージ化することをお勧めします。この方法でパッケージ化する場合は、MobileDocViewer 要素に、GUID によってフィーチャーを識別する FeatureId 属性を追加します。次に例を示します。

<MobileDocViewers>
  <MobileDocViewer Name=”xps” FilePath=”/_layouts/mobile/mxps.aspx” QueryId=”doc” AppendSourceUrl=”true” 
                   FeatureId=”XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX” />

</MobileDocViewers>

ビューアーが複数の種類のファイル名拡張子に対応できる場合は、拡張子ごとに個別の MobileDocViewer 要素を追加します。

要求側のデバイスに、ビューアーが表示するドキュメントの種類用の独自のビューアーが内蔵されている場合は、%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\CONFIG\Browsers にある compat.browser ファイルに、この機能を示すブラウザーのエントリを入れることができます。たとえば、Windows Mobile 7.0 電話機には、携帯電話で特定の Microsoft Office ドキュメントの種類を開くことができる Office Mobile Client が用意されています。compat.browser でのこのクライアントのエントリを次に示します。

<browser id="OfficeMobileClient" parentID="default">
  <identification>
    <userAgent match="^Office Mobile Web Access$" /> 
  </identification>
  <capabilities>
    <capability name="isMobileDevice" value="true" />
    <capability name="overrideMobileDocViewerRedirection" value="true" />
  </capabilities>
</browser>

overrideMobileDocViewerRedirection という名前の capability 要素が true に設定されています。この場合、このブラウザーは、特定の Microsoft Office ドキュメントの種類を表示できます。

子 BrowserCondition 要素を MobileDocViewer 要素に追加して、ブラウザーの独自のビューアーによってこのビューアーを無効にできるようにすることができます。BrowserCondition 要素は、要求側のデバイスに独自のブラウザーが内蔵されているかどうかを確認し、内蔵されている場合は、ビューアー ホスティング ページから他の要求ハンドラーに要求をリダイレクトします。たとえば、次の MobileDocViewer では、docx ファイルを mWord.aspx ファイルで開くことを指定しています。ただし、ブラウザーに独自のビューアーがある場合は、要求は、MobileDocHandler.ashx にリダイレクトされます。

<MobileDocViewer Name="docx" FilePath="/_layouts/mobile/mWord.aspx" FeatureId="8DFAF93D-E23C-4471-9347-07368668DDAF" QueryId="doc" AppendSourceUrl="true" >
  <BrowserCondition Id="overrideMobileDocViewerRedirection" Value="true">
    <Override FilePath="/_layouts/MobileDocHandler.ashx" AppendSourceUrl="false" />
  </BrowserCondition>
</MobileDocViewer>

機能名に overrideMobileDocViewerRedirection という用語を使用しないでください。この機能は、Office Mobile Client のビューアーを指しています。代わりに、使用する用語を作成します。たとえば、ある種類のブラウザーに XPS ビューアーがある場合は、そのブラウザーのエントリを compat.browser ファイルに追加して、name 属性の値を CanViewXPS に指定して、capability 要素を追加できます。次に、MobileDocViewer 要素に BrowserCondition 子要素を追加して、CanViewXPS を Id 属性の値として使用します。

関連項目

概念

SharePoint Foundation によるモバイルの開発

構成要素: モバイル ページ、モバイル コントロール、およびモバイル アダプター