#Global search
#What exists
| Source | Status |
|---|---|
| V7 V7 only | A MeilisearchController searches servers, applications, databases, database users, system users and cron jobs (Scout Searchable models), filtered by the user's organizations. Its route file is empty, so the endpoint isn't reachable. In practice V7 has no working global search |
| V8 doc | Not mentioned |
| Demo Demo UI only | "Search ⌘K" button in the top bar on every page |
| OSS OSS API | Per-list search parameters only (case-insensitive). No cross-resource search |
#Recommended scope (first release)
Search Central-owned resources only, through one backend endpoint Missing:
| Category | Matches on | Opens |
|---|---|---|
| Servers | name, IP (cached), hostname | /servers/:id |
| Organizations | name (the user's own) | switches organization |
| Members | name, email | /members?highlight= |
| Blueprints | name | /blueprints/:id |
| Transactions / invoices | number, amount | /billing/... (only with Billing permission) |
| Pages / actions | "Add server", "Invite member", "Billing" | navigation |
Applications/databases across servers: later, either through a per-server live query with timeouts, or a lightweight name index (needs a decision on R5).
#UX
- Open with ⌘K / Ctrl K or the top-bar button. Dialog with input, grouped results by category, keyboard navigation, recent searches (local).
- Debounce 250 ms, cancel the previous request, minimum 2 characters.
- States: loading (skeleton rows), empty ("No results for 'x'" + suggestions), error ("Search is unavailable" + retry), no permission (category not shown).
- Results respect permissions and the current organization (servers of other organizations: shown only if the user is a member, labelled with the organization name Assumption).