大規模プロジェクトにおけるconfluenceからNotionへのお引越し大作戦

本記事は[サムザップ Advent Calendar 2021](https://qiita.com/advent-calendar/2021/sumzap) の12/23の記事となります。
昨日の記事は@kida_hironariさんの[【ShaderGraph】積雪表現をShaderGraphで作ってみる](https://qiita.com/kida_hironari/items/9ca5bf3eb915ac34180f)でした。

#はじめに
Sumzapでサーバエンジニアをしています@chrno001です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104363/92b4392f-36b0-b437-0b7d-ece26de02e24.png)
弊社では長年情報共有・ドキュメント管理には[confluence](https://www.atlassian.com/ja/software/confluence)を使用してきました。
ただ、個人的に下記のような点で（弊社事情も含みますが）もっと便利にならないかな、と感じていた状態でした。


- <font color="Red">外部からの接続はVPN必須（コロナ過になって外部から接続が必要になった為）</font>
- <font color="Red">同名のページ作成ができない</font>
- <font color="Red">ページ編集する為に1度編集画面に切り替える必要がある</font>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104363/b0cc7a3b-0e95-08db-c247-6e0bd8fccfd0.png)
そんな中今年社内で話題になったのが、[Notion](https://www.notion.so/ja-jp/product?utm_source=google&utm_campaign=14877655427&utm_medium=125922091617&utm_content=552465064290&utm_term=notion&targetid=kwd-312974742&gclid=Cj0KCQiAk4aOBhCTARIsAFWFP9FxlhB8r5fr9CQ9z1zYTklzjCOphPki9-xef1zbMBBB-OUSK3fqhu0aAvEvEALw_wcB)でした。
Notion（ノーション）とは、ドキュメント（メモ）の作成、タスク管理、データ管理などの様々な機能を持ったオールインワン型の情報共有ツールで、その機能、使いやすさからかなり注目されるようになったツールの１つです。
社内でNotionにかなり詳しい人がおり、色々と教わっていくうちに自分もNotionの良さを強く実感するようになり自分が必要としていた機能もありこれは是非自分のプロジェクトにも導入できればと考え始めました。

#confluenceからNotionへの移行
早速自分のプロジェクトにてNotion導入を提案した際には、既に社内・グループ会社内でのNotion導入事例があった為か割と皆好意的でした。
ただ、いざ導入するとなるとドキュメントを一元管理する上でconfluenceからNotionへの移行が必要となる訳で、自分の所属しているプロジェクトは数十人規模の大規模プロジェクトとなりますのでそこからはしっかりと計画を立てて進める事としました。具体的に進めた内容は下記となります。

1. <font color="Red">**Notion移行チーム発足（各セクションリーダーに参加頂きました）</font>**
1. <font color="Red">**移行専用Slackチャンネル作成</font>** 
1. <font color="Red">**Notion運用ルール決め</font>**
1. <font color="Red">**チームへのNotionの使い方レクチャー</font>**
1. <font color="Red">**confluenceからのデータエクスポート、Notionへのインポート</font>**

##Notion移行チーム発足、移行専用Slackチャンネル作成
ツールの移行はWrikeの移行で経験しているのでこのあたりの対応はそれほど苦労しませんでした。
移行チームといっても実作業はほぼ自分で対応していた為、推進する人が1人でもいれば動き出しはそんなに困らないのかもしれませんね。

##Notion運用ルール決め
運用ルールとして決めた事は実はそんなに多くありません。

- **階層構造** 
    - 階層を事前に移行チーム側で作成しておき、想定してない階層の作成は基本NGとした
- **ページ作成ルール**
    - チーム毎に作成できる場所を事前に決めておき、ドキュメントが乱雑とならないようにルールを設けた

##チームへのNotionの使い方レクチャー
使い方のレクチャーについては、

- 移行専用SlackチャンネルにてNotionについての質問受付
- Notion勉強会を実施

を行いました。
特にNotion勉強会についてはかなり力をいれており、社内のNotion有識者がかなり詳しい勉強会用のフォーマットを事前に作成してくれました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104363/7b9e2a37-75ac-7fba-2722-cb9e5c84f06f.png)
勉強会は実際に皆に体験してもらう事を第1としてワークショップ形式で実施しました。

- **学習用Notionページを準備**
    - Notionで旅行計画ページを作成しようというお題で、クエスト形式でお題をこなしてもらいながらNotionの使い方を覚える事ができる学習ページを準備
- **zoomにて勉強会実施**
    - 勉強会は基本的な機能の使い方編とデータベース編として2回実施（1回1時間30分（30分は質問タイム）×2回）  
    - 勉強会は進行役と数名のサポートスタッフにて実施
    - 勉強会の内容を動画にしてもらい、後から復習できるように対応

Notionにおいてデータベースは最も重要なポイントとなるかと思いますので、このあたりをしっかりフォローしてあげると良いかなと勉強会を通して感じました。


##confluenceからのデータエクスポート、Notionへのインポート
一番苦労したのがこちら。confluenceからデータエクスポートして（HTML形式）、Notionへインポートすることが可能ではあるのですがある程度の制約がどうしてもあるのでそこは手作業か妥協するしかない形となります。
なお、Notionへのインポートですが自分の現在のプロジェクトは10年分近くのデータが蓄積されていましたが、インポートにかかった時間としては、**<font color="Red">2～3時間程度</font>**との事でした（このあたりは社内のインフラ担当の方に対応頂きました）
またNotionへデータインポート後は移行チームの方にチェックをして頂いたり、数週間の移行期間を設け（本運用開始前）皆に実際に触ってもらいながら意見を求めたり移行での問題点など挙げて貰ったりもしました。


**▼confluenceからNotionへの移行時注意点**


| 注意点         	| 備考     	|
|--------------------	|--------	|----	|--------	|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------	|
| テーブルレイアウトが崩れてしまう                 	| confluenceのテーブルはあくまでHTML。Notionはデータの表（データベースのようなもの）といったものなのでそもそも意味が違うものなのでレイアウトの崩れはどうしても発生してしまうかと思われる   	|
| テーブル内画像が移行されない             	| テーブル内に張り付けた画像は残念ながら移行できないようです 	|
| notionにはカラム（表の列）に型があり、titleプロパティのカラムが必須        	| Notionはtitleカラムが必須となっていますが、titleに相当するセルに太文字などの装飾が入っている場合に空白となってしまうようです 	|
| confluenceページ内へのページリンクが外れてしまう      	| これは残念ながらどうにもならないです   	|                                                                                                                                                                                                        	
| バージョン管理はどうしたら良い？      	| confluenceと違い、NotionではPage Historyという機能があります   	|                       
| コードが見づらくなってしまう      	| コードブロック(``` )を利用して、手作業で修正   	|       
| ページコメントは移行できない      	| 移行できないようなので、必要なら手作業で都度対応でしょうか   	|       
| 音源視聴ができなくなった      	| 音源の引継ぎはできなさそう   	|       
| 折り畳みがなくなり（▶を押すと開く奴）、展開した状態となってしまう      	| これも引き継げないようですね |
| 添付txtファイルは引き継がれない     	| 添付ファイルの引継ぎもむずかしそうですね |

引継ぎについては色々課題があるので、上記をある程度許容できるプロジェクトではないと難しいかもしれません。
リンクが切れてしまう系の問題はしょうがないと思うので、今回一部のリンクについてはconfluenceからエクスポートした際のデータを手作業で一括置換して対応しました。
ちなみに、最近Notionの方でシンプルテーブルという機能が追加されたので上記のいくつかはある程度は解消しているかもしれないですね（誰か試したら結果を教えて頂けると助かります）


#まとめ
現在は移行も終わり、プロジェクトメンバーには普通にNotionを使ってもらえている状況となりました。
また、Notionに変わってドキュメントを残しやすくなったという声も少なからず聞く事があり移行して良かったなとも感じます。
ただ、現状アカウントの管理方法（社内全体にて）やセキュリティ面の問題などの課題も上がっている状態なので移行後のケアは今後も継続的に行っていく必要がありそうです。

Notionは最近日本語化もされ、実際使ってみるともうNotionからもう離れるのはなかなか難しいなと思えるほど非常に便利なツールかと思いますので導入を検討している人がいれば是非この記事が少しでも参考になりましたら幸いです。


明日は[@shirahama_manabu](https://qiita.com/shirahama_manabu)さんの記事です。お楽しみに！！