Simple Object Designer Documentation
Index

Dual-App Overview

Dual-App mode generates two separate extensions instead of one, solving circular dependency issues. This page explains why and when to use Dual-App mode.

What is Dual-App Mode

In Dual-App mode, SOD generates:

  • App 1 - Contains table extensions and new tables
  • App 2 - Contains page extensions and logic that depends on App 1

Why Dual-App Mode Exists

The Circular Dependency Problem

Sometimes customizations create circular dependencies:

  1. Page extension needs to reference new fields
  2. New fields are defined in table extension
  3. Table extension might reference page elements
  4. Single app can't compile due to circular reference

How Dual-App Solves It

By splitting into two apps:

  1. App 1 defines all data structures
  2. App 2 depends on App 1
  3. App 2 adds UI and logic
  4. No circular reference possible

When to Use Dual-App Mode

Scenarios Requiring Dual-App

  • Complex field dependencies
  • Circular reference compilation errors
  • Advanced feature configurations
  • Specific extension patterns

Signs You Need Dual-App

  • Publish fails with "circular dependency" error
  • Complex features with cross-references

When Single-App is Sufficient

Most SOD usage works with single app:

  • Simple field additions
  • Basic page placements
  • Standard features
  • Typical customizations

How It Works

App 1 Contents

Object Type Contents
Table Extensions New fields on existing tables
New Tables Feature tables

App 2 Contents

Object Type Contents
Page Extensions Field placements
Report Extensions Report field additions
API Pages API endpoints
Logic Business logic

Dependency Chain

Base Application
      ↓
    App 1
      ↓
    App 2

App 2 depends on App 1. Both depend on Base Application.

Enabling Dual-App Mode

In Setup

  1. Open Setup page
  2. Set App Mode to Dual
  3. Configure Extension Name 2

Requirements

Requirement Notes
Two Extension Names Unique names for each app
Proper deployment order App 1 before App 2