Skip to main content

Explorer

The Explorer shows the feature model without changing anything. Use it to look up a feature, its place in the tree, and where it comes from in Artemis. Read this page when you change the Explorer or the diagram it shares with the Configurator.

What the Explorer shows​

The Explorer loads GET /api/feature-model once. Its header shows the model name, id, and version, and four numbers: Features (selectable features only), Relations, Constraints, and Default on. Model warnings, such as constraints the server cannot evaluate, appear above the tree.

Below the header, the page has two panels: the feature tree on the left and the details of the focused feature on the right.

List and diagram views​

The List view shows the tree as indented rows. The Diagram view draws the same tree from left to right as SVG, laid out with d3-hierarchy. Both views share one expansion state, so a branch that you open in one view is open in the other. Expand and Collapse open or close all branches at once. A small legend explains the colored dot of each feature kind; a hollow dot marks a structural node that users cannot select.

The Configurator's advanced tree reuses the diagram component, with selection and validation markers added.

The search box filters the tree by feature name or id, ignoring case. Matching features stay visible together with their ancestors, so every match keeps its context, and the matching branches open automatically. Clear resets the search. The filter logic is a pure function, filterTreeByQuery in core/feature-model-tree.utils.ts.

The details panel​

Clicking a feature shows its kind, category, whether it is selectable, its default state, its parent relation, and its description. A collapsed Source metadata section lists where the feature comes from in Artemis: its configuration key, Spring profile, client constant, server condition class, and source evidence. Maintainers use this section to trace a feature back to the Artemis code.

The snapshot line​

The line below the title lists imported model snapshots. It reads them from the legacy snapshot administration API, which is off by default; the line then says that snapshot information is unavailable. Runtime Model explains the API.

Code map​

File in src/main/webapp/app/feature-model/Responsibility
explorer/feature-model-explorer.component.tsThe route component: loading, search, view mode, focus, and expansion state
explorer/feature-model-tree-node.component.tsOne row of the list view, rendering its children recursively
explorer/feature-model-diagram.component.tsThe SVG diagram, also used by the Configurator
explorer/feature-model-snapshots.component.tsThe snapshot line
core/feature-model-tree.utils.tsTree search, filtering, and label helpers
Search documentation