In Ondeva, tables define your application's data model. Think of them as the backbone of your backend — every form, automation, query, or dashboard ultimately connects to data that lives here.
The Table Structure view is where you define fields, their types, validations, and behavior. It's also where you configure table-level settings like per-user limits or identifying columns. Ondeva ensures changes are saved instantly, so structure editing is frictionless and production-safe.
To edit a table:
Navigate to the Data tab from the left sidebar.
Select a table from the list (or create a new one).
You'll be taken directly to the Structure tab — the schema editor for your table.
Here, you'll define columns, choose their types, configure field properties, and manage table-level settings.
Clicking on an empty space in the Structure view reveals general settings for the table in the right-hand panel.
Table Name Editable directly from the top title bar. The name is persisted across all references (queries, workflows, API exposure).
One Entry Per User When enabled, this restricts each frontend user to a single entry in the table. Ideal for profiles, preferences, or single submissions.
Each table is composed of (columns). You can:
Add fields with the "+" button
Rename by clicking the label
Reorder by drag-and-drop
Remove fields via the trash icon
Fields can also be marked as:
Identifying Column: This becomes the default display label across UI components, dropdowns, and table references.
The Table Structure area in Ondeva gives you full control over your data model with:
Instant updates
Developer-grade validations
A wide range of input types
Full support for relationships, geodata, and advanced field logic
Whether you're modeling a CRM, form backend, analytics dashboard, or a marketplace database, your table starts here.
Ondeva’s Custom Tables area is split into two functional tabs — Structure and Data — both accessible from within the Data section of the platform. The UI is designed to help you move fluidly between modeling data and interacting with live entries.
This overview breaks down how the user interface works specifically when working with a table in Ondeva.
To access your custom tables:
Click the Data icon in the left-hand navigation.
Select a table from the list — or create a new one.
Once selected, the table editor opens with two tabs:
Structure
Data
The Structure tab is where you define the schema (fields/columns) of your table.
Center panel: Displays the list of fields currently in the table (columns). Each field shows:
Field label
Data type
Identifying column indicator (if applicable)
The Data tab lets you view and manipulate actual entries (rows) inside the table.
Top bar:
Add Entry button
Export to CSV button
Center panel (Table View):
Autosave: Changes in both Structure and Data tabs are saved instantly — there’s no Save button.
Validation Feedback: Required fields and invalid entries are flagged in real time in both field settings and data entry.
Drag & Drop Support (Structure Tab):
Reorder fields by dragging them in the list.
Ondeva’s custom table UI is optimized for live, real-world development:
Two powerful tabs (Structure + Data)
Clear side-by-side editing
No-code field config with real-time validation
Whether you're defining schemas or running operations, the interface keeps you focused and fast.
Top bar: Shows the current table name. Click it to rename the table inline.
Right-hand panel: When a field is selected, this panel displays field-specific settings:
Field name
Data type
Validation rules
Default values
Required toggle
Custom logic (varies by field type)
Floating actions:
Add Field: Button at the bottom of the field list
Delete Field: Trash icon appears when hovering over a field
Empty canvas click: Clicking in an empty space reveals Table Settings.
Spreadsheet-style table with one row per entry
Each column matches a field from your structure
Checkboxes to select rows for deletion
Right-hand panel (Entry Editor): When a row is selected:
Shows all fields and values for that row
Supports inline editing per field type
Autosaves all changes instantly
Pagination Navigation: Shown at the bottom once entries exceed 20 rows. Navigate pages to view more data.
The order is reflected in Data view and UI components.
Persistent Context: Switching between tabs (Structure ↔ Data) retains your selected table and open row/field.
Ondeva's Table Data interface lets you view, create, edit, and manage the actual records that live in your app’s backend — directly inside your browser. It’s a fast, developer-friendly interface designed for real-world teams building products, internal tools, or complex workflows.
Whether you’re running a CRM, building a marketplace, collecting form submissions, or managing operational datasets, this view gives you full control over your live application data — no SQL required.
From this screen, you can:
Create and update entries inline
Upload files or toggle values instantly
If you’ll be using filters in UI components or automation, keep field names short and consistent (status, owner, is_published).
Ondeva supports table references (like foreign keys), allowing you to link entries across tables. Use them when:
Data is reused in multiple places (e.g. users, clients, roles)
You need to enforce consistency across submissions or components
But avoid excessive normalization for operational or analytical data. For example:
If you're tracking tasks, log entries, or user actions — and frequently need to group, sort, or filter by related values — it’s often better to keep those fields in the same table.
“One-to-one” or “many-to-one” relationships where a dropdown picker makes UX cleaner
Data that’s maintained separately (e.g. Teams, Plans, Categories)
Metrics, submissions, or logs you’ll run analytics on
Dynamic data where query speed matters more than data purity
Avoid deep reference chains — they create overhead and slow down performance in large apps.
For profile-like data (user preferences, application forms, onboarding data), enable the One Entry Per User setting:
Prevents duplicate submissions
Simplifies queries and access control
Automatically ties data to the logged-in user
Use fields like status, phase, or is_active to represent the state of your entries. These fields allow:
Workflows to branch based on state
UI to show dynamic labels or badges
Queries to filter logically (e.g. “only active”, “only pending approval”)
For operational tables (e.g. task tracking, logs, form submissions), set defaults to:
Reduce user input friction
Ensure consistency across manual and automated inserts
Prevent missing or inconsistent data downstream
Example: Set default status = pending, priority = normal, or country = DE.
Field-level validation prevents fragile downstream logic. Use:
Required fields to avoid nulls
Regex to ensure structure (e.g. emails, phone numbers)
Unique per user for IDs, usernames, emails
Formula validations for business rules (e.g. start_date < end_date)
Ondeva supports complex logic — but don’t overuse Text fields to store structured blobs. Instead:
Use rich text for formatted content
Use JSON-compatible structures only when paired with processing logic in workflows
For audit trails or analytics, add fields like:
created_at (date)
created_by (user reference)
last_updated (date)
is_deleted (soft delete flag)
These can power:
Admin interfaces
Time-based automations
Conditional access to data
Strong data modeling leads to strong apps. When building with Ondeva:
Keep schemas clean, normalized, and queryable
Use built-in settings to simplify access control and validation
Combine structured tables with workflows to build powerful, self-sustaining systems
Tables aren’t just storage — they’re the living logic of your app.
Export everything to CSV
Navigate large datasets with pagination
Inspect every field type, exactly as it behaves in production
Open the Data section from the left sidebar.
Select a table.
Switch to the Data tab at the top of the screen.
The interface displays your data in a spreadsheet-style view — every row is an entry, and every column reflects a field from your table schema.
Click any row to open its full details in the right-side editor. You’ll see all fields (columns), editable based on their data type.
Common editing behaviors:
Text / Number: Type directly
Date: Select from a date picker
Checkbox: Toggle with one click
Dropdown / Multi-Select: Choose from options
File: Upload or replace files inline
Rich Text: Edit via a rich input (viewed as plain text here)
Changes are automatically saved.
Click the “Add Entry” button to open a blank record. Fill in fields — any default values (if configured) will be pre-filled — and your changes are saved as you go.
Select any row
Click the trash icon
Confirm deletion in the dialog
Note: Deletes are permanent. For reversible workflows, consider adding a “status” or “archived” field instead.
Ondeva automatically paginates tables to maintain performance. Each page shows 20 entries by default. Use the navigation controls at the bottom to move through your dataset.
Click the “Export to CSV” button to download the full table contents in .csv format.
The export includes:
Every field (column)
One row per entry
Raw values, suitable for spreadsheets, databases, or analytics tools
Text / Number
Inline editable
Date
Opens a calendar picker
Checkbox
Toggle on/off instantly
Dropdown
Select single value
Multiple Choice
Select multiple values
File
Upload & replace
Ondeva’s workflow engine lets you work with data programmatically:
Load Query to retrieve matching entries
Save Entry to add or update entries
Delete Entry, Duplicate Entry, For Each, and more
This is especially useful for:
Automating form submissions
Importing files
Syncing external systems
Updating many rows at once
Learn more in the Workflows chapter.
The Data view gives you hands-on access to the heart of your application: its live records.
With fast editing, file support, and CSV export built-in, it’s perfect for:
Testing and verifying backend behavior
Managing operations workflows
Editing production data with confidence
No database admin panel needed. Just click, edit, and move fast.
File Manager
Not editable here (UI-only)
Table Reference
Select another entry
Location
Edit address and geodata
Password
Write-only, hidden
Rich Text
Text only (no formatting)
GeoJSON
Not editable in backend UI
Each field (column) in an Ondeva table defines the type of data it stores, the validation rules it follows, and how it's presented in both backend and frontend contexts.
Below is a reference of all supported field types and their configuration options.
Most field types include:
Field Name (Label): Required for all fields.
Identifying Column toggle: Used for display in dropdowns/reference pickers.
Required: User must provide this field in forms.
Default Value: Applied to new entries unless overwritten.
Single-line input for strings.
Options: default value
Validation: regex, length, uniqueness.
Integer-only numeric input.
Options: default value
Validation: min, max, uniqueness, regex, formula-based.
Allows decimal numbers (e.g. 3.14, 19.99).
Options: default value
Same validations as Number.
Formatted text (HTML-friendly).
Used for long content fields, email templates, etc.
Same validations as Text
Stores a date (with optional time).
Options: Include time toggle, Default date picker
Boolean value (true/false).
Options: Default checked state
Single select from predefined options.
Options: Choices list, Default selection
Multi-select dropdown (returns array).
Same options as Dropdown.
Upload and store a single file.
Option: Max file size, File type restrictions
Stores multiple files (advanced component).
No direct backend data entry (used via front-end components).
Same options as File
Points to another table's entry (foreign key).
Options: Default referenced entry, Restrict selectable entries
Stores a reference to an internal page in your app (useful for redirections).
Reference one or more roles to this entry.
Used for permissioning or UI personalization.
Stores geolocation metadata:
Address
Latitude / Longitude
Region
For storing geo boundaries, polygons, zones.
No additional config
Write-only field, encrypted.
The content of this field is encrypted not hashed. DON'T use this field for sensitive passwords. A possible use case can be temporary tokens.
Auto-incrementing, uneditable ID.
Used for internal tracking or display.
No configuration options.
Ondeva supports multiple validation types:
Required User must provide a value before saving.
Default Value Auto-fills this value on new entries.
Maximum / Minimum For numbers or string lengths.
Regex (Regular Expressions) Pattern matching for input (e.g., emails, postal codes).
Country
Validations: action, regex, formula, unique
Unique (global or per user) Ensures no duplicates in this column.
Formula-Based Validation Define logic expressions that must evaluate true.
Action-Based Validation Delegate validation to a separate workflow or script for complex checks.