Advanced Settings
This page covers the advanced configuration options in Simple Object Designer, including GitHub integration, Dual-App mode, API-only mode, and other specialized settings.
GitHub Integration Mode
GitHub integration allows SOD to push generated AL source code to a GitHub repository.
Enabling GitHub Integration
- Open Setup
- Set GitHub Integration Mode to Enabled
- Configure the GitHub settings that appear
GitHub Settings
| Setting | Description |
|---|---|
| GitHub Account | Your GitHub username |
| Personal Access Token | A GitHub PAT with repo permissions |
| Repository | The repository name (not the full URL) |
| Branch | The branch to push to (e.g., main) |
| Folder | Optional subfolder path within the repo |
Creating a Personal Access Token
- Go to GitHub.com and sign in
- Navigate to Settings > Developer settings > Personal access tokens
- Click "Generate new token (classic)"
- Give it a descriptive name
- Select the
reposcope (full control of private repositories) - Generate and copy the token
- Paste into SOD's Personal Access Token field
When to Use GitHub Integration
- Version controlling your customizations
- Collaborating with developers
- Setting up CI/CD with AL-Go
- Preparing to graduate from SOD to VS Code development
See GitHub Overview for complete details.
Dual-App Mode
Dual-App mode generates two separate extensions instead of one.
Enabling Dual-App Mode
- Open Setup
- Set App Mode to Dual
- Configure Extension Name 2
Why Use Dual-App Mode
Use Dual-App mode when you encounter circular dependency errors. This happens when:
- A page extension references fields on a table extension
- The table extension depends on something the page extension provides
- Single-app compilation fails due to this circular reference
What Goes Where
| App 1 | App 2 |
|---|---|
| Table extensions | Page extensions |
| New fields | Field placements |
| New tables | UI customizations |
| Table-level logic | Page-level logic |
Requirements
- Two separate extension names
- Careful deployment order (App 1 first, then App 2)
See Dual-App Overview for complete details.
API-Only Mode
API-only mode restricts SOD to only allow API creation.
Enabling API-Only Mode
- Open Setup
- Enable Only Allow API Creation
- The UI changes to show only API-related features
When to Use
- Organizations that only need data exposure, not UI customizations
- Environments with strict change control policies
- Scenarios where you want to limit what SOD can modify
What's Available in API-Only Mode
- Expose tables as API endpoints
- Expose business logic as APIs
- Create data queries
- Basic setup and publishing
What's Hidden
- Field creation
- Page placements
- Report placements
- Mandatory fields
- Calculated fields
- Feature creation
Publish Update Mode
Controls how Business Central handles schema changes during extension deployment.
Options
| Mode | Behavior |
|---|---|
| Add app to manifest | Registers the app without running schema sync |
| Synchronize | Preserves existing data, may block certain changes |
| Force Sync | Allows all schema changes, may cause data loss |
When to Use Synchronize (Default)
- Normal day-to-day publishing
- When you're adding new fields or objects
- When you want to protect existing data
When to Use Force Sync
- Removing fields that contain data
- Changing field types in incompatible ways
- Major restructuring that requires table recreation
- After backing up your data
Warning: Force Sync can permanently delete data. Always backup before using.
Workflow for Force Sync
- Backup any important data in affected tables
- Set Publish Update Mode to Force Sync
- Publish your changes
- Set Publish Update Mode back to Synchronize
- Verify data integrity
Alternative API URL
For non-standard Business Central environments.
When to Use
- National/regional cloud instances
- Custom hosting scenarios
- When standard symbol download fails
Configuration
Enter the full API URL for your environment's development endpoint.
Example format: https://api.businesscentral.dynamics.com/v2.0/{tenant}/{environment}/
Leave blank for standard Business Central cloud environments.
Include Symbols in Source Code
Controls whether symbol references are included in generated AL code.
When Enabled
- Generated code includes full symbol information
- Source files can be compiled independently
- Better for GitHub/VS Code handoff
When Disabled
- Smaller generated code
- Faster generation
- Sufficient for SOD-only workflows
Recommendation
Enable when using GitHub integration or planning to continue development in VS Code.
Import/Export Configuration
SOD can export and import its configuration for backup or transfer.
Exporting Configuration
- Open Setup
- Click Export in the action bar
- Save the configuration file
Importing Configuration
- Open Setup
- Click Import in the action bar
- Select the configuration file
- Review and confirm the import
What's Included
- Setup settings
- Field definitions
- Page placements
- Feature definitions
- API configurations
- All customization data
Use Cases
- Moving configuration between environments
- Backing up before major changes
- Sharing templates with colleagues
- Recovering from accidental changes
Init New App
Resets SOD for creating a completely new extension.
When to Use
- Starting a separate set of customizations
- Creating a new extension in the same environment
- Testing with a clean slate
What It Does
- Clears existing customization data
- Resets tracking numbers
- Prepares for new extension identity
Warning
This is destructive to existing configuration. Export first if you need to preserve anything.