Added several new options to Hangfire Dashboard#937
Added several new options to Hangfire Dashboard#937JesseKlaasse wants to merge 4 commits intoHangfireIO:mainfrom
Conversation
… Display job arguments in all job lists, 3. Filter most job lists on a given search string, 4. Set the default numbers of rows to show in job lists, 5. Show all jobs in job lists
|
@odinserj :) |
|
@JesseKlaasse, that's a really big effort, and I really like you've considered to improve Hangfire. I'm trying to do my best to keep Hangfire simple and stable, so I need to weight each feature before merging it. Because it's much harder to maintain features rather than implement them. Could you provide the following details about every feature:
|
…hboardOptions now default to false
|
@odinserj I can certainly imagine it's harder to maintain features than to implement them... To answer your questions, per feature: 1. Use the full screen width When you would use a full HD widescreen together with the new option, this now looks something like this: This new feature is off by default, and can be enabled by setting the 2. Display job arguments in all job lists The situation when using my new feature: This new feature is off by default, and can be enabled by setting the By the way, in the code I noticed that Hangfire already has the feature to use the DisplayName attribute for displaying a job name in the lists, also with the option of using arguments in this. I couldn't find this in the documentation, but I think it's very useful. Like this: 3. Filter most job lists on a given search string This new feature allows database filtering. For example, when I have this list: Now, if I only want to display order-related jobs, I can type "order" in the filter box and press enter: This new feature is off by default, and can be enabled by setting the 4. Set the default numbers of rows to show in job lists This feature can be enabled by setting the 5. Show all jobs in job lists So, I have added 'All' to the Page Size selector (which is not actually 'All' but int.MaxValue). This new button is added by default, so current users will notice this new button in the Page Size selector. |
|
Great stuff.... :) |
|
@odinserj Is there something more I can do? Could you tell me if you are planning to merge this pull request? I completely understand your concerns about maintaining features, but I kind of need to know whether or not I should plan to keep using my own fork or not. Thanks! |
|
@JesseKlaasse, sorry for the delay, and thank you for detailed description. I'll write some thoughts for each feature. Display job arguments in all job listsDid you know you can show arguments using the [DisplayName("MySuperDescription: {0} ({1})")]
public void Method(string userName, int id)In this case, background job will be displayed as "MySuportDescription: odinserj (1234)" almost everywhere in the dashboard. I don't want to show arguments by default, because they can be quite long – some users encode custom objects there. So, should this feature be implemented, when Filter most job lists on a given search stringUnfortunately this feature relates only to SQL Server storage and breaks a lot of existing interfaces. Even if we merge those changes, other storages will require other methods to have a search feature. Maybe sorting can be implemented as an extension to Hangfire? What do you think? Show all jobs in job listsBy using this button we could accidentally ruin our storage, when we have a huge number of jobs – there may be millions of background jobs. Maybe we should just add yet another button with higher value? "Set the default numbers of rows to show in job lists" and "Use the full screen width"These ideas are interesting, and I don't see any downsides. Let's start one by one in separate pull requests, because the features before will be showstoppers for these ones. |
|
Hi @JesseKlaasse |
|
Any update on this? especially the option to set |
|
@odinserj Any updates on this? We're running into usable space issues with long job names -- the "Use the full screen width" feature is exactly what we need. |
|
Any news when this will be implemented? Looking forward to the feature "Set the default numbers of rows to show in job lists". If you have many Jobs it can be really helpfull to show all Jobs |
|
@SimonHostettler At a minimum, the branch conflicts need to be resolved before the changes can be approved. Of course, it's been almost 3yrs since @JesseKlaasse first issued the pull request -- I'm not sure if he's willing / able to take a look anymore. And even if the conflicts are resolved, who knows if anyone will review and/or merge the PR in a timely fashion. At this point, I wouldn't get your hopes up. |
|
any update on this? |
|
Absolutely love Hangfire, but not having an easy full width option was driving me crazy. For anyone else that stumbles upon this thread, and you want full width, here's a (hackish) way to do it without forking - https://stackoverflow.com/questions/69994049/make-hangfire-dashboard-full-width/69994050#69994050 |
|
Full width support will be included by default in the upcoming Hangfire 1.8 release, you can preview it there – http://demo.hangfire.io/hangfire. There were troubles with error popup and sidebar that required a little bit another implementation. |
|
Outstanding! Thanks for your hard work and diligence! |
|
The filtering, full screen, and arguments in list would really help my team. Is there a plan to merge this branch soon? |
|
Please check my previous messages regarding full width and visible arguments, these features are already implemented, but filtering and search require cross-storage implementation to be running on both RDBMS and NoSQL storages, and such implementation is much harder to abstract. |
|
@odinserj hey mate :-) any idea when the 1.8 dashboard with the fullwidth support will be available? Just running into this now as our server names are getting long (container names in k8) and would find the full width support really handy at the moment... |









Add options to Hangfire Dashboard to 1. Use the full screen width, 2. Display job arguments in all job lists, 3. Filter most job lists on a given search string, 4. Set the default numbers of rows to show in job lists, 5. Show all jobs in job lists