Simple Object Designer Documentation
Index

GitHub Overview

Simple Object Designer can push generated AL source code to GitHub repositories. This page introduces GitHub integration and its benefits.

What GitHub Integration Does

When enabled, SOD:

  1. Generates AL source code from your customizations
  2. Commits the code to a Git repository
  3. Pushes to GitHub
  4. Maintains version history

Why Use GitHub Integration

Version Control

Track changes over time:

  • See what changed between versions
  • Revert to previous versions
  • Understand who changed what

Collaboration

Work with developers:

  • Share code with development team
  • Enable code review
  • Facilitate handoff

CI/CD Pipelines

Enable automation:

  • AL-Go for GitHub actions
  • Automated testing
  • Automated deployment

Backup

Additional protection:

  • Code stored in multiple locations
  • Recovery from GitHub if needed

What Gets Pushed

Generated AL Files

SOD creates AL source files:

  • Table extensions (.al)
  • Page extensions (.al)
  • Report extensions (.al)
  • New tables, pages, queries
  • API pages
  • Codeunit extensions

App Manifest

The app.json file with:

  • Extension identity
  • Dependencies
  • Version information

Project Structure

Standard AL project structure:

  • Source files
  • App manifest
  • Launch configurations (optional)

GitHub vs Direct Publish

Aspect Direct Publish GitHub
Deployment Immediate Requires additional steps
Version control Limited Full Git history
Collaboration Difficult Native
CI/CD Not available Supported
Code access SOD only Full source

Prerequisites

GitHub Account

You need:

  • GitHub account
  • Repository access
  • Personal access token

Repository

Set up a repository:

  • Can be new or existing
  • Public or private
  • You need push access

Personal Access Token

Create a PAT with:

  • repo scope for full access
  • Appropriate expiration
  • Secure storage

Integration Workflow

Initial Setup

  1. Create GitHub repository
  2. Generate personal access token
  3. Configure SOD settings
  4. Test connection

Ongoing Usage

  1. Make changes in SOD
  2. Click "Publish to GitHub"
  3. Code is committed and pushed
  4. Changes visible in GitHub

Developer Handoff

  1. Developers clone repository
  2. Open in VS Code
  3. Continue development
  4. SOD no longer needed

Use Cases

Code Backup

Keep copies of generated code:

  • Push regularly
  • History of all versions
  • Recovery option

Development Transition

Graduate from SOD to VS Code:

  • Generate initial code with SOD
  • Push to GitHub
  • Developers continue in VS Code

AL-Go Integration

Automate builds:

  • Push triggers workflow
  • Automated compilation
  • Test execution
  • Deployment pipelines

Multi-Developer Teams

Collaborate effectively:

  • Shared repository
  • Pull requests for review
  • Merge controlled changes

Limitations

One-Way Sync

GitHub integration is one-way:

  • SOD pushes to GitHub
  • Changes in GitHub don't sync back to SOD
  • Manual merge if both modified

Repository Structure

SOD creates specific structure:

  • May not match existing projects
  • Consider dedicated repository
  • Or specific folder