Open jameslzhu opened 5 years ago
I think each computer should have an arbitrarily large set of tags associated with it. These tags should also be searchable terms. Tags might include "cs161" for machines relevant to that class, or "cadence" for machines with a Cadence Virtuoso (a very expensive ICCAD tool) license seat. When a user searches, he should see machines that either name-match or tag-match his search.
If users can easily search the set of machines for their purpose, I think it's still most helpful to them to display results in load order.
Currently servers are ordered by load (ascending), then by hostname, alphabetically. While the least-loaded computers are placed at the top, many visitors will be looking for specific groups of computers (hive, s277, s275, s341, ashby / cory / derby ssh gateways).
In particular, certain classes (i.e. 161, 184) require software on specific machines, but the current ordering places unloaded computers first, and separates all of the ssh gateway machines (which have non-uniform street names like cory.eecs, ashby.cs, cedar.cs, derby.cs, gilman.cs, hearst.cs, solano.cs, oxford.cs, ward.cs).
For this purpose, I'm considering some kind of non-alphabetical ordering first, load second, in SQL terms a GROUP BY before SORT BY load ASC, either implicitly (no group headers) or with explicit grouping on the website.
We still want to maintain the current search functionality across all servers, however.