Power Apps で SharePoint のユーザーとグループ列に既定値を設定する方法
※ちょっとハマったので記事に纏めます。
Power Apps を使って SharePoint のリストをカスタマイズしたいときに、
SharePoint のユーザーとグループ列に既定値としてユーザーを入力してリストに登録する方法になります。
「既定値として入力は出来たけど、いざ登録してみるときちんとリストに登録されていない」ということがあり、これまでは Patch 関数を利用して強引にリストにユーザーを登録していました。
ですが、既定値の設定方法を工夫することで、Patch 関数を使わずにリストに登録ができるようになったのでご紹介します。
Patch 関数を使う場合の参考はこちら
PowerAppsからSharePointカスタムリストのユーザーまたはグループに値を入れる方法 │ システム運用日記
これができることにより、例えば「アプリを起動しているユーザーを既定でユーザーとグループ列に登録したい」といった場合に活用できると思います。
その方法ですが、
SharePoint リストフォームのユーザーとグループ列を使用している項目の中にある
「DefaultSelectedItems」の設定値に以下を登録するだけです。
実際のテキストはこちら
{
Claims: "i:0#.f|membership|" & Lower(User().Email),
Department: "",
Email: User().Email,
DisplayName: User().FullName,
JobTitle: "",
Picture: ""
}
それ以外に Update 等の変更は不要です。
※ アプリを使用したユーザーが既定値で入力されたユーザーを削除した場合はリストには登録されません。当然ですが。。。
また上記の入力内容の中で、" " となっているプロパティについては省略可能です。
最低限必要になるのは以下のみなので、必要に応じてプロパティを選択してください。
{
Claims: "i:0#.f|membership|" & Lower(User().Email),
DisplayName: User().FullName
}
ちゃんと調べていないので推測ですが、
「Claims」は SPO への登録に必要で、
「DisplayName」は Power Apps の検索ボックスに選択したユーザーを表示するために必要といった感じだと思われます。
以上。
Microsoft Teams のチャットにファイルサーバー等のパスをハイパーリンクとして送信する
ファイルサーバー等を利用している企業では、Microsoft Teams のチャットでフォルダパスをハイパーリンクとして送信したい場面があるかと思います。
以前から Skype for Business をご利用されていた方であれば、Skype ではフォルダパスをハイパーリンクとして送信出来ていたので、Microsoft Teams でも出来るだろうと思われる方も多いと思います。
ですが結論から言うと、残念ながら現時点(2018/11)では Microsoft Teams でフォルダパスをハイパーリンク化して送信する機能は実装されていません。
フォルダパスをチャットに貼り付けてもただのテキストとして送信されてしまうため、受信者はテキストをコピーしてエクスプローラーのアドレスに貼り付けるしかありません。
ちなみにMicrosoft Teams のチャットでは以下のように「リンクの挿入」が出来ますが、ここでハイパーリンクとして使用できるのは「http」もしくは「https」のみ。
つまり Web サイトの URL 以外はリンク設定が出来ない仕様となっています。
ですが、ある程度需要のありそうな機能であると思われるため、今後のアップデートで実装されるのではないかと予想できます。
UserVoice にも1年前から要望が上がっているようですので、「フォルダパスをハイパーリンクとして送信する機能が欲しい!」という方は、以下の URL から投票していただくと機能が実装される可能性が高まります(あくまでも要望)ので是非ぽちっとしてみてください!
Title : File path to links
URL : https://microsoftteams.uservoice.com/forums/555103-public/suggestions/32350951
OneDrive for Business の Known Folder Move (KFM)機能について
今回はOneDrive for Business の Known Folder Move (KFM)機能についてのご紹介となります。
7月初旬にMC143579 としてOffice 365 のメッセージセンターで公開され、
7月末には一般テナントにも展開済みの機能となります。
いや、Known Folder Move ってなんやねん!!って感じですが、日本語訳では「既知のフォルダー移動」になります。・・・ますます意味がわかりません。(MSさん、もう少しマシなネーミングあったでしょう。笑)
ざっくり機能をご紹介させていただくと、
Windows のPC に存在している「ドキュメント」、「デスクトップ」、「ピクチャ」のフォルダをOneDrive for Business の同期対象に出来るようになりました。
これにより何が嬉しいのかというと、今まではこれらのフォルダに保存したファイルはWindows のローカルでしか利用できなかったのが、OneDrive と同期できるようになることでデバイスを問わずに利用可能になることです。
よく、「やべ、デスクトップにファイル置きっぱなしだ~Σ(゚д゚lll)ガーン」的なシーンがあるかと思いますが、そんな時も外出先からタブレットやスマートフォン経由でもファイルにアクセスできるようになります!
また、デスクトップに置きっぱなしである日突然のPCの故障によるデータの損失も防ぐことができます!
参考情報は以下のURLをご覧ください。
techcommunity.microsoft.com
この機能を利用するためには、ユーザーから初期設定が必要になります。手順は以下の通りです。
※グループポリシーを設定することで、ユーザーへの展開方法(強制展開・ユーザー通知、非アクティブなど)を制御することも可能です。グループポリシーの設定についての詳細は以下の公開情報をご参考ください。
KMF の設定手順
1.OneDrive の同期ツールを開きます。
2.[・・・]から[設定]を開きます。
3.[自動保存]のタブを開き[フォルダーの更新]をクリックします。
4.[重要なフォルダーの保護を設定]のウィンドウで、同期対象にするフォルダを選択して[保護の開始]をクリックします。
5.以下のように同期が開始され、完了後に選択したフォルダがOneDrive と同期されます。
以上です。
個人的には設定しても悪いことは何もない機能だと思いますので、特に理由がない限りは設定されることをお勧めします!!
MC146557:Office 365 ロードマップの新バージョンリリース
今回はOffice 365 のメッセージセンターに掲載されていた「MC146557:Microsoft 365 Roadmap」についてです。
これまでのOffice 365 ロードマップは9月中旬以降に”Microsoft 365 Roadmap”として生まれ変わり、URLやその他いくつか内容が変更されるようです。
今までのOffice 365 ロードマップからの変更点としてはざっくり以下のようなものがあります。
・URLが変更になる
※旧URL(https://products.office.com/business/office -365 )でブックマークなどしている場合も、新URLへリダイレクトされるようなのでご安心ください。
・Windows 10、EMS(Enterprise Mobility Suite)、Azure の機能についてのロードマップも掲載されるようになる(Office 365 関連のみ)
・複数の新しい検索フィルターが追加される
・新しいRSSフィードが利用できるようになる
どのような形でリリースされるのかはまだ不明ですが、9月中旬リリース予定とのことなのでまたリリースされ次第、変更点と利用方法について記事を書きたいと思います。
短いですが以上となります。
SharePoint Online の共有機能に関するアップデート
今回はOffice 365 のSharePoint Online の共有機能に関するアップデート内容をご紹介したいと思います。
ここ数ヶ月の間でアップデートされた機能が2つあります。
①アクセス要求ページのカスタマイズが可能になった
②共有時に送信されるメールの仕様が一部変更になった
それでは順に記載していきます。
①アクセス要求ページのカスタマイズが可能になった
- MC135238 (←メッセージセンターに掲載されている番号です)
- 公開時期:2018年5月中
- 内 容:SharePoint Online のサイト、リストやライブラリなどに権限がないユーザーがアクセス要求をサイトの管理者に対してリクエストするページに表示される内容が一部カスタマイズできるようになりました。具体的には以下の機能が追加されました。
・誰がアクセス要求を受けているかを一覧で確認できるようになった
・アクセス要求の承認者を指定できるようになった
・アクセス要求ページに表示する文言を自由に設定できるようになった
これまではアクセス要求の承認はそのサイトの管理者しかできなかったのが、ユーザーやグループを指定して、指定された人たちなら承認できるようになりました!アクセス要求の設定ページ(アクセス要求を許可するユーザーやメッセージを編集できる)
またアクセス要求のページは既定で用意されたものしか使えなかったのですが、アクセス要求の画面に任意のコメントを追加できるようになりました!例えば以下のように「カスタムメッセージ」を追加できます。
(あまり必要ないかもしれないですが、ユーザーをスムーズに誘導するためのメッセージなどを書いてあげると親切かもしれません。)アクセス要求ページ(編集したメッセージが表示されるようになりました)
②共有時に送信されるメールの仕様が一部変更になった
- MC142154
- 公開時期:2018年6月中
- 内 容:SharePoint Online のサイトやリスト、ライブラリなどを他のユーザーに共有した際に送信されるメールの仕様が一部変更されました。具体的には以下です。
・共有メール下部のロゴに企業のブランドが反映されるようになった
・外部共有で送信されるメールの差出人が、そのアイテムなどを共有したユーザーのメールアドレスになった
これまでは共有メールの下部にはMicrosoft さんのロゴが添付されていましたが、Azure Active Directory の企業のブランドで自社のロゴなどを設定している場合、その画像が使用されるようになりました。
- またこちらは外部共有時のみですが、外部共有で送信されるメールの差出人はこれまではSharePoint Online でシステム的に用意されていたメールアドレスから送信されていた(誰が共有しても同じ差出人だった)のが、そのアイテムなどを共有したユーザーのアドレスから送信されるようになったというものです。
- (社内のユーザーに共有した場合は、これまでも共有したユーザーのアドレスから送信されていました。)
以上、今回ご紹介した内容は、「アクセス要求は許可してないよ~」とか「外部共有とか禁止してるしっ」といったユーザーの方にはあまり関係のない内容かもしれませんが、こういったところでも細々とアップデートされてますよ!ってことをお伝えしたくご紹介させていただきました。
これ以外にもたくさんのアップデート情報がありますので、今後も定期的にご紹介させていただきます!
Microsoft Flow × SharePoint Online:投稿したアイテムを自動翻訳してみた
グローバルに展開している企業などでは SharePoint Online 上のコンテンツを多言語で展開したいといった要件がある場合もあるかと思います。
そこで今回は Microsoft Flow を使ってSharePoint Online の日本語のサイトのリストにアイテムを投稿した際に、自動で翻訳した内容を英語サイトのリストに投稿するアプリを作ってみようと思います。
日本語がわかりずらいので(笑)、以下の↓のフローチャートをご覧ください。
ポイントは以下となります。
-
本文(複数行テキスト)をそのままTranslator で翻訳しようとすると html の要素ごと翻訳にかけられてしまう(div やら 余計なものまで翻訳されちゃう)ので、Html to text を使用して複数行テキストの本文をテキストに変換します。
- Translator で翻訳する際には、タイトルと本文をそれぞれわけて翻訳します。
(そうしないと次の「項目の作成」の時に翻訳した結果が使用できない)
※事前に以下のサイト・リスト・列を用意してください。
- 日本語のサイトにリストを作成して以下の列を用意しておきます。
・列名:タイトル 種類:一行テキスト
・列名:本文 種類:複数行テキスト - 日本語サイトとは別に英語のサイトを作成し、リストを作成して以下の列を用意しておきます。
・列名:Title 種類:Text
・列名:Body 種類:Multiple lines of text
以上を踏まえて以下に手順を記載します。
- Microsoft Flow にアクセスして「マイフロー」のタブから「一から作成」をクリックします
- トリガーの追加では「項目が作成されたとき」を検索して追加します。
- 日本語サイトのアドレス、リスト名を選択します。
- 新しいステップ>アクションの追加の順に選択し、「Content Conversion - Html to text」を選択して追加します。
- Content には「本文」を選択します。
- 新しいステップ>アクションの追加の順に選択し、「Microsoft Translator - テキストの翻訳」を選択して追加します。
- テキストには「タイトル」を、対象言語には「English」を選択します。
- 新しいステップ>アクションの追加の順に選択し、「Microsoft Translator - テキストの翻訳」を選択して追加します。
- テキストには「Html to text」のセクションから「The plain text content.」を選択し、対象言語には「English」を選択します。
- 新しいステップ>アクションの追加の順に選択し、「SharePoint - 項目の作成」を選択して追加します。
- 日本語サイトのアドレス、リスト名を選択します。
- Title には「テキストの翻訳」セクションの「翻訳されたテキスト」を選択し、Bodyには「テキストの翻訳2」セクションの「翻訳されたテキスト」を選択します。
- 以上で完了です。保存して実際にアイテムを登録してみます。
こんな感じに自動で翻訳されました!
こちらが日本語で投稿したアイテム
日本語で投稿したアイテム
そしてこちらが英語に翻訳されたアイテム
Flow で自動で翻訳した英語のアイテム
ん~ぶっちゃけかなり英語怪しいけど、まあ良しとします(笑)
SharePoint Online のモダン サイトでサイトテンプレートを作成する方法
今回はタイトルにもある通り「SharePoint Online のモダン サイトでサイトテンプレートを作成する方法」についてご紹介したいと思います。
クラシックUI のSharePoint Online を利用したことがある人ならご存知の方も多いかと思いますが、SharePoint Online では作成したサイト上に配置したWebパーツ などのデザインや作成したコンテンツ(リストやライブラリ)などを他のサイトにも展開できるように、「サイトテンプレート」という機能が用意されています。
ところが、モダンUI のサイトを作成した場合に、サイトの設定項目から[テンプレートとしてサイトを保存]の項目が無くなってしまいました。
※サイトテンプレートの詳細については以下の公開情報をご参考ください。
サイト テンプレートを作成して使う
ですが、以下のPowerShell コマンドを実行してSharePoint Online の「カスタムスクリプト」の機能を有効化すると、サイトの設定に[テンプレートとしてサイトを保存]の設定が表示され、モダンUI でもテンプレートの作成が可能になります。
手順について以下に記載します。
※SharePoint Online Management Shell を起動し、順番に実行してください。
- SharePoint の管理者権限を持つユーザーでOffice 365 にアクセスします。
$UserCredential = Get-Credential
- SharePoint Online 管理センターにアクセスします。
Connect-SPOService -Url https://<テナント名>-admin.sharepoint.com -Credential $UserCredential
- カスタムスクリプトの機能を有効化します。
Set-SPOsite https://<テナント名>.sharepoint.com/sites/<サイトコレクション名> -DenyAddAndCustomizePages 0
上記でカスタムスクリプトを有効化したサイトコレクションのサイトの設定にアクセスすると、サイトの設定に[テンプレートとしてサイトを保存]の設定が表示されるようになりました。
※上記コマンドの内容については以下の公式情報も併せて参考ください。
カスタム スクリプトを許可または禁止する
モダンUI のカスタムスクリプトは既定で無効化しているのでとMicrosoft としては非推奨の可能性もありますが、私が問合せをして確認した限りでは
”今後クラシック UI からモダン UI へ移行した後に、サイト テンプレートが作成できなくなるという情報についてはございません。”
との回答もいただいています。
テンプレート化も便利な機能の1つではあるので、ご興味ある方はお試しください。