How dwXport Works — Technical Deep Dive

A behind-the-scenes look at the architecture, export pipeline, security model, and infrastructure that powers dwXport.

For the technically curious — here's exactly what happens when you run an export.

The Export Pipeline

Six stages from configuration to download — every step isolated, encrypted, and ephemeral.

1

Create Export

An isolated Azure Blob Storage container is provisioned in a dedicated Azure tenant. The storage credentials are uniquely generated and bound to your export job.

Azure Switzerland North

2

Connect DocuWare

Enter your DocuWare credentials. We validate the connection using our dedicated implementation of the DocuWare REST API, covering all available endpoints.

codebar/laravel-docuware · Custom REST interface? Let's connect.

3

Validate & Preview

Your configuration is sent to an isolated Microsoft Azure Container Instance — a fresh virtual machine spun up exclusively for this job. Nothing is shared between exports.

4

Encrypted Handoff

DocuWare credentials and Azure Blob Storage configuration are passed as an AES-256-CBC encrypted payload into the isolated container instance. Secrets never touch disk unencrypted.

AES-256-CBC

5

Stream & Export

Documents are streamed directly from your DocuWare instance to Azure Blob Storage based on your export configuration. No intermediate storage — files never land on our servers.

6

Monitor & Download

Your dashboard polls for real-time status updates. Once the job completes, a dedicated download link is provided — valid for 48 hours before the storage instance is completely destroyed.

48h download window

Security & Privacy by Design

Every architectural decision prioritises your data privacy. Here's what that means in practice.

Zero-Retention Policy

No backups are made — ever. Your export data exists only for the duration of the job and the 48-hour download window. After that, it's gone.

Credentials Destroyed

Sensitive data such as DocuWare credentials and storage keys are purged immediately after the export job completes. Nothing persists.

Ephemeral Storage

The entire Azure Blob Storage instance is deleted after the download window expires. There is no recovery, no archive, no trace.

Fully Isolated Execution

Each export runs in its own Azure Container Instance with encrypted payloads, dedicated storage, and HTTPS everywhere. No export ever shares infrastructure with another.

Under the Hood

For those who want the full technical picture — rate limiting, DocuWare compatibility, and more.

The Export Pipeline

Every export passes through three sequential phases, each executed inside the isolated Azure Container Instance:

Phase 1: Validate

The system authenticates against your DocuWare instance and verifies that the provided credentials, file cabinet ID, and search dialog are valid. If anything is misconfigured — wrong URL, expired credentials, inaccessible file cabinet — the export fails fast with a clear error message before any data is transferred.

Phase 2: PreProcess

Using the DocuWare Platform API, dwXport queries the selected file cabinet through the configured search dialog. It applies any filters you've set (date ranges, index field conditions) and counts the total number of matching documents. This count is used to calculate progress percentages during the export.

Phase 3: Export

Documents are fetched in configurable batches (default: 100 documents per batch) and streamed directly to your Azure Blob Storage. For each document, the system:

  1. Downloads the document binary from DocuWare via the Platform API
  2. Resolves the target path using your folder structure and filename pattern (e.g., {YEAR}/{DEPARTMENT}/{DWDOCID}.{DWEXTENSION})
  3. Uploads the file to Azure Blob Storage with the resolved key
  4. Optionally writes a companion .json metadata file containing all DocuWare index fields
  5. Updates the progress state with current counts and byte totals

Rate Limiting & Throttling

To protect your DocuWare instance from excessive load, dwXport applies configurable rate limits:

Setting Default Description
Requests per second 10 Maximum API calls per second
Batch size 100 Documents processed per batch
Pause between batches 1,000 ms Cooldown period between batches

These defaults are conservative. For DocuWare Cloud instances, we recommend keeping the defaults. On-Premise installations with dedicated resources may safely increase these values.

Based on these rate limits, typical export speeds range from 0.7 to 1.2 seconds per document, depending on document sizes and network conditions.

Real-Time Progress

During an export, the dashboard shows live progress:

  • Total documents matched
  • Documents processed and failed
  • Bytes transferred
  • Estimated completion time

After completion, dwXport generates a detailed HTML report with export summary, per-document listing, and error details for any failed documents.

DocuWare Compatibility

dwXport works with both DocuWare Cloud and On-Premise installations. The system communicates exclusively through the DocuWare Platform REST API, so no special plugins or server-side modifications are needed.

All document types stored in DocuWare are supported — PDFs, images, Office documents, and any other file format. Documents are exported in their original format alongside their complete metadata (all index fields).

Questions? Let's Talk.

Whether you need a custom integration or just want to understand the architecture better — we're here to help.