2012年10月

2012年10月16日 (火)

※SharePoint Server 2013 プレビューを使用

Office Web Apps 2013 では機械翻訳サービスとの連携もできるようになっています。

利用方法

翻訳サービスがサポートしているのは、この場合は Word ファイルのみです。

まず、Word ファイルを Web ブラウザー上で表示し、[ファイル]メニューをクリックします。

WAC-MachineTranslation02
機械翻訳サービスが利用できる状態だと [情報] タブに機械翻訳メニューが表示されます。これをクリックします。

WAC-MachineTranslation03
次に翻訳したい言語の選択画面が表示されます。ここでは英語を日本語に翻訳したいので、[日本語]を選択します。

WAC-MachineTranslation04

すぐに機械翻訳が実行され、結果がブラウザー上に表示されます。

  WAC-MachineTranslation05

構成

この機能は既定では有効になっていないため、Office Web Apps をホストするサーバー上で Windows PowerShell を使って構成する必要があります。コマンドは次の通りです。

Set-OfficeWebApps -TranslationEnabled

上記のコマンドを実行することで、次の図のように TranslationEnabled の値が True になってることを確認します。

WAC-MachineTranslation01

以上で設定は完了です。

ちなみに、SharePoint サーバー全体管理サイトも SharePoint サイトではあるのでファイル共有などできますが、既定では クラシック認証モードとなっているため Office Web Apps の利用はできません。

2012年10月15日 (月)

SharePoint 2013 の新機能に 機械翻訳サービス ( Machine Translation Service ) があります。この機能の概要について説明します。

機械翻訳サービスとは

サーバー上でこの機能を構成することで、ファイルやサイトを自動的に翻訳できるようになります。実際に翻訳を行うのはクラウド上にあるマイクロソフトが提供する翻訳サービス(Microsoft Translator) であり、機械翻訳サービスを構成するとユーザーはこのサーバーにコンテンツを送信できるようになるというわけです。

ここで、すぐに疑問に思うのが、送信された情報はマイクロソフト側でどのように利用されるのか? ということです。TechNet などには翻訳のために送信された情報は、今後の品質向上のために参考にされる可能性があると記載されていますが、プライバシー情報は保つとののことです。詳しくは、「Microsoft Translator Privacy」を確認してください。

さて、もう少し技術的な話をしましょう。 機械翻訳サービスは、SharePoint Server 2013 のサービス アプリケーションの一つとして追加されます。下記の図は、SharePoint サーバー全体管理サイト内のサービス アプリケーションの管理ページです。ここに「機械翻訳サービスと表示されていることがわかります(画面は プレビュー版です )。

  Machine-Translation-01

機械翻訳サービスで翻訳対象となるのは、次の拡張子を持つファイルです。基本的にはHTMLベースのWeb ページと Word ファイルです。PowerPoint や Excel は対象外です。

  • Word (docx, doc,docm, dotm,dot, rtf) , HTML (html, htm, aspx, xhtml, xhtm), テキスト (txt)、XLIFF (xlf)

機械翻訳サービスを構成するには、対象とするファイルの選択、対象となるファイルの最大サイズ、文字数、同時翻訳の数などの設定が必要であり、もちろん既定値は設定されているものの事前の設計は十分に行っておく必要があるといえます。構成画面を次に示します。

Machine-Translation-02
なお、このサービスは SharePoint Server 2010 から導入されている Word Automation Services とコンポーネントを共有しています。

どのように利用するのか

利用方法は、大別すると2つあります。一つは、SharePoint サーバーの以前のバージョンから導入されているバリエーション機能とともに利用する方法でこちらはノンコーディングで利用できます。もう一つは、この機能を利用できるようにコーディングする方法です。

バリエーションの機能は、多言語間で情報を発信するためのポータルサイトとしてSharePoint を利用する場合に利用します。この機能を構成すると、日本語と英語というように異なる言語用のサイトが自動的に作成されます。これにより日本語のWebページを作成して公開すると、自動的に英語サイトにページがコピーされるという仕組みが提供されます。ただ、これまではこのコピーされたページは何らかの形で人の手による翻訳を行う必要がありました。SharePoint Server 2013 からは、翻訳方法としては手動で翻訳することはもちろん、翻訳用のXMLフォーマットであるXLIFFを自動生成したり、今回の記事の内容である機械翻訳サービスを利用したりできるように選択肢が広がっています。

まずは、どのような動きになるのかを知るために Web ページ (*.aspx) の翻訳例をご紹介しましょう。英語サイトに次のようなページを作成します。

  Machine-Translation-04

このページはしばらくすると日本語用のサイトにコピーされます。バリエーションが構成されているサイトでは、リボン メニューに[バリエーション]というタブが表示されます。ここで[機械翻訳] をクリックします。

Machine-Translation-05
すると、内容がクラウド上のマイクロソフトのサーバーに送信されます。

Machine-Translation-07
処理が終わるとページが翻訳されています。

Machine-Translation-06
同様に、バリエーションが構成されているサイトでは、Word 文書なども手動で翻訳できます。たとえば、ライブラリに Word ファイルを保存します。ライブラリの画面上にはやはり[バリエーション]タブが表示され、[機械翻訳]メニューが表示されています。

Machine-Translation-08
これをクリックすることで、先ほどと同様に機械翻訳が行われ、Word ファイルが更新されます。翻訳の状態列が追加され、ステータスが翻訳済みとなっていることがわかります。

Machine-Translation-09
 さて、気になる翻訳の精度ですが、現在インターネット上で公開されている BING の翻訳サービス (BING Translator ) でも使用されている Microsoft Translator そのものです。したがって、試してみたい方は以下のURLにアクセスして翻訳をしてみるとよいですよ。

  • http://www.bing.com/translator

ここまで、バリエーション機能を使う場合のみご紹介しましたが、この機能を構成していないサイトでも機械翻訳機能は利用できます。Office Web Apps 2013 サーバーを構築している場合は、Word ファイルのみブラウザー上で機械翻訳できます。これについては設定を含め、次回の記事で説明します。

それ以外については、コーディングが必要です。

Server-side Object Model, Client-side Object Model (CSOM) の両方が利用できます。Server-side で利用できるということは、Web パーツなどを開発して利用できるということです。また、CSOM の場合は、C# や VB 、JavaScript を使ってコーディングできます。Silverlight, REST サービスもサポートされます。翻訳の実行は非同期と同期処理の2種類から選べます。

Visual Studio を利用することなく、気軽にちょっと試したい場合は、JavaScript が手軽です。MSDNにコーディング概要は書かれているのですが、詳細な情報はWebにページタイトルしか公開されておらず、コンテンツはこれから作成されるようです。今のところ、Webに公開されているサンプルコードを入手して、動作を確認するのが最善策であるようです。ということで、とりあえず動作確認をしてみようとコンテンツ エディタ Web パーツを使って検証した際のスクリプトを以下に記載しておきますので、参考にしてみてください。このスクリプトを実行すると、翻訳結果は別ファイルとして生成されます。

構成するためには必要な準備

クラウド上の翻訳サーバーへ接続するために SharePoint 2013 は OAuth 2.0 を利用します。そのため、SharePoint Web アプリケーションを作成する際には、クレームベース認証モードとなっている必要があります。ちなみに、SharePoint 2013 では Web アプリケーションを新規に作成する場合にGUIからは認証モードは選択できず、既定でクレームベース認証モードになります。機械翻訳サービスはファーム構成ウィザードを使うと自動的に構成できますが、追加設定として、ファーム内の全 SharePoint Server 2013 サーバーに対して次のリンクの設定を行う必要があります。

関連情報

[TechNet]

  • ビデオ : Walkthrogh SharePoint 2013 features in the new machine translation services

 

[MSDN]

 

2012年10月 9日 (火)

SharePoint 2013 では、[別ユーザーでサインイン]するメニューがなくなりました。一般の利用者の方は、この機能をあまり使わなかったかもしれませんが、機能検証を行う方や開発者の方は、アクセス権限の違うユーザーを複数切り替えて試すために、非常によく利用している機能だと思います。

[SharePoint 2010 の別ユーザーでログインするためのメニュー] 

Login-another-user-01

地味な変更点ではあるのですが、これまでの操作に慣れている方にとっては思いのほか不便に感じると思います。Webを検索してみると、多くの方がいろいろな代替案を考えているようです。とはいえ、一応、マイクロソフトの方が推奨していたのは、別ユーザー権限でブラウザーを起動するショートカットを作成する方法でした。

まずはオーソドックスなショートカットの作成方法を記述しておきます(自分への備忘録を兼ねている)。

  1. Windows エクスプローラー(IEではありません)を開き 、C:\Program Files(x86)\Internet Explorerフォルダーにアクセスする
  2. iexplore.exe を右クリックし、[ショートカットの作成]をクリックする。これにより、デスクトップにショートカットを作成する。
  3. デスクトップに作成されたショートカットを選択した状態で右クリックし、[プロパティ]をクリックする
  4. リンク先 フィールドに runas.exe の実行を追記します。たとえば、"contoso\yamasaki" というアカウントでアクセスしているとすると「%systemroot%\system32\runas.exe /user:contoso\yamasaki "C:\Program Files (x86)\Internet Explorer\iexplore.exe"」と記述します。
    Login-another-user-02
  5. [適用]ボタンをクリックする

以上で設定は終わりです。ショートカットをダブルクリックするとパスワードを聞かれるので、パスワードを入力します。

Login-another-user-04

ちなみに、パスワードの入力結果のフィードバックは画面上には何も表示されませんので慌てずに、パストワード入力後に Enter キーを押下します。正常であれば IE が起動します。もしIEが起動しない場合は、ショートカットの指定が間違っているか、パスワードが間違っている可能性があります。

別の方法として、任意のアプリケーションを別ユーザーとして起動するというものもあります。IEでも実行できます。アプリケーションのファイル(ここではiexplorer.exe)をShiftキーを押下しながら右クリックし、表示される[別ユーザーで起動]メニューをクリックします。

さらに別の方法として、SharePoiont 2010 と同様に "http://<サイトのURL>/_layouts/closeConnection.aspx?loginasanotheruser=true" を利用する方法もあります。とはいえ、あくまでも SharePoint 2010 のアプローチであり、この方法が製品版でも利用できるのかは今のところ分かりません。現状のプレビュー版では利用できるので、このURLをサイトのリンクリストなどに記述しておくと便利だと思います。 

ちなみに、もっと強者もいらっしゃって、SharePoint ルートディレクトリにある Welcome.ascx ファイルを直接編集して、別ユーザーでサインインできるようメニューを表示するように変える方法もありました。この方法は、あくまでも開発環境でのみしかお勧めしませんが、ご参考まで。手順は次の通りですが、Welcome.ascx ファイルは編集前にバックアップしておいてから試すようにしましょう。

  1. Windows エクスプローラーを使って C:\Program Files\Common FIles\Microsoft Shared\web server extensions\15\TEMPLATE\CONTROLTEMPLATESにアクセスする
  2. WeblCom.ascx をメモ帳などで開く
  3. 既存の "ID_RequestAccess" のIDで始まる要素の前に次の要素を記述して、保存する。

Login-another-user-05 ※編集場所

Login-another-user-06

 ※結果、別ユーザーとしてサインインするためのメニューが表示される

 

[参考]

 

2012年10月 5日 (金)

すでにご存じの方も多いかと思いますが、Office Web Apps はSharePoint 2013 とは別サーバーにインストールする必要があります。その代り、SharePoint 2013 だけでなく、Exchange 2013 や Lync Server 2013 でもこの機能を利用できるようになりました。つまりは柔軟な利用ができるようになったのですが、トレードオフとして Office Web Apps 自体の設計をきちんとしなければならないという点が、今回の記事の要点です。

Office Web Apps Server 2013 はリアル サーバーだけでなく、Hyper-V上にも構築できます。いずれにしても、Office Web Apps 専用サーバーとして構築することが推奨されています。つまり、SharePoint、Exchange, SQL Server などのサーバーと同居させてはいけないということです。また、Office アプリケーションをインストールしてはいけません。さらに 80, 443, 809 番ポートを利用するIIS に依存するサービスはインストールしてはいけません。

そのほかにも、SharePoint 2013 サーバーとは別サーバーとなったため、ネットワーク関連を考慮する必要があります。

■ 単一構成かファーム構成か

Office Web Apps Server 2013 は単一サーバーとして構築することもできますが、負荷分散のために、Office Web Apps Server はサーバーファームを構成できます。この場合のBest Practice は全サーバーが同一ドメインにあることです。

■ HTTP か HTTPS か

SharePoint を含む他のサーバーとの通信には HTTP または HTTPS が利用できるようになっています。推奨は HTTPS です。HTTP の場合は、SharePoint 2013 および Exchange 2013 で利用できますが、Lync Server 2013 とは連携できません。Lync Server 2013 は HTTPS の通信しかサポートしないためです。

■ Firewall

HTTPS の場合は TCP 443, HTTP の場合は TCP 80, Office Web Apps サーバーが複数ある場合のサーバー間通信には TCP 809 が使われます。

詳細については下記のリンクを参照してください。
http://technet.microsoft.com/ja-jp/library/jj219435(v=office.15).aspx

余談ですが、Office Web Apps は独立したサーバーとなっているため、Office Web Apps Server 2013 と呼ばれます。ちなみに、このサーバーの略称ですが、 単純に考えるとOWA と思われるのではないでしょうか。しかしこれでは Outlook Web Apps と紛らわしいので、昔の名残であるOffice Web Application Components の頭文字をとってWAC や WAC 2013 とも呼ばれます。英語のドキュメントやブログ記事などを読む際にはこうした略語を覚えておくことは重要です。

2012年10月 4日 (木)

ファイル アップロード サイズの既定値

SharePoint 2013 では一度にアップロードできるファイルサイズの上限値が、現在の SharePoint Online の上限値と同じ 250 MB になっています(これまでは 50 MB が既定値でした)。

Sp2013-fileupload-size

拡張子ごとのアップロードサイズ上限値の設定

SharePoint 2013 では新たに拡張子ごとにアップロードサイズの上限値が設定できるようになっています。既定では *.one 拡張子のみが登録されており、最大サイズは 1024 MB までとなっています (.one はMicrosoft OneNoteの拡張子です) 。この設定はSharePoint 2013 管理シェルを使用して構成します。

[現在の設定の確認]

$webapp=Get-SPWebApplication 'http://sp2013/' $webapp.MaximumFileSizePerExtension

[新たに拡張子を追加する] ※PPTXの拡張子を持つファイルのアップロード制限を3MBまでとする例

$webapp.MaximumFileSizePerExtension.Add("pptx", 3) $webapp.update()

[既存の設定を削除する]

$webapp.MaximumFileSizePerExtension.Remove("pptx") $webapp.update()

ちなみに、すでにアップロードされているファイルサイズが制限値を超えていたとしてもエラーにはなりません。新たにアップロードする際に制限が適用されます。制限にかかってしまった場合は次のようなメッセージが表示されます(現時点では SharePoint 2013 Preview 版を使用)。

  Sp2013-fileupload-size-byextensions