カテゴリ「Microsoft 365 - SharePoint」の390件の投稿 Feed

2015年3月20日 (金)

半年前に公開されていた情報ではありますが、旧バージョンからの移行も増えてきているので情報共有しておきます。

カスタム リボン メニューを開発している場合に使うことのあった CommandUIHandler要素の EnabledScript 属性ですが、SharePoint アプリを使って展開したカスタム アクションでは利用できなくなっています。

この属性は、リスト アイテム選択中など、状態に応じてコマンドを有効化したり無効化したりする際に使用していました。

この属性が使えなくなっている理由は、これを使った脆弱性を狙ったコードが実行されるのを防ぐための処置です。ちなみに、オンプレミス環境では、MS14-050 SharePointセキュリティ更新プログラムの適用後は、 EnabledScript の利用ができなくなります。

ご参考まで。

2015年3月12日 (木)

オンプレミスおよび Office 365 (SharePoint Online ) 上のチームサイトで利用するディスカッション掲示板は既定では次のように表示され、返信数などがひと目で確認できません。

2015-03-12 7-11-00

しかし、既定ではオフになっている[評価の設定]をオンすることで返信数、評価、人気順(ビュー) などが表示されるようになります。ちなみに、この表示はSharePoint のコミュニティ サイトのディスカッションでは既定です。また、オンプレミスの場合は、Service Pack 1 以降が適用されている必要があるので注意してください。

2015-03-12 7-17-38

変更手順は次の通りです。

  1. ディスカッション掲示板を表示し、リボン メニューから[リスト]タブ>[リストの設定]をクリックする。
  2. [全般設定]セクションにある [評価の設定] をクリックする。
  3. [このリストアイテムを評価できるようにする]をはいに変更する。評価は、"いいね!" でも "星評価" でもよい。
    2015-03-12 7-12-35

  4. [OK]をクリックする。
2014年12月 8日 (月)

SharePoint 2013 REST API の RowLimit ですが、昨日の記事で紹介したように最大 500 まで指定可能です。

REST API を利用する際に RowLimit を明示しなければ既定では RowLimit=10 が設定されます。指定可能なのが、500 までであり、501 など指定すると結果が返らずエラーとなります。これは Office 365 上の SharePoint Online も同様です。

ただし、オンプレミスの場合はこの値を変更できます。動作テストなどで設定変更したい場合に役立つと思います。

Windows PowerShell を使って次の通り指定します。


#SharePointのスナップインは必要に応じて追加します。
Add-PSSnapin Microsoft.SharePoint.PowerShell

#検索サービスアプリケーションオブジェクトを取得し、MaxRowLimitの既定値を確認します。
$ssa=Get-SPEnterpriseSearchServiceApplication
$ssa.maxRowLimit

#値を変更します。
$ssa.maxRowLimit=100
$ssa.Update()

 

2014年12月 5日 (金)

SharePoint 2013 では検索に REST API が使用できます。概要を把握するには次の MSDN のページが参考になるのですが、この資料を参考にする際に、2点ほど気を付けたいところがあります。

RowLimit

まず、RowLimit です。これは一度に返される最大件数を指定します。何も指定しない場合は既定では 10 になっています。この値は最大 500 まで指定可能であり、これを越えるとエラーとなってしまうので注意が必要です。 500 を越えてアイテムを取得する場合は StartRow を明示するようにします。

RowsPerPage

上記リンク先の資料に、RowsPerPage の説明があります。このプロパティはサーバーサイドのAPIでは、SharePoint 2013 から廃止されているようです。ということは、クライアントAPIとしても当然使うべきではないということになると思われます。

Course-Banner-SharePointApps

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