【ニコニコカレンダー for Redmine 2.X】 2日目
前回でざっくりプラグイン開発の準備が整ったので、まずはニコニコカレンダーの機能を妄想してみる。
ニコニコカレンダーに求める機能として、ただ単に日々のニコニコ度(ムードや気持ち)を記録していくだけでなく、
可能な限り毎日最高の状態で仕事に望めるような、振り返り・気付きのための分析もできたらいいね。
まぁ、ニコニコカレンダーまんまですけど。。。
ユーザーのニコニコ度を管理するための機能としては、こんなものか。
- その日のニコニコ度を登録できる
- 過去のニコニコ度を修正できる
- 月単位でニコニコ履歴を閲覧できる
- チャート表示もあると視覚的に把握できてよいかも
- 「週の半ば調子悪いなー」という傾向がつかめるかも
ユーザーの参加しているプロジェクトと絡めるとこんなことも考えられる。
- 他のプロジェクトメンバーのニコニコ履歴を閲覧できる
- 自身のニコニコ履歴と比較できるとよいかも
- 参加しているプロジェクトのニコニコサマリ(参加メンバーのニコニコ度の平均を取る?)を閲覧できる
- 元気なプロジェクト、疲弊しているプロジェクトがわかるかも
とりあえずはスモールスタートでやっていこう。
Railsドキュメントなど先人の知識を盗みながら、
月単位のニコニコ履歴を閲覧するためのカレンダーを表示できるようにしてみた。
以下、気付きやらtipsやら、雑多なメモ。
ルーティングの確認
$ RAILS_ENV=development rake routes
ルーティングに名称をつける
link_toヘルパーでリンクを生成する際に「ルーティング名称で生成できないと面倒じゃん」と思い調べてみたら、できた。
「:as => 別名」でいける。
- routes.rb
match 'niko_calendar/history(/:year/:month)', :controller => :niko_calendar, :action => :history, :via => :get, :constraints => {:year => /[0-9]{4}/, :month => /[0-9]{1,2}/}
- link_toヘルパー
<%= link_to next_label, nikoniko_calendar_history_path(:year => @next_month.year, :month => @next_month.month), {:class => "nikoniko_history_pager"} %>
共通レイアウト部分のカスタマイズ
ヘッダーとか、右サイドバー部分をカスタマイズしたい場合はviewでcontent_forを利用する
<% content_for :header_tags do %> … <% end %> <% content_for :sidebar do %> … <% end %>
カスタムスクリプト、カスタムスタイルの読み込み方法
「:plugin」を指定していなくて、しばらく悩んだ。
<% content_for :header_tags do %> <%= stylesheet_link_tag "common", :plugin => 'redmine_nikoniko_calendar2' %> <%= javascript_include_tag "common", "index", :plugin => 'redmine_nikoniko_calendar2' %> <% end %>
assetsがキャッシュされる?
「rake assets:clean」を使ってキャッシュを削除。
$ RAILS_ENV=development rake assets:clean /usr/local/bin/ruby /usr/local/bin/rake assets:clean:all RAILS_ENV=development RAILS_GROUPS=assets rm -rf /opt/redmine/public/assets
ってか、そもそもキャッシュされないように設定できないのか?
新しい言語は謎が多くて、わくわくしますー。