ELO Base
Central ELO Connection and Infrastructure
ELO Base is the central module for the connection between ELONIQ and the ELO DMS. It manages authentication, caching, document operations, workflows and notifications — and forms the foundation for all other ELO modules.
Overview
The ELO Base module is the heart of ELONIQ. It establishes the secure connection to the ELO Index Server and provides all other modules (ELO Importer, ELO Exporter, ELO Mail Importer, etc.) with the infrastructure needed to access the ELO DMS.
Core Functions
- Connection Management — Authentication, session pooling and automatic reconnection to one or more ELO archives.
- Caching — Masks, users, aspects and server data are stored locally in SQLite and refreshed in the background.
- Document Operations — Upload, download, search, move, copy, link and manage permissions.
- Workflow Engine — Start, monitor and automatically process workflows via chain triggers.
- Notifications — Multi-channel notifications (email, Discord, Teams, Slack, Telegram) for workflow tasks.
Architecture
┌────────────────────────────────────────────────────────┐
│ ELONIQ Modules │
│ ┌──────────┐ ┌──────────┐ ┌───────────────────┐ │
│ │Importer │ │Exporter │ │Mail Importer │ │
│ └─────┬────┘ └─────┬────┘ └─────────┬─────────┘ │
│ │ │ │ │
│ ┌─────▼─────────────▼─────────────────▼───────────┐ │
│ │ ELO Base Module │ │
│ │ ┌──────────┐ ┌─────────┐ ┌──────────────────┐ │ │
│ │ │ Sessions │ │ Cache │ │ Circuit Breaker │ │ │
│ │ └──────────┘ └─────────┘ └──────────────────┘ │ │
│ │ ┌──────────┐ ┌─────────┐ ┌──────────────────┐ │ │
│ │ │ IX API │ │ Tools │ │ Notifications │ │ │
│ │ └────┬─────┘ └─────────┘ └──────────────────┘ │ │
│ └───────┼─────────────────────────────────────────┘ │
└──────────┼────────────────────────────────────────────┘
│
┌─────▼─────┐
│ ELO IX │
│ Server │
└───────────┘Features
- Multi-Archive Support — Connect to multiple ELO archives simultaneously. Each archive is managed independently with its own cache and session.
- Intelligent Caching — Masks, users, aspects and server data are cached in SQLite. Cold starts use the database, while the cache is automatically refreshed in the background.
- Circuit Breaker — Automatic detection of ELO outages. On repeated failures, the connection is temporarily suspended to prevent overload. Automatic recovery after 30 seconds.
- Session Management — Persistent HTTP connections with automatic renewal. Sessions are reused and transparently renewed on expiry.
- Document Operations — Upload, download, search, move, copy and link documents via a unified API.
- Workflow Management — Start workflows, query nodes, forward tasks and monitor workflow status.
- Multi-Channel Notifications — Send workflow task notifications to users via email, Discord, Microsoft Teams, Slack or Telegram. Instant notifications or hourly/daily digests.
- Permission Management (ACL) — Set, extend or restrict access rights on documents and folders. Three merge modes: Replace, Extend (OR), Reduce (AND NOT).
- Gen1 & Gen2 Metadata — Support for classic index fields (Gen1) and modern aspects (Gen2). Automatic detection and caching of both generations.
- Health Monitoring — Continuous monitoring of connection quality with detailed status per archive.
- Workflow Chain Triggers — Automatic triggering of automation chains based on workflow nodes. Ideal for document classification and DATEV integration.
- Automatic Document Classification — ML-based classification via special workflow nodes with DATEV SmartDB enrichment for financial documents.
- Folder Tools — Create folders, build folder paths, and move or copy objects between folders.
- User Web Interface — Dashboard, advanced search, archive browser, workflow inbox, upload and shared inbox for end users.
Usage
After configuration, the following functions are available:
- Check connection — Open the module's Status page. Here you can see the connection status, circuit breaker state and cache information for each configured archive.
- Manage cache — Via the status page you can manually refresh the cache. This is useful after mask changes in ELO, so that ELONIQ picks up the new definitions immediately.
- Check masks and fields — The cache shows all loaded masks, index fields (Gen1) and aspects (Gen2). Use this to verify that the desired masks are available.
- Users and groups — The user cache shows all ELO users and groups. These are used by other modules for permission assignments.
- Workflow inbox — When workflow caching is enabled, active workflow tasks are polled regularly and displayed in the user web interface.
- Set up notifications — Enable the desired channels in the ConfigStore and configure the email/messaging templates as needed.
- Manage documents — Via the user web interface, documents can be searched, uploaded, downloaded and browsed in the archive.
- Integration with other modules — ELO Base is automatically used by ELO Importer, ELO Exporter and ELO Mail Importer. Make sure the auth configuration matches the
authNameof the other modules.
Best Practices
- Use a dedicated ELO user — Create a dedicated service account for ELONIQ (e.g.
svc_eloniq). Never use personal accounts, as a password change would break the entire integration. - Minimal permissions — Grant the service account only the rights that are actually needed. For import-only scenarios, write access to the target folders is sufficient.
- Enable TLS — Use HTTPS for the IX URL (
https://elo-server:9090/ix-Archive/ix) to encrypt credentials and document data in transit. - Adjust cache intervals — In environments with frequent mask changes: shorten the refresh interval (e.g. 360 minutes). In stable environments: keep the default (720 minutes).
- Monitor health checks — Regularly check the status page. The circuit breaker indicates when the ELO connection is unstable. Respond to repeated OPEN states.
- Use multi-archive wisely — Use separate auth configurations for production and test. Name them clearly (e.g.
prod,staging,test). - Test notifications — Configure a single channel first (e.g. email) and test with a simple workflow before enabling additional channels.
- Mind the mask limit — With very many masks (> 500), caching can become slow. Set
masklimitto a reasonable value to load only relevant masks. - Regular updates — Keep ELONIQ up to date to benefit from improvements in the ELO API wrapper and cache system.
Examples
1. Single ELO Server
auth:
- name: production
ixurl: http://elo-server:9090/ix-Archive/ix
username: svc_eloniq
password: secret1232. Multiple ELO Archives (Multi-Tenant)
auth:
- name: production
ixurl: https://elo-prod.company.com/ix-Archive/ix
username: svc_eloniq
password: prod_pw
- name: test
ixurl: http://elo-test.company.com:9090/ix-TestArchive/ix
username: svc_eloniq_test
password: test_pw3. Optimized Caching for Large Archives
masklimit: 200 cache_refresh_interval_minutes: 360 cache_max_age_minutes: 720 connection_check_interval_minutes: 2
Load only the 200 most important masks, refresh cache every 6 hours, and check the connection every 2 minutes.
4. Workflow Notifications via Email and Teams
# In ConfigStore: notifications.enabled: true notifications.channels.email_enabled: true notifications.channels.teams_enabled: true workflow_refresh_interval: 30 workflow_cache_enabled: true
Workflow tasks are polled every 30 seconds and users are notified via email and Teams.
5. Production Environment with TLS
auth:
- name: production
ixurl: https://elo.company.com/ix-Archive/ix
username: svc_eloniq
password: secure_password
connection_check_interval_minutes: 1
cache_refresh_interval_minutes: 7206. Workflow Chain Trigger (Automatic Classification)
workflow_chain_triggers:
- id: datev_classify
enabled: true
description: Automatically classify DATEV invoices
authName: production
templateId: 42
nodeName: Classification
chainId: datev_classifierWhen a document reaches the "Classification" workflow node, the datev_classifier chain is automatically triggered.