Evernote から Joplin へ移行

遅まきながら Evernote から Joplin へ移行メモ

Upnote と最後まで迷いましたが、Upnoteは下記の要因で見送り
  • ノートブック共有がない(ノート単位の共有あり)
  • OCRがない
  • 画像(1MB以上)の解像度が下げられる

Joplin について
  • Markdown(MD)の傾向が強い → HTMLメインの設定あり
  • アプリケーション(オープンソースで無料)とストレージが分離されていて、ストレージに Joplin Cloud の他 Dropbox や OneDrive (Google DriveはNG) や Joplin Server(自前サーバ) が利用可能
    Joplinの収入は主に寄付と Joplin Cloudって事になります
    ※共有機能を利用するには Joplin Cloud か Joplin Server を要利用
  • pdf内の検索 ※古い記事にはpdf検索が無い記載あり
    テキストを含むpdfは OCR Service が文字列として検索対象、画像はOCRを有効にすれば認識だがOCRの問題点は含まれる
  • OCR機能(画像、pdf)は後から追加されており ※古い記事にはOCRが無い記載あり
    PC版の設定から有効にできる(要PC - 同期クライアントに一つ以上PCがいればよい)
    ただし! 日本語についてはOCR結果を見ると分かち書きになっていて、文字の間に全てスペースが入っている(何だよそれ)、なのでOCRテキストは「日 本 語」みたいにスペースを入れるとヒットしたりする → 利用しているライブラリ(tesseract)の影響
  • 検索やOCR等、負荷の大きい作業はローカルで行われる、つまりインデックスのsqliteが存在する(スマホは負担有り?) → ストレージが自由なのはそういう事
  • スマホで編集可能なのは実質MDノートのみ、HTMLノートは編集がタグ(爆)
  • 複数ワードの検索で、ノートとリソースの横断検索を行ってくれない【下の方で説明】

Evernote(enex)からのインポート
(テストパターンを作って取り込んでみた結果)
enex からのインポートは「Markdown(MD)」と「HTML」の2パターン

MDの場合かなり書式が失われるため、一旦HTMLで取り込んでおいて、可能なものは HTML→MD 変換をあとからすればOK~ と思っていたが HTML→ MD変換はノートが新規作成となって作成日、更新日、共に変換した日時に変わってしまう

→ 面倒だけど一部のノートブックは enexファイルの名前(ノートブック名)を取り込み時に変更して、HTML形式とMD形式の両方で取り込み、それぞれ必要なのを残して統合しました

HTML形式で取り込んだノートは、上部に「MDへコンバートする?」みたいなバナーが出る
※HTML→MDすると、元のHTMLはゴミ箱に移動する
Don't Show... でバナーがを消してしてしまったら、設定から復活させる
取り込み時は、無用なエラーや競合を避けるため
  • OCRをオフ
  • 同期を無効
  • バックアップ(plugin)を停止
  • 履歴を無効(OCRが終わるまでは無効にしておいた)
ただし同期はインポートしたノートを表示した時点で始まってしまうので、同期が完了するまで次のインポートは待つ

HTML形式インポート のなんだかな
  • HTML形式では pdf のインラインプレビューが行われない(evernoteのスマホみたいな感じ) なので、pdf とコメントだけみたいなのは、取り込み後にMD変換
  • 背景が白
    アプリケーションのテーマをダークにしていると、ノート部分だけ白、CSSをいじってもダメでした、ライトテーマだと気づかないかも

マークダウンを表に出さない設定
デフォルトで「MDエディタ + プレビュー」になっています
これを「プレビュー」のみにすれば、「プレビュー」⇔「HTMLエディタ」となります

マークダウンで改行<p>の行間が大きい
Enter は <p>、Shift + Enter は <br/> です(Evernote は <div>と<br/>)
設定のスタイルシートで
下記のように変更(pセクションを追加)して、Joplinを要再起動(ctrl+qで確実に終了)
/* For styling the rendered Markdown */
p {
    margin-block-start: 0.3em;
    margin-block-end: 0em;
}
上記CSSでの Evernoteとの比較

ストレージを Joplin Cloud にするか Joplin Server にするか
ノートブック共有を使用する前提なので、この2つ

Evernoteでの容量が30GBを超えているため、Joplin Cloud の Basic(2GB)や Pro(30GB)では足りず、Team(50GB)となると年契約でも 6.69ユーロ=1,200円/月 となるため、VPSか自前サーバになるかと (Joplin Cloud のストレージ小さくないかい)

サーバ本体とストレージ諸々揃えたら、安いvpsでも変わらない計算に
ひとまず vpsを月契約で借りて試験運用(エンドツーエンド暗号をオンにして)

エンドツーエンド暗号しつつ、共有ノートブックを利用ってどうなんだろうと思っていたが、すべてのユーザーが暗号化を利用する必要がある(これは特に問題ではない)
そして、共有ユーザーの公開鍵を用いて暗号化する(復号化できるのはそのユーザーのみ)んだそうです

スマホの同期
容量にもよるけど、添付ファイルは「自動」(オンデマンドでダウンロード)にしておくべき
※全ての添付をダウンロードされたら容量的に厳しい(個人的に)
また、同期はアプリが全面かつスリープでない状態でないと同期しないっぽいので、Androidだとアプリを2画面分割にして、片方でJoplinを稼働させておくべし

移行後の同期
  • データは、ノート 約36,000、リソース 約42,000、enexでのデータ量 約45GB
  • エンドツーエンド暗号を有効化
    → ローカルの resources フォルダに .crypted というファイルがリソースファイルと共に作られる → 暗号化+リソースを全て取得する場合、リソース×2倍より少し大きい容量が必要となる
  • インポートしたPCからサーバへのアップロードは12時間程度で完了
  • アップロード後のサーバ使用量は 70GBくらいになっていた
    このデータ量には Joplin Server 本体も含んでいて、Joplin Webからユーザー使用量 を確認したら 46GBと元データ量(enexはリソースがbase64なので3割増)とそれほど変わらないっぽいが、サーバ容量は余裕を持って...
  • 他PCへの同期(添付ファイルのダウンロード=自動 なのでノートとインデックスのみ)に、4時間程度
  • スマホへの同期、画面が開いてないと同期しないのか、ものすごく時間がかかる、その間にスマホで変更したノートは同期の最後に置かれるのか、ずっと同期されない
    4日くらいかかって同期完了
  • リソースがローカルに存在するPCでOCRをオンにする(CPU使用率高)、リソース数からの進み具合を計算すると10日くらいかかる計算
    終盤になってOCRが進まない原因が判明、最後の数千件は一晩で終わりました

複数ワードでノートとリソース(添付ファイル)の横断検索を行ってくれない
個人的に Joplin最大の欠点ではないかと思う

下記のようなノート(薬局で買い物したレシートを添付)があった場合
タイトル: 2026-01-09 Joplin薬局
リソース: レシート画像→OCR(牛乳, コーヒー豆, クッキー...)
下記の検索ワードで検索を行う
「Joplin薬局 牛乳」 → ヒットしない
「Joplin薬局」 → ノートが検索ヒット
「牛乳」 → リソースから検索ヒット

ノートとリソース(OCR含む)のテーブルが分離されていて、結合検索してないのが原因
いまさら可能にしようとすると、テーブル構造の変更か、クエリ側でバラバラになったテーブルを連結して検索する(大幅に検索時間が増える)など影響が大きいでしょう


コメント