からめもぶろぐ。

俺たちは雰囲気で OAuth をやっている

SharePoint Online のコミュニケーション サイトではリスト テンプレートやソリューションをアップロードできない

SharePoint Online のコミュニケーション サイトでは、[サイトの設定] - [Web デザイナー ギャラリー] でリスト テンプレートやソリューションのギャラリーへのリンクが表示されず、また直リンクでギャラリーにアクセスしてファイルをアップロードしようとしてもアクセスが拒否されます。この動作は、たとえユーザーがサイト コレクション管理者であっても同様です。

それはそうなのですが、では内部ではどのような仕組みになっているかというと、コミュニケーション サイトのテンプレートでサイト コレクションを作成したときに、SPSite.DenyPermissionsMask プロパティに AddAndCustomizePages が設定されます。この動作は SharePoint 2019 で確認することができます。SharePoint 2019 であれば、SPSite.DenyPermissionsMask プロパティを更新するか、ファーム アカウントでアクセスすると使えるようになるのですが、残念ながら SharePoint Online では、どちらの方法も使えないため、回避策はないようです。

ちなみに、Office 365 グループに接続されたチーム サイトでも同様ですが、Office 365 グループなしのチーム サイトであれば、リスト テンプレートやソリューションは使えるようです。あまり使う機会はないかもしれませんが、覚えておくと何かのときに役に立つかもしれません。

SharePoint 2019 で SharePoint 2013 ワークフローを使用できるようにする

SharePoint Online であれば Flow を使えば問題ないのですが、オンプレミスの SharePoint 2019 の場合は、まだまだ SharePoint ワークフローを利用する機会は多いと思います。そして、標準で使える SharePoint 2010 ワークフローよりも、HTTP Web アクセスでの REST API 呼び出しによる柔軟なワークフロー開発を行うために、SharePoint 2013 ワークフローを使いたいということも多いと思います。SharePoint 2019 でも SharePoint 2013 ワークフローはサポートされていますが、主に Workflow Manager のインストール手順がちょっと変わっていますので、確認してみたいと思います。

構築手順

Web Platform Installer のインストール

まだ生きてたんかい!と思わず突っ込みを入れたくなってしまいますが、Workflow Manager をインストールするためにはまず Web Platform Installer をインストールする必要があります。

www.microsoft.com


Workflow Manager 1.0 のインストール

Web Platform Installer を起動して「Workflow」で検索をかけると Workflow Manager 1.0 が結果に出てきます。まずはこれをインストールします。インストール後、構成を聞かれますが、これはいったんキャンセルしておきます。そして Web Platform Installer も終了させておきます。大変面倒なのですが、Web Platform Installer はインストールの依存関係の情報を起動時にしか読み込んでくれないようなので、この手順は必須になります。


Service Bus 1.0 CU1 のインストール

Workflow Manager 1.0 をインストールすると、同時に Service Bus 1.0 もインストールされますが、こちらの CU が出ているのでインストールします。Web Platform Installer を起動して「Service Bus」で検索をかけると Service Bus 1.0 CU1 が結果に出てきますのでこれをインストールします。インストールが終わったら Web Platform Installer を終了します。


Workflow Manager 1.0 CU5 のインストール

そして今度は Workflow Manager 1.0 CU5 をインストールします。ちゃんと Web Platform Installer を開きなおしていればエラーは出ないはずですが、依存関係でエラーが出る場合は、Web Platform Installer を終了させてから起動しなおしたかどうかを確認してください。


Workflow Manager の構成

ここまでインストールできたらようやく Workflow Manager の構成を行います。なお Workflow Manager の構成でエラーが出る場合、正しく CU が当たっていない可能性があります。
あとは Register-SPWorkflowService コマンドレットを実行して SharePoint Server にワークフローを登録します。ここの手順は SharePoint 2013 と変更ありません。

shanqiai.weblogs.jp

まとめ

CU をインストールする手順が意外に厄介です。インストールの順番と、ちゃんと Web Platform Installer をインストールするごとに終了して起動しなおす、を忘れなければ、トラブルなく構築できるのではないかと思います。

SharePoint Online のモダン UI から「タイトル」列の名前を変えても変わらない現象について

元ネタはこちら。

art-break.net

じゃあなんでこうなるかというと、ざっくり言えば SharePoint には「タイトル」列が 3 つあるからです。[ビューの編集] を見たことがある人ならピンとくるかもしれませんが、以下の 3 つの列が存在します。

ID 表示名 内部名
fa564e0f-0c70-4ab9-b863-0177e6ddd247 タイトル Title
82642ec8-ef9b-478f-acf9-31f7d45fbc31 タイトル (編集メニュー付きのアイテムにリンク) LinkTitle
bc91a437-52e7-49e1-8c4e-4698904b2b6d タイトル (アイテムへのリンク) LinkTitleNoMenu

そしてこれも結局 [ビューの編集] を見ればわかることなのですが、モダン UI から変えたときに名前が変わるのは「タイトル (編集メニュー付きのアイテムにリンク)」列です。[リストの設定] で変更できたり PowerApps から参照されるのは「タイトル」列なので、それはうまくいくはずがありません。

このあたり Schema.xml とかを自分で書いたことがある人でないとなかなか難しいかもしれないですね。

Japan SharePoint Group 勉強会 #29 に登壇しました

大阪で行われた Japan SharePoint Group 勉強会 #29 で Office 365 CDN について話してきました。

はじめて MacBook でデモしてみたのですが特に問題もでなかったのでよかったです。あとデフォルトのシェルを PowerShell Core にしてたのがバレてました。