こんにちは!
クラウドログ開発チームで日々研鑽を積んでいる中山です。
クラウドログの開発には3年ほど携わっているのですが
クラウドワークスへの入社は2021年の7月なのでピチピチの新入社員です(!?
ピチピチなので今回エンジニアブログ初執筆となります。よろしくお願いします。
この度クラウドログチームではNotionの利用を開始しました。
それに伴い今までQiita Teamに作成していた記事をNotionへ移行することになりました。
この記事では上記Notionの利用開始とQiita Teamからの移行で得た知見をお伝えします。
※Notion(ノーション)とはタスクも、メモも、ナレッジも、すべてをひとつにする All-in-one workspace です。
はじめに
この記事では以下をお伝えしていきます!
- Notionの利用を決めた理由
- Notionをどのように活用しているか
- Qiita Teamの記事をNotionへ移行する方法
そして、以下のような方の助けになれたら幸いです。
- Notionの利用を迷っている方
- QiitaからNotionへ移行しようと思っている方
- クラウドワークスの文化に興味のある方
それでは、最後までお付き合いいただけましたら幸いです。
結論
- チーム内でのナレッジ共有においてNotionで困ることは特にない
- ナレッジ共有以外にもいろいろできるNotion
- Qiita Team からNotionへサクッと全記事を移行する手段は2022年1月時点では見つけられなかった
Notionの利用を決めた理由
最初に理由を3行でまとめておきます。
- Qiita Teamでやっていたことに加え、他にも色々なことができそう
- 費用はあまり変わらない(ユーザ権限をうまく検討すればQiita Teamより安く済む)
- 移行に対して反対意見がなかった
そして以下はその経緯です。
はじまりはクラウドログのPMから投げられた一つのアンケート
このアンケートの結果は
- 賛成 33%
- 特にこだわりがない 50%
- notionを知らない 11%
- その他 6%
- 反対 0%
という感じでとりあえず反対意見はなかったので、
まずは検討を進めてみようという結果に。
ちなみにPMの思いは以下の様な感じでした。
- 費用はQiita Teamの8割くらい
- NotionでもQiita Teamでやっていたことができる
- 上記に加えて他にも色々できそう(リッチなドキュメント作成、スケジュールも引ける)
- 使いやすそう
- ベンチャー界隈でかなり使っている企業増えている
かくいう私は、新しいツールを使うということにワクワクする人間なのでもちろん賛成しました!
Be Agile !! 1
コラム:Notionのユーザ権限設定と費用について
Notionではページごとにゲストユーザを招待することができます。
そしてゲストユーザでも以下のことは実施できます。
- 招待されたページの編集
- 招待されたにデータベース(ページの集合体)にページを作成する
- つまり、ナレッジベースというデータベースに招待しておけばそこにナレッジのページは作成できる
- Notionのデータベースについては以下をご参照ください。
そのため、ナレッジを作成するだけのメンバーやページの参照だけができれば良いメンバーはゲストユーザでも十分運用可能です。
そして、ゲストユーザに対しては有料プランの請求はされません。
まずはゲストユーザではじめてみて、必要に応じて課金ユーザへ昇格するというような使い方もできると思います。
Notionをどのように活用しているか
活用方法は以下の通り!
- ナレッジベースとして利用
- 会議の議事録もNotionでとる
- 新メンバーのオンボーディングもNotion上で!
- メンバー一覧ページを作ってお互いのことを知る
- 個人のメモもNotionで!
それぞれ説明していきます。
ナレッジベースとして利用
前述のとおりQiita Teamからの移行を行っているため、
まずはナレッジベースとしての利用が1つの用途となります。
基本的にはQiita Teamの時と同様、1トピックについて1ページを作成し、
その中に内容を記載していくことになります。
すべてを紹介すると長くなってしまうので、個人的(チーム的)に便利だな、と思ったことをいくつか紹介します。
同時編集ができる
ナレッジに限って言うと、あまり複数人で同時に一つの記事を書くことってないと思うのですが、
例えば何人かで集まってレビューなどをする時にめちゃめちゃ便利です。
感覚としてはGoogleドキュメントと同じ感じです。
好きな箇所にコメントを入れられる
これもレビューをするときに大活躍!
記事内の好きな箇所にコメントを入れられます。
こちらも、感覚としてはGoogleドキュメントと同じ感じです。
ビュー(検索結果やフィルタ、表形式かリスト形式かなど)を作成して共有できる
更新日の降順でリスト表示や種別ごとにボード形式で表示、作成日ごとにカレンダー形式で表示など、
いろいろな表示形式を予めビューとして作成しておけます。
作成したビューごとにURLも発行されるので、これを活用すれば例えば
- 毎週の会議のために、直近1週間に更新のあったナレッジだけ表示
- 新規メンバーのために最初に見てほしい記事をまとめた一覧を作成しておく
みたいな使い方ができます。
逆に注意しないといけないのはバージョン履歴の保持期間が30日間(チームプランの場合)ということです。
Qiita Teamは無制限だったので注意が必要です。
※Notionの一番上のプラン(エンタープライズ)だと無制限になります。
会議の議事録もNotionでとる
今までGoogleドキュメントでとっていた議事録もNotionでとるようになりました。
Notionにはカレンダー形式のビューがあるのでどの会議がいつあったかもすぐわかり、ついでに議事録もすぐに見られるすぐれもの。
更にプロパティを自由に設定できるので、タグを付けたり参加者をチームメンバーのリストから選択して設定などもできます。
新メンバーのオンボーディングもNotion上で!
オンボーディングに必要な資料や連絡事項をまとめたページを作成し、 新メンバーにはまずはここを見てね!と案内しています。
メンバー一覧ページを作ってお互いのことを知る
メンバー一覧ページをNotion上に作成して自己紹介ページを作ってみたり
個人のメモもNotionで!
Notionには自分専用のページを作成できるプライベートエリアも用意されています。
なので、私は今までメモはAppleのデフォルトのメモアプリを使っていたのですがそれもNotionに移行してしまいました。
最初は個人用のメモとして作ってみて、やっぱり公開しようとなったらすぐに公開できるので便利です。
※ゲストユーザはプライベートエリアを利用できません。
そのため、ゲストユーザ用に個人メモを提供したい場合は、 「個人メモ」というページを作ってゲストユーザを招待し、 その配下にメモを作成してもらう、などの手順が必要になります。
この場合はプライベートではないので他の人からも見えてしまいますが・・・
または、Notionは複数のアカウントログインしておけばアカウントを切り替えることができるので、 個人のメモは個人のNotionを利用してもらう、といったことも可能です。
Qiita Teamの記事をNoitonへ移行する方法
最後に、クラウドログチームではQiita Teamの記事をどのようにNotionへ移行しているかを紹介します。
冒頭の結論部分でも述べましたが、ぱっと移行する方法は現状ありませんでした。
なので本章では以下それぞれの手順を説明させていただきます。
- Qiitaの記事をAPIで一括エクスポート
- Qiita Teamの記事一覧をNotion上に作成
- NotionにQiita Teamの記事をインポート
1. Qiitaの記事をAPIで一括エクスポート
Qiita Team自身にも記事をすべてエクスポートする機能があるのでが、
残念ながらこのエクスポートファイルには画像が含まれません。
そこで、今回はQiitaが提供しているAPIを使用して画像も含めて記事をエクスポートするスクリプトを作成しました。
こちらがQiitaの提供するAPIのリファレンスです。
今回はそのうちのGET /api/v2/itemsを使用してQiita Teamから前記事のデータを取得し、
更に取得した記事の一覧をCSV形式で出力します。
作成したスクリプトについてはgithubにて公開させていただいております。
ご興味のある方、使用してみたい方は以下のリンクからご確認ください。
上記のスクリプトでは以下のファイルを出力します。
- Qiita Teamの各記事のマークダウン形式のテキストファイル
- 各記事に含まれていたが画像ファイル
- 各記事のメタデータ(投稿者ID やタグなど)のjsonファイル
- エクスポートした記事の一覧を記載したCSVファイル
これらを使用して後続の手順でNotionへの移行を行っていきます。
2. Qiita Teamの記事一覧をNotion上に作成
NotionにはCSVをインポートする機能があります。
それを使用して、上記スクリプトが作成したCSVファイルをインポートします。
これにより、Qiita Teamの記事一覧をNotinon上に作成することができました。
また、CSVファイルを取り込んで作成された表に新たな列を加えることも可能です。
クラウドログチームでは「Status(移行状況)」、「Notion URL」「メモ」の列を追加し、
それぞれの記事の移行状況が分かるようにしています。
もちろんこの表に対してもビューを作成できるので、
移行がまだのものを表示するビューや、グループごとの記事を表示するビューを作成することで
移行状況がよりわかりやすくなります。
当初はQiita Teamのすべての記事をNotionへ移行する予定で検討しておりましたが、
古くなってもう使用しない記事などもあったため、
「移行しない」と決めた記事もこの表で管理できるようにしています。
そして、Googleドライブにスクリプトで取得した記事のマークダウンファイルを置いておくことで、
万が一のためのバックアップとすることにしました。
3. NotionにQiita Teamの記事をインポート
「移行する」と決めたQiita Teamの記事をNotionにインポートします。
Notionにはマークダウン形式のファイルをインポートする機能があるため、
上記スクリプトが出力したマークダウンファイルをそのままインポートすることが可能です。
ただしいくつか注意点があります 以下の注意点はいずれも2022年1月末に試した際の挙動となります。
マークダウンのインポート先
Notionのデータベースへマークダウンをインポートしようとしたのですがうまくいかず、
自身のプライベートエリアにインポートされてしまいました。
ただし、この場合でもドラッグアンドドロップでデータベース配下に記事を移動することができます。
Qiita <=> Notionの非互換部分
- Notionは見出しが3階層まで
- Notionはコード(```)のファイル名表示は非対応
画像ファイルは手動で差し替える必要がある
上記スクリプトが出力したマークダウンファイル内の画像のURLはQiita Teamを向いたままになっているため、
手動で画像を差し替える必要があります。
Notionには画像を差し替える機能があるためこれを利用することも可能です。
記事に含まれる「Qiita Teamの別の記事へのリンク」は手動で差し替える必要がある
リンク先の記事をNotionに作成した上で、リンク元の記事のURLを差し替える必要があります。
Notion上のタグ付けは手動でやる必要がある
Notionへ移行後、Notion上でタグなどを付ける場合は手動で実施する必要があります。
Notionではタグ以外にも様々なプロパティを付与できるので、
これを機にプロパティを見直すもの良いかもしれません。
以上が注意点となります。
画像ファイルがたくさん含まれていたり、
他記事へのリンクがたくさんあるものほど移行には時間がかかってしまいます。
最初からすべての記事をまるっと移行するのは大変なので、
Notion上に作成したQiita Teamの記事一覧を活用しつつ、
必要なものから適宜Notionへ移行していくというのが現実的かもしれません。
今後の展望
NotionもBeta版ではありますがAPIを提供しています。
今後NotionのAPIが整備されてくれば、
Qiita APIから記事を取得 → NotionのAPIを使用してページを作成
なんてこともできるようになりそうです。
画像やページ内リンクのことを考えると、なかなか一筋縄では行かないかもしれませんが、
今後はもっと簡単に移行作業ができるようになることを切に期待しています。
最後に
今回のNotionへの移行にあたって、まずは社内Slackのbabubabu2チャンネルで情報共有をさせていただいたのですが、 チームの垣根を超えてたくさんの人からのリアクション、返信をいただけました。3
これぞ One CrowdWorks!! 4
CrowdWorksにはいろいろなサービスやチームがあり、 そしてなにより温かい仲間がたくさんいます!
そんな環境で一緒に働きたい人、お待ちしています!