※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 等でプラグイン作者を支援していきましょう!