This PR allows users to toggle between featured and all benchmarks. It also shows the preferred usernames.
Currently, the UI layouts of featured and all benchmarks are still identical, where each benchmark is shown as a card. I was planning to change the layout of all benchmarks to a table (like how systems are displayed) but realized more clarifications are needed. I've put my questions in issue #574 .
Backend
Created a new DB collection benchmark_featured_list under DB metadata to store the list of featured benchmark ids. This allows admins to maintain the list easily and doesn't require redeployment when the list is modified. Since the list is read-only, it might be even better to store it on Cloud Storage. I might need some pointers on how to create it on GCP 🙏
Added preferred_usernames as a required field to BenchmarkConfig in openapi.yaml and modified related API endpoints.
Frontend
Allow users to toggle between featured and all benchmarks. The toggle button is only active at the root page (when parent id == ""), see the last screenshot for an example where the button is inactive.
Shows preferred usernames.
Created a filter class to organize parent_id and show_featured parameters.
Bound the filter with URL params so users can share a page easily via URL, just like before.
This PR allows users to toggle between featured and all benchmarks. It also shows the preferred usernames.
Currently, the UI layouts of featured and all benchmarks are still identical, where each benchmark is shown as a card. I was planning to change the layout of all benchmarks to a table (like how systems are displayed) but realized more clarifications are needed. I've put my questions in issue #574 .
Backend
benchmark_featured_list
under DBmetadata
to store the list of featured benchmark ids. This allows admins to maintain the list easily and doesn't require redeployment when the list is modified. Since the list is read-only, it might be even better to store it on Cloud Storage. I might need some pointers on how to create it on GCP 🙏preferred_usernames
as a required field toBenchmarkConfig
inopenapi.yaml
and modified related API endpoints.Frontend
parent_id
andshow_featured
parameters.