読者です 読者をやめる 読者になる 読者になる

【ニコニコカレンダー for Redmine 2.X】 2日目

redmine ニコカレ ruby

前回でざっくりプラグイン開発の準備が整ったので、まずはニコニコカレンダーの機能を妄想してみる。

ニコニコカレンダーに求める機能として、ただ単に日々のニコニコ度(ムードや気持ち)を記録していくだけでなく、
可能な限り毎日最高の状態で仕事に望めるような、振り返り・気付きのための分析もできたらいいね。
まぁ、ニコニコカレンダーまんまですけど。。。

ユーザーのニコニコ度を管理するための機能としては、こんなものか。

  • その日のニコニコ度を登録できる
  • 過去のニコニコ度を修正できる
  • 月単位でニコニコ履歴を閲覧できる
    • チャート表示もあると視覚的に把握できてよいかも
    • 「週の半ば調子悪いなー」という傾向がつかめるかも


ユーザーの参加しているプロジェクトと絡めるとこんなことも考えられる。

  • 他のプロジェクトメンバーのニコニコ履歴を閲覧できる
    • 自身のニコニコ履歴と比較できるとよいかも
  • 参加しているプロジェクトのニコニコサマリ(参加メンバーのニコニコ度の平均を取る?)を閲覧できる
    • 元気なプロジェクト、疲弊しているプロジェクトがわかるかも

とりあえずはスモールスタートでやっていこう。


Railsドキュメントなど先人の知識を盗みながら、
月単位のニコニコ履歴を閲覧するためのカレンダーを表示できるようにしてみた。



以下、気付きやらtipsやら、雑多なメモ。


developmentで動作させる

ApacheのPassennger設定にて

RailsEnv development

ルーティングの確認

$ 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

ってか、そもそもキャッシュされないように設定できないのか?



新しい言語は謎が多くて、わくわくしますー。