LoginSignup
4
4

More than 5 years have passed since last update.

GROWI のデータを丸ごとesa.io に移行する

Last updated at Posted at 2018-07-14

個人用WikiとしてGROWI(旧Crowi-plus)をheroku上で運用していましたが、このたびesa.ioに乗り換えることにしましたので移行方法を残しておきます。

概要

GROWIの内容をすべてesa.ioに移行します。

esa.io公式ヘルプのQiita:Teamからの移行スクリプトを参考に、これをGROWI仕様に書き換えました。

GROWIのAPIは公式にドキュメントがありませんが、GitHubにあるルーティングスクリプトを参考にしました。

手順

GROWIのAPIトークンを生成する

スクリーンショット 2018-07-14 14.14.19.png

GROWIを開き、画面右上の「ユーザ設定」から「API設定」のタブを開いてAPI Tokenを発行しておきます。

esa.io のAPIトークンを生成する

esa.ioのユーザ管理ページのApplications(https://[team].esa.io/user/applications)から「Personal access tokens」の横のGenerate New Tokenをクリックします。

すると、以下のようなページが現れます。

スクリーンショット 2018-07-14 14.25.56.png

初期状態ではReadのみにチェックが入っていますが、Writeにもチェックを入れ、Saveボタンを押すとトークンが発行されます。

トークンは一度しか表示されませんので、必ず控えておきましょう。

必要なGemを用意する

以下のようにして必要なGemをインストールします。

$ gem install esa json pp net

スクリプトをコピペして適切に編集する

以下のURLに掲載しているスクリプトを手元に落としてきて、TODOと書かれている箇所を編集します。

コンソール上で実行する

スクリプトが置いてあるディレクトリに移動し、以下のように実行すればおしまいです。

$ ruby import.rb

初期状態ではインポートされるデータがコンソールに表示されるだけになっています。

正しくデータが表示されているのを確認したら、スクリプト最終行の

importer.import(dry_run: true, start_index: 0) 

の引数をdry_run: falseに変更して再度実行すると実際にインポートが行われます。

うっかり2回実行してしまうと、同じ記事が2つできてしまうので注意しましょう。

ポイント

  • データの取得箇所をAPI経由に変更した以外は、ほとんどQiita:Teamと同様の手順で実行できました
  • カテゴリは基本そのまま維持されますが、カテゴリのトップページはesaではREADMEになっているため、適宜手動で変更してください
  • 回し者ではありませんが、楽しいesaライフを (\( ⁰⊖⁰)/)

参考サイト

以下を参考にしました。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4