📋

Teams の Wiki を channel 間でコピーする

2022/11/07に公開

はじめに

Microsoft Teams には Wiki 機能があります。非 IT 業種でコミュニケーションが Teams メインの職場であれば、各種の知見を Teams 上の Wiki にまとめるのは、そこまで悪手でもないはずです。
しかしこの Wiki 機能、インポートやエクスポート、channel 間のコピー・移動もままならないので、せっかく手塩にかけて編集しても情報の再利用性が著しく低いという欠点があります。

ということで channel 間のコピーだけでも解決したいと思います。

概要

筆者が検索した限りでは該当する情報はこれだけでした。

What you will need:
MS Teams with a Wiki you want to move.
SharePoint Designer (usually 2013 sp1)
Time

とありますが、 Web アプリ版の SharePoint でも何とかなりました。
本記事は上記参考サイトで解説されている方法を Web アプリ版 SharePoint で実施する手順について説明します。

でも先の引用に "Time" とあるように結構な手間がかかります。
もっと簡素な方法をご存知ならぜひ教えてください。

手順

  1. コピー元の Wiki がある channel を Teams 上で表示させたら 「… > SharePoint で開く」
  2. ブラウザ上の SharePoint web アプリで channel が表示されるので
    「サイトコンテンツ > サイト設定」を開く
  3. 「記憶域メトリックス > Lists」を開く
    (このとき表示される "19:****@thread.skype_wiki" が Teams の Channel 上における Wiki タブのいずれかに該当する)
  4. (更新日時等から推測して) コピー元になる Wiki の "19:****@thread.skype_wiki" をクリックして
    URL 欄の _layouts/15/storman.aspx?root=Lists%2FLists/ に置換する
  5. リストの編集画面に飛ぶので「すべてのアイテム > 列の表示/非表示」を選択する
  6. wikiXxxxID を表示する列として全てチェックし「適用」すると wiki 情報の表示・編集が可能になる
  7. 「グリッド ビューでの編集」をクリックすると表示されている各セルを選択可能になる
  8. コピー先になる Wiki についても 1-7 の手順で wiki 情報を編集可能な状態にしておく
    (このとき「すべてのアイテム > 高さを固定」をチェックしておくと見やすい)
  9. コピー元のグリッドビューから Wiki 行を除いて全てを選択し Ctrl+C でコピー
  10. コピー先のグリッドビューで「新しいアイテムを追加」をクリックし Ctrl+V でペーストする

    ペーストに失敗する場合は wikiContent 列にタブ文字が含まれていると考えられるので
    テキストエディタ等に一旦ペーストし、HTMLに含まれるタブ文字を削除して再度コピーするとグリッドビューにペースト可能になる
  11. 各アイテムがペーストされると ID はリスト内でユニークになるように自動的に振り直されるが、wikiCanvasId, wikiPageId はコピー時の値のままなので、元の親子関係が維持されるように新しい ID の値に基づいて手動で調整する
    ここで wikiCanvasId はページを移動する Wiki (タブ)の ID に対応しており、wikiPageId はセクションが含まれるページの ID に対応する
  12. wikiCanvasId, wikiPageId を適当に修正したら「グリッドビューの終了」
    Teams 上で編集した Wiki を再表示すると wikiOrder (Wiki が含むページの ID 配列、またはページが含むセクションの ID 配列) が自動的に追跡され、修正される

以上です。

Discussion