Simple Object Designer Documentation
Index

Publish Overview

Publishing is how you deploy your customizations from SOD to Business Central. This page explains the publishing process and options.

What Publishing Does

When you publish:

  1. Generate - SOD generates AL source code from your configuration
  2. Compile - The code is compiled into an extension package (.app)
  3. Deploy - The package is installed in your BC environment
  4. Activate - Your customizations become live

Publishing Methods

Publish or Download

When you click Publish, SOD asks whether to install the generated app in the current environment or just download the .app file:

  • Yes — publish (install) to this environment.
  • No — download the generated .app file so you can install it manually in another environment.

There is no separate "Download App" action — the choice is presented during the Publish flow.

Download Source

Use the Download Source action (on the Setup page) to download a ZIP archive of the generated AL source code. This is a separate operation from the publish flow.

It is also the artifact support asks for when diagnosing a publish or package validation failure — email the ZIP to support@hougaard.com, renaming it to .txt if attachment filtering blocks it.

On BC27, the publishing screen may appear to freeze. This is a Microsoft bug in that BC27 version, not a problem with SOD or your app, and publishing usually completes successfully anyway. Confirm by opening Extension Management and checking that the app version incremented. A workaround ships in a later AppSource release — see Publishing Failures.

Two things get published

Publishing compiles your configuration into a generated customer app — typically named something like "My Customizations". This is a separate extension from the Simple Object Designer app itself, and the distinction matters when something you created does not show up somewhere.

Verifying that Simple Object Designer is installed proves nothing about your objects. Open Extension Management and confirm that your generated customer app appears and is marked Installed. The publish action's confirmation is shown on the Business Central extension installation page.

Published SOD queries and APIs then appear in the Power BI connector under the Advanced APIs sub-folder, following the pattern <publisher>/SOD/v2.0. If the app is installed and demonstrably contains the new API or query, the Business Central side is correct — look at the client next. See Consuming APIs.

GitHub Push

If GitHub integration is configured, generated source is pushed to your repository as part of the publish flow. There is no separate "Publish to GitHub" action — set GitHub Integration Mode to Source Repository/AL-Go! and the GitHub commit happens automatically when you publish.

Accessing Publish

From Main Menu

  1. Open Simple Object Designer main menu
  2. Click Publish in the action bar

From Other Pages

Some pages provide publish shortcuts:

  • After completing wizards
  • From feature pages

The Publish Process

Step 1: Validation

SOD validates your configuration:

  • Field definitions
  • Page placements
  • Feature structures
  • API configurations

Errors must be fixed before publishing.

Step 2: Code Generation

SOD generates AL code:

  • Table extensions
  • Page extensions
  • Report extensions
  • New objects (features, APIs)

Step 3: Compilation

The generated code compiles:

  • Legacy compiler or Microsoft compiler
  • Creates .app package
  • Reports any compilation errors

Step 4: Deployment

The extension deploys to BC:

  • Uploads to environment
  • Runs schema sync
  • Installs extension

Step 5: Activation

Extension becomes active:

  • Customizations visible
  • New fields available
  • APIs accessible

Publish Status

Checking Status

After publishing:

  1. Open Information > Check deployment status
  2. View deployment progress
  3. See any errors

Status Values

Status Meaning
InProgress Currently deploying
Completed Successfully installed
Failed Deployment failed

Error Messages

If deployment fails:

  • Review error message
  • Fix issues in SOD
  • Republish

What Gets Published

Included in Extension

  • New fields on tables
  • Field placements on pages
  • Report field additions
  • Mandatory field rules
  • Calculated fields
  • Features (tables, pages)
  • API endpoints
  • Queries

Extension Identity

The published extension has:

  • Name (from Setup)
  • Publisher (from Setup)
  • Version (auto-incremented)
  • Object ID range

Publish Update Mode

Synchronize (Default)

Normal publishing mode:

  • Preserves existing data
  • Adds new structures
  • May block certain changes

Force Sync

Use when making destructive changes:

  • Removing fields
  • Changing field types
  • Allows data loss

Warning: Force mode can permanently delete data.

See Force Mode for details.

After Publishing

Verify Changes

  1. Open the affected pages
  2. Check fields appear correctly
  3. Test functionality
  4. Verify APIs work

Troubleshooting

If issues occur:

  1. Check deployment status
  2. Review error messages
  3. Fix and republish

Publishing Considerations

First Publish

Initial publish:

  • Creates new extension
  • Sets up all objects
  • Usually smooth process

Subsequent Publishes

Updates to existing extension:

  • Version increments
  • Schema updates
  • May require sync decisions

Data Implications

Consider:

  • Existing data preservation
  • New fields start empty
  • Removed fields lose data

Best Practices

Before Publishing

  1. Review all changes
  2. Test in sandbox first
  3. Backup important data
  4. Document what's changing

Publishing Workflow

  1. Make changes in SOD
  2. Publish to sandbox
  3. Test thoroughly
  4. Publish to production (or install .app)

Version Tracking

Keep track of:

  • What's in each version
  • When published
  • To which environments