Skip to content
DocBaseからesa.ioへのインポートスクリプト(サンプル)
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib Enable to imporot comments Nov 24, 2017
tmp Prototype (#1) Nov 2, 2017
.gitignore Prototype (#1) Nov 2, 2017
Gemfile Disable comment import for now Nov 2, 2017
Gemfile.lock Disable comment import for now Nov 2, 2017
LICENSE Initial commit Nov 1, 2017
README.md Transfer repo to esaio Nov 24, 2017
app.rb Prototype (#1) Nov 2, 2017
config.sample.yml Prototype (#1) Nov 2, 2017

README.md

d2e

DocBaseからesa.ioへのインポートスクリプトのサンプルです

スクリプトを使った移行の流れ

メンバーの紐付けの準備

  • Docbase上で、memmber全員の「名前」を「ユーザーID (半角小英数) 」と同一に揃えてください
  • docbase上のユーザーをesaに招待し、「ScreenName」をdocbase上の「ユーザーID (半角小英数) 」と同じにして下さい

これらは、メンバーの紐付けのために必要です。この作業を行わなくても移行は行なえますが、システムが投稿した記事やコメントの扱いになります。

DocBaseからのエクスポート

DocBase上でメンバー名を調整したあとで、JSON形式でファイルをダウンロードします

スクリプトの用意

※ スクリプトの作成・動作確認はRuby2.4.1で行っております

$ git clone https://github.com/esaio/d2e.git
$ bundle install
$ cp config.sample.yml config.yml

次に、

  • JSON形式でダウンロードした3つのzipを全てzipディレクトリに配置します
    • esaでは同じチーム内での記事の閲覧権限は全員同じなので、全員が閲覧できてまずいドキュメントはこの段階で削除して下さい
  • config.yml にAPIトークンや設定を記述します
  • 必要に応じて lib/converter.rb の内容を変更します。

スクリプトの動作確認(Dry Run)

$ bundle exec ruby app.rb

ここでは、まだ実際には移行が行われません。 移行された場合にどうなるか出力されます

インポート実行

Dry Runの出力が問題なければ、実際にインポートを実行します。 ※ スクリプトの実行前に、esa運営チームにご連絡頂ければAPI制限の一時引き上げなどが可能です。

$ bundle exec ruby app.rb --run

途中からインポートを再開する

インポート実行の途中でプログラムが終了してしまった場合などは、 --start=[index] オプションで途中からインポートを再開できます。

例: 123番目の記事からインポートを再開

$ bundle exec ruby app.rb --run --start=123
You can’t perform that action at this time.