Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Burndown chart on version detail #6

Merged
merged 6 commits into from
Apr 6, 2021

Conversation

takenory
Copy link
Contributor

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

Copy link
Collaborator

@ishikawa999 ishikawa999 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

現時点で気になった点について記載しました。(まだ全部は見終えていません)

lib/burndown_chart/versions_helper_patch.rb Outdated Show resolved Hide resolved
@ishikawa999
Copy link
Collaborator

ishikawa999 commented Mar 15, 2021

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

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

Copy link

@yui-har yui-har left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link

@yui-har yui-har left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

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

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

@takenory
Copy link
Contributor Author

@ishikawa999

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

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

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

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

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

@takenory
Copy link
Contributor Author

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

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

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

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

@yui-har
Copy link

yui-har commented Mar 24, 2021

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

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

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

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

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

@takenory
Copy link
Contributor Author

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

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

Copy link

@yui-har yui-har left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OKです。バーンダウンチャートの表示/非表示が切り替わることを確認しました。

Copy link

@yui-har yui-har left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@takenory テスト test/helpers/versions_helper_patch_test.rb の実施方法はrake test TEST=plugins/redmica_ui_extension/test/helpers/versions_helper_patch_test.rbでよろしいのでしょうか。

rake redmine:plugins:test でテストを実施したところ、このテストだけ動かなかったので。

@yui-har
Copy link

yui-har commented Mar 24, 2021

以下のチケットをガントチャートに表示したところ、未完了が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
Copy link
Collaborator

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

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

@takenory
Copy link
Contributor Author

takenory commented Apr 5, 2021

#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

@ishikawa999 ishikawa999 merged commit d96c084 into redmica:master Apr 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants