Frequently Asked Questions

Framework-level questions that apply to every DSL application. For questions about your application's specific tables and workflows, see your application's section in the sidebar.


Using the App

How do I find a specific record?

  1. Click the table in the left menu
  2. Type part of a name, number or code in the search bar
  3. Click the row to select it

  1. Find and select the record (above)
  2. Tabs appear below the table — one per related child table
  3. Click a tab to see the related rows; select a row inside a tab to drill down another level

I deleted a record by accident — can I get it back?

Yes. Records are never permanently deleted — they're hidden but still in the database.

Contact your administrator. They can restore any soft-deleted record.


Why can't I click Edit or Delete?

They enable once you select a row — click the row first. If they stay disabled, your user role may not have permission for that action on this table.


Troubleshooting

The app won't load

The app runs on a server. If you can't reach it, contact your administrator — it may need to be restarted.


"Database is locked" error

Another process may have the database open. Wait a moment and try again. If it persists, contact your administrator.


I can't save a record — it keeps showing errors

Check the highlighted fields — required fields are marked and must be filled in. Lookup fields (dropdowns) must select an existing value. See Forms & Validation for details on each field type.


A field shows a number instead of a name

Some fields store an ID that links to another table. These should display the name automatically. If you're seeing a raw number, it may mean the linked record was deleted. Contact your administrator.


Administration

How do I add a new user?

Go to /admin/users/ (requires developer login). You can add app users with roles defined for your application (e.g. viewer, operator, admin).


Where is the database?

apps/<app_name>/data/<app_name>.db

To back it up:

cp apps/<app_name>/data/<app_name>.db \
   apps/<app_name>/data/<app_name>.db.backup

How do I start the app?

python server/run.py <app_name>

Each app runs on its own port — see applications.yaml or run python server/run.py --list.

See Local Development for full setup.


How do I deploy to production?

See Deployment Patterns, plus your application's Operations guide if it has one.


Concepts

What is hierarchical navigation?

Data is organised in levels. Clicking a parent record shows its related child records below it.

Example: click an Order → its Order Lines appear below. Click an Order Line → its details appear below that.

See Navigation.


What does "soft delete" mean?

When you delete a record, it's hidden from lists but not removed from the database. Administrators can restore it. See Soft Delete.


Still stuck? Use Ctrl+F to search this page, or open your application's Quick Reference from the sidebar for table and field details.