Development setup overview

Introduction

Softadmin® can be developed with different priorities regarding development speed, cost, and quality to align with the project's goals and development process. There are many factors to consider, but these are three rough categories to assist in selecting an appropriate setup. The categories are called Light, Agile, and Enterprise.

These should only be seen as recommendations. It is, of course, always possible to maintain a higher level of ambition even for smaller projects. However, it is often a poor idea to maintain a lower level of ambition for larger projects.

The following section describes how Softadmin® DbSync.exe can be used to import and export code and table data to and from the database. The choice of version control system and code review tools is entirely flexible and is managed outside of Softadmin®.

Development approaches

Development setup Light Agile Enterprise
Shared server development X
Shared server development with version control X
Local development X
Version Control Light Agile Enterprise
Softadmin® built-in versioning X
DbSync - code objects X
DbSync - code objects and table data X
Code Review Light Agile Enterprise
Manual review in SSMS / Softadmin version history X
Review after check-in X
Review before check-in (pull requests) X

Setups

Light

Small projects often prioritize development speed over strict processes in order to achieve rapid progress with minimal overhead. This setup is suitable for small systems where a single developer can easily understand the entire system.

  • Only one central database.
  • Database scripts are applied directly.
  • Hotfixes are managed manually.
  • Softadmin® built-in versioning can be used for manual code reviews.

For technical details, see Shared server development.

Agile

This setup has the goal of balancing overhead and development speed. Fundamentally, it is the same as Light, but with additional quality assurance processes. All development still takes place on a single central server, but DbSync.exe is used to enable code reviews.

  • Only one central database.
  • Database scripts are applied directly.
  • Hotfixes are managed manually.
  • DbSync.exe is used to enable the use of any external version control system.
  • Code reviews are performed in the external version control system.

For technical details, see Shared server development with version control.

Enterprise

This setup differs significantly from the previous ones. Here, the external version control system becomes the source of truth rather than the central database. This enables parallel development on each developer's local machine. More controlled hotfix releases are also possible.

  • Each developer has a local database and can work without conflicting with others.
  • Parallel development is enabled through branches.
  • A central server coordinates and assigns ID values (for example, menu item identifiers) to prevent conflicts.
  • DbSync.exe is used to export personal changes and import changes made by others through the version control system (for example, Azure DevOps).
  • Code reviews can be performed using pull requests before changes are merged into the main branch.

Enterprise provides greater flexibility and enables large-scale collaboration, but it also requires greater discipline and adherence to well-defined processes.

For technical details, see Local development.