# One model, many views

Archibara keeps one model of your architecture and draws it in as many views as you need, each with its own layout.

## The model and its views

The model holds your objects, their connections, records and catalogs. A view decides which of those objects appear in one diagram, where their cards sit, how big they are, which groups frame them and how each connection is drawn there.

Because the layout belongs to the view, moving a card never changes the architecture, and the same object can appear in many views without being copied. Rename an object or change its technology once, and every view that shows it is up to date.

## Remove, hide or delete

Right-click a card to see the difference:

- **Hide from this view** keeps the card's place in the view but stops drawing it. To bring it back, press Ctrl+K, find the object and choose **Show in this view**.
- **Remove from this view** takes the card off this view. The object stays in the model and in every other view.
- **Delete from model** deletes the object everywhere, together with its children and their connections.

Pressing Delete or Backspace removes the selected cards from the current view only. Selected connections, however, are deleted from the model. Every one of these actions can be undone.

## View kinds

| Kind | Use it for | Types you can add on the canvas |
| --- | --- | --- |
| **Landscape** | The big picture: all your systems and the people around them | System, Actor, Group |
| **System context** | One system and its direct surroundings | System, Actor, Group |
| **Container** | The inside of one software system | System, Actor, Group, App, Store |
| **Component** | The inside of one container | All types |
| **Deployment** | Where containers and systems run | All types |
| **Custom** | Any other diagram | All types |

## Create a view

1. Open the **Views** tab in the explorer and select the plus button (**New view**), or open the view menu in the toolbar and select **New view**.
2. Enter a **Name** and choose a **Kind**.
3. Optionally choose a **Scope element**: the software system or container whose inside this view shows.
4. Under **Start with**, choose **An empty view** or **All elements**. With a scope element, **All elements** means everything inside that element.
5. Select **Create**. A new view is arranged automatically.

A workspace without any view shows **New view** in the middle of the canvas. Objects you add while no view exists are stored in the model only.

To rename a view, select an empty part of the canvas and edit **View name** in the inspector. To delete a view, hover it in the **Views** tab and select its delete icon. Deleting a view removes only the view and its layout; the model is untouched.

## Detail views

A detail view shows the inside of an object, one level down:

- A **Software system** opens into a **Container** view scoped to it.
- A **Container** opens into a **Component** view scoped to it.

Double-click a system or container, or right-click it and select **Open details**, to open its default detail view. If it has several, Archibara asks which one to open. If it has none, it offers **Create detail view**; leave **Include children and connected context** selected to start with the object's children and the objects they connect to, or clear it to start empty.

The lens in the corner of a card shows how many detail views the object has. Rest the pointer on it to list them under **Detail views of** the object. From there you can open any of them, choose **Set as default** in a view's menu, or add another one with **New detail view**.

On a detail view, **Back** above the canvas, or the lens that returns to the level above, takes you back to where you came from, with the same position and selection. Viewers can open existing detail views; creating one needs Editor access.

## Show an existing object on another view

Any of these adds an object that is already in the model, rather than a copy:

- Double-click the canvas and pick it under **Existing objects**.
- In the explorer's **Model** tab, find it in the **Element library** and select **Add to view**, or drag it onto the canvas.
- Press Ctrl+K, search for it and choose **Add to this view**, or **Show in this view** if it is hidden there.

**Duplicate**, copy and paste work differently: they create new objects named with "copy", which you can then change independently.

## Frames, groups and view settings

When a view shows objects without their parent, the parent is drawn as a frame around them, for example a system around its containers. Groups are frames you add yourself (press 3, or pick **Group** in **Add object**). A group belongs to that one view; select it to set its **Boundary type**, **Exposure** and **Boundary layer**, and use **Elements in this boundary** to choose its members.

Select an empty part of the canvas to see the view's settings in the inspector:

- **Display**: **Show full titles**, **Show descriptions**, **Show boundaries** and **Show relationship labels**.
- **Layout**: **Layout direction** (**Left → Right** or **Top → Bottom**), **Layout algorithm**, **Connector style** and **Boundary layer**.

## Auto layout

Select **Auto layout** in the toolbar to arrange the current view with its layout algorithm. The arrow next to it chooses another one: **Hierarchical (default)**, **Network**, **Radial** or **Compact grid**. With **Radial**, a selected object becomes the centre. Like every change, an auto layout can be undone.

## Explore the whole model

The **Open model browser** button near the top of the **Model** tab opens **Model**, a workspace-wide view of every object:

- **Table** lists objects with search, filters (technology, status, team, tags, type, diagram, description and domain) and sorting. You can edit names, teams and technology text in place, select many objects and change them together, and download the filtered list with **Export filtered objects (CSV)**.
- **Grid · read only** shows objects as cards; choose one to see its connections and the diagrams that contain it.
- **Catalogs** manages tags, technologies and domains; see [Domains, tags and technologies](/docs/domains-tags-technologies/).
- **Connections** lists and edits connections across the workspace.

**Dependencies**, at the top of the same dialog, follows connections from a **Start object**, **Outgoing**, **Incoming** or **Both directions**, up to a **Maximum hops** you choose, and shows the shortest distance to each object it reaches. It never changes the model.

## Records

The **Presales** tab in the explorer keeps records that are not diagram objects: **Assumption**, **Risk**, **Unknown**, **Requirement**, **Decision** and **Note**. Each has a **Status** (**Open**, **Confirmed**, **Resolved** or **Rejected**), an optional **Severity**, Markdown **Details** and **Linked elements**: the objects it concerns. Decisions, requirements and risks offer templates, such as an **ADR template** for decisions. The statuses are labels for your process; they do not lock a record. Records can be added to Markdown and HTML reports when you export.

## Deployment

To show where software runs, create a **Deployment** view, add an object and set its kind to **Deployment node** or **Infrastructure node**. Then open **Instances** on the **Views** tab and select **New instance** to deploy a container or system to a host in an environment, with a replica count. Connections between instances in the same environment are drawn automatically from the logical model.
