omniboard
omniboard copied to clipboard
Feature request: hide columns with constant values
First of all, thank you for the great tool that Omniboard already is!
A suggestion: It would be useful to, in the main table, automatically hide columns that have the same value for all the displayed runs, and perhaps add a box with these constants above/below the table.
It is a common pattern I use when analyzing results in a notebook, and it really helps with the readability of resulting tables. It lets the user compare things that actually differ, without the unnecessary clutter.
I see it as an optional feature (enabled in settings), ran after all the row filtering and adding custom columns has been applied.
My initial instinct, after browsing the code very briefly, would be to add it purely in the client, in the RunsTable class.
What do you think about the feature, and how would you approach the implementation?
@tpietruszka Thanks for your suggestion!
It will be good to be able to hide the columns with same value for all runs, but it will be hard to implement. Omniboard uses server side pagination for faster initial render and to support large number of experiments. Hence, client (frontend) will not be able to determine if a column has constant values.
Also, this feature will be hard to maintain since a static column can become a dynamic column and the client should be able to display that column suddenly and also apply the previous settings (show/hide/rearrange/resize of columns).
I see... I should have read the code more carefully. It does not feel like the perfect solution, but in practice, I think such an option could be useful even if applied "within a page".
I mean if I'm browsing 50/100/200 rows, usually the top ones according to the score, I care most about comparing those. If I need a complete config - I can still get it just clicking on any of runs. (+ perhaps a notice above the table that "Columns X, Y and Z" were hidden?)
I Imagine just setting show
to false
on constant columns after each data fetch. I think it should sidestep problems with columns becoming dynamic (it would just show up), and since it would still be there, just hidden, all settings would be remembered.
Does this make sense? I can work on implementation, just wanted to know if it is a pointless endeavor
@tpietruszka That makes sense. And I think it will be useful to show constants in the top.
Please go ahead and work on the implementation and let me know if you have any questions while development. Thanks!
@vivekratnavel sorry to bother you but I have some problem, and not having much experience in Node-related stuff I'm not sure where the problem is.
when I've just cloned omniboard, and ran yarn install
I get an error. I've tried updating yarn, node, tried on a different system (with node 13.x) - all the same. Both systems are Ubuntu 18.04, but Node, yarn etc installations are different.
The problem looks like this:
(base) tomasz@w520:~/projects/omniboard$ yarn install
yarn install v1.22.0
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
error An unexpected error occurred: "https://registry.yarnpkg.com/@semantic-release/commit-analyzer/-/commit-analyzer-7.0.0-beta-.2.tgz: Request failed \"404 Not Found\"".
info If you think this is a bug, please open a bug report with the information provided in "/mnt/Data/projects/omniboard/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
Do you have any suggestions? Might it be some yarn.lock anomaly?
I also tried running yarn install --no-lockfile
- works a bit further, fails during node-gyp rebuild
. But maybe solving the first problem and having all packages in the right versions would make the second one go away.
Hi @tpietruszka ,
Thanks for taking this initiative!
I have installed the following node and yarn versions and it works fine: node: v10.13.0 yarn: v1.17.3
You can have multiple versions of node installed and switch between them by using nvm
- http://nvm.sh
Please try and let me know if you are still facing issues.
I also found this issue while searching for your specific issue - https://github.com/yarnpkg/yarn/issues/7900
Thanks for the nvm tip! With your versions, I still get the error.
After following your latest link it seems like it is an issue with NPM. They have an issue, (still open since 3 weeks ago) on their statuspage: https://status.npmjs.org/incidents/lvgmcrfvrvsh , and to quote:
We've found some further issues that are causing disruption of service to select geographic regions, for some select packages.
@tpietruszka I have fixed all the npm related issues and added support for latest version of Node v12. You can now pull the latest code and use node 12 to develop Omniboard. Please let me know if you have any other issues.