すえひろがりっっっっ! このページをアンテナに追加 RSSフィード

2015-06-03

管理者権限でログインしているかどうかをひと目で分かるようにする Redmine プラグインを作った

Redmine管理者と一般ユーザを分けていると、よくある失敗として、

管理者権限でログインしたままでいることを忘れたままチケットを作成・更新してしまう、

ということがあります。

そうすると、チケットの更新者が自分じゃなくて管理者ユーザになってしまって悲しい思いをします。

そういった事故を減らすために管理者ログインしているかどうかをテーマでひと目で分かるようにするプラグインを作りました。

環境

Redmine 3.0.0

ソースコード

https://github.com/suer/redmine_admin_class

機能

管理者ユーザでログインしている時のみ <body> タグの class に "admin" を追加します。

この class を利用したテーマを自作することで管理者と一般ユーザの画面の見た目を切り替えることができるようになります。

利用手順

テーマを作成します。

例えば、public/themes/admin/stylesheets/application.css を以下のように作成します。

@import url(../../../stylesheets/application.css);
body.admin #top-menu { background-color: #f0908d; }
body.admin #header { background-color: #f2a0a1; }

管理画面で作成したテーマを指定します。

f:id:suer:20150603232342p:image:w400


この例の場合は、一般ユーザでログインした場合は通常の画面

f:id:suer:20150603232344p:image:w400

管理者ログインした場合は別の見た目になります。

f:id:suer:20150603232345p:image:w400

これで誤ったアカウントでチケットを更新する事故をかなり防げるようになります。

まとめ

2012-09-25

自作 Redmine プラグインの Redmine2.1 への対応状況

Redmine 2.0 までは prototype.js ベースだったのに対して、2.1 では jquery ベースとなっています。


prototype.js を前提とした javascript のコードを含むプラグインは全て修正の対象となります。


自作プラグインRedmine 2.1 への対応状況をまとめておきます。


アップデートが必要なプラグイン

以下のプラグインRedmine 2.0 用のままでは動作しません。

Redmine 2.1 で使用する場合は最新のものを使用してください。

2.0 用のまま使えるプラグイン

Redmine2.0 からアップグレードした場合、以下のプラグインは更新の必要がありません。

まとめ

私の自作プラグインは小さなものばかりなので、javascript のコード量も少なく対応は楽でした。

少なくとも Rails3 対応よりはかなり楽でした。

大型プラグインでは javascript を多用しているものが多いと思うので大変だと思います。

Rails 自体変化が激しいので、今後もすぐにプラグインが動かなくなるのでしょうか。。。

2012-07-16

codefirst が使用している 10 の Redmine プラグイン

codefirst で使っている Redmine にインストールされているプラグインを数えてみるとちょうど 10 だったので公開してみようと思います。

ちなみにほとんど自作プラグインです。自演乙。


1. Redmine Absolute Dates plugin

http://github.com/suer/redmine_absolute_dates

チケットの作成日や更新日などで表示される「XX 日前」のような表記を yyyy/mm/dd 形式に変更するプラグインです。

小ネタプラグインのわりにはダウンロード数が多いようです。

みんな困っていたのか。

2. Redmine Code Review plugin

http://www.r-labs.org/projects/r-labs/wiki/Code_Review

Redmineリポジトリ表示上でコードレビューコメントをつけることを可能にするプラグインです。

コードレビュー結果はチケットとして作成されるため、すぐに担当者にフィードバックされます。

codefirst で使用している Redmine プラグインの中ではとても重要で、このプラグインが対応されるまで Redmine2.0 へのアップデートを止めていたほどです。

もはやこのプラグイン無しでグループ開発は考えられません。

3. Redmine Enter Cancel plugin

https://github.com/suer/redmine_enter_cancel

説明を書く前にチケットのタイトルでエンターを入力してチケットが作成されてしまうのを防ぎます。

これも困っていた人は多かったようです。

4. Redmine Incr Code Search plugin

https://github.com/suer/redmine_incr_code_search

ソースコードリポジトリのファイルをインクリメンタルサーチします。

階層の深いソースコードリポジトリを持つプロジェクトにおすすめ。

5. Redmine Issues Summary Graph plugin

https://github.com/suer/redmine_issues_summary_graph

チケットの作成、クローズを時系列に集計してグラフ化するプラグインです。

どの時期にチケットが増えたのか、対応をがんばったのはいつ頃かを可視化することができるので、暇なときにニヤニヤしながら眺めることができます。


6. Markdown Extra formatter

https://github.com/juno/redmine_markdown_extra_formatter/

Wiki記法に markdown 形式を追加します。

textile 形式に馴染まないので。。。

Redcarpet Formatter プラグイン ( http://www.r-labs.org/projects/r-labs/wiki/Redcarpet_Formatter )に変更したかったのですが、既存のリソースが微妙に崩れるので断念。

7. Milkode plugin

https://github.com/suer/redmine_milkode

上記の Incr Code Search plugin と違い、コード内の文言からファイルを引っ掛けることができます。

手元にソースコードがない状態でも検索ができて便利。

Milkode が高速なので、手元にソースコードがある状態でも使ったりします。

ソースコードにリンクするので、コードレビューまでシームレスに行うことができます。

8. My Search plugin

https://github.com/suer/redmine_my_search

chrome 拡張を使用して OmniBox からチケットに一発で飛ぶことができるようになります。

9. Post Script plugin

https://github.com/suer/redmine_post_script

Redmine のチケット、wiki などの作成イベントにフックして外部スクリプトを実行するプラグインです。

実験的プラグインにつき動作がとても不安定。

10. Readme plugin

https://github.com/suer/redmine_readme

プロジェクトのトップにリポジトリ内の README ファイルを表示するプラグインです。

github のようにプロジェクトのトップがかっこよくなります。

おまけ

gist ですが、全ての活動へのリンクを追加するプラグイン(の init.rb) を公開しています。

https://gist.github.com/2657660

f:id:suer:20120716000801p:image

メンバーが何をしているかを一覧するのに便利です。

2012-07-09

Redmine の情報に高速にアクセスできるプラグインを開発した

正確には新規開発ではなく、昨年の Xmasthon で公開した Redmine My Search プラグイン を拡張です。あれはなんだったのか。

Google Chrome でなくても Redmine 内のどこからでもプロジェクトとチケットと Wiki に一発でアクセスできる機能を追加しました。

このプラグインを利用することで、各種情報に最速でアクセスできるようになります。

これは何?

Launcher メニューからプロジェクトとチケットと Wiki を統合的に検索するボックスを表示します。

f:id:suer:20120709230000p:image


あとは検索ボックスにプロジェクト名やチケットタイトル、Wiki タイトルの一部を入力するだけで欲しい情報に一発でアクセスできます。

環境

Redmine2.0 対応です。古いバージョンでは動作しません。

ソースコード

https://github.com/suer/redmine_my_search

インストール方法は上記の README を確認してください。

2012-06-18

Milkode で Redmine に登録されたソースコードを高速に検索するプラグインを作った

f:id:suer:20120617235132p:image

隣の人が 「Milkode まじパネェ!速い!やべぇ!」と言っていたので Redmineプラグインにしてみました。


これは何?

Redmine のプロジェクトに登録してあるリポジトリ内のソースコードを Milkode で検索します。

検索結果から Redmineリポジトリ内のソースコードにリンクされるので、すぐにコードの履歴が追えたり

f:id:suer:20120617235133p:image:w400


コードレビュープラグインを入れてれば、気になったところにすぐにレビューコメントを入れれたり


f:id:suer:20120617235134p:image:w400

なにより Milkode の高速な検索のうまみをそのまま受けられます。

環境

Redmine 2.0

制限

今のところ Git で管理されているソースコードのみ対応です。

Milkode 自体はそんな制限無いのでなんとかしたいです。

ソースコード

https://github.com/suer/redmine_milkode

今後

  • 今のところ権限無視です。リポジトリの閲覧権限を反映させたい。
  • 変な文字があるのか、エラーになる場合があります。使いながら潰していこう。