LoginSignup
5

posted at

updated at

Redmine(trunk)でZeitwerkへのプラグイン対応状況を調べる

※2022/05/26 更新

Redmine Advent Calendar 2021の 25日用の記事です。

今年も最新Redmineを追いかけて、落とし穴を踏んでるお話を書きます。

Zeitwerk に対応した Redmine(trunk) でプラグイン対応状況を確認しました。
問題の変更点は こちらのチケット をご覧ください

Extract Redmine::PluginLoader from Redmine::Plugin (#32938).

※RedMica2.0にはZeitwerk対応は取り込まれていませんが、いずれ直面する問題です。

プラグインの死因、どう対処すればよいのか、は8日目の tohosaku さんの プラグイン を Redmine 4.* でも 5.0 でも動かすためには をご覧ください。

確認環境(2022/05/26 20:06時点)

Environment:
  Redmine version                5.0.1.devel.21603
  Ruby version                   2.7.3-p183 (2021-04-05) [x86_64-linux]
  Rails version                  6.1.6
  Environment                    production
  Database adapter               PostgreSQL
  Mailer queue                   ActiveJob::QueueAdapters::AsyncAdapter
  Mailer delivery                smtp
Redmine settings:
  Redmine theme                  Farend_fancy (includes JavaScript)

対応状況(2022/05/26 20:06時点)

プラグイン バージョン trunk(rev.21603)対応 備考
full_text_search 1.0.4 2022/4/12にRails6&Zeitwerk対応
redmica_ui_extension 0.3.2 masterは対応。tag v0.2.0/v0.2.1 は非対応
redmine_absolute_dates 0.0.4
redmine_banner 0.3.4 masterで対応
redmine_code_review 1.1.0
redmine_issue_assign_notice 2.1.0 2.0.0で対応
redmine_issue_templates 1.1.0 ※2
redmine_jstoolbar_ext 0.2.1 × ※3
redmine_jstoolbar_ext_buttons 0.2.1 × ※3
redmine_message_customize 0.1.3 0.1.2で対応
redmine_searchable_selectbox 0.1.6 × redmica_ui_extensionに移行しましょう
redmine_theme_changer 0.5.0
redmine_vividtone_my_page_blocks 2017/07/05
redmine_wiki_extensions 0.9.3 0.9.3で対応
redmine_wiki_index_tree_view 0.0.1 × ※5
redmine_wiki_lists 0.0.11
redmine_wiki_page_tree 0.0.2 × ※5
redmine_work_time 0.4.1
redmine_xlsx_format_issue_exporter 0.1.7 ※6
view_customize 3.0.0 3.0.0で対応

※LycheeRedmineはalmへのディレクトリ関係が解決できないため全て死にます。

備考

※1 full_text_search

Zeitwerk以前に、Rails6に未対応。
issueをあげたところ最終的には対応するとのことですので、Redmine5.0のリリースに合わせての改修を期待します
https://github.com/clear-code/redmine_full_text_search/issues/97
2022/04/12のアップデートで対応していただけました! RedMica2.0/Redmine(trunk)いずれでも動いています!

※2 redmine_banner,redmine_issue_templates

アジャイルウェアのリポジトリ。「Zeitwerkで動かなくなるよ!」とプッシュ済みなので、Redmine5.0のリリースに合わせての改修されると思っています。
→redmine_bannerは2022/03/25に対応。redmine_issue_templatesは2022/03/28に対応。

※3 redmine_jstoolbar_ext,redmine_jstoolbar_ext_buttons

オリジナルのリポジトリはすでにアーカイブ済み。fork先に期待するしか…

2022/05/26
自分でforkしてみました。
https://github.com/ryouma-nagare/redmine_jstoolbar_ext
https://github.com/ryouma-nagare/redmine_jstoolbar_ext_buttons

※4 redmine_theme_changer

redmine_code_review、redmine_wiki_extensions と同じくiidaさんのリポジトリなので対応を期待しています。
対応済みです。iidaさんありがとうございます!

※5 redmine_wiki_index_tree_view,redmine_wiki_page_tree

どちらも最終コミットが古いので期待薄…

※6 redmine_xls_export

対応を祈ってます…
2022/05/25 redmine_xlsx_format_issue_exporter が対応しているので、そちらに移行しましょう。

終わりに

Redmine5.0 は Rails6 で動くようになるというのは以前から聞いていましたが、trunk 環境でも full_text_search 以外は問題なく動いていたので楽観視していました。
しかし、降って湧いた Zeitwerk対応でかなりのプラグインが死ぬハメに…

tohosakuさんには、redmine.tokyo 第21回勉強会 のグループディスカッションで対応方法、あるべきプラグイン開発体制などの深い話を聞かせていただき、感謝しております。

Redmineを使い続けるためにプラグインは欠かせない存在です。
うち捨てられたプラグインは諦めるか、forkを待つしかありませんが、Zeitwerk対応していただいたプラグインの作者には感謝することしきりです。

Redmineユーザは issue報告や、GitHub Sponsors 等でプラグイン作者を支援していきましょう!

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
What you can do with signing up
5