Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
View Customize Plugin for Redmine
Search
onozaty
February 19, 2015
Programming
0
31
View Customize Plugin for Redmine
View Customize Plugin for Redmine
onozaty
February 19, 2015
Tweet
Share
More Decks by onozaty
See All by onozaty
Dev Containers のススメ
onozaty
0
19
リモートワーク中に買って良かったものベスト3
onozaty
0
200
情報を表現するときのポイント
onozaty
0
28
チームで開発するための環境を整える
onozaty
1
330
Selenium入門(2023年版)
onozaty
1
200
40歳過ぎてもエンジニアでいるためにやっていること
onozaty
0
73
Java8から17へ
onozaty
0
25
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
onozaty
0
250
Redmine issue assign notice plugin の紹介
onozaty
0
250
Other Decks in Programming
See All in Programming
RailsのValidatesをSwift Macrosで再現してみた
hokuron
0
140
Agentic AI: Evolution oder Revolution
mobilelarson
PRO
0
200
ロボットのための工場に灯りは要らない
watany
12
3.2k
Strategy for Finding a Problem for OSS: With Real Examples
kibitan
0
120
へんな働き方
yusukebe
6
2.9k
PHPで TLSのプロトコルを実装してみる
higaki_program
0
520
CSC307 Lecture 15
javiergs
PRO
0
270
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
640
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
430
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
4
1.4k
Feature Toggle は捨てやすく使おう
gennei
0
370
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
16
3.4k
Featured
See All Featured
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
490
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
250
Making the Leap to Tech Lead
cromwellryan
135
9.8k
The Pragmatic Product Professional
lauravandoore
37
7.2k
The Invisible Side of Design
smashingmag
302
51k
Making Projects Easy
brettharned
120
6.6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
120
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
330
Transcript
View Customize Plugin for Redmine コードでRedmineをカスタマイズ 2015.02.19 社内勉強会 onozaty
View Customize Plugin Author: onozaty onozaty/redmine-view-customize - GitHub
作ったきっかけ
個人が使っている Redmine用のステキなUserScriptを プロジェクト全員に適用できないか? ※UserScriptとは、画面ロード時に任意のJavaScriptを実行して 画面カスタマイズを行えるブラウザの機能 (FirefoxのGreasemonkeyとか)
いろいろ難しそう • UserScriptをメンバ全員に確実にインス トールする方法がない(個人任せになって しまう) • UserScriptをアップデートするたびに、各 メンバに反映してもらうのが大変 • UserScriptって何?IEはどうする?
じゃぁ、Redmine側を カスタマイズすればよいのでは?
Redmineのカスタマイズ方法 • Redmineのコードを変更する • Pluginを作る 手っ取り早いけど、メンテナンス性考えると後々面倒 (Redmineのバージョンアップ時に、どこに手を加えた のかを追わなければならない) といっても、ちょっとした変更毎にPlugin作ったり、 Plugin修正するのは面倒
UserScript のように 自由にスクリプトを 実行できる機能をRedmineに!
View Customize Plugin • Redmineの画面をカスタマイズするための Plugin • 変更したい画面に対してJavaScript、CSS を埋め込み、実行することにより、画面 を変更する
設定方法 コードを実行するパス。 正規表現で記載。 実行するコード。 JavaScript または StyleSheet(CSS)で書く。 Redmineの画面で使用 されているJQueryも使 える。(Redmineのバー
ジョンによってライブ ラリが違うので注意)
実行 パスが一致すると、コードが埋め込まれて、実行される
できること • UserScriptで対応可能なことは、ほとんど できるはず(UserScript特有の機能を使って いない限り、移行も簡単) • JavaScriptとCSSを埋め込めるので、画面 上で完結することは、コードさえかけれ ば、なんでもできる
例 • プロジェクト毎に背景色を変える • http://onozaty.hatenablog.com/entry/2014/07/05/000000 • 自分の名前を強調して表示する • http://onozaty.hatenablog.com/entry/2014/07/07/000000 •
サイドバーを非表示にする • http://onozaty.hatenablog.com/entry/2014/08/08/000000 • チケット画面で履歴をショートカットで 移動する • http://onozaty.hatenablog.com/entry/2015/02/08/000000
ちょっとコードを書けば Redmineを変えられる
ぜひあなたのコードで プロジェクトのみんなをハッピーに おわり