SlideShare a Scribd company logo
1 of 73
Redmine4時代の
プラグイン開発
強いプラグインを開発しよう
Agileware Inc. Sho DOUHASHI
自己紹介
自己紹介
堂端 翔 ( Sho DOUHASHI )
facebook.com/douhashi
twitter @douhashi
Agileware Inc. CTO
プログラミング歴20年弱。最近はインフラ屋さん。AWS大
好き。
Agileware?
http://agileware.jp
Ruby/Railsを得意とするソフトウェアベンダー。
Redmineプラグイン「LycheeRedmine」シリーズを開発。
https://lychee-redmine.jp/
突然ですが、アンケート
Q1. Redmineバージョンいくつですか?
Q2. Redmineプラグイン使ってますか?
Q3. 独自のプラグインを
開発して使ってますか?
ご協力ありがとうございます!
今日はRedmineの
プラグイン開発についてお話します
本日のアジェンダ
本日のアジェンダ
1. RedmineとRailsの関係
2. 強いプラグインの開発方
3. Redmine 4.x 時代のプラグイン開発 (ダークサイド)
4. Redmine 4.x 時代のプラグイン開発 (ライトサイド)
5. まとめ
本日のアジェンダ
1. RedmineとRailsの関係
2. 強いプラグインの開発方
3. Redmine 4.x 時代のプラグイン開発 (ダークサイド)
4. Redmine 4.x 時代のプラグイン開発 (ライトサイド)
5. まとめ
RedmineとRailsの関係
の前に、
Railsのリリース傾向の話
Railsの(だいたいの)リリース傾向
● だいたい、3年スパンでメジャーが上がる
● だいたい、.0系(2.0, 3.0, 4.0)はアップデートを促すための
過渡期リリース
● だいたい、.0系リリースは旧バージョンへのDeplication
Warningを出して、その後のリリースで削除してく
● だいたい、.1 とか .2 でドラスティックな機能追加、API
削除が入る
その上で、RedmineとRailsのバージョン
の関係をみていきましょう。
RedmineとRailsの関係
● Redmine 2.0 ~
○ Rails 3.2系
● Redmine 3.0 ~
○ Rails 4.2 系
おわかりいただけただろうか...
RedmineとRailsの関係
● Redmine 2.0 ~
○ Rails 3.2系
● Redmine 3.0 ~
○ Rails 4.2 系
ド、ドラスティッ
ク...
ドラスティック【drastic】
( 形動 )
徹底的で激烈なさま。 「政治情勢は-に展開している」 「 -な変
化」
なので、
Redmineプラグインあるある
新バージョンでいきなりデスる
解決策
(びっくりしないために)
次リリースブランチでも動かそう
● 次期リリースバージョンのRedmineで動かしておこう。
● 毎度動かすのは大変なのでテスト書こう。
● 特に、Railsのメジャーが上がるときは覚悟しておこう。
その他にも「強い」プラグインを
作る工夫は色々
ということで、次の話題
本日のアジェンダ
1. RedmineとRailsの関係
2. 強いプラグインの開発方
3. Redmine 4.x 時代のプラグイン開発 (ダークサイド)
4. Redmine 4.x 時代のプラグイン開発 (ライトサイド)
5. まとめ
弊社で実践しているプラグイン開発の仕
方
ルールその1
本体のDBにカラム追加/変更しない
本体のDBにカラム追加/変更しない
本体のDBにカラム追加/変更しない
● 本体DBに直接カラム追加しないことで、Redmine本体へ
の侵食を減らす
○ 本体側で同等機能が追加されてもバッティングしない
○ Redmine本体のバージョンアップを妨げない
○ 他のプラグインの動作を妨げない
ルールその2
開発時必要なGemはGemfile.localに書く
(= Gemfileは最小限に留める)
プラグインあるある
● たまーに、Gemfileにバージョン指定して書いてあるプラ
グインがいる
○ 同じGemを違うバージョン指定でいれようとする
=> bundleできなくてデスる ☠
=> コレ、テスト用のGemとかで非常に多い
開発時のみ必要なGemはGemfile.localに書く
● Gemfile.localに書いて、Redmine本体直下へsymlink
● Gemfileには「プラグインに必ず必要なGemのみ」書く
○ これでGemがバッティングする可能性を減らせる
○ それでもたまーにバッティングするので、その時は
githubでissueをあげてみましょう
弊社のGemfile.local
ルールその3
テストはRSpecで書く
プラグインあるある
● Redmine標準はMinitestベース
○ テストデータはfixturesで作られてる
=> 正直、fixturesでかすぎて覚えてられない。
=> setupに必要な情報が多すぎる
テストはRspecで書く
● RSpec、FactoryBotで書く
● 画面系はcapybaraでE2Eテスト
○ controllerのテストは労力に見合わないかも
=> Factory書くのしんどいけど、一回書けば使い回しできる
他にも細かいTipsはいろいろあります
細かいTips
● Rubocopいれてコードをキレイに保つ
● init.rbにはあんまり処理を実装しない
● モンキーパッチは最小限に
などなど...
語り尽くせないほどあるので、
とっ捕まえて聞いてください...
次の話題
本日のアジェンダ
1. RedmineとRailsの関係
2. 強いプラグインの開発方
3. Redmine 4.x 時代のプラグイン開発 (ダークサイド)
4. Redmine 4.x 時代のプラグイン開発 (ライトサイド)
5. まとめ
いよいよ、Redmine4.0が見えてきまし
た
Redmine 4.0開発状況
Redmine 4.0の目玉はやっぱり
Rails 5.x 対応!
Redmine4.0のRailsバージョンは...
ド、ドラ(ry
ドラスティック【drastic】
( 形動 )
徹底的で激烈なさま。 「政治情勢は-に展開している」 「 -な変
化」
いろんなプラグインの悲鳴が聞こえる
Rails 5で消えるAPI (影響度の大きそうなもの)
1. before_filter / after_filter (4.x時点でDeplication)
○ 歴史の古いプラグインはそのままのことが多い
2. alias_method_chain
○ Redmineの標準動作を書き換えるときの常套手段
○ お世話になってる人多いはず
対策
Rails 5対応
1. before_filter / after_filter (4.x時点でDeplication)
○ before_action / after_action を使う
2. alias_method_chain
○ Module#prepend (Ruby 2.0からの標準機能)を使う
○ https://docs.ruby-
lang.org/ja/latest/method/Module/i/prepend.html
ただし、一個問題が。
問題: Redmine 3.x系 との共存
課題: Redmine 3.xとの共存
1. Redmine 3.x は ruby 1.9.3 もサポートしている
○ つまり、ruby 2.0.0 からの Module#prepand が使えな
い
=> コード内にバージョン判別書くのはしんどい...
=> しばらくbranch分けるとかで様子見か...?
こんな、後ろ向きな話ばかりじゃないよ
本日のアジェンダ
1. RedmineとRailsの関係
2. 強いプラグインの開発方
3. Redmine 4.x 時代のプラグイン開発 (ダークサイド)
4. Redmine 4.x 時代のプラグイン開発 (ライトサイド)
5. まとめ
Rails 5.1の目玉機能
ActionCable!
ActionCableって?
1. Rails上でWebSocket通信を実現するためのライブラリ
2. ソケット通信のように双方向の通信がリアルタイムで行
えるので、よりインタラクティブなプラグインが作れる
例えば...
Redmine上にチャットシステム導入!
例えば...
チケット更新のリアルタイム通知!
夢が広がりますね!
本日のアジェンダ
1. RedmineとRailsの関係
2. 強いプラグインの開発方
3. Redmine 4.x 時代のプラグイン開発 (ダークサイド)
4. Redmine 4.x 時代のプラグイン開発 (ライトサイド)
5. まとめ
まとめ
1. Redmineはドラスティックに変わる
○ 強いプラグインの開発が大事
2. Redmine 4.x でもドラスティックに変わる
○ 旧バージョンとの共存が課題
○ Rails5のおかげで夢が広がる!
ご清聴ありがとうございました

More Related Content

What's hot

Redmine + Lychee導入のアンチパターン
Redmine + Lychee導入のアンチパターンRedmine + Lychee導入のアンチパターン
Redmine + Lychee導入のアンチパターンagileware_jp
 
Redmineをプラグインで拡張しよう
Redmineをプラグインで拡張しようRedmineをプラグインで拡張しよう
Redmineをプラグインで拡張しようHaruyuki Iida
 
ある工場の Redmine 2021 ( Redmine of one plant 2021 )
ある工場の Redmine 2021 ( Redmine of one plant 2021 )ある工場の Redmine 2021 ( Redmine of one plant 2021 )
ある工場の Redmine 2021 ( Redmine of one plant 2021 )Kohei Nakamura
 
自チームのLychee redmine活用例
自チームのLychee redmine活用例自チームのLychee redmine活用例
自チームのLychee redmine活用例agileware_jp
 
Redmineの9年間の歩みを振り返ってみる
Redmineの9年間の歩みを振り返ってみるRedmineの9年間の歩みを振り返ってみる
Redmineの9年間の歩みを振り返ってみるGo Maeda
 
数千人が利用する楽天Redmineの過去と未来
数千人が利用する楽天Redmineの過去と未来数千人が利用する楽天Redmineの過去と未来
数千人が利用する楽天Redmineの過去と未来Rakuten Group, Inc.
 
はじめる! Redmine (2021年版)
はじめる! Redmine (2021年版) はじめる! Redmine (2021年版)
はじめる! Redmine (2021年版) Go Maeda
 
Redmine 4.2 新機能評価ガイド
Redmine 4.2 新機能評価ガイドRedmine 4.2 新機能評価ガイド
Redmine 4.2 新機能評価ガイドGo Maeda
 
【15-A-4】事例2本立て!Redmineユーザ達が語る現場定着化への取組みと導入アンチパターン
【15-A-4】事例2本立て!Redmineユーザ達が語る現場定着化への取組みと導入アンチパターン【15-A-4】事例2本立て!Redmineユーザ達が語る現場定着化への取組みと導入アンチパターン
【15-A-4】事例2本立て!Redmineユーザ達が語る現場定着化への取組みと導入アンチパターンDevelopers Summit
 
Redmine.tokyo21 questionnaire
Redmine.tokyo21 questionnaireRedmine.tokyo21 questionnaire
Redmine.tokyo21 questionnaireJun Naitoh
 
挫折しないRedmine (2022)
 挫折しないRedmine  (2022) 挫折しないRedmine  (2022)
挫折しないRedmine (2022)Go Maeda
 
Redmineサーバ統合事例
Redmineサーバ統合事例Redmineサーバ統合事例
Redmineサーバ統合事例Yuuki Nara
 
View customize plugin for Redmineの紹介 (2019年版)
View customize plugin for Redmineの紹介 (2019年版)View customize plugin for Redmineの紹介 (2019年版)
View customize plugin for Redmineの紹介 (2019年版)onozaty
 
導入事例から見る!Lychee Redmineの製品デモ
導入事例から見る!Lychee Redmineの製品デモ導入事例から見る!Lychee Redmineの製品デモ
導入事例から見る!Lychee Redmineの製品デモagileware_jp
 
Redmineをちょっと便利に! プログラミング無しで使ってみるREST API
Redmineをちょっと便利に! プログラミング無しで使ってみるREST APIRedmineをちょっと便利に! プログラミング無しで使ってみるREST API
Redmineをちょっと便利に! プログラミング無しで使ってみるREST APIGo Maeda
 
Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020
Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020
Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020onozaty
 
Unofficial Redmine Cookingの紹介
Unofficial Redmine Cookingの紹介Unofficial Redmine Cookingの紹介
Unofficial Redmine Cookingの紹介Yuuki Nara
 
WPF on .NET Core 3.0
WPF on .NET Core 3.0WPF on .NET Core 3.0
WPF on .NET Core 3.0一希 大田
 
【Redmine 4.2 を先取り】RedMica 1.1 (2020-05) 新機能ハイライト
【Redmine 4.2 を先取り】RedMica  1.1 (2020-05) 新機能ハイライト【Redmine 4.2 を先取り】RedMica  1.1 (2020-05) 新機能ハイライト
【Redmine 4.2 を先取り】RedMica 1.1 (2020-05) 新機能ハイライトGo Maeda
 
Redmine 4.1 / RedMica 1.0ユーザーのための RedMica 1.1 (2020-05)・ 1.2 (2020-11) 新機能ガイド
Redmine 4.1 / RedMica 1.0ユーザーのための RedMica  1.1 (2020-05)・ 1.2 (2020-11) 新機能ガイドRedmine 4.1 / RedMica 1.0ユーザーのための RedMica  1.1 (2020-05)・ 1.2 (2020-11) 新機能ガイド
Redmine 4.1 / RedMica 1.0ユーザーのための RedMica 1.1 (2020-05)・ 1.2 (2020-11) 新機能ガイドGo Maeda
 

What's hot (20)

Redmine + Lychee導入のアンチパターン
Redmine + Lychee導入のアンチパターンRedmine + Lychee導入のアンチパターン
Redmine + Lychee導入のアンチパターン
 
Redmineをプラグインで拡張しよう
Redmineをプラグインで拡張しようRedmineをプラグインで拡張しよう
Redmineをプラグインで拡張しよう
 
ある工場の Redmine 2021 ( Redmine of one plant 2021 )
ある工場の Redmine 2021 ( Redmine of one plant 2021 )ある工場の Redmine 2021 ( Redmine of one plant 2021 )
ある工場の Redmine 2021 ( Redmine of one plant 2021 )
 
自チームのLychee redmine活用例
自チームのLychee redmine活用例自チームのLychee redmine活用例
自チームのLychee redmine活用例
 
Redmineの9年間の歩みを振り返ってみる
Redmineの9年間の歩みを振り返ってみるRedmineの9年間の歩みを振り返ってみる
Redmineの9年間の歩みを振り返ってみる
 
数千人が利用する楽天Redmineの過去と未来
数千人が利用する楽天Redmineの過去と未来数千人が利用する楽天Redmineの過去と未来
数千人が利用する楽天Redmineの過去と未来
 
はじめる! Redmine (2021年版)
はじめる! Redmine (2021年版) はじめる! Redmine (2021年版)
はじめる! Redmine (2021年版)
 
Redmine 4.2 新機能評価ガイド
Redmine 4.2 新機能評価ガイドRedmine 4.2 新機能評価ガイド
Redmine 4.2 新機能評価ガイド
 
【15-A-4】事例2本立て!Redmineユーザ達が語る現場定着化への取組みと導入アンチパターン
【15-A-4】事例2本立て!Redmineユーザ達が語る現場定着化への取組みと導入アンチパターン【15-A-4】事例2本立て!Redmineユーザ達が語る現場定着化への取組みと導入アンチパターン
【15-A-4】事例2本立て!Redmineユーザ達が語る現場定着化への取組みと導入アンチパターン
 
Redmine.tokyo21 questionnaire
Redmine.tokyo21 questionnaireRedmine.tokyo21 questionnaire
Redmine.tokyo21 questionnaire
 
挫折しないRedmine (2022)
 挫折しないRedmine  (2022) 挫折しないRedmine  (2022)
挫折しないRedmine (2022)
 
Redmineサーバ統合事例
Redmineサーバ統合事例Redmineサーバ統合事例
Redmineサーバ統合事例
 
View customize plugin for Redmineの紹介 (2019年版)
View customize plugin for Redmineの紹介 (2019年版)View customize plugin for Redmineの紹介 (2019年版)
View customize plugin for Redmineの紹介 (2019年版)
 
導入事例から見る!Lychee Redmineの製品デモ
導入事例から見る!Lychee Redmineの製品デモ導入事例から見る!Lychee Redmineの製品デモ
導入事例から見る!Lychee Redmineの製品デモ
 
Redmineをちょっと便利に! プログラミング無しで使ってみるREST API
Redmineをちょっと便利に! プログラミング無しで使ってみるREST APIRedmineをちょっと便利に! プログラミング無しで使ってみるREST API
Redmineをちょっと便利に! プログラミング無しで使ってみるREST API
 
Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020
Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020
Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020
 
Unofficial Redmine Cookingの紹介
Unofficial Redmine Cookingの紹介Unofficial Redmine Cookingの紹介
Unofficial Redmine Cookingの紹介
 
WPF on .NET Core 3.0
WPF on .NET Core 3.0WPF on .NET Core 3.0
WPF on .NET Core 3.0
 
【Redmine 4.2 を先取り】RedMica 1.1 (2020-05) 新機能ハイライト
【Redmine 4.2 を先取り】RedMica  1.1 (2020-05) 新機能ハイライト【Redmine 4.2 を先取り】RedMica  1.1 (2020-05) 新機能ハイライト
【Redmine 4.2 を先取り】RedMica 1.1 (2020-05) 新機能ハイライト
 
Redmine 4.1 / RedMica 1.0ユーザーのための RedMica 1.1 (2020-05)・ 1.2 (2020-11) 新機能ガイド
Redmine 4.1 / RedMica 1.0ユーザーのための RedMica  1.1 (2020-05)・ 1.2 (2020-11) 新機能ガイドRedmine 4.1 / RedMica 1.0ユーザーのための RedMica  1.1 (2020-05)・ 1.2 (2020-11) 新機能ガイド
Redmine 4.1 / RedMica 1.0ユーザーのための RedMica 1.1 (2020-05)・ 1.2 (2020-11) 新機能ガイド
 

Viewers also liked

灰かぶりチケットはシンデレラに成り得るか?
灰かぶりチケットはシンデレラに成り得るか?灰かぶりチケットはシンデレラに成り得るか?
灰かぶりチケットはシンデレラに成り得るか?ishikawa_mizuki
 
20171117 redminetokyo13
20171117 redminetokyo1320171117 redminetokyo13
20171117 redminetokyo13Yukiya Hayashi
 
Redmine tokyo #13 LT
Redmine tokyo #13 LT Redmine tokyo #13 LT
Redmine tokyo #13 LT Asako Yanuki
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugMasatoshi Tada
 
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心にJava SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心にTaku Miyakawa
 
Unofficial Redmine Cooking 闇鍋_デモ環境への発展
Unofficial Redmine Cooking 闇鍋_デモ環境への発展Unofficial Redmine Cooking 闇鍋_デモ環境への発展
Unofficial Redmine Cooking 闇鍋_デモ環境への発展Yuuki Nara
 
Internetトラフィックエンジニアリングの現実
Internetトラフィックエンジニアリングの現実Internetトラフィックエンジニアリングの現実
Internetトラフィックエンジニアリングの現実J-Stream Inc.
 
Redmine.tokyo 13 questionnaire
Redmine.tokyo 13 questionnaireRedmine.tokyo 13 questionnaire
Redmine.tokyo 13 questionnaireJun Naitoh
 
ドキュメントを直し続ける話 #kbkz_tech
ドキュメントを直し続ける話 #kbkz_techドキュメントを直し続ける話 #kbkz_tech
ドキュメントを直し続ける話 #kbkz_techMichihito Shigemura
 
Redmine.tokyo 第7回勉強会 ディスカッション
Redmine.tokyo 第7回勉強会 ディスカッションRedmine.tokyo 第7回勉強会 ディスカッション
Redmine.tokyo 第7回勉強会 ディスカッションTomohisa Kusukawa
 
Redmine 260 300_new_feature
Redmine 260 300_new_featureRedmine 260 300_new_feature
Redmine 260 300_new_featureJun Naitoh
 
Redmineはキャズムを超える -日経SYSTEMS寄稿の思い-
Redmineはキャズムを超える -日経SYSTEMS寄稿の思い- Redmineはキャズムを超える -日経SYSTEMS寄稿の思い-
Redmineはキャズムを超える -日経SYSTEMS寄稿の思い- Makoto SAKAI
 
Redmine.tokyo 07 open_discussion
Redmine.tokyo 07 open_discussionRedmine.tokyo 07 open_discussion
Redmine.tokyo 07 open_discussionJun Naitoh
 
Redmine.tokyo 07 questionnaire
Redmine.tokyo 07 questionnaireRedmine.tokyo 07 questionnaire
Redmine.tokyo 07 questionnaireJun Naitoh
 
Redmineのスマホアプリ RedminePM
Redmineのスマホアプリ RedminePMRedmineのスマホアプリ RedminePM
Redmineのスマホアプリ RedminePMproject mode, Inc.
 
Redmine + gitlab: merge base development
Redmine + gitlab: merge base developmentRedmine + gitlab: merge base development
Redmine + gitlab: merge base developmentsmdkk
 
Rbpdf gem library
Rbpdf gem libraryRbpdf gem library
Rbpdf gem libraryJun Naitoh
 
怖くない? オープンソースへの貢献
怖くない? オープンソースへの貢献怖くない? オープンソースへの貢献
怖くない? オープンソースへの貢献ishikawa_mizuki
 
【第7回redmine.tokyo勉強会】RedmineのFAQとアンチパターン集~WBS駆動からチケット駆動へ
【第7回redmine.tokyo勉強会】RedmineのFAQとアンチパターン集~WBS駆動からチケット駆動へ【第7回redmine.tokyo勉強会】RedmineのFAQとアンチパターン集~WBS駆動からチケット駆動へ
【第7回redmine.tokyo勉強会】RedmineのFAQとアンチパターン集~WBS駆動からチケット駆動へakipii Oga
 
講演1 Redmine導入のアンチパターン
講演1 Redmine導入のアンチパターン講演1 Redmine導入のアンチパターン
講演1 Redmine導入のアンチパターンHidehisa Matsutani
 

Viewers also liked (20)

灰かぶりチケットはシンデレラに成り得るか?
灰かぶりチケットはシンデレラに成り得るか?灰かぶりチケットはシンデレラに成り得るか?
灰かぶりチケットはシンデレラに成り得るか?
 
20171117 redminetokyo13
20171117 redminetokyo1320171117 redminetokyo13
20171117 redminetokyo13
 
Redmine tokyo #13 LT
Redmine tokyo #13 LT Redmine tokyo #13 LT
Redmine tokyo #13 LT
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
 
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心にJava SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心に
 
Unofficial Redmine Cooking 闇鍋_デモ環境への発展
Unofficial Redmine Cooking 闇鍋_デモ環境への発展Unofficial Redmine Cooking 闇鍋_デモ環境への発展
Unofficial Redmine Cooking 闇鍋_デモ環境への発展
 
Internetトラフィックエンジニアリングの現実
Internetトラフィックエンジニアリングの現実Internetトラフィックエンジニアリングの現実
Internetトラフィックエンジニアリングの現実
 
Redmine.tokyo 13 questionnaire
Redmine.tokyo 13 questionnaireRedmine.tokyo 13 questionnaire
Redmine.tokyo 13 questionnaire
 
ドキュメントを直し続ける話 #kbkz_tech
ドキュメントを直し続ける話 #kbkz_techドキュメントを直し続ける話 #kbkz_tech
ドキュメントを直し続ける話 #kbkz_tech
 
Redmine.tokyo 第7回勉強会 ディスカッション
Redmine.tokyo 第7回勉強会 ディスカッションRedmine.tokyo 第7回勉強会 ディスカッション
Redmine.tokyo 第7回勉強会 ディスカッション
 
Redmine 260 300_new_feature
Redmine 260 300_new_featureRedmine 260 300_new_feature
Redmine 260 300_new_feature
 
Redmineはキャズムを超える -日経SYSTEMS寄稿の思い-
Redmineはキャズムを超える -日経SYSTEMS寄稿の思い- Redmineはキャズムを超える -日経SYSTEMS寄稿の思い-
Redmineはキャズムを超える -日経SYSTEMS寄稿の思い-
 
Redmine.tokyo 07 open_discussion
Redmine.tokyo 07 open_discussionRedmine.tokyo 07 open_discussion
Redmine.tokyo 07 open_discussion
 
Redmine.tokyo 07 questionnaire
Redmine.tokyo 07 questionnaireRedmine.tokyo 07 questionnaire
Redmine.tokyo 07 questionnaire
 
Redmineのスマホアプリ RedminePM
Redmineのスマホアプリ RedminePMRedmineのスマホアプリ RedminePM
Redmineのスマホアプリ RedminePM
 
Redmine + gitlab: merge base development
Redmine + gitlab: merge base developmentRedmine + gitlab: merge base development
Redmine + gitlab: merge base development
 
Rbpdf gem library
Rbpdf gem libraryRbpdf gem library
Rbpdf gem library
 
怖くない? オープンソースへの貢献
怖くない? オープンソースへの貢献怖くない? オープンソースへの貢献
怖くない? オープンソースへの貢献
 
【第7回redmine.tokyo勉強会】RedmineのFAQとアンチパターン集~WBS駆動からチケット駆動へ
【第7回redmine.tokyo勉強会】RedmineのFAQとアンチパターン集~WBS駆動からチケット駆動へ【第7回redmine.tokyo勉強会】RedmineのFAQとアンチパターン集~WBS駆動からチケット駆動へ
【第7回redmine.tokyo勉強会】RedmineのFAQとアンチパターン集~WBS駆動からチケット駆動へ
 
講演1 Redmine導入のアンチパターン
講演1 Redmine導入のアンチパターン講演1 Redmine導入のアンチパターン
講演1 Redmine導入のアンチパターン
 

Similar to Redmine4時代のプラグイン開発 redmine.tokyo #13

Rubyプログラミング教育に対する取り組みと事例紹介
Rubyプログラミング教育に対する取り組みと事例紹介Rubyプログラミング教育に対する取り組みと事例紹介
Rubyプログラミング教育に対する取り組みと事例紹介Yasushi Ishikawa
 
Redmineプラグイン導入・開発入門
Redmineプラグイン導入・開発入門Redmineプラグイン導入・開発入門
Redmineプラグイン導入・開発入門Minoru Maeda
 
iQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナーiQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナーImamura Masayuki
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版DIVE INTO CODE Corp.
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座DIVE INTO CODE Corp.
 
チームにRedmineを適用せよ! #RxTstudy
チームにRedmineを適用せよ! #RxTstudyチームにRedmineを適用せよ! #RxTstudy
チームにRedmineを適用せよ! #RxTstudyDai FUJIHARA
 
はじめてがアジャイル
はじめてがアジャイルはじめてがアジャイル
はじめてがアジャイルKenichi Takahashi
 
2015/06/27 Remixing つらくないメディア間連携
2015/06/27 Remixing つらくないメディア間連携2015/06/27 Remixing つらくないメディア間連携
2015/06/27 Remixing つらくないメディア間連携Takumi Yoshida
 
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座DIVE INTO CODE Corp.
 
Android studio で行ってみよう!!
Android studio で行ってみよう!!Android studio で行ってみよう!!
Android studio で行ってみよう!!Kazuaki Ueda
 
ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例Yasutomo Uemori
 
nanapiにおける継続的インテグレーション
nanapiにおける継続的インテグレーションnanapiにおける継続的インテグレーション
nanapiにおける継続的インテグレーション晃 遠山
 
Redmineプラグインのテストを書いてくれませんか? #niigatarb
Redmineプラグインのテストを書いてくれませんか? #niigatarbRedmineプラグインのテストを書いてくれませんか? #niigatarb
Redmineプラグインのテストを書いてくれませんか? #niigatarbTatsuya Saito
 
20141220_iOS8マルチデバイス対応(Size Classes編)
20141220_iOS8マルチデバイス対応(Size Classes編)20141220_iOS8マルチデバイス対応(Size Classes編)
20141220_iOS8マルチデバイス対応(Size Classes編)Kanako Kobayashi
 
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)Shinichiro Yoshida
 

Similar to Redmine4時代のプラグイン開発 redmine.tokyo #13 (20)

OSC福岡 20111203
OSC福岡 20111203OSC福岡 20111203
OSC福岡 20111203
 
Rubyプログラミング教育に対する取り組みと事例紹介
Rubyプログラミング教育に対する取り組みと事例紹介Rubyプログラミング教育に対する取り組みと事例紹介
Rubyプログラミング教育に対する取り組みと事例紹介
 
Redmineプラグイン導入・開発入門
Redmineプラグイン導入・開発入門Redmineプラグイン導入・開発入門
Redmineプラグイン導入・開発入門
 
iQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナーiQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナー
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
 
Hudson × Redmine
Hudson × RedmineHudson × Redmine
Hudson × Redmine
 
Rails api way in aiming
Rails api way in aimingRails api way in aiming
Rails api way in aiming
 
チームにRedmineを適用せよ! #RxTstudy
チームにRedmineを適用せよ! #RxTstudyチームにRedmineを適用せよ! #RxTstudy
チームにRedmineを適用せよ! #RxTstudy
 
はじめてがアジャイル
はじめてがアジャイルはじめてがアジャイル
はじめてがアジャイル
 
2015/06/27 Remixing つらくないメディア間連携
2015/06/27 Remixing つらくないメディア間連携2015/06/27 Remixing つらくないメディア間連携
2015/06/27 Remixing つらくないメディア間連携
 
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
 
Android studio で行ってみよう!!
Android studio で行ってみよう!!Android studio で行ってみよう!!
Android studio で行ってみよう!!
 
Redmine admin
Redmine adminRedmine admin
Redmine admin
 
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
 
ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例
 
nanapiにおける継続的インテグレーション
nanapiにおける継続的インテグレーションnanapiにおける継続的インテグレーション
nanapiにおける継続的インテグレーション
 
Redmineプラグインのテストを書いてくれませんか? #niigatarb
Redmineプラグインのテストを書いてくれませんか? #niigatarbRedmineプラグインのテストを書いてくれませんか? #niigatarb
Redmineプラグインのテストを書いてくれませんか? #niigatarb
 
20141220_iOS8マルチデバイス対応(Size Classes編)
20141220_iOS8マルチデバイス対応(Size Classes編)20141220_iOS8マルチデバイス対応(Size Classes編)
20141220_iOS8マルチデバイス対応(Size Classes編)
 
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
 

Redmine4時代のプラグイン開発 redmine.tokyo #13