カテゴリ「SharePoint 2013」の117件の投稿 Feed

2014年12月 2日 (火)

Visual Studio 等の開発ツールを使って、Office 365 上で動作する SharePoint アプリとしてリモート イベント イベントレシーバーやアプリ レシーバーを実装する際、デバッグに Microsoft Azure の Service Bus (リレーサービス機能)を使用します。

2014年8月以降では Service Bus の名前空間を作成する際に気を付ける必要があります。現在は SAS (共有アクセス署名) と ACS (Microsoft Active Directory アクセス制御サービス) の 2種類があり、Azure Service Bus を介したリモート イベントのデバッグは現在のところ ACS のみとなっています。しかし、Microsoft Azure ポータルサイト上から新規に作成できるのは、SAS 認証を使った名前空間のみです。

ACS を使用する名前空間を作成するには、Windows PowerShell, Azure CLI, REST API のいずれかを使用します。

今回は PowerShell を使う例をご紹介しておきます(Azure PowerShell の基本的な使い方は「Azure PowerShell のインストールおよび構成方法」を参照してください)。

  1. .NET Framework 4.5 がインストールされている環境に Azure PowerShell モジュール をダウンロードし、実行します。
  2. Web Platform Installer 5.0 のウィンドウが起動するので、[インストール]をクリックします。
    2014-12-01 18-53-24
  3. [同意をする] をクリックします。
    2014-12-01 18-53-35
  4. インストールが完了したら[完了]をクリックします。
    2014-12-01 19-08-08
  5. [終了]ボタンをクリックします。
    2014-12-01 19-08-18
  6. スタートメニューから Microsoft Azure PowerShell を起動します。
    2014-12-01 23-02-18
  7. サブスクリプションに接続しますが、認証方法には Azure AD と証明書方式の2つがあります。今回は Azure AD を使います(※Azure AD の場合は、使用するアカウントは Microsoft アカウントではなく、組織アカウントでないといけません。Microsoft アカウントしかない場合は、「Azure PowerShell のインストールおよび構成方法」の記載にしたがって、アカウントを作成しておく必要があります)。
  8. 次のコマンドを実行すると、ログインウィンドウが表示されます。Azureにアクセスするための組織アカウントを入力します。
    $cred=Get-Credential
    2014-12-01 23-14-03
  9. 次に Add-AzureAccount -Credential $cred を実行します。
    2014-12-01 23-37-45
  10. 以上でサブスクリプションへの接続は終わりです。続いて、Service Bus 名前空間を作成するために次のコマンドを実行します。 New-AzureSBNamespace -Name '<任意の名前空間>' -Location 'Japan East'  -NamespaceType Messaging -CreateACSNamespace $true
    ※西日本の場合は Location を Japan West と指定します。サポートされる Location 名は、Get-AzureLocation を実行することで確認できます。
    ※NamespaceType は Messaging を指定します
    ※CreateACSNamespace を $true に指定し、ACS の名前空間を作成するように指定します
    2014-12-02 0-24-37
  11. 以上でService Bus の作成は完了です。Microsoft Azure 管理ポータルにアクセスします。
  12. Service Bus > 作成した名前空間名 > 接続情報 の順にアクセスします。
    2014-12-01 23-59-24
  13. ACS の接続文字列があることを確認します。
    2014-12-02 0-00-11

Visual Studio を使って SharePoint アプリ としてリモート イベントレシーバーやアプリレシーバーを作成している場合は、この ACS の接続文字列をコピーし、プロジェクトのプロパティのうち SharePoint ページの [Microsoft Azure サービス バスによるデバッグを有効にする] をオンにしたうえで、接続文字列を貼り付けます。

2014-12-02 0-03-08

以上でデバッグ実行すると、ローカルに起動する IIS Express 上でホストされるイベントレーシーバーと Office 365 (SharePoint Online) 上のサイトとがやり取りできるようになるため、デバッグ実行が可能になります。なお、SharePoint アプリの開発モデルは、オンプレミス環境での高信頼性アプリ開発の場合とは異なり 「プロバイダーホスト型」 にしておきます。

[参考]

Course-Banner-SharePointApps

2014年11月25日 (火)

SharePoint Server 2013 の更新ブログラムに関する情報をまとめている下記ページの内容を更新しました。最新の CU 情報や、ビルドナンバーなどについてまとめていますので、よろしければ、ご利用ください。

なお、このページへのリンクは、アクセスいやすいよう、常に画面右側にも配置しています。

Windows Server 2003 のサポート期限終了もあってか、最近 Office SharePoint Server 2007 から SharePoint 2013 などの新しいバージョンに移行するという組織が増えているようです。そして、いわゆるパラメータシートが存在しないケースも多々あり、現在の構成を改めて洗い出す必要がでてくることも少なくありません。

そうした作業の中で、言語パックの適用状況の有無なども必ず確認する項目ですが、SharePoint Server 2007 では、言語パックの適用状況はサーバー全体管理サイトからは確認できません。そのための一つの方法が、レジストリを確認することです。

次のレジストリキーに対応する言語の LCID (ロケールID) が登録されます。

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\InstalledLanguages

LCID は日本語なら 1041 、英語だと 1033 です。このキーは SharePoint Server 2013 でも同様ですが、パスが 12.0 ではなく、15.0 となります。値は、言語パックのバージョンです。

2014-11-25 13-26-23

[参考]

2014年11月21日 (金)

MSDN サブスクリプションを持っている場合は、月々のクレジットを使用することで、SharePoint の開発環境を Microsoft Azure 上に作成できます。特典の詳細については下記のリンクを参照してください。

そもそも SharePoint の開発環境は、基本的には SharePoint サーバー上に Visual Studio をインストールする必要があります。クライアントOS上で開発する場合は、Office 365 の開発者ツールを使うことになりますが、これは SharePoint アプリ開発用途であり、オンプレミス環境で利用できるソリューション開発ができるわけではありません。

開発用のサーバーを都度用意する必要が出てくるため、この記事で取り上げる Microsoft Azure 上に開発環境を持つというのも一つの選択肢になりえます。ちなみに、Microsoft Azure 上であれば、インターネット接続環境があればどこからでも利用できるのもメリットです。

開発者用の環境を手早く用意する具体的な方法は、Micorosoft Azure 上に Visual Studio 2013 イメージからサーバーを構築し、事前に準備されているスクリプトを使って SharePointサーバーを単体構成でインストールするというものです。このインストール方法はワークグループ構成で利用できるもので、無償の SQL Server である SQL Server Express Edition を使うことになります。また、Active Directory ドメインが既にMicrosoft Azure上にある場合は、ドメイン環境用の SharePoint の構成スクリプトも用意されています。

環境構築の手順をご紹介しておきます。ギャラリーに用意されているイメージは英語版となっているため、日本語化するには言語パックの追加などが必要ですが、今回はその部分は省略します。

  1. Microsoft Azure 管理ポータル にサインインします。
  2. ページ下部の 新規 ボタンをクリックします。
    2014-11-20 23-02-37
  3. [コンピュータ]>[仮想マシン]>[ギャラリーから]の順にクリックします。
    2014-11-20 23-05-07
  4. 利用したい Visual Studio 2013 イメージを選択します。
    2014-11-20 23-07-56
  5. 仮想マシン名、サイズ、新しいユーザー名などを入力しまするサイズは SharePoint開発であれば、A4 (8コア、14GBメモリ) が標準的な構成です。
    2014-11-20 22-44-36
  6. 次の画面では、クラウドサービスへの DNS 名を任意に指定、その他、地域など必要に応じて構成します。
    2014-11-20 23-14-34

  7. 最後の設定画面は今回は既定の状態にしたまま、レ をクリックします。
    2014-11-20 22-46-18
  8. 仮想マシンの作成が開始されます。出来上がるまで5~10分くらいかかります。
    2014-11-20 22-47-12
  9. 状態が 実行中 になったら、画面下部の接続ボタンをクリックします。2014-11-20 23-02-37
  10. リモートデスクトップ接続のファイルのダウンロード ウィンドウが表示されるため、デスクトップなどの任意の場所に保存します。

このあとはリモートデスクトップを使って環境にアクセスします。この環境には既に Visual Studio 2013 がインストールされています。また、スクリプトや SQL Server 2012 Express Editionのインストーラーなども準備されています。

2014-11-20 23-22-47

デスクトップにある ConfigureDeveloperDesktop ショートカットから、C:\ConfigureDeveloperDesktop\Scripts フォルダーにアクセスします。このフォルダーには次の3つのWindows PowerShellスクリプトが用意されています。

  • ConfigureSharePointFarm
  • ConfigureSharePointFarmInDomain
  • ConfigureSQLServer

ワークグループ構成で SharePoint を構築する場合は、ConfigureSharePointFarm.ps1 を実行します。同一仮想ネットワーク上に別途ドメインコントローラーを用意してある場合は ConfigureSharePointFarmInDomain.ps1 を実行します。SQL Server 2012 Express Editionのみ構成したい場合は、ConfigureSQLServer.ps1 を実行します。

今回の手順では ConfigureSharePointFarm.ps1 を実行します。ただし、この構成は、ソーシャル機能などをつかさどる User Profile Services が利用できないという制約があります。User Profile Serviceが必要な場合は、別途 ドメイン コントローラーを事前に準備し、ConfigureSharePointFarmInDomain.ps1 を実行するようにします。

ちなみに、ConfigureSharePointFarmは次のような処理をします。

  • SQL Server 2012 Express Edition をインストールする。インスタンスは SQLEXPRESS
  • 構成データベース名は SP2013_Configuration
  • SharePoint Central Administration コンテンツ データベース名は SP2013_Content_CentralAdministration
  • サーバーの全体管理サイトのポートは 11111
  • サーバーの全体管理サイトの認証は NTLM
  • Developer Test Site という名前で 80 番ポートに Webアプリケーションを作成
  • 既定のルートのサイト コレクションの名前は Developer Test Site Collection であり、チームサイトのテンプレートがベースとなる

スクリプトを実行すると、全体構成が終わるまで40~50分程度かかります。

2014-11-21 0-10-14

2014-11-21 0-20-09
[参考]

  Course-Banner-SolutionDev

Course-Banner-SharePointApps

 
2014年11月19日 (水)

オンプレミスの SharePoint Server 2013 上では SharePoint Designer 2013 を使ってワークフローを構築できますが SharePoint 2013 用のワークフローを作成するには、Workflow Manager をセットアップする必要があります。

以前に関連記事を書いていますが補足として新たに Windows Server 2012 R2 上へのセットアップ方法などをまとめておきます。

Windows Server 2012 R2 上へセットアップするには Workfow Manager 1.0 CU 2 が必要です。

最新の更新プログラムなどは、Microsoft Web Platform Installer からインストール可能です。

今回の構成

今回のサーバー構成の概要は次の通りです。前回の記事とは異なる状態での検証として、SharePoint Server 2013 とは異なる専用サーバーに Workflow Manager をインストールします。ただし、Workflow Manager は以前の記事にも書いた通り、SharePoint Server 上にインストールすることもできます。

WorkflowTopology

Workflow Manager をインストールするサーバーの名前は WorkflowSrv.contoso.com であり、事前にWorkflow Manager で使用するデータベースを格納するために SQL Server 2012 も同一サーバーにインストールしています。OSは Windows Server 2012 R2 です。

セットアップ手順

以下の手順は WorkflowSrv 上で実行します。

  1. Webブラウザーを使って、Microsoft Web Platform Installer 5.0 のダウンロードサイト (http://www.microsoft.com/web/downloads/platform.aspx) にアクセスし、[Free Download] ボタンをクリックします。
    2014-11-13 23-32-46
  2. Wpilauncher.exe をダウンロードし、実行します。
  3. Workflow Manager 1.0 Refresh, Service Bus 1.0, Service Bus 1.0 Cumulative Update 1 を追加し、インストールします(Workflow Client 1.0 Reflesh は Workflow Manager 1.0 Reflesh に含まれています。また Workflow Manager 1.0 Refresh には CU 2 が含まれています)。
    2014-11-13 18-23-042014-11-13 18-24-18

  4. [同意する]をクリックします。
    2014-11-13 18-27-42
  5. IIS を含め、インストールが開始されます。
    2014-11-13 18-28-14

  6. [続行]ボタンをクリックします。
    2014-11-13 18-29-41
  7. [既定の設定を使用して Workflow Manager を構成する (推奨)] を選択します。
    2014-11-13 18-32-26
  8. SQL Server インスタンス名を確認します。接続のテスト ボタンをクリックし、接続が成功することを確認します。
    2014-11-13 18-32-49

  9. サービス アカウントとパスワードを指定します。今回は HTTP による管理を許可するよう構成しています。
    2014-11-13 18-33-21
  10. 最後に証明書生成キーを指定します。
    2014-11-13 18-33-51
  11. 内容を確認し、下記のボタンをクリックします。
    2014-11-13 18-34-16
  12. 構成が進行します。
    2014-11-13 18-34-47
  13. 構成が完了したら、レ ボタンをクリックします。
    2014-11-13 18-37-18
  14. Web Platform Installer 5.0 で [完了]ボタンをクリックします。
    2014-11-13 18-30-29

以上、Workflow Manager のインストールは完了です。

後は、SharePoint サーバー側から Windows PowerShell を使って、Workflow Manager とのペアリング コマンドレットである Register-SPWorkflowService を実行します。しかし、このまま実行すると次のようなエラーが表示されるはずです。

2014-11-13 18-45-54

Workflow Manager 側は既定の設定では、自己証明書を生成してWebサイトに適用してしまうためです。検証環境には Domain Controller 上に Windows ベースの CA (エンタープライズCA) を構築しているため、次のような手順でWebサーバー証明書を改めて取得し、サイトに適用します。

WofkflowSrv 上で IIS管理マネージャーを起動して次の手順を実行します。

  1. サーバー証明書 をクリックします。
    2014-11-13 18-42-03
  2. [ドメイン証明書の作成]をクリックします。
    2014-11-13 18-43-29

  3. 一般名をはじめ、必要な情報を入力します。[次へ]をクリックします。
    2014-11-13 18-44-18

  4. オンライン証明機関の指定で [選択...] をクリックします。
    2014-11-13 18-44-28
  5. 証明機関を選択し、[OK]をクリックします。
    2014-11-13 18-44-37
  6. フレンドリ名を指定し、[終了]をクリックします。
    2014-11-13 18-44-54
  7. 下図のように証明書が取得できたところを確認します。
    2014-11-13 18-45-08
  8. Wofkflow Management Site を右クリックし、[バインドの編集...] をクリックします。
    2014-11-13 18-45-39
  9. https エントリーを選択し[編集]をクリックします。
    2014-11-13 18-46-05
  10. SSL 証明書を新たに取得したもの (下図では SharePointWorkflow) を選択し、適用します。
    2014-11-13 18-46-23

以上、WorkflowSrv 側の設定は管理用です。

あとは、SharePoint Server 側で次のコマンドを実行し、ペアリングを行います。


Register-SPWorkflowService -SPSite 'https://sp2013-b.contoso.com/' -WorkflowHostUri 'https://workflowsrv.contoso.com:12290' -AllowOAuthHttp

 

 

Course-Banner-Workflow