🍊

Pleasanter のアップグレード補助ツールを書いた

2022/12/26に公開

2022 個人アドベントカレンダー の記事です。

これは何

皆さんプリザンターバージョンアップしてますか。
わたしはしてません。

が、最近 finch で起動させるようにしてから、finch の verup でデータが飛んだり、finch が応答しなくなって reinstall したりしたときに、DB ダンプから戻すので、ついでにバージョンを気軽にしたくなったので補助ツールを作りました。

Pleasanter の upgrade ツールない問題はシステム部門ユーザは絶対感じてると思うので、アドベントカレンダーの締めとしてもちょうどいいかなと。

やること

1.3 から使いはじめた新参なので 1.3 でのバージョンアップだけを考えてます。
(1.2 は考えてません)

DB のバックアップやアップグレード後の CodeDefiner の実行は別途対応してください。
(個人的には、起動してエラーにならなかったら CodeDefiner しない派)

できたもの

TypeScript というか Deno で作りました。こちらのリポジトリにあります。

https://github.com/papinianus/PleasanterUpgradeAssistance

なので、

  • deno が利用できる環境なら
    • deno run --allow-all main.ts --path /web/pleasanter --target 1.3.27.0 するとか
    • Shebang を書いて、シェルスクリプトっぽく実行するとか
  • 他の環境に持っていくなら
    deno compile --allow-all --unstable --target x86_64-unknown-linux-gnu main.ts するとか

適宜ご対応ください。

なお 1.3.26.1 から 1,3,27.0 で、しかも大した設定をしてない環境でしか試してません。
ソースコード公開してますが、万一リクエストが寄せられることがあればベストエフォートで対応します。

1 ヶ月のラップアップ

あらためて 2022 個人アドベントカレンダー の記事です。

感想

  • 最終日まで遅刻してしまった。
    • GitHub の草を絶やさない活動をしてたのだが、これやってて途切れた。人生ハード
    • まあでも一応やった。
  • 当初思ってたリストと違った。
    • うまく実装にできないこと、調査がつめきれず上手く記事にできなかったなどで方針転換をしたり。
  • zenn めっちゃ便利

Plesanter について

  • 開発者 unfriendly
    • API 、サーバスクリプト、スクリプトの仕様に一貫性がない。View みたいに、文字列化した JSON を文字列化した JSON の値にしないといけなかったりするし、(デフォ値を省略するせいで)サイトパッケージのオブジェクト構造が分からない。かなり辛い。
    • こうやれば機能が作れた、が、そのまま外向けの API インターフェイスになっている感があり、険しい。
  • 設計がない
    • ロック項目が読取専用で触れることが、先週バグとして解消されたけど、機能的にわりと古いし、そもそも専用の Action も設定されているのにあっさりバグと言われると、仕様がないんじゃないかと思えてならない。
    • もうちょっと「こう使うことはできないの」「これができたらもっと便利」といったかたちで、ユースケースに対して主体的な開発者が参画してくれることを期待[1]

今後は Notion とか他のアプリを試すつもりだけれども、ワンチャンこの一連の記事を通じて Pleasanter コンサルして欲しいなどの引き合いがないかな……。

脚注
  1. https://twitter.com/redsasakou/status/1606656623384342528 ↩︎

GitHubで編集を提案

Discussion