Loading
Redesign the Orbit Schema tab as a clustered graph
What does this MR do and why?
Redesigns Orbit > Schema as one graph of every entity type, clustered by area with the core entities in the middle. Hover or select an entity to draw its links with their names. Select it to open a card with its relationships, its properties, and a GQL query that opens in the Query editor. The old domain map, neighbor graph, entity picker, and details panel are deleted.
It also shows Quickstart on every Orbit tab, and sizes the full-height Orbit tabs to the content panel, so the page does not scroll.
References
- Previous Schema tab MR: !261195 (merged)
- Admin area Orbit page MR with the same review flow: !261333 (merged)
Screenshots or screen recordings
| Before | After |
|---|---|
![]() |
![]() |
![]() |
![]() |
| Happy path | Bad path | Disaster path |
|---|---|---|
What changes for users
- All entity types show at once. Lines inside an area and between areas show at rest in a light tone.
IN_PROJECTlinks almost every entity type, so it shows only as one line per area that has no other link to the core area. - Hover, keyboard focus, and selection show the same view: the links of the entity draw out from it with their names, and unrelated entities fade. Edge names that do not fit next to a line are left out on the canvas; the card lists them all.
- Selecting Project draws its 23
IN_PROJECTlines with oneIN_PROJECT · 23 entity typespill instead of 23 names. The card lists the 23 entity types in a list you expand. - The card has Properties (closed) and Connected entities (open), the count in your graph, Explore, and Start a query. Selecting a relationship name opens a card with every pair it joins.
- The graph fits its panel at every window size. Drag empty space to move it, use the zoom buttons, and Reset view to go back. The card floats over the graph and does not move it.
- Open in Query editor passes the query in
?query=. The editor reads it once, saves it as the draft, and removes it from the URL. - Each query filters on the primary key (
WHERE p.id IS NOT NULL), because the Orbit server rejects aMATCHwith no filter. All 91 entity and relationship queries pass on a local Orbit. - Quickstart shows on every Orbit tab, not only on Overview.
- The
click_orbit_schema_itemlabels change tograph,details, andrelationship. The oldmap,neighbor, andpickersources are gone. The event definition says so.
What each recording covers
- Happy path: the graph at rest, hover, the MergeRequest card, the properties, moving through the card, a relationship card, the Project card and its pill, an area highlight, zoom and drag, keyboard focus and Enter, and a WorkItem query that runs in the Query editor (3 rows). All calls are real, on a SaaS GDK with a local Orbit.
- Bad path: a link to an entity that does not exist, a link to an entity, and a 1024 and a 390 window.
- Disaster path: a slow schema API (4 seconds), the schema API down (503) with Try again, and the graph counts API down (500). These faults are injected in the browser.
More screenshots
| View | Screenshot |
|---|---|
| Hover | ![]() |
| Project | ![]() |
IN_PROJECT card |
![]() |
| Dark | ![]() |
| Dark, card | ![]() |
| Dark, Project | ![]() |
| 1280 | ![]() |
| 1024 | ![]() |
| 390 | ![]() |
| Query editor icons | |
| Query editor icons, dark |
How to set up and validate locally
- Use a GDK with Orbit on for a group, and sign in as a member of that group.
- Go to
http://127.0.0.1:3000/dashboard/orbit/schema. - Hover and select entities, select Project, and select Open in Query editor on a card.
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.












