Skip to main content

Resources

A resource is a collection of records — the DashX equivalent of a database table or a model. Every resource has a name, a machine-readable identifier, and a set of attributes that describe the shape of its records.

Resources come from two places: you either create one from scratch inside DashX, or you sync one from a data source you already run.

Create a resource from scratch

Use this when the data should live in DashX.

  1. Open Data in your workspace and go to the Overview tab.
  2. Choose Create Resource.
  3. Enter a Name. The Identifier is filled in automatically from the name — it is the stable, machine-readable handle used in the API, so change it now if you need to. It cannot be changed as freely later.
  4. Save.

Once the resource exists, open it from the Resources tab to add attributes, relationships, and operations.

Record ordering

A resource controls the default order of its records:

Order styleBehavior
Creation Time DescendingNewest records first. The default.
Specific FieldsOrder by one or more attributes, each ascending or descending.
Linear Drag and DropManual ordering — records are arranged by hand in a flat list.
Tree Drag and DropManual ordering with nesting, for hierarchical records.

Only attributes with an orderable data type can be used for Specific Fields ordering.

Environment behavior

Resources declare how their records relate to environments:

  • None — records are shared across environments.
  • Isolated — each environment keeps its own separate set of records.

Choose Isolated when development and production data must not mix.

Sync a resource from a database

Use this when the data already lives in an external database and you want to read it through DashX without migrating it.

  1. Install a database integration, so DashX has credentials to connect with.
  2. Open DataOverview and choose Sync Database.
  3. Pick the installation and the target environment. DashX reads the schema and lists the tables it found.
  4. Select the tables you want and generate. Each table becomes a resource, with its columns mapped to attributes.

If tables are missing or the schema has changed since the last read, use re-sync to refresh it before selecting.

note

Syncing from an API is not available yet — the option appears in the UI but is disabled. Syncing from a file is likewise not yet available.

What a resource contains

Selecting a resource in the Resources tab opens its detail pane, which is organized into four lists.

Attributes

The fields of the resource. Each attribute has a name, an identifier, and a data type — either one of the built-in types or a custom data type you defined.

One attribute can act as the resource's title field, which is what DashX displays when it needs to refer to a single record in a list, a picker, or a related-record link. If you don't nominate one, the first attribute with a suitable type is used.

Attributes can also be marked translatable, in which case their values are stored per locale.

Relationships

How this resource connects to others. Three kinds are supported:

KindMeaning
Belongs ToEach record points at one record of the target resource.
Has OneEach record has at most one matching record in the target resource.
Has ManyEach record has any number of matching records in the target resource.

Relationships are what let a query walk from one resource to another in a single request.

Segments

Named, reusable filters over the resource's records — useful for slicing a large collection into the views your team actually works with.

Operations

The operations attached to this resource. See Operations.

Records

Open a resource to browse its records. From there you can create, edit, and delete records, import records in bulk, and open a record's detail pane to see its related records.

Records are versioned — a record's history is retained, so you can review earlier versions of it.

System resources

Installed apps ship their own resources. These behave like the ones you create, but they are owned by the app rather than the workspace, so they are managed from that app's page and appear in the workspace list only where relevant. You can extend a system resource by adding your own attributes to it.