100人の楽隊に効率的に情報共有するために。Kオケのグループウェア Redmine

こんにちは、Kオケシステム担当のコントラバスのアキラです。
今日は趣向を変えてKオケで採用しているシステムについて紹介したいと思います。

f:id:thanksk:20181203160520p:plain

少し歴史から話すと、Kオケは元々はMixiで声をかけて人が集まりました(自分は後から入ったのでその当時のことは詳しくはないのですけどね)。そのためなのか、話し合いも基本的にネット上で行う、ネット上での話し合いに抵抗がない、といった文化がありました。そんなある日、それまで使っていたグループウェアが使いづらい上にサービス終了する、ということで、新しいグループウェアを探そうということになり、4個くらいツールを選定してどのツールがいいか合奏前の時間を使ってプレゼン大会を行いました。

プレゼンされたツールは、サイボウズ、サークルスクエア、Redmine、Aipo。自分は当時Aipoがいいかなぁと思いそれをプレゼンしたのですが、多数決で最終的に選ばれたのはなんと Redmine
Redmine.JP — Redmine日本語情報サイト

多分このブログを見ている大多数の人が「何やねんソレ?」状態ではないかと思います(笑)。
とりあえず、RedmineについてはWikipediaから引用。

RedmineはWebベースのプロジェクト管理ソフトウェアである。設計はTracに影響を受けている。課題管理、ガントチャートリポジトリブラウザ、Wiki、フォーラムなど、プロジェクトの運営を支援するためのさまざまな機能を備えている。Ruby on Railsで開発されている。
Redmineプログラミング言語Ruby本体の開発を始めとして、さまざまな企業・団体やプロジェクトでの導入が報告されている。
引用: https://ja.wikipedia.org/wiki/Redmine

ふーんw。まぁRedmineは主にIT業界でプロジェクト管理に使われているツールで、私の会社でも開発に使っています。

なので、オケがグループウェアとして使うには正直機能過多だと思ってはいるのですが、ネット発祥の団体だからか、機能が多いツールに人気が集まりましたね。(ちなみに、サイボウズもサークルスクエアも使いづらくて私は好きではなのでそれにはならなくて本当によかった(笑))

で、これがその Redmine の画面です。これはチケット一覧と呼ばれる画面です。チケットというのが特定の話題の単位になり、話し合いたいことごとにチケットを作るイメージです。

f:id:thanksk:20181204130949p:plain
Redmineのチケット一覧画面

新しいチケットを投稿する時はこんな感じです。

f:id:thanksk:20181203151357p:plain
Redmineの新規チケット投稿画面

いいですね〜。Redmineを知ってる人からすると雰囲気が違うので違和感があるかと思います。IT得意じゃ無い人も多いので、取っ付きやすいような柔らかい印象があるテーマに変更しています。

結構いろんな話題が飛び交うので、メールだとどの話題が進行中なのかあの話題のメールはどこに行ったのか、と管理が出来なくなってしまう可能性もありますが、Redmineだと話題ごとにチケットという単位で管理できるのでなくなってしまうこともないです。


上記写真はPCの画面ですがもちろんスマホから操作もできます。ただ、昔はスマホで見ると、PCでのレイアウトがそのまま極小化されて表示されていたため、こんなの小さすぎて読めなぁい!!と例のルーペをかけないといけない事態が起こってしまっていましたが、今のテーマはスマホレイアウトにも対応しているためだいぶマシになりました。

f:id:thanksk:20181204131658p:plain:w250
チケット一覧のスマホ画面

ちなみに、KオケのRedmineはさくらサーバーを利用しています。リージョンは石狩。さくらの石狩と聞くと、IT関係の人はピンと来るかもしれませんが、先日の北海道地震でのさくらの石狩データセンターへの電力供給停止事件です。データセンター全体の電力供給が止まるなんてのは聞いたことがなかったので、あの時はうちのRedmineも使えなくなるんじゃないかと緊急ミーティングまでしましたが、さくらの人たちの頑張りで止まることはなかったので本当によかった。ありがとう石狩データセンターの人!


さて、オケで使うとしてチケット機能だけあれば良いのか?いやいや、と言うか、一番重要なのが合奏などのイベントの出欠管理!だが、Redmineにはイベントを管理する機能がない!そんなものよく採用したなってことは置いておいて、なければ作ればいいじゃないの精神でイベント管理のプラグインを開発しました。RedmineRuby on Rails で出来ているので当然プラグインRailsでの開発です。

そして完成したイベント管理プラグインがこんな感じ。
イベントの一覧画面です。

f:id:thanksk:20181203151521p:plain
イベント管理プラグイン:イベント一覧
保谷ばっかりですがたまたまです。普段は世田谷区近辺の練習場が多いですね。個人的には保谷の方が近くて助かるのですが(笑)。

イベント詳細画面はこんな感じ。
f:id:thanksk:20181204132737p:plain

f:id:thanksk:20181204132427p:plain
イベント管理プラグイン:イベント詳細

便利に使うております。(上記イベント情報はダミーです。惑星はやりません(笑))
練習予定自体は全日程を団内で周知はされていますが、別途このイベントが立てられるとメールが飛んできますので、出席・欠席を回答しています。誰が出るか、特に一人パートや重要パートの人が出席するしないで練習曲に影響も出ますので出欠登録は大事です。

ただ、このプラグイン、実はバグがありまして・・・イベント情報を更新するとそのイベントの対象ユーザのレコードが再度作られ倍になるという(笑)!一覧画面に「現在の回答数 45/93(93人中45人回答済みという意味)」という表示があると思いますが、この数が「現在の回答数 45/186」とかになるんです!186人も団員いねぇよ!でも、真面目に修正するのがめんどくさくて、とりあえず、その数字を取得するSQLのところにDISTINCTを入れてとりあえず uniq にしてごまかすという荒業修正が入っています。

# イベントを更新するたびに event_users が作られるバグあり
# event_users のレコードが重複してしまうため、
# しかたなく DISTINCT (uniq) している
@event_count = EventModel.joins(:event_users).
    where(:project_id => @project.id, 'event_users.user_id' => User.current.id).
    count('DISTINCT event_models.id, event_users.user_id’)     #←ココ

コメントもひどいなー、こんなん会社ではできない(笑)。本質的には何も解決していない修正ですが、まぁ表面上問題ないからとりあえずいいや。自分は実は Java や C の方が本職で Python, Perl あたりはまぁ使うんですが、Ruby はあまり得意でないので誰かスマートに直してくれる人募集!(他力本願)

あと他に使っているのは「ニュース」機能ですね。全体周知をするときはこの機能を使っています。メールで全団員に一斉に通知してくれます。LINEとかだとやっていない人もいますので、連絡手段としてはメールがまだまだ手堅いですね。

なお、Redmineのバージョンアップは全然やっていません。一度試しに開発環境で最新版に上げてみたことがありますが、大して上げるメリットが感じられなかったので止めました。

えー・・なにやらマニアックな部分まで語ってしまいましたが(汗)、普通に演奏する分には知らなくてよい話なので全然意味不明でもご心配なく。


さて、Redmineについて長々と語ってきました。他には、譜面置き場として ownCloud を使っていたりもするのですが・・・もうお腹いっぱいなのでまた次回にしようかと思います。他にもPostfixPerlApache, Let's Encrypt, CakePHPGoogle Drive、Discord、GitHub、とかとかがうちのシステム周りのキーワードですが、それも機会があればまた。

最後に、Thanks!Kオーケストラ第6回定期演奏会は2019年7月7日の七夕になかのZEROで開催です。

Thanks!K オーケストラ 第6回定期演奏会
日時:2019年7月7日(日曜日) 開場13:00/開演13:30(予定)
場所:なかのZERO 大ホール(東京都中野区中野二丁目9番7号/JR中野駅南口から徒歩8分)
入場:無料
URL:https://www.thanks-k.com/


【第1部】 Kオケの野望!歴史シミュレーションステージ


【第2部】 伝説の七夕ライブから10周年 Respect for the 2009.07.07ステージ

ほか多数!

団員もまだまだ募集中です!来たれコンバス!(笑)
募集パート:Ob / Vn / Va / Vc / Cb / Cho ( Al, Tn, Bs)
(最新情報はHP https://www.thanks-k.com/ を参照してください)

それでは〜