EnergyAtlas Wiki
WebAPI
Quick Start Workflows Architecture Python WebAPI Library User Stories Wiki Guide
  • Web API Reference
  • Development Guide
  • Architecture
  • Core
  • Web Development
    • Overview
    • Execution Modes
    • GUI Jobs
    • GUI-less Jobs
    • Local File Access
    • Report Logs
  • Grasshopper Development
    • Components
    • Component Standards
    • Live Preview

WIP EnergyAtlas Wiki

EnergyAtlas Wiki is still under active development. Thank you for your patience while we improve the documentation. If you have any questions, please contact us.

WebAPI/ Web Development

EnergyAtlasWeb Development Guide¶

EnergyAtlasWeb is the web and cross-platform frontend for EnergyAtlas. It consists of an ASP.NET backend serving a JavaScript-driven UI, and can run either as a standalone web app in a browser or as a native desktop application via .NET MAUI.

This section documents the job system, real-time logging, file handling, and execution mode differences that developers need to understand when extending the application.

Job system¶

EnergyAtlasWeb supports two kinds of jobs:

  • GUI Job — Automatically generates a complete job page (input form, real-time logs, output display) from C# attribute-decorated input/output classes. Use this when the job requires user-provided parameters or produces downloadable artefacts.

  • GUI-less Job — A single-click background task with no input form. Parameters are hard-coded or read from server configuration. Use this for batch processing, infrastructure tasks, or anything that doesn't need user input.

Both job types share the same real-time logging infrastructure built on SignalR.

Supporting infrastructure¶

  • SignalR Logging — How jobs report progress to the frontend in real time. Covers IJobReporter, JobSignal, BinaryProgress (spinner), TQDM (progress bar), and the SignalR delivery pipeline.

  • Working with Local Files — How file picking, upload, and output artefacts work. Covers the MAUI file picker bridge, the artifact sink for in-memory downloads, and on-disk reveal-in-folder outputs.

  • Execution Modes — The two modes (browser and local/MAUI) that control how the frontend interacts with files and the host environment. Covers configuration, detection, and what changes between modes.

Quick reference¶

Topic Page Key classes
GUI job gui-job.md GUIJobFactoryBase<TInput,TOutput>, IGUIJob<TInput,TOutput>, [JobInput], [JobOutput]
GUI-less job guiless-job.md IJobFactory, IControllerJob
Logging report-logs.md IJobReporter, JobSignal, BinaryProgress, TQDM
File access file-sys-access.md OutputFileReference, IArtifactSink, GUIJobRunContext
Execution modes exec-modes.md ExecutionMode config key, /api/config
Core Previous Execution Modes Next

Last page update GMT-04:00 02:57 Oct 13 2026
Last website update GMT-04:00 02:57 Oct 13 2026

Found an issue on this page? Please open an issue on GitHub.

On this page

  • EnergyAtlasWeb Development Guide
    • Job system
    • Supporting infrastructure
    • Quick reference

WIP EnergyAtlas Wiki

EnergyAtlas Wiki is still under active development. Thank you for your patience while we improve the documentation. If you have any questions, please contact us.