Simple Object Designer Documentation
Index

Feature Templates

Simple Object Designer provides templates to accelerate feature creation. This page explains each template and helps you choose the right one.

Available Templates

Template Best For Creates
Data Standalone master tables Table, List, Card, API
DataRelated Linked/child tables Table with FK, List, Card
Document Header/line documents Header + Lines tables, pages
RoleCenter Dashboards Role Center page

Choosing the Right Template

Questions to Ask

  1. Is this standalone data or related to something else?
    • Standalone → Data Template
    • Related to existing table → DataRelated Template
  2. Does it have a header/line structure?
    • Yes (like orders) → Document Template
    • No → Data or DataRelated
  3. Is this for navigation/dashboard?
    • Yes → RoleCenter Template

Decision Flow

Need new data storage?
  ├─ Yes → Is it related to existing table?
  │         ├─ Yes → DataRelated Template
  │         └─ No → Is it header/lines?
  │                   ├─ Yes → Document Template
  │                   └─ No → Data Template
  └─ No → Need dashboard?
           └─ Yes → RoleCenter Template

Template Comparison

Data Template

Creates:

  • One new table
  • Optional list page
  • Optional card page
  • Optional API endpoint

Primary Key Options:

  • Manual entry
  • Number series

Best for:

  • Customer-style masters
  • Reference/lookup data
  • Simple lists
  • Configuration tables

Examples:

  • Equipment types
  • Skill codes
  • Custom categories

DataRelated Template

Creates:

  • One new table with foreign key
  • List page showing related records
  • Navigation from parent

No card page is generated for DataRelated features. Records are accessed and edited through the list page and FactBox only. This may be improved in a future release.

Relationships:

  • Links to existing BC table (the anchor/parent table)
  • Foreign key field — the parent key, for example "Job No." when anchored to table 167 Job, exists on the DataRelated table and can be used as the source for a lookup filter with Filter Type = Field
  • Filtered views

Best for:

  • Detail records
  • Child tables
  • Extended information
  • One-to-many relationships

Examples:

  • Customer certifications (related to Customer)
  • Item specifications (related to Item)
  • Vendor contacts (related to Vendor)

Document Template

Creates:

  • Header table
  • Lines table
  • Header page
  • Lines subpage (embedded)
  • Document actions

Document features:

  • Number series for document numbers
  • Header/line relationship
  • Standard document patterns

Best for:

  • Order-style documents
  • Custom invoices
  • Approval requests
  • Multi-line transactions

Examples:

  • Expense reports
  • Work orders
  • Internal requisitions

RoleCenter Template

Creates:

  • Role Center page
  • Cue group areas
  • Activity sections
  • Page actions (Embedding, Creation, Processing, Reporting)
  • Embedded page parts

Features:

  • Dashboard layout
  • Summary cues
  • Actions to open pages and run reports directly from the role center
  • Embedded list parts and card parts

Best for:

  • Custom home pages
  • Department dashboards
  • Role-specific views

Role Center Parts (embedded ListParts and CardParts) accept custom captions that render on the generated page. This requires SOD 12.0.0.568 or later — on earlier versions the caption is ignored and the part shows a generic caption such as "Activities", and parts added after publishing are not detected at all.

Existing Role Centers cannot be imported as a starting point. SOD does not support taking a standard Role Center and modifying it; role center objects are built from scratch in the designer. The cue and action setup assembles fairly quickly once you are underway.

Template Feature Matrix

Feature Data DataRelated Document RoleCenter
New table Yes Yes Yes (2) No
List page Optional Yes Yes No
Card page Optional No Yes No
Subpage No No Yes No
API Optional Optional Optional No
Number series Optional No Yes No
Foreign key No Yes No No
Cues No No No Yes
Page actions No No No Yes
Embedded parts No No No Yes

Using Templates

Step 1: Start New Feature Wizard

  1. Open Feature List
  2. Click New Feature
  3. Wizard opens

Step 2: Select Template

  1. Review template descriptions
  2. Click on your chosen template
  3. Description shows what will be created

Step 3: Configure Template-Specific Options

Each template has specific configuration:

Data Template:

  • Feature name
  • Primary key type
  • Generate list/card pages
  • Enable API

DataRelated Template:

  • Feature name
  • Parent table selection
  • Relationship field

Document Template:

  • Feature name
  • Document number series
  • Header field groups
  • Line field configuration

RoleCenter Template:

  • Role center name
  • Cue groups
  • Activities
  • Page actions (grouped by Embedding, Creation, Processing, or Reporting)
  • Embedded page parts (ListParts and CardParts)

Step 4: Complete Wizard

  1. Review configuration
  2. Click Finish
  3. Feature is created

Step 5: Customize

After wizard completes:

  1. Open Feature Card
  2. Add/modify fields
  3. Configure additional options
  4. Publish when ready

Template Limitations

What Templates Don't Provide

  • Complex business logic
  • Posting routines
  • Workflow integration
  • External system connections
  • Default values or auto-population of a field on insert
  • Calculated fields
  • Reports or a print action
  • A cross-line list page for the Document template — there is no standalone Lines list or Posted Lines list for browsing and filtering lines across documents. Only header list pages and the embedded lines subpage are generated.

For these, consider graduating to full AL development.

Template Constraints

Each template has boundaries:

  • Data: Simple list/card patterns; one primary key field only (no compound keys)
  • DataRelated: Single parent relationship; no card page is generated — records are managed through the list page and FactBox
  • Document: Standard header/line only; no header-to-line value defaulting
  • RoleCenter: Dashboard elements, actions, and embedded parts (Navigation action group is not supported); existing role centers cannot be imported

Number series setup is shared

All setup for your app — including number series configuration for every feature — is stored in a single shared setup feature. Only the first number-series-enabled feature triggers the prompt to create it; later features silently add their own field to the existing setup table. See Data Table Template.

Changing Templates

Templates cannot be changed after creation. If you need a different structure:

  1. Create new feature with correct template
  2. Migrate any data manually
  3. Delete the old feature
  4. Rename new feature if needed