Open Source Web Application Framework for ASP.NET Core
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

6.7 KiB

//[doc-seo]
{
    "Description": "Use the ABP Admin Console Low-Code Designer to create dynamic entities, pages, forms, relations, filters, permissions, and model health checks."
}

Low-Code Designer

Preview: The Low-Code Designer is part of the preview Low-Code System. Designer screens, metadata fields, and validation rules may change before general availability.

The Low-Code Designer is available in ABP Admin Console. It is the main UI for building and maintaining low-code models.

/admin-console/lowcode-designer

The designer works with layered model metadata. In development, generated projects include a _Dynamic/model.json file and a generated initializer. The designer can also persist changes to the database JSON layer, depending on the selected layer and permissions.

Low-Code Designer overview

Permissions and Layers

Designer APIs require the low-code designer permission. Users who can open runtime pages do not automatically get designer access.

The selected layer controls whether the designer can save changes. Read-only layers can be inspected but not mutated, and the designer blocks edits to layers that are not currently selected. Check the active layer before changing entities, pages, forms, scripts, or permissions.

Sections

Section Purpose
Data Entities, enums, properties, relations, inherited fields, and reference entities
Actions Script-backed custom endpoints, event handlers, background jobs, workers, and model actions
Pages Runtime pages, menu placement, page type, grid/card fields, filters, sorting, dashboards, and linked forms
Forms Create/edit forms, tabs, groups, fields, controls, defaults, and actions
Permissions Generated permission names and access control
Health Model validation and runtime readiness checks

Data

Use Data to define the domain model.

Entities contain properties, display names, display property configuration, inherited audit fields, relations, and optional interceptors. Enums are created once and then used by enum properties.

Entity summary in the designer

Entity property list

Relations

Relations are driven by foreign key properties. The designer shows direct N to 1 relations and many-to-many relations that are modeled through junction entities.

Relation overview

For reference entities such as IdentityUser, register the entity in the generated _Dynamic initializer. The designer and runtime can then show friendly display values instead of raw IDs.

Pages

Use Pages to expose an entity in the React runtime.

Pages can define data grid, kanban, calendar, gallery, standalone form, and dashboard experiences. A data grid page can define:

  • Title and icon
  • Menu group and order
  • Entity
  • Create and edit forms
  • Visible grid/card fields
  • Export fields for Excel, CSV, download-link columns, and file bundles
  • Field labels and column widths
  • Default sorting
  • Filter fields and defaults
  • File/image export defaults when the page has exportable file fields
  • Whether file bundle ZIP export is allowed

Kanban pages add groupByProperty, calendar pages add date/time properties, gallery pages can use an image property, form pages reference a named form, and dashboard pages define rows and visualizations.

Page setup

Pages are exposed in React under /dynamic/<page-name> and can also appear as dynamic menu items.

The View Fields section controls what users see in the runtime view. The separate Export Fields section controls what may leave the page through Excel, CSV, download-link columns, or file bundles. A visible field can be excluded from export, and an exportable field can be hidden from the page but still available through Export options > All exportable fields. Export fields also have their own order, so the exported spreadsheet or file manifest can follow a different sequence than the runtime view. Use the bulk actions to copy visible fields into the export policy, enable all fields, or disable all fields.

The File Export Settings section appears only when the page has file or image fields. Default File/Image Output selects whether spreadsheet export writes file names, metadata columns, or temporary download-link columns by default. Allow file bundle export controls whether the runtime can show Files (.zip) for this page. If all file/image fields are disabled in Export Fields, the file output controls stay hidden until at least one file/image field is exportable.

Forms

Use Forms to define create and edit experiences.

Forms can contain:

  • Tabs
  • Groups
  • Ordered fields
  • Control types
  • Placeholder and help text
  • Default values
  • Required and validation behavior
  • Conditional rules for hide/show, enable/disable, and set value behavior
  • Save actions such as "save and new"

Form setup

Filters

Filters are configured per page and rendered by the React runtime. The runtime uses type-specific operators to keep the UI simple:

  • String fields use text operators.
  • Number and money fields use range and comparison operators.
  • Date fields use date labels such as on, after, and before.
  • Boolean fields use All / Yes / No.
  • File and image fields use Has value with All / Yes / No.

The URL query parameter keeps the existing lcFilters format, so bookmarked filtered pages continue to work.

Permissions

Dynamic permissions are generated for entities and pages. Use the Permissions section to review names and grant access through the normal ABP permission management UI.

Generated pages and menus are permission-aware. If a user cannot access a page, the runtime does not show the menu item and API calls remain protected by backend authorization.

Actions and Scripts

Use Actions only when model metadata and standard CRUD behavior are not enough. The scripting surface can define custom HTTP endpoints, distributed event handlers, background jobs, and scheduled background workers. Scripts run server-side and use the Scripting API.

Health

Use Health before shipping changes. It helps catch missing display properties, invalid relation targets, form/page references, script problems, and other model issues that would otherwise surface at runtime.

Source Control

For source-controlled models, keep _Dynamic/model.json and the generated initializer in your application repository. Use model.json Structure, Attributes & Fluent API, and Reference Entities for advanced editing and integration details.