All pages
Powered by GitBook
1 of 6

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Table Structure

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.

Accessing the Table Structure

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.

Table Settings

Clicking on an empty space in the Structure view reveals general settings for the table in the right-hand panel.

Available Table-Level Settings

  • 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.

Working with Fields

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.

Note: Every structural change — adding fields, renaming columns, changing types — is persisted immediately. You can refresh or return later and all definitions will remain intact.

Summary

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.

fields

Custom Tables

User Interface

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.

Navigating to Custom Tables

To access your custom tables:

  1. Click the Data icon in the left-hand navigation.

  2. Select a table from the list — or create a new one.

  3. Once selected, the table editor opens with two tabs:

    • Structure

    • Data


Structure Tab UI

The Structure tab is where you define the schema (fields/columns) of your table.

Layout

  • Center panel: Displays the list of fields currently in the table (columns). Each field shows:

    • Field label

    • Data type

    • Identifying column indicator (if applicable)


Data Tab UI

The Data tab lets you view and manipulate actual entries (rows) inside the table.

Layout

  • Top bar:

    • Add Entry button

    • Export to CSV button

  • Center panel (Table View):


UI Behaviors Worth Noting

  • 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.


Summary

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.

  • Best Practices

    Design for Queryability

    Structure your tables to make querying easy and predictable:

    • Use identifying columns for anything users will pick in dropdowns or reference selectors.

    Table Data

    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

    Prefer flat fields for filterable or sortable data (e.g. status, type, created_at).
  • If you’ll be using filters in UI components or automation, keep field names short and consistent (status, owner, is_published).

  • Use Dropdown or Multiple Choice fields for controlled vocabularies like categories, states, or tags.


    Normalize for Relationships — But Don’t Overdo It

    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.

    Good rule of thumb: Normalize for reusability and UI clarity. Denormalize for filtering, grouping, and performance.

    When to Use Table References

    • “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)

    When to Flatten into the Same Table

    • 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.


    Use ‘One Entry Per User’ for Personal Data

    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

    Ideal for forms like “My Account”, “Startup Registration”, “Grant Application”, etc.


    Model State Transitions Explicitly

    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”)

    Combine with Workflow steps that update these fields in automation flows.


    Use Default Values to Streamline Entry Creation

    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.


    Validate Where It Matters

    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)

    Don’t over-validate early. Start with must-haves, then layer in business logic over time.


    Avoid Complex JSON in Text Fields

    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

    If you need to store complex objects, consider breaking them into related tables or use Create Object + Save Entry via workflows.


    Tag and Track Metadata When Needed

    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


    Summary

    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

  • Accessing the Data View

    1. Open the Data section from the left sidebar.

    2. Select a table.

    3. 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.


    Working with Entries

    Editing a Row

    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.


    Creating a New Entry

    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.


    Deleting Entries

    • 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.


    Pagination

    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.


    CSV Export

    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


    Field Behavior in the Data Tab

    Field Type
    Data Tab Behavior

    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


    Bulk Data via Workflows

    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.


    Summary

    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

    Field Types & Configuration

    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.

    Shared Properties

    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.

    Core Field Types

    Text

    • Single-line input for strings.

    • Options: default value

    • Validation: regex, length, uniqueness.

    Number

    • Integer-only numeric input.

    • Options: default value

    • Validation: min, max, uniqueness, regex, formula-based.

    Float Number

    • Allows decimal numbers (e.g. 3.14, 19.99).

    • Options: default value

    • Same validations as Number.

    Rich Text

    • Formatted text (HTML-friendly).

    • Used for long content fields, email templates, etc.

    • Same validations as Text

    Date

    • Stores a date (with optional time).

    • Options: Include time toggle, Default date picker

    Checkbox

    • Boolean value (true/false).

    • Options: Default checked state


    Select Field Types

    Dropdown

    • Single select from predefined options.

    • Options: Choices list, Default selection

    Multiple Choice

    • Multi-select dropdown (returns array).

    • Same options as Dropdown.


    File & Media Fields

    File

    • Upload and store a single file.

    • Option: Max file size, File type restrictions

    File Manager

    • Stores multiple files (advanced component).

    • No direct backend data entry (used via front-end components).

    • Same options as File


    Reference Fields

    Table Reference

    • Points to another table's entry (foreign key).

    • Options: Default referenced entry, Restrict selectable entries

    Page Reference

    • Stores a reference to an internal page in your app (useful for redirections).

    Roles

    • Reference one or more roles to this entry.

    • Used for permissioning or UI personalization.


    Location & Geo Fields

    Location

    • Stores geolocation metadata:

      • Address

      • Latitude / Longitude

      • Region

    GeoJSON

    • For storing geo boundaries, polygons, zones.

    • No additional config


    Advanced Types

    Password

    • 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.

    Business ID

    • Auto-incrementing, uneditable ID.

    • Used for internal tracking or display.

    • No configuration options.


    Field-Level Validation

    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.