redmica / redmica_ui_extension

This plugin adds useful UI improvements to RedMica.
GNU General Public License v2.0
41 stars 12 forks source link

Add Burndown chart on version detail #6

Closed takenory closed 3 years ago

takenory commented 3 years ago

I propose a feature to visualize the changes of Open / Close issues in the version detail using 'Burndown chart'. image

ishikawa999 commented 3 years ago

線の色が結構薄くて見づらく感じました。背景とのコントラスト比が結構低いようなので、もう少しはっきりした色に変えても良いんじゃないかなと思います。
(Redmine内の他の場所でも同様にコントラスト比が低いところもありますし、もしデザイン的に支障が無ければという感じです)

理想線はコントラスト比が1.3くらいで、チケット数の緑線は1.45くらい。WCAG2.0というアクセシビリティのガイドラインでは4.5以上がOKとなっています。

takenory commented 3 years ago

@ishikawa999

線の色が結構薄くて見づらく感じました。背景とのコントラスト比が結構低いようなので、もう少しはっきりした色に変えても良いんじゃないかなと思います。 (Redmine内の他の場所でも同様にコントラスト比が低いところもありますし、もしデザイン的に支障が無ければという感じです)

理想線はコントラスト比が1.3くらいで、チケット数の緑線は1.45くらい。WCAG2.0というアクセシビリティのガイドラインでは4.5以上がOKとなっています。

現状は、バージョン詳細画面でチケットの進捗状況を表すグラフと色(RGB: 186, 224, 186)を統一したものになります。 image

試しに、ガントチャート画面で使用されているバージョン線の色(RGB: 89, 195, 57)と統一すると以下のようになりました。 image

画面全体の色調を考えると前者で良いように思いますが、チャートの見やすさを考えると後者が良いように思います。 改善ミーティングの際に意見を聞いてみて決めようと思います。

takenory commented 3 years ago

Rubocopを実施したところ以下の警告が表示されました。

% bundle exec rubocop plugins/redmica_ui_extension/**/*.rb

9 files inspected, 20 offenses detected, 20 offenses auto-correctable

f73ebb247a811a64e7cab38ad792d80f2987f895 にて、警告を解消する変更を追加しました。

yui-har commented 3 years ago

Rubocopを実施したところ以下の警告が表示されました。

% bundle exec rubocop plugins/redmica_ui_extension/**/*.rb

9 files inspected, 20 offenses detected, 20 offenses auto-correctable

f73ebb2 にて、警告を解消する変更を追加しました。

OKです。警告が表示されないことを確認しました。

takenory commented 3 years ago

BurndownChart も(SearchableSelectbox と同じように)機能のOn/Offを動的に切り替えることができると良いと思います。

a37ff8efa50edb5f0963c1fde16b9d1e11738581 にて、バーンダウンチャートの表示/非表示を切り替える設定を追加しました。

yui-har commented 3 years ago

以下のチケットをガントチャートに表示したところ、未完了が1件になっています。2件が正しいと思うのですけど。 子チケットは未完了の数にカウントされていないのでしょうか。

#3: ステータス:New, 開始日:2019-09-17, 期日:2019-09-27
#109: ステータス:New, 開始日:2019-09-17, 期日:2019-09-27, #3の子チケット
ScreenShot 2021-03-24 13 11 59
ishikawa999 commented 3 years ago

https://github.com/redmica/redmica_ui_extension/pull/6#issuecomment-805475114 に対する改善案(ざっくり)

version.due_date < User.current.today && !version.completed?の場合はchart_end_dateをUser.current.todayにする

takenory commented 3 years ago

#6 (comment) に対する改善案(ざっくり)

version.due_date < User.current.today && !version.completed?の場合はchart_end_dateをUser.current.todayにする

Version#complated?は以下の実装となっており、期限(effective_dateあるいはdue_date)が設定されていることを前提としており、改善案の仕様については考慮が必要。

  def completed?
    closed? || (effective_date && (effective_date < User.current.today) && (open_issues_count == 0))
  end

改めて検討したチャート終了日の仕様案

# 終了していないチケットが0件 == 全てのチケットが終了
if version.open_issues_count == 0
  # [バージョンの期限, 最後に終了されたチケットの終了日].max
  chart_end_date = [version.due_date,
                    version.visible_fixed_issues.open(false).maximum(:closed_on).to_date].compact.max
# 終了していないチケットが0件でない
elsif version.open_issues_count > 0
  # 終了しているチケットがない
  if version.visible_fixed_issues.open(false).empty?
    # [(バージョンの期限 || 本日), 最後に作成されたチケットの作成日].max
    chart_end_date = [(version.due_date || User.current.today),
                      version.visible_fixed_issues.maximum(:created_on).to_date].max
  # 終了しているチケットがある
  else
    # [(バージョンの期限 || 本日), 最後に作成されたチケットの作成日, 最後に終了されたチケットの終了日].max
    chart_end_date = [(version.due_date|| User.current.today),
                      version.visible_fixed_issues.maximum(:created_on).to_date,
                      version.visible_fixed_issues.open(false).maximum(:closed_on).to_date].max
  end
end