Skip to content

Features Incident Journal

Dennis Braun edited this page Feb 22, 2026 · 4 revisions

Incident Journal

A built-in log to document ISP issues over time. Replaces spreadsheet-based tracking and feeds directly into complaint letters.

Incident Journal

Features at a Glance

  • Incident groups to organize entries under named containers (e.g., "Upstream Noise 2024")
  • Export entries as CSV, JSON, or Markdown
  • Import existing documentation from Excel (.xlsx) or CSV files
  • Auto-detect icons based on entry keywords (phone, outage, technician, ...)
  • Customizable icons via icon picker in the edit modal
  • Full-text search with result highlighting
  • Month/year grouping with sticky section headers
  • Batch delete with double confirmation
  • File attachments (screenshots, PDFs, up to 10 per entry)
  • 4 languages (EN/DE/FR/ES)

Creating an Entry

  1. Go to Incident Journal in the sidebar (under Documentation)
  2. Click New Entry
  3. Fill in:
    • Date: When the issue occurred
    • Title: Brief description (e.g., "Complete outage during prime time")
    • Description: Detailed account of what happened
    • Icon: Auto-detected from title keywords, or pick manually
    • Incident: Optionally assign to an incident group (see below)
  4. Save the entry
  5. Optionally attach screenshots or files (up to 10 attachments per entry, max 10 MB each)

Icon Auto-Detection

DOCSight automatically assigns theme icons based on keywords in the entry title:

Icon Category Example Keywords
Phone Phone calls Telefonat, Anruf, Hotline, Callcenter
Wrench Technician visits Techniker, Monteur, Reparatur, Vor Ort
Warning Outages Ausfall, Stoerung, Offline, Disconnect
Envelope Written communication E-Mail, Schreiben, Einschreiben, Fax
Alert Complaints Beschwerde, Reklamation, Widerspruch
Document Contract matters Vertrag, Kuendigung, Tarif, Wechsel
Chart Measurements Messung, Speedtest, Breitbandmessung
Building Authorities Bundesnetzagentur, BNetzA, Schlichtung
Dollar Billing Rechnung, Erstattung, Gutschrift, Minderung
Router Hardware Router, Modem, Fritz!Box, Geraetetausch
Speech Documentation Protokoll, Nachweis, Beweis, Screenshot
Scale Legal Anwalt, Klage, Gericht, Mahnung, Frist

You can override the auto-detected icon by clicking any icon in the picker. Select auto to revert to automatic detection.

Edit Entry with Icon Picker

Importing Existing Documentation

If you already have incident records in a spreadsheet, you can import them directly.

Import Modal

Supported Formats

  • Excel (.xlsx) -- including multi-sheet workbooks
  • CSV -- auto-detects delimiter (semicolon, comma, tab) and encoding

How It Works

  1. Click Import in the journal header
  2. Drag & drop your file or click to browse (max 5 MB)
  3. DOCSight auto-detects which columns contain the date, title, and description
  4. Review the preview table -- deselect any rows you don't want
  5. Duplicates (same date + title) are automatically marked and deselected
  6. Click Import Selected to confirm

Auto-Detection Details

  • Date column: Detected by date patterns (DD.MM.YYYY, DD.MM., YYYY-MM-DD, ISO)
  • Title column: Shorter text column (not the date)
  • Description column: Longer text column
  • Month headers: German month headers like "November 2023" in a column are recognized and used to fill in missing year information for DD.MM. dates
  • Empty/header rows: Automatically skipped

Re-importing

Importing the same file again is safe. DOCSight checks for duplicates (matching date + title) and marks them in the preview. Already-existing entries are skipped during import.

Search

The search bar filters entries by date, title, and description. Results are highlighted in the table. Type at least 2 characters to start searching. Press Escape to clear.

Month/Year Grouping

When sorted by date (default), entries are grouped under sticky month/year headers (e.g., "February 2026", "January 2026"). The headers stay visible while scrolling through a month's entries.

Batch Delete

Click Delete All to remove all entries at once. This requires double confirmation:

  1. A confirmation dialog showing the number of entries
  2. Typing the word DELETE in a prompt

This action is irreversible and also removes all attachments.


Incident Groups

Incident groups let you organize journal entries under named containers. Useful for users with months of monitoring who need to separate distinct issues (e.g., "Upstream Noise 2024" vs. "Firmware Problems 2025").

Filter Bar

A pill-based filter bar appears above the journal table:

  • All: Show all entries
  • Unassigned: Show entries not assigned to any incident
  • Incident pills: One per incident, with status dot (red=open, green=resolved, amber=escalated), name, and entry count
  • +: Create a new incident

Hover over an incident pill to reveal the edit icon.

Incident Summary

When an incident is selected, a summary panel appears showing:

  • Name, status badge, date range, entry count
  • Description preview (up to 200 characters)
  • Edit button to open the incident modal

Creating an Incident

  1. Click + in the filter bar
  2. Fill in:
    • Name: e.g., "Upstream Noise Issue"
    • Status: Open, Resolved, or Escalated
    • Start/End Date: When the incident began/was resolved
    • Icon: Optional
    • Description: Detailed context
  3. Save

Assigning Entries

  • When creating or editing an entry, use the Incident dropdown to assign it to a group
  • When creating a new entry while an incident is selected, the dropdown auto-selects that incident
  • Deleting an incident does not delete its entries -- they become unassigned

Export

Click Export in the journal header to download your entries. Three formats are available:

  • CSV -- for spreadsheets and further analysis
  • JSON -- for programmatic use or backup
  • Markdown -- for pasting into documents, wikis, or LLMs

The export includes all entries matching the current filter (incident selection and search query). Each entry contains its date, title, description, icon, and incident assignment.


Storage

  • All entries and incidents are stored permanently in the SQLite database (not subject to history cleanup)
  • Attachments are stored as BLOBs in the database, no filesystem dependency
  • The icon field stores manual icon overrides (auto-detected icons are not stored)
  • The journal feeds directly into complaint letters and PDF reports

API Endpoints

Method Path Description
GET /api/journal?search=query&incident_id=N List entries (incident_id: omit=all, 0=unassigned, N=specific)
POST /api/journal Create new entry
PUT /api/journal/<id> Update entry (including icon and incident_id)
DELETE /api/journal/<id> Delete single entry
POST /api/journal/import/preview Upload file, get parsed preview
POST /api/journal/import/confirm Bulk-import selected rows
DELETE /api/journal/batch Batch delete (by IDs or all)
GET /api/journal/export?format=csv|json|markdown Export entries in the specified format
GET /api/incidents List incident containers with entry counts
POST /api/incidents Create incident container
PUT /api/incidents/<id> Update incident
DELETE /api/incidents/<id> Delete incident (entries become unassigned)
POST /api/incidents/<id>/assign Assign entries to incident

See the API Reference for full details.

Clone this wiki locally