Feature #3058

Show issue history using tabs

Added by Nick Read over 8 years ago. Updated 15 days ago.

Status:NewStart date:2009-03-26
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:Issues
Target version:4.1.0
Resolution:

Description

We have some issues where there are so many Status/priority/custom fields changes that you have to scroll heaps to find the useful messages that users have written.

It would be nice to be able to filter out things from the issue history. For example, next to the "History" text you could have the links "Show All" and "Show Messages". Selecting "Show Messages" would only show non-empty messages. It would also be great to remember the last selected option for the remaining session at a minimum (globally, probably not per issue to avoid overheads), or have a default in the user preferences.

show-all-journals.png - screenshot1 (the feature is disabled) (60.4 KB) Go MAEDA, 2015-09-23 09:08

show-notes-only.png - screenshot2 (the feature is enabled) (38.4 KB) Go MAEDA, 2015-09-23 09:08

show-notes-only.diff Magnifier - patch (2.31 KB) Go MAEDA, 2015-09-23 09:09

show-notes-only-2.diff Magnifier - patch (updated) (2.26 KB) Go MAEDA, 2015-09-23 15:14

trac-show-property-changes.png (69.2 KB) Go MAEDA, 2015-11-23 03:52

RedmineTabs.png (9.94 KB) budo kaiman, 2015-11-23 13:32

JiraTabs.png (12.8 KB) budo kaiman, 2015-11-23 13:33

history-notes.png - screenshot (notes; show-notes-only-v3) (52.1 KB) Go MAEDA, 2016-02-16 04:08

history-all.png - screenshot (history; show-notes-only-v3) (78.3 KB) Go MAEDA, 2016-02-16 04:08

show-notes-only-v3.diff Magnifier - patch (2016-02-16) (3.03 KB) Go MAEDA, 2016-02-16 05:18

06_load-remote-tab-only-once.patch Magnifier (1.57 KB) Marius BALTEANU, 2017-05-01 15:59

issue_tabs.png (157 KB) Marius BALTEANU, 2017-05-01 16:29

01_allow-tabs-to-have-a-custom-action_v2.patch Magnifier (1.38 KB) Marius BALTEANU, 2017-07-02 10:56

02_show-issue-history-in-tabs_v2.patch Magnifier (6.63 KB) Marius BALTEANU, 2017-07-02 10:56

04_add-time-entries-tab-to-issue-history-tabs_v2.patch Magnifier (4.54 KB) Marius BALTEANU, 2017-07-02 10:56

03_move-changesets-to-its-own-tab_v2.patch Magnifier (7.33 KB) Marius BALTEANU, 2017-07-02 10:56

05_load-changesets-and-time-entries-tabs-async_v2.patch Magnifier (10.7 KB) Marius BALTEANU, 2017-07-02 10:56

01_allow-tabs-to-have-a-custom-action_v2_fixed.patch Magnifier (1.45 KB) Andrey Lobanov (RedSoft), 2017-07-07 13:42


Related issues

Related to Redmine - Feature #3046: Mix associated revisions with journal entries New 2009-03-25
Related to Redmine - Feature #15409: Is it possible to view History section in pages? New
Related to Redmine - Feature #8536: Separate notes/comments from issue updates New 2011-06-06
Related to Redmine - Feature #4487: Add better presentation of issue status history New 2009-12-25
Related to Redmine - Feature #12194: Source control revisions should be integrated as part of ... New
Related to Redmine - Feature #5061: Show time log entries in issue history New 2010-03-12

History

#1 Updated by Nick Read over 8 years ago

I didn't see any other issues like this when I submitted, but I just noticed that this is similar to #3037 - not a duplicate, but similar.

#2 Updated by Nick Read over 8 years ago

I also just noticed that if #3046 were to be implemented, then it would work as another filter type in my proposal - "Show Associated Revisions"

#3 Updated by Paul Quirk over 8 years ago

I'm happy with Nick's proposal for filtering as this covers most of the problem I was talking about in #3037.

#4 Updated by Paul Quirk over 8 years ago

One other counter to this would be to set the "Show All" or "Show messages" flag at the role level. You could still have the toggle at the "history" level to override this.

#5 Updated by Anonymous almost 7 years ago

This issue seems to have grown stagnant but seems to be very helpful. At a minimum there should be the ability to filter out the history to show only the notes added to an issue (and vice versa).

#6 Updated by Adam Sneller over 5 years ago

+1
There is an Issue History Tab plugin that works with 1.2.2. But the comment feature is buggy. Of course if anyone wants to take a shot a fixing it...

Here is a link to the issue:
https://github.com/tastapod/redmine_issue_history_tabs/issues/4

#7 Updated by Kevin O about 5 years ago

+1. The way I would envision this is simply, for both default and custom fields, have an option to select whether or not they show in the Issue History.

For instance, we have a custom field called "Order" which we use for a custom backlog view to let product managers sort what's next in the pipeline. They move things around a lot, so the issue histories are cluttered up with perhaps a couple dozen or more messages of "Order changed to xx". Being able to select to hide changes to that field would be great.

#8 Updated by Go MAEDA over 2 years ago

  • Related to Feature #15409: Is it possible to view History section in pages? added

#9 Updated by Go MAEDA almost 2 years ago

  • Related to Feature #8536: Separate notes/comments from issue updates added

#10 Updated by Go MAEDA almost 2 years ago

I wrote a patch to implement this issue.
This patch introduces a new checkbox "Show notes only". We can hide/show details by checking it.

showing all journals, like current Redmine:
screenshot1 (the feature is disabled)

showing notes only:
screenshot2 (the feature is enabled)

#11 Updated by Go MAEDA almost 2 years ago

Go MAEDA wrote:

I wrote a patch to implement this issue.
This patch introduces a new checkbox "Show notes only". We can hide/show details by checking it.

Updated the patch (code cleanup): show-notes-only-2.diff

#12 Updated by Go MAEDA almost 2 years ago

  • Target version set to Candidate for next major release

#13 Updated by Go MAEDA over 1 year ago

Could this be included in 3.2.0? By this change, users can easily see all conversation on a issue. It increases productivity.

trac already has this feature (see the following screenshot).

#14 Updated by budo kaiman over 1 year ago

I don't think a checkbox looks very good there. I'm using the Redmine Issue Detailed Tabs & Time plugin which adds tabs for different sections. This looks much better than a toggle check and offers more possible functionality. Tabs are used in Jira and it looks much cleaner.

Redmine plugin:

Jira:

#15 Updated by Alexander Ryabinovskiy over 1 year ago

budo kaiman wrote:

I don't think a checkbox looks very good there. I'm using the Redmine Issue Detailed Tabs & Time plugin which adds tabs for different sections. This looks much better than a toggle check and offers more possible functionality. Tabs are used in Jira and it looks much cleaner.

I Agree, Jira`s tabs variant is much better. It can be extended to show "Work Log", "Commits' tabs in the future.

#16 Updated by Sebastian Paluch over 1 year ago

+1 for tabs

#17 Updated by Jean-Philippe Lang over 1 year ago

  • Target version changed from 3.2.0 to 3.3.0

I think we need a bit more time for this and 3.2.0 is now scheduled for the next week.

#18 Updated by Alexander Lyzhenkov over 1 year ago

+1

#19 Updated by Go MAEDA over 1 year ago

Here is a updated patch: show-notes-only-v3.diff
We can use tabs to switch views.

"All" tab (notes, details) :
screenshot (history; show-notes-only-v3)

"Notes" tab (notes only) :
screenshot (notes; show-notes-only-v3)

#20 Updated by Go MAEDA over 1 year ago

Sorry, some files were missing in the patch.

#21 Updated by Go MAEDA over 1 year ago

  • File deleted (show-notes-only-v3.diff)

#22 Updated by Marius BALTEANU over 1 year ago

Hi,

The solution with 2 tabs is good, but in my opinion it'll be very helpful for the users to have also the following tabs available:
- Spent time: with all the spent times added to the respective issue (of course, depending on the user rights)
- Activity: all the entries without notes

That means 4 tabs in totals:
- All (activity + notes)
- Activity
- Notes
- Spent Times

Maybe also the associated revisions can be added as tab, but I'm not sure about this one :)

If you're agree with this proposal we can contribute with an updated patch which implement the tabs.
Go MAEDA wrote:

Here is a updated patch: show-notes-only-v3.diff
We can use tabs to switch views.

#23 Updated by budo kaiman over 1 year ago

Marius Balteanu wrote:

Hi,

The solution with 2 tabs is good, but in my opinion it'll be very helpful for the users to have also the following tabs available:
- Spent time: with all the spent times added to the respective issue (of course, depending on the user rights)
- Activity: all the entries without notes

That means 4 tabs in totals:
- All (activity + notes)
- Activity
- Notes
- Spent Times

Spent time would be a good tab to have, but Activity should definitely be part of this.

Marius Balteanu wrote:

Maybe also the associated revisions can be added as tab, but I'm not sure about this one :)

Personally, I think that the associated revisions should be a tab and not have the weird little sidebar thing. If the patch to implement tabs is accepted, moving revisions to a tab should be done as a new feature, not part of this.


One general comment that I have about the patch (just from a quick glance, if I missed something let me know) is that the default tab probably shouldn't always be "All". This could probably be handled in a few ways, below are some options (the second being my preferred method):

  • Add a default tab setting
  • Remember the last tab the user used with "All" as default at first

#24 Updated by Rupesh J over 1 year ago

Hi,
During this implementation, Can you please also consider to provide a hook.
We have already defined some tabs in the ticket history region through a plugin development(currently overriding the corresponding partial).
Thanks.

#25 Updated by Jean-Philippe Lang about 1 year ago

  • Target version changed from 3.3.0 to 3.4.0

There's still some work to implement what is requested here (additional tabs, hook, memorization of last tab...)

#26 Updated by Go MAEDA about 1 year ago

Jean-Philippe Lang wrote:

There's still some work to implement what is requested here (additional tabs, hook, memorization of last tab...)

I think that we can implement only show-notes-only-v3.diff in 3.3.0 and other requests in future releases.

#27 Updated by Dipan Mehta about 1 year ago

This is great work going on.

There is another issue where the same was discussed in great detail - #4487 Do check and try to use some of these ideas.

Add related #4487.

#28 Updated by Go MAEDA about 1 year ago

  • Related to Feature #4487: Add better presentation of issue status history added

#29 Updated by Marc M. 11 months ago

Go MAEDA wrote:

Jean-Philippe Lang wrote:

There's still some work to implement what is requested here (additional tabs, hook, memorization of last tab...)

I think that we can implement only show-notes-only-v3.diff in 3.3.0 and other requests in future releases.

We got some issues with time spent feature after applying show-notes-only-v3.diff
If you click on the spent time summit in the issues description ( which links to /issues/1111/time_entries ) the issues just reloads instead of showing a list of all time entries for the issue.
Anyone else got this problem?

#30 Updated by Artem - 9 months ago

@Mark, did you manage to resolve the issue with time entries?

#31 Updated by Jean-Philippe Lang 6 months ago

  • Target version changed from 3.4.0 to Candidate for next major release

Still some work to be done.

#32 Updated by Marius BALTEANU 3 months ago

  • File 01_allow-tabs-to-have-a-custom-action.patch added
  • File 02_show-issue-history-in-tabs.patch added
  • File 03_move-changesets-to-its-own-tab.patch added
  • File 04_add-time-entries-tab-to-issue-history-tabs.patch added
  • File 05_load-changesets-and-time-entries-tabs-async.patch added
  • File 06_load-remote-tab-only-once.patchMagnifier added
  • File issue_tabs.png added

I've attached a series of patches that implement this feature. Because the change is quite big, I've split the changes in multiple patches.

01_allow-tabs-to-have-a-custom-action.patch

This patch allows render_tabs to have custom action for onclick and also, make the partial rendering optional. In this way, tabs can use the same div (partial) for displaying content.

02_show-issue-history-in-tabs.patch

This patch display issue history in three tabs:
  • All: all journals
  • Notes: only journals with notes
  • History: only journals with history changes and without notes

The notes tab is default when the tab parameters doesn't exists.

03_move-changesets-to-its-own-tab.patch

This patch moves the associated revisions to a new tab and uses the look and feel from the journals to display the changesets.

04_add-time-entries-tab-to-issue-history-tabs.patch

This patch adds a new tab with the issue's visible spent times. The same look and feel from journals is used. Related to #5061.

05_load-changesets-and-time-entries-tabs-async.patch

This patch changes the way in which the changesets and time entries tabs are loaded in order to use ajax calls only on user request. In this way, we speed up a little bit the issue show page. Journals are still loaded in the same time with the issue.

06_load-remote-tab-only-once.patch

I think it doesn't worth it to make an ajax call each time when the user clicks on changeset or time entries tabs

Let's discuss this implementation for Redmine version:3.5.0 (I think that the change is too big for 3.4.0). In Zitec, we're using from the beginning some plugins that implement the tabs, but each time we had multiple issues with them. I really think that this feature is needed and also, having the tabs async implemented, we can add more features in the future (some examples: affected branches and files from git revisions, time in state..).

Regarding the memorization of last tab, I'm not sure that is a good idea because if I'm on the changeset tab of the current issue, it doesn't mean that I want to see the same tab first when I open the next issue. If it's really required, I prefer to have it configurable.

Any feedback is appreciated (attached is a printscreen with all 5 tabs).

#33 Updated by Go MAEDA 3 months ago

  • Target version changed from Candidate for next major release to 4.1.0

Jean-Philippe Lang wrote:

Still some work to be done.

New patches have been submitted by Marius BALTEANU.
Let's consider implementing this feature.

#34 Updated by budo kaiman 3 months ago

Any feedback is appreciated (attached is a printscreen with all 5 tabs).

This looks excellent, one small comment I have is that it would be nice to have avatars shown in the "Associated Revisions" tab like they are for other journals.

Regarding the memorization of last tab, I'm not sure that is a good idea because if I'm on the changeset tab of the current issue, it doesn't mean that I want to see the same tab first when I open the next issue. If it's really required, I prefer to have it configurable.

I can understand why you feel that way, but I still believe it would be useful. Particularly, if I wanted to go through the time log or commit history of a bunch of issues, I would scroll through and open them. If the last tab was remembered then I'd only have to change tab once when I started and then change it back to whatever I want to see when I open the next issue after I'm done. If it were a configurable setting then I'd either have to change the tab for each issue I view, or navigate the settings to change the default before and then after, both of which can be a bit cumbersome. If you still feel opposed to it, that's fine but I'd at least like to express why I feel it would be valuable.

#35 Updated by Marius BALTEANU 3 months ago

budo kaiman wrote:

This looks excellent, one small comment I have is that it would be nice to have avatars shown in the "Associated Revisions" tab like they are for other journals.

The avatars are already added, but they are missing from the screenshot because the feature is disabled on my local environment.

I can understand why you feel that way, but I still believe it would be useful. Particularly, if I wanted to go through the time log or commit history of a bunch of issues, I would scroll through and open them. If the last tab was remembered then I'd only have to change tab once when I started and then change it back to whatever I want to see when I open the next issue after I'm done. If it were a configurable setting then I'd either have to change the tab for each issue I view, or navigate the settings to change the default before and then after, both of which can be a bit cumbersome. If you still feel opposed to it, that's fine but I'd at least like to express why I feel it would be valuable.

It is a valid point of view. What about having the "Last visited tab" as an option in the default tab setting (along with the tabs)? Basically, each Redmine administrator can set as default tab setting for issues one of the following options: All, Notes, History, Spent time, Associated Revisions and Last visited tab.

#36 Updated by budo kaiman 3 months ago

It is a valid point of view. What about having the "Last visited tab" as an option in the default tab setting (along with the tabs)? Basically, each Redmine administrator can set as default tab setting for issues one of the following options: All, Notes, History, Spent time, Associated Revisions and Last visited tab.

I think that is a very sensible solution, though I'm not sure if it would be better as a user preference than an administrator setting.

#37 Updated by Mischa The Evil 3 months ago

  • Related to Feature #12194: Source control revisions should be integrated as part of the history. added

#38 Updated by Toshi MARUYAMA about 1 month ago

  • Related to Feature #5061: Show time log entries in issue history added

#39 Updated by Mischa The Evil about 1 month ago

I really do like the tabbed solution for this issue.

My two cents on the patches provided in note-32 based on a visual scan of the patches and the posted screenshot:
  • 'All' tab does not include spent time entries and associated revisions (this seems logical seeing where we are coming from, but it might be unexpected behaviour for an 'All' tab)
    • and if these were to be merged into the 'All' tab too, then it would provide a false overview of issues' journals as their items aren't journals (only notes and property changes are journals)
  • to see all the associated revisions of an issue, one now has to click one more time (on the tab) than before (they were immediately visible along the history), which might be a drawback for some (I can live with it though)
  • I think that a 'properties' or 'property changes' label for the 'history' tab is better considering its content and the terminology used throughout Redmine (eg. see the label of the issue edit form [which is 'change properties'])
  • additional plugin hooks for the spent time and associated revisions tab views are not included
  • regarding the last visited tab memoization: I like the solution proposed by Marius in note-35, but, as Budo, I also like to see such a setting as a user preference instead of a system-wide (admin) setting

All in all I'm pretty positive about the patch series. This feature seems to be coming along nicely... Thanks Marius for your work on this.

#40 Updated by Marius BALTEANU 25 days ago

Thanks Mischa for your feedback.

Mischa The Evil wrote:

I really do like the tabbed solution for this issue.
My two cents on the patches provided in note-32 based on a visual scan of the patches and the posted screenshot:
  • 'All' tab does not include spent time entries and associated revisions (this seems logical seeing where we are coming from, but it might be unexpected behaviour for an 'All' tab)
    • and if these were to be merged into the 'All' tab too, then it would provide a false overview of issues' journals as their items aren't journals (only notes and property changes are journals)

1. It is better to rename the 'All' tab with the current label 'History'?
2. It'll be nice to have the time entries and associated revisions merged in an 'All' or 'Activity' tab, but maybe it'll be done in a future version.

  • to see all the associated revisions of an issue, one now has to click one more time (on the tab) than before (they were immediately visible along the history), which might be a drawback for some (I can live with it though)
  • I think that a 'properties' or 'property changes' label for the 'history' tab is better considering its content and the terminology used throughout Redmine (eg. see the label of the issue edit form [which is 'change properties'])

3. 'Changed properties' sounds good for you?

  • additional plugin hooks for the spent time and associated revisions tab views are not included

4. I'll a update the patches to include the hooks.

  • regarding the last visited tab memoization: I like the solution proposed by Marius in note-35, but, as Budo, I also like to see such a setting as a user preference instead of a system-wide (admin) setting

5. I'll create a new patch for this feature. I think the best way to implement this is to have the both settings: one in admin to configure the default value for new users, and one as a user preference.

#41 Updated by Marius BALTEANU 20 days ago

Updated the patch series (01-05) in order to apply cleanly to the current trunk and to include the feedback from Mischa:
  • Renamed the tab "All" to "History"
  • Renamed the tab "History" to "Property changes"
  • Added hooks for changeset and time entries tabs
  • Updated tests

Please remove the first version of patches (except 06_load-remote-tab-only-once.patch)

#42 Updated by Mischa The Evil 18 days ago

  • File deleted (01_allow-tabs-to-have-a-custom-action.patch)

#43 Updated by Mischa The Evil 18 days ago

  • File deleted (02_show-issue-history-in-tabs.patch)

#44 Updated by Mischa The Evil 18 days ago

  • File deleted (03_move-changesets-to-its-own-tab.patch)

#45 Updated by Mischa The Evil 18 days ago

  • File deleted (04_add-time-entries-tab-to-issue-history-tabs.patch)

#46 Updated by Mischa The Evil 18 days ago

  • File deleted (05_load-changesets-and-time-entries-tabs-async.patch)

#47 Updated by Mischa The Evil 18 days ago

  • Subject changed from User Filtering of Issue History to Show issue history using tabs

Marius BALTEANU wrote:

Updated the patch series (01-05) [...]

Nice! Thanks for incorporating my feedback. To summarize the remaining outstanding tasks:
  • Add setting(s) for memoization of the last visited tab
    • I don't think we need an admin setting as well as a user preference though. I think that only having a user preference will suffice.
  • Merge time entries and associated revisions with journals into an 'All' or 'Activity' tab

Please remove the first version of patches (except 06_load-remote-tab-only-once.patch)

Done.

#48 Updated by Marius BALTEANU 18 days ago

Thanks!

Mischa The Evil wrote:

  • Add setting(s) for memoization of the last visited tab
    • I don't think we need an admin setting as well as a user preference though. I think that only having a user preference will suffice.

Is on my to do list.

  • Merge time entries and associated revisions with journals into an 'All' or 'Activity' tab

I'll work on this after these patches are committed because the changes are quite big, hard to maintain and also, to be honest, I need a confirmation from Jean-Philippe Lang that we're on the right way with the implementation.

#49 Updated by Mischa The Evil 18 days ago

Marius BALTEANU wrote:

  • Merge time entries and associated revisions with journals into an 'All' or 'Activity' tab

I'll work on this after these patches are committed because the changes are quite big, hard to maintain and also, to be honest, I need a confirmation from Jean-Philippe Lang that we're on the right way with the implementation.

Please don't get me wrong. I didn't mean to say that this particular change is a requirement before this patch serial can make it into the core. It is something that could well be handled through a separate issue after integration of this issue. I just wanted to give a summary of things mentioned throughout this issue which are not (yet) covered by your patches.

#50 Updated by Wim DePreter 18 days ago

If you change presentation of associated revisions, maybe you could keep #13715 in mind?

#51 Updated by Andrey Lobanov (RedSoft) 15 days ago

Here is a fixed version of the patch. While viewing the repository entries, there was some problem - Tabs didn't opening, because of 'onclick' action.

Also available in: Atom PDF