FabrikFabrik
FabrikClass Browser

Class Browser

The searchable, MIM-backed picker that turns the entire ACI Managed Information Model into a five-second lookup — for novices, operators, power users, and senior experts alike.

The Class Browser is Fabrik's front door to the ACI Managed Information Model. Every time you pick an ACI class on the canvas — a top-level Class Query, a Child Class under a tenant, a new pipeline stage — you go through the same dialog. It reads from the MIM graph Fabrik keeps in Neo4j and renders classes as a list with a rich detail panel.

This section is the reference for that dialog: how the dual search modes (by class name, by property) work, how filter chips trim 17,500+ classes down to what you actually want, how favorites/recents/trending build a personal and team-wide working set, and how reference targets let you explore Cisco's Rs* graph without breaking your query.

If you just want the "pick a class" walkthrough, Building a query has it. This section goes deeper.

Designed for every level

The browser is engineered around four user profiles. Every feature listed below maps to one of them — most help two or more.

ProfilePrimary needWhat helps most
NoviceDoesn't know ACI class names yetAI suggest, by-property search, smart children, query preview, description chips
OperatorUses 10–20 classes dailyFavorites with notes, backend-synced recents, trending, single-keystroke recall
Power userKnows the names, wants speedKeyboard nav, package combobox, single-char search, browse mode
Senior expertMaps the whole MIM, troubleshoots edge casesDN pattern search, reference targets, meta badges, abstract/deprecated visibility

When it opens

Two paths open the same dialog:

  • From the Start node's Add Node menuClass Query. No parent context — every class in the MIM is fair game.
  • From a Class / Filter / Post-Processor nodeChild Class. The browser is scoped to the nearest Class ancestor's MIM-declared children. Filters and processors are transparent to the walk; scoping works regardless of how many transform nodes sit in between.

Either way, the canvas remembers where you dropped the edge and adds the chosen class there when you confirm.

The four zones

The dialog always has the same four zones, top to bottom.

ZoneWhat lives there
HeaderTitle and (in child mode) a Child of: <parent> chip showing the active scope.
Search barMode tabs (By class / By property), search input, AI suggest toggle, package combobox, favorites-only toggle, filter chips, reference-targets toggle (child mode only).
BodyTwo columns: left list (results, favorites, recents, suggested, trending), right detail panel with five tabs.
FooterResult count + active package, soft warnings (deprecated, reference-only), Cancel and Confirm.

Everything else — star icons, metadata badges, keyboard shortcuts — hangs off those zones.

What "MIM-backed" means in practice

Neo4j holds the ACI MIM graph: every class, every containment relationship, every property, every RN mapping, every Rs* reference, every fault and event code, plus metadata flags (isAbstract, isDeprecated, isHidden, isContextRoot, dnFormats, superClasses, moCategory). The Class Browser queries Neo4j (not APIC) every time you type, scroll, or expand a section.

Three consequences:

  • It's instant. You're not hitting a live fabric. Search results come back in tens of milliseconds. The full-text index (classSearchIndex) covers className, label, classPkg, and description — fuzzy matching is built in, so typos still find the class.
  • It reflects the MIM you've loaded. If a class is missing from the browser, the MIM version doesn't know about it. See Load MIM for re-syncing.
  • It's contract-stable. Adding metadata to results never breaks an existing saved query — MIMClass's required fields (className, label, classPkg, rnFormat, isContextRoot, isConfigurable) are frozen; everything else is additive and optional.

If you've never loaded a MIM on this Fabrik deployment, the browser is empty. That's the one failure mode worth checking first when it looks broken.

What's new in 2026

Recent releases brought the browser from a flat search box to a multi-modal expert tool. Highlights:

  • Search by property — type encap and find every class that owns that field, not just classes named with "encap".
  • DN pattern search — type uni/tn- or /BD- and Fabrik searches the dnFormats arrays Cisco published for each class.
  • Single-keystroke search + browse mode — one character is enough; or pick a package and clear the search to list every class in it.
  • Filter chips — four toggles (monitoring/stats, deprecated, abstract, hidden), all on by default, persisted to localStorage.
  • Meta badges — every class shows colour-coded chips for deprecated, abstract, root, and hidden states.
  • Reference targets toggle — in child mode, opt in to see classes referenced from the parent via Rs* relations (read-only, exploration-only — they can't be added directly because they'd produce wrong queries).
  • Smart children + trending + common roots — empty-state landings now suggest what to pick instead of an empty panel.
  • Backend-synced recents — the Recent list now follows you across browsers and devices, with localStorage as an offline fallback.
  • Description previews + searchMethod chips — when a class matched on description or label, you see why in a small chip and (for description matches) a short preview underneath.
  • Keyboard nav everywhere//Enter/Esc works in both the dialog and the inline EnhancedClassSelector.

Every one of those is detailed in the pages below.

Continue reading


The browser is the one dialog you'll open the most. Investing five minutes in how filter chips, favorites, and the two search modes work pays for itself the same afternoon — and the difference between a novice picking the wrong class and an expert finding the right one in two keystrokes lives entirely inside this one component.