# 3. Core Concepts

A short map of the ideas you will see in the UI. Understanding these makes the rest of the guide much easier.


# Monitored folder

A monitored folder is a local path TotumService watches on a schedule (for example every 30 seconds).

When you add a folder you choose:

  • Where to look (path)
  • Which files to include or exclude (patterns like *.pdf)
  • Where to upload (S3 bucket and optional prefix / “folder” in the bucket)
  • Options such as recursive (include subfolders) and delete after upload

Configuration is done in the web UI: Configuration → Folders.


# File lifecycle (states)

Each discovered file moves through states. You will see these in Database Explorer and in help text on the Folders page.

State Meaning
Detected File was found and recorded
Stable File stopped changing long enough to be safe to upload
Uploading Transfer is in progress
Uploaded Cloud storage accepted the file
Failed Upload failed; may retry
Failed Permanent Retries exhausted; needs human attention

Rough flow:

Detected → Stable → Uploading → Uploaded
                         ↘ Failed → (retry) → … or Failed Permanent

# Transfer

A transfer is one upload (or download) job handled by the transfer system. Large files may use multipart upload (many parts, one logical transfer).

You see transfers on:

  • The dashboard (Active Transfers)
  • Database Explorer (Transfers tab)

# Provider

A provider is a storage backend. In practice you will mostly use S3.

Providers can be enabled or disabled from the dashboard. Disabling stops new work through that provider; it does not erase history.

Connection details (API URL, API key, default bucket, region) live in configuration files — see Advanced.


# Plugin

TotumService is modular. Each plugin does one job, for example:

Plugin Role (in plain terms)
Folder Upload Monitor Watches folders and requests uploads
File Transfer Coordinator Queues and runs transfers
Web Monitoring Hosts the dashboard and APIs
Media Monitoring Finds Unity media/metrics JSON under user profiles
Media Upload Processor Watches those media JSON files for changes
Logging Controls file logging behaviour

Plugins appear on the dashboard with a health status.


# Settings vs config files

Kind Where Typical use
Plugin settings Configuration → Settings tab Day-to-day toggles and numbers (often live)
appsettings.json* Next to the service executable Buckets, API keys, ports, deep defaults

If a setting is marked (Requires restart), change it in the UI, then restart the Windows service.


# Databases (why they matter)

TotumService stores state in local SQLite files under a Data folder, for example:

  • Folder tracking
  • Transfer queue / history
  • Provider enable/disable state
  • Plugin settings

You do not edit these by hand. Use Database Explorer and the dashboard’s Database Files section to understand what exists.


# Dashboard refresh

The main dashboard auto-refreshes (often every few seconds). You can turn auto-refresh off or click Refresh Now. Configuration and Database Explorer pages refresh when you ask them to (or when you change filters).


# Next step

Using the Dashboard →