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

2023年1月13日 (金)

※補足: このページのタイトルを「Microsoft Stream (on SharePoint)への移行スケジュールを把握しよう!」から「Microsoft Stream (クラシック) の廃止日決定 ⇒ 2024年2月15日」に変更しました。

※補足: 当初はクラシック Stream の完全廃止日は、2024/2/15が期限だったが、その後、期限が延期され 2024/4/15 に変更されました。

昨年、Microsoft Stream (on SharePoint) の移行スケジュールについてブログを公開しました。

SharePoint Technical Notes : Microsoft Stream (on SharePoint)への移行スケジュールを把握しよう! (lekumo.biz)

年明けが明けて、昨日の2023/1/12 付で Microsoft 365 のメッセージセンターにいよいよ Stream (クラシック) の廃止日がアナウンスされました。

20230113_103539

主なマイルストーンは次の通りです。

  • 廃止日: 2024/2/15 ⇒ 2024/4/15 に延期
  • Stream (クラシック) への新規アップロードの停止日:  2023/9/15
  • Stream (クラシック) へアクセスできなくなる日: 2023/10/15 (延長措置をしていれば、2024/4/15 が期限)

公式情報は下記を確認してください。

Overview of migrating from Microsoft Stream (Classic) to Stream (on SharePoint) - Microsoft Stream | Microsoft Learn

※今後の予定の部分のみ画面を抜粋して追加しておきます。

20230113_104445

以前のブログにも書きましたが、移行ツールが GA された日付から 1年後にサービス廃止となる予定です。現時点では移行ツールはパブリックプレビューです。廃止日がアナウンスされたので、ここから逆算すると移行ツールの GA 日は2023/2/15 → 2023/4/15  (に延期) となるということでしょう。

B5f84c0cd7944aa8aef481fab1a2bd7d_2

ただ、予定を確認していると移行するビデオのフィルターリング機能が利用できるようになるのが 2023/6/1 となるようで、GA後も機能アップデートがされるようです。

また、上記のマイルストーンは、前回のブログにも書きましたが、あくまでも延長を行わない場合のものです。

Cc2366bcd74e4d77bfbaa0e77c5706fd

最終廃止日は変わりませんが、それ以外に関しては数か月延長できます。

Stream (クラシック) への新規アップロードの停止日」に関しては廃止日の通知日 + 3か月後となるため3か月後の 2023/5/15 が期限となっていますが、3か月延長できるため延期措置を取れば 2023/8/15 が期限です。また、「Stream (クラシック) へアクセスできなくなる日」については、廃止通知の8か月後が期限であるため 2023/10/15 が期限ですが4か月延長ができます。延長措置を取れば 2024/2/15 までが期限となり廃止日いっぱいまで利用できるようになるわけです。

詳細は公式ドキュメントを確認しておきましょう。

Stream (on SharePoint) のメリット

Stream (on SharePoint) への移行を行うことで、色々と利点が生まれます。個人的には次の点が大きいのです。

  • 社外との動画共有
  • 動画の日本語検索 (トランスクリプト検索)

現在の Stream は前身は Office 365 Videos でした。これは SharePoint をベースに作られた仕組みでしたが、社外共有ができない課題を長年持っていました。そこから Stream が登場し独自の Azure ベースのストレージを持つようになり、社外共有もできるようになるのか? と思われましたが、結局できないままとなり検索などが案外と多言語対応できなかったのです。ですが、AI を組み合わせるという仕組みが画期的でした。

そうした過去のトライアンドエラーを経て、再び SharePoint ベースの動画共有の仕組みに戻ってきたのが Stream (on SharePoint ) です。SharePoint も過去と比較すると格段に機能が豊富になり、改善・改良がくわえられてきました。そんななか今度は再び SharePoint に戻ってきたといっても、満を持して戻ってくることとなり、過去に対応できなかった様々な機能が利用できるようになります。

下記はメッセージセンターに配信された内容の日本語訳です。

  • SharePoint や OneDrive にある他のファイルと同様に、セキュリティ、管理者コントロール、マルチジオサポート、コンプライアンス(eDiscovery、法的拘束、保持、データ損失防止ポリシー)、権限、共有コントロールでビデオファイルを容易に管理できます。
  • 背景のぼかしや置き換え、インク付け、テキスト、音声のみ、テレプロンプターなど、カメラに直接搭載された高度なツールを使ってビデオを録画。
  • Microsoft 365 のどこからでもビデオを検索できます。キーワードを検索することで、Microsoft 365のあらゆる場所でビデオやTeamsの会議記録を見つけることができるようになりました。
  • Office の Stream スタートページで、必要なものをすばやく見つけられます。新しいスタートページには、最近見たビデオ、共有されているビデオ、お気に入りのビデオが表示され、プレイリストも近日公開予定です。(注: Streamのスタートページでは、Stream (Classic)のビデオは表示されません)。
  • チームミーティングの記録を、トランスクリプト、チャプター、タイムラインマーカー、発言者の属性、コメントとともに表示できます。
  • カスタムページ、サイト、ポータルを作成し、イントラネットやViva Connectionsの一部としてビデオをフィーチャーすることができます。
  • ゲスト、組織内の人、「誰でも」リンクによる認証なしの外部共有をサポートし、Microsoft 365 の他のファイルと同じように動画を共有できます。
  • 動画ごとの解析、サイト内のすべての動画の解析、動画を視聴した人の解析が可能です。
    Viva Connectionsフィードにビデオを追加します。
  • Microsoft Graph Files API をベースとした API を使用して、基本的な動画ファイルの操作を行います。

移行作業は少々面倒ではありますが、ようはうちの引っ越しと同じです。この際、使わなくなったビデオを捨て、よりよい使い勝手を得られるということで組織で計画的に取り組んでいきたいですね。

2022年12月25日 (日)

Google Console で検索ログを見ていると 「Stream 再生速度」というキーワードでの検索がよく上がってきているようなので、まとめておこうと思います。

2022年12月25日時点では、再生速度が用意されているのは Microsoft Teams 上でのオンライン会議の録画のみです。会議の録画の保存先は基本的に OneDrive (学校および職場向け) SharePoint サイトとなっています。チーム内のチャネルに対して会議を設定していない場合は、録画を開始した人の OneDrive 環境に保存されるわけです。これらに関しては再生時には次のいずれかの再生速度を指定できます。

  • 0.5x
  • 1x (既定)
  • 1.2x
  • 1.5x
  • 1.8x
  • 2x

20221225_173121

これ以外に関しては今のところ速度の変更はできません。ただし、この先 OneDrive および SharePoint サイト内のすべての動画に関して会議の録画と同じく 0.5x - 2.0x までの再生速度が選べるようになる予定です。

Microsoft 365 Roadmap 上には下記の通り新機能が開発中のステージになっており、一般提供開始予定が 2023年の2月となっています。

20221225_173726

順調に開発が進めば2023年の春までには、この機能が利用できるようになるだろうと思います。

**** UPDATE (2023/2/11) ****

ビデオ会議の録画だけでなく、通常のビデオも再生速度が変えられるようになりました! とはいえ、まだロールアウト中のテナントもあるようですが、もう間もなく使えると思います😊。

20230211_154108

2022年12月22日 (木)

この記事は Microsoft Power Automate Advent Calendar 2022 に参加しています。2022/12/22 の分です。

🎄❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️🎅

今回は開発者寄りの記事です。難易度は高めですが、年末年始の時間のある時に是非チャレンジしてみてくださいね。

これまでも Microsoft Graph API には SharePoint ページを操作するための API (beta バージョンのみ) がありましたが、 2022年11月末に新しいペーター版がリリースされました。これによりこれまでできなかった、SharePoint モダンページおよびニュース投稿の取得、作成、管理ができます。既存の pages beta API は新しい API に置き換わることになります。

私にとっては待望の API で、これが正式にリリースされて充実してくると色々とできることが増えます。

2023年4月末までにGAが予定されています。公式情報は下記を参照してください。

🔗Announcing the new SharePoint Pages API in Microsoft Graph - Microsoft 365 Developer Blog

さて、今回はこの Graph API (Pages API) を使って、以前から試してみたかった Power Apps から SharePoint ページを作成して発行してみることにします。

ただし、細かいパラメータオプションや JSON などは1つのブログに収まりきる量ではないので、今回は「読者の方が頑張って自分でちょっと試してみることができる」よう情報を簡素化にしています。ヒントとなる情報はちりばめておきますので、詳細はご自身で頑張って学習を進めてみてください。

あとは弊社のオフィスアイ ラーニング ポータル(有料サービス) には、情報を整理して公開しています。ご興味があればこちらもどうぞ。

これができると定型的なページ作成が Power Apps や Power Automate で対応できるなぁという話です。

今回のベータ版リリースの範囲

このリリースでは次の機能が提供されます。

  • ページおよびニュースコンテンツの取得
  • ページおよびニュース投稿の作成
  • ページおよびニュース投稿の削除
  • ページの一覧の取得
  • ページおよびニュースの投稿の発行

今回のスコープ外は次の通りとなっているので注意しましょう。

  • 既存ページの編集
  • ニュースリンクの生成

上記ビデオでは想定されるシナリオ例としては次のような内容を取り上げていました。

想定される利用シナリオ

シナリオ1

組織の CDN や Microsoft ストック画像、パブリックリソースにある画像とともにUX 内でページを作成して(要はどこからでも参照できる画像を使うこと)、ページの JSON を取得して、それをもとに異なるサイト間やテナント間で同じページを作成する

シナリオ2

すべてのページの一覧を取得し、特定のプロパティでフィルターしたあとでそれらのページを一括削除する

Graph エクスプローラーを使ってサイトIDを取得する

Graph API を使うにはページを作成する先のサイトのIDを取得する必要があります。Graph エクスプローラーの基本的な使い方は下記のリンク先を参照してください。

🔗 Graph エクスプローラーを使用して Microsoft Graph API を試す - Microsoft Graph | Microsoft Learn

まず Graphエクスプローラーにアクセスします。

🔗 Graph Explorer | Try Microsoft Graph APIs - Microsoft Graph

右側の顔写真のところをクリックして、Microsoft 365 アカウントでサインインします。 

20221222_165906

始めてアクセスするときには Permissins requested のウィンドウが表示されますが、Accept ボタンをクリックします。

20221222_170127

クエリを実行するために、次の操作をします。

  1. GET アクセスになっていることを確認する
  2. beta を指定する
  3. エンドポイントを指定する
  4. Run query ボタンをクリックする

3 のエンドポイントですが、サイトのIDを取得するには次のように指定します。

[ルートのサイトコレクションの場合]

https://graph.microsoft.com/beta/sites/root

[ルートのサイトコレクション以外]

https://graph.microsoft.com/beta/sites/root:<サイトの相対パス>

サイトの相対パスは /sites や /teams から始まるパスです。私の使っているサイトは相対パスが /sites/Labo-GraphAPI であるため、これを指定します。

20221222_170406

クエリを実行した結果取得できる id をメモしておきます。後で Power Automate のフローから利用します。私のサイトの ID だと「

officeilearning.sharepoint.com,5de63e83-091f-42b2-90a2-2aeefe4ab9d7,342f6370-e776-4677-bf1e-dcc2d94985ed

」だということがわかります。

Power Apps のアプリを用意する

記事を投稿するためのアプリを用意します。この例ではキャンバスアプリでタブレットレイアウトで作成しています。

20221222_171539

類似したアプリを作ってみてください。必要な項目は次の通りです。

  • ページのタイトル
  • ページのファイル名

あとは、ページ内に書き込みたい内容をこの例では次の項目をリッチテキストのコントロールで用意しています。

  • 本文
  • 備考

作りたいページのイメージを確認しよう

作りたいページのイメージは次の通りです。今回はタイトル領域の設定やクイックリンク Webパーツ、画像Webパーツは固定で、そのほかを適宜差し替えてページを新規に作り発行します。利用する画像はストック画像であるため、どのテナントでも共通して利用できます。

20221222_171949

Power Automate フローを作る 

では Power Apps 側からフローを作成しましょう。この記事ではある程度 フローも作れることを想定しているので、手順はさほど丁寧には説明しませんのであしからず。。。(ちなみに、弊社でも Power Automate のフローの研修もやってますので、もしよければそういったものもご利用ください)。

ということで、[フローを新規作成する]をクリックします。

20221222_172208

トリガーを PowerApps (V2) に差し替え、次のように指定します。フロー名も任意に指定しておきましょう。

20221222_172706

次のステップでは変数を用意します。この変数には後ほど作成したページのIDを格納します。

20221222_172846

次のアクションに Office 365 Group コネクターの HTTP要求の送信アクションを追加します。これで Graph API を呼び出します。

URI には先ほど取得したサイトのIDを使って次のように指定します。

https://graph.microsoft.com/beta/sites/<サイトのID>/pages

メソッドは POST を指定しましょう。

20221222_173005

さて、問題が本文です。ここに指定するJSONがページ情報を決めることになります。詳しい話は色々と盛りだくさんにあるのですが、今回は、私が用意したソースを写経してみてください。下記の通りです。


     {
        "name": ".aspx",
        "title": "",
        "pageLayout": "article",
        "thumbnailWebUrl": "https://cdn.hubblecontent.osi.office.net/m365content/publish/4785e3b9-c5d0-4fac-813b-8cbc5e744eb4/thumbnails/large.jpg?file=dv735012.jpg",
        "promotionKind": "page",
        "showComments": true,
        "showRecommendedPages": true,
        "titleArea": {
            "enableGradientEffect": true,
            "imageWebUrl": "https://cdn.hubblecontent.osi.office.net/m365content/publish/4785e3b9-c5d0-4fac-813b-8cbc5e744eb4/dv735012.jpg",
            "layout": "colorBlock",
            "showAuthor": false,
            "showPublishedDate": true,
            "showTextBlockAboveTitle": true,
            "textAboveTitle": "Advent Calendar 2022",
            "textAlignment": "left",
            "imageSourceType": 2,
            "title": "Colone Page - 1",
            "imgHeight": 1360,
            "imgWidth": 2048,
            "translateX": 49.26108374384236,
            "translateY": 37.77777777777778,
            "hasTitleBeenCommitted": true,
            "serverProcessedContent": {
                "htmlStrings": [],
                "searchablePlainTexts": [],
                "links": [],
                "imageSources": [
                    {
                        "key": "imageSource",
                        "value": "https://cdn.hubblecontent.osi.office.net/m365content/publish/4785e3b9-c5d0-4fac-813b-8cbc5e744eb4/dv735012.jpg"
                    }
                ],
                "customMetadata": [
                    {
                        "key": "imageSource",
                        "value": {
                            "width": 2048,
                            "height": 1360
                        }
                    }
                ]
            }
        },
        "canvasLayout": {
            "horizontalSections": [
                {
                    "layout": "oneThirdRightColumn",
                    "id": "1",
                    "emphasis": "none",
                    "columns": [
                        {
                            "id": "1",
                            "width": 8,
                            "webparts": [
                                {
                                    "@odata.type": "#microsoft.graph.textWebPart",
                                    "innerHtml": "Body"
                                }
                            ]
                        },
                        {
                            "id": "2",
                            "width": 4,
                            "webparts": [
                                {
                                    "@odata.type": "#microsoft.graph.standardWebPart",
                                    "webPartType": "c70391ea-0b10-4ee9-b2b4-006d3fcad0cd",
                                    "data": {
                                        "audiences": [],
                                        "dataVersion": "2.2",
                                        "description": "アイコン、画像、対象ユーザーのターゲット設定のオプションを使用して、ドキュメント、画像、ビデオなどのコンテンツへのリンクのコレクションをさまざまなレイアウトで表示します。",
                                        "title": "クイック リンク",
                                        "properties": {
                                            "isMigrated": true,
                                            "layoutId": "CompactCard",
                                            "shouldShowThumbnail": true,
                                            "imageWidth": 100,
                                            "hideWebPartWhenEmpty": true,
                                            "dataProviderId": "QuickLinks",                                         
                                            "items@odata.type": "#Collection(graph.Json)",
                                            "items": [
                                                {
                                                    "thumbnailType": 3,
                                                    "id": 1,
                                                    "description": "",
                                                    "altText": "",
                                                    "rawPreviewImageMinCanvasWidth": 32767,
                                                    "sourceItem": {
                                                        "@odata.type": "#graph.Json",
                                                        "itemType": 2,
                                                        "fileExtension": "",
                                                        "progId": ""
                                                    }
                                                }
                                            ],
                                            "listLayoutOptions": {
                                                "@odata.type": "#graph.Json",
                                                "showDescription": false,
                                                "showIcon": true
                                            },
                                            "buttonLayoutOptions": {
                                                "@odata.type": "#graph.Json",
                                                "showDescription": false,
                                                "buttonTreatment": 2,
                                                "iconPositionType": 2,
                                                "textAlignmentVertical": 2,
                                                "textAlignmentHorizontal": 2,
                                                "linesOfText": 2
                                            },
                                            "waffleLayoutOptions": {
                                                "@odata.type": "#graph.Json",
                                                "iconSize": 1,
                                                "onlyShowThumbnail": false
                                            }
                                        },
                                        "serverProcessedContent": {
                                            "htmlStrings": [],
                                            "searchablePlainTexts": [
                                                {
                                                    "key": "title",
                                                    "value": "参考"
                                                },
                                                {
                                                    "key": "items[0].title",
                                                    "value": "ペンギン - Wikipedia"
                                                }
                                            ],
                                            "links": [
                                                {
                                                    "key": "baseUrl",
                                                    "value": "/sites/Labo-GraphAPI"
                                                },
                                                {
                                                    "key": "items[0].sourceItem.url",
                                                    "value": "https://ja.wikipedia.org/wiki/%e3%83%9a%e3%83%b3%e3%82%ae%e3%83%b3"
                                                }
                                            ],
                                            "imageSources": [
                                                {
                                                    "key": "items[0].rawPreviewImageUrl",
                                                    "value": "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b1/African_Penguin_at_Boulders_Beach_1.jpg/1200px-African_Penguin_at_Boulders_Beach_1.jpg"
                                                }
                                            ],
                                            "componentDependencies": [
                                                {
                                                    "key": "layoutComponentId",
                                                    "value": "706e33c8-af37-4e7b-9d22-6e5694d92a6f"
                                                }
                                            ],
                                            "customMetadata": [
                                                {
                                                    "key": "items[0].rawPreviewImageUrl",
                                                    "value": {
                                                        "fixedwidth": "100",
                                                        "mincanvaswidth": "32767"
                                                    }
                                                }
                                            ]
                                        }
                                    }
                                },
                                {
                                    "@odata.type": "#microsoft.graph.standardWebPart",
                                    "webPartType": "d1d91016-032f-456d-98a4-721247c305e8",
                                    "data": {
                                        "audiences": [],
                                        "dataVersion": "1.11",
                                        "description": "画像、ピクチャ、または写真をテキストを重ねたページに追加し、画像のトリミングやサイズ変更を行うことができます。",
                                        "title": "画像",
                                        "properties": {
                                            "imageSourceType": 2,
                                            "captionText": "",
                                            "altText": "",
                                            "linkUrl": "",
                                            "overlayText": "",
                                            "fileName": "崩落する氷山.jpg",
                                            "imgWidth": 3015,
                                            "imgHeight": 2410,
                                            "alignment": "Center",
                                            "fixAspectRatio": false,
                                            "overlayTextStyles": {
                                                "@odata.type": "#graph.Json",
                                                "textColor": "light",
                                                "isBold": false,
                                                "isItalic": false,
                                                "textBoxColor": "dark",
                                                "textBoxOpacity": 0.54,
                                                "overlayColor": "light",
                                                "overlayTransparency": 0
                                            }
                                        },
                                        "serverProcessedContent": {
                                            "htmlStrings": [],
                                            "searchablePlainTexts": [],
                                            "links": [],
                                            "imageSources": [
                                                {
                                                    "key": "imageSource",
                                                    "value": "https://cdn.hubblecontent.osi.office.net/m365content/publish/e452fe45-b705-4a5a-aebd-e92f74c2553f/1152450154.jpg"
                                                }
                                            ],
                                            "customMetadata": [
                                                {
                                                    "key": "imageSource",
                                                    "value": {
                                                        "width": "3015",
                                                        "height": "2410"
                                                    }
                                                }
                                            ]
                                        }
                                    }
                                }
                            ]
                        }
                    ]
                },
                {
                    "layout": "oneColumn",
                    "id": "2",
                    "emphasis": "neutral",
                    "columns": [
                        {
                            "id": "1",
                            "width": 12, 
                            "webparts":[
                                {
                                    "@odata.type": "#microsoft.graph.textWebPart",
                                    "innerHtml": "Notes"
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    }

name と title プロパティに動的なコンテンツを指定します。

20221222_180124

次の図に示す"innerHtml"の値を Body から動的コンテンツ置き換えます。

20221222_174733_3

クイックリンク Webパーツの部分のサイトの相対パスを自身のサイトのものに書き換えます。

20221222_174554_3

下の方にある "innerHtml" のプロパティの値を Notes から動的コンテンツに書き換えます。

20221222_174923_2

次のステップとして JSON の解析アクションを追加します。コンテンツに指定する「本文」はひとつ前のステップの出力結果です。20221222_175035

スキーマは下記の内容をコピーして貼り付けましょう。


{
    "type": "object",
    "properties": {
        "@@odata.context": {
            "type": "string"
        },
        "@@odata.etag": {
            "type": "string"
        },
        "eTag": {
            "type": "string"
        },
        "id": {
            "type": "string"
        },
        "lastModifiedDateTime": {
            "type": "string"
        },
        "name": {
            "type": "string"
        },
        "webUrl": {
            "type": "string"
        },
        "title": {
            "type": "string"
        },
        "pageLayout": {
            "type": "string"
        },
        "thumbnailWebUrl": {
            "type": "string"
        },
        "promotionKind": {
            "type": "string"
        },
        "showComments": {
            "type": "boolean"
        },
        "showRecommendedPages": {
            "type": "boolean"
        },
        "createdBy": {
            "type": "object",
            "properties": {
                "user": {
                    "type": "object",
                    "properties": {
                        "displayName": {
                            "type": "string"
                        },
                        "email": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "lastModifiedBy": {
            "type": "object",
            "properties": {
                "user": {
                    "type": "object",
                    "properties": {
                        "displayName": {
                            "type": "string"
                        },
                        "email": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "parentReference": {
            "type": "object",
            "properties": {
                "siteId": {
                    "type": "string"
                }
            }
        },
        "contentType": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "publishingState": {
            "type": "object",
            "properties": {
                "level": {
                    "type": "string"
                },
                "versionId": {
                    "type": "string"
                }
            }
        },
        "reactions": {
            "type": "object",
            "properties": {}
        },
        "titleArea": {
            "type": "object",
            "properties": {
                "enableGradientEffect": {
                    "type": "boolean"
                },
                "imageWebUrl": {
                    "type": "string"
                },
                "layout": {
                    "type": "string"
                },
                "showAuthor": {
                    "type": "boolean"
                },
                "showPublishedDate": {
                    "type": "boolean"
                },
                "showTextBlockAboveTitle": {
                    "type": "boolean"
                },
                "textAboveTitle": {
                    "type": "string"
                },
                "textAlignment": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "authors@odata.type": {
                    "type": "string"
                },
                "authors": {
                    "type": "array"
                },
                "authorByline@odata.type": {
                    "type": "string"
                },
                "authorByline": {
                    "type": "array"
                },
                "imageSourceType": {
                    "type": "integer"
                },
                "imgHeight": {
                    "type": "integer"
                },
                "imgWidth": {
                    "type": "integer"
                },
                "translateX": {
                    "type": "number"
                },
                "translateY": {
                    "type": "number"
                },
                "hasTitleBeenCommitted": {
                    "type": "boolean"
                },
                "serverProcessedContent": {
                    "type": "object",
                    "properties": {
                        "htmlStrings": {
                            "type": "array"
                        },
                        "searchablePlainTexts": {
                            "type": "array"
                        },
                        "links": {
                            "type": "array"
                        },
                        "imageSources": {
                            "type": "array",
                            "items": {
                                "type": "object",
                                "properties": {
                                    "key": {
                                        "type": "string"
                                    },
                                    "value": {
                                        "type": "string"
                                    }
                                },
                                "required": [
                                    "key",
                                    "value"
                                ]
                            }
                        },
                        "customMetadata": {
                            "type": "array",
                            "items": {
                                "type": "object",
                                "properties": {
                                    "key": {
                                        "type": "string"
                                    },
                                    "value": {
                                        "type": "object",
                                        "properties": {
                                            "width": {
                                                "type": "integer"
                                            },
                                            "height": {
                                                "type": "integer"
                                            }
                                        }
                                    }
                                },
                                "required": [
                                    "key",
                                    "value"
                                ]
                            }
                        }
                    }
                }
            }
        }
    }
}

次のステップで pageId 変数に JSON解析の出力から id を設定します。20221222_175224_2

次のステップで再び Office 365 Group コネクターの HTTP要求アクションを追加します。これでページを発行します。URIは次の通りです。

https://graph.microsoft.com/beta/sites/<サイトのID>/pages/<ページのID>/publish

20221222_175329_2

最後に Power Apps コネクターの応答アクションを追加しておきます。20221222_175555_2

Power Apps からフローを呼び出す

Power Apps アプリ内に用意しておいたボタンコントロールからフローを呼び出します。OnSelect プロパティには例えば次のように指定します。

UpdateContext({Result:'ページ作成(PagesAPIprev)'.Run(TextInput_Page_Title.Text,TextInput_Page_Name.Text,
RichTextEditor_Body.HtmlText,RichTextEditor_Notes.HtmlText).response});
Notify(Result,NotificationType.Success)

20221222_182032

動作を確認する

アプリをプレビュー実行して動作を確認しましょう。

それでは、Happy Holidays !!

2022年12月19日 (月)

この記事は、Microsoft 365 Advent Calendar 2022 - Adventar に参加しています。2022/12/17分です。

🎄❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️🎅
SharePoint リストと Microsoft Lists は基本的には同じものですが、Microsoft Lists アプリはリストにアクセスするための専用アプリとなっており、SharePoint サイトを意識せずに使えることがメリットです。

[参考] SharePoint Technical Notes : SharePoint ユーザー必見! Microsoft Lists 登場 (lekumo.biz)

SharePoint リストと Microsoft Lists Webアプリ表示とで、URLを比べてみると末尾に「?env=WebViewList」が追加されているかどうかが異なっていることがわかります。

20221219_144358_2

このパラメータが指定されていると Microsoft Lists Webアプリで表示されます。逆に、このパラメータを削除すると SharePoint サイトの側での表示に切り替わります。

ちなみに、ライブラリもリストがもとになっているため、パラメータを指定すれば Microsoft Lists Webアプリで開けます。

2022年12月17日 (土)

Microsoft 365 内でのビデオファイルの管理には Microsoft Stream が使われます。このサービスでは従来はビデオファイルの格納場所に Azure ベースの独自ストレージを持っていましたが、現在 SharePoint ベースに切り替わってきておりまさに過渡期です。つまり、ビデオファイルは SharePoint サイトまたは OneDrive for Business に格納するようになっているということです。現在、新しい Stream 専用ポータルが用意され、ビデオ再生はファイルが SharePoint にあっても、OneDrive にあっても Stream の機能を使って再生することになります。Stream が提供する再生機能には次のようなものがあります。

  • トランスクリプトの生成と編集
  • ビデオのサムネイルの変更
  • ビデオのタイトルや説明の変更
  • チャプター作成
  • ノイズ低減
  • 再生速度の変更など

新しい従来の Microsoft Stream と区別するために Microsoft Stream (on SharePoint) と呼ばれます。

過去に公開している関連記事があります。経緯については下記も参考にしてください。

2022年10月より Microsoft Stream (on SharePoint) が GA

2022年10月に Microsoft Stream (on SharePoint) が 一般提供 (GA) の状態へと移行しました。Microsoft Stream のポータルも旧URLは https://web.microsoftstream.com/ でしたが、これが https://www.microsoft365.com/launch/stream?auth=2 となり、画面も機能も新しくなっています。

20221217_110800

※ちなみに、2022年12月現在、www.office.com となっているURLは来年の春ころまでに www.microsoft365.com に変更されリダイレクトされるようになります。そのため、すでにwww.microsoft365.com も利用できます。

移行スケジュール

これに伴い移行ツールもパブリック プレビューとして公開されています。移行スケジュールは下記に公開されています。

Overview of migrating from Microsoft Stream (Classic) to Stream (on SharePoint) - Microsoft Stream | Microsoft Learn

これまでの経緯は下記の通りです。20221217_105907_2

つまり、そろそろ 従来のMicrosoft Stream のリタイア(廃止)も近くなってきているということです。

移行ツールがパブリック プレビューを終了して、一般提供開始をし始めるタイミングで旧 Stream の廃止日が告知されることになっています。廃止日までに1年間の猶予があり、この間に移行を完了する必要があります。

B5f84c0cd7944aa8aef481fab1a2bd7d_2

移行は自動的には行われず、コンテンツを期間内に移行しない場合は、Stream (クラシック)が廃止されるとともに削除されます。ただし、移行するのに必ずしもすべてのコンテンツを移行する必要はありません。もう利用されていないコンテンツなどは削除してもいいわけです。そのため、Stream (クラシック)のインベントリおよび使用状況のレポートを使って調査をしどのコンテンツを移行し削除するのかを検討する必要があります。

延長オプションの提供

移行までにいくつかの延長オプションが用意されています。具体的には次の通りです。

Cc2366bcd74e4d77bfbaa0e77c5706fd_3

何もしなければ、廃止日が告知されてから3か月後にはユーザーは Stream (クラシック)に新しいビデオをアップロードできなくなります。ただし、3か月延長できるため最大で6か月間は猶予があるわけです。

また Stream (クラシック)へのアクセス自体、何もしなければ1年後よりも早く8か月後にはアクセスできなくなります。延長すれば最大で4か月延長できるため、実質1年ほどあるということになります。

廃止日が告知されると次のような設定画面が用意されるとのこと。

Bd02bad66d0744e1b29062c26a42c449

廃止日に起きること

廃止日には、延長したユーザーも含めてすべてのユーザーが Stream (クラシック) にアクセスできなくなり、サービスのシャットダウンが始まります。移行されなかったコンテンツはすべて削除されることになります。

移行ツール

現在、移行ツールはパブリックプレビューです。そのため最終的に追加される機能なども複数ありますが、そこまで大きくは変更されません。組織のSharePoint の管理者または Microsoft 365 全体管理者は、ツールの使い勝手を確認して、今のうちに移行の段取りを立てておくようにしましょう。

移行までの段取りも公開されています(機械翻訳がおかしなところもあるので必要に応じて英語の方もどうぞ)。

Microsoft が実施した過去の Stream (クラシック)のビデオの利用状況の統計結果は興味深く、日数が経てばたつほど視聴はされなくなるということです。動画も鮮度が大事だということですね。

  • アップロードから 17 日後にビデオの 50% が視聴されない
  • アップロードから 81 日後にビデオの 75% が視聴されない
  • アップロードから 104 日後にビデオの 80% が視聴されない

SharePoint サイトへの移行によりストレージもそれだけ消費することになるため、レポートツールを使い棚卸しして公開後に随分日数が経過していて最終閲覧日が古いようなら不要なものだと判断し、そのまま移行せずに放置して削除されるのを待つのも必要だといえます。

移行ツールの使い方は下記に公開されています。

移行ツール (パブリックプレビュー版) の簡単なビデオも公開しています。

移行は次のコンテナ単位で行うことなります。

コンテナの種類 説明
Microsoft 365 グループ Microsoft 365 グループのうちプライバシー設定がプライベートになっているもの。
全社チャネル 全社に公開されているチャネルコンテンツ
ストリーム グループ Microsoft 365 グループのうちプライバシー設定がパブリックになっているもの
ユーザーコンテンツ ユーザーが開催したTeams会議やライブイベントの録画。

Microsoft 365グループの場合は、そのままグループに紐づくチームサイトに移行すればよいでしょう。全社チャネルやストリーム グループに関しても基本的にはもともと社内に公開されているため、移行先に関しては場所さえ決めてしまえば、アクセス権限について心配することはあまりないと思います。ユーザーコンテンツに関しては基本的に各自の OneDrive for Business になるはずですが、すでに退職しているユーザーなどいればその移動先は考える必要がありそうです。

ファイル単位で移動場所を変える必要がある場合は、いったん OneDrive for Business または SharePoint に移行したのちに、さらに別の場所へと手動で移動させる必要があることもあるでしょう。その際には、リダイレクト機能は利用できなくなるためあらかじめ移動場所を確認したうえで Webパーツにリンクしなおす必要があります。

また OneDrive for Business は移行先としては1ユーザーあたり最低1TBが確保されているため、容量の心配が少なくて済みますが、OneDrive for Business のアカウントを持つ当該ユーザーが退職しライセンスをはく奪すると OneDrive のサイトが削除されてしまいますので、その点も考慮しておきましょう。

追記: 管理者以外の方が自分で移行する

管理者以外は移行ツールが利用できないのですが、一般ユーザーの方でも自分がアップロードしたビデオであれば Stream (クラシック) からダウンロードはできるはずです。自分でダウンロードしてしかるべき場所に手動でアップロードすることで移動させてくださいね。