-
Notifications
You must be signed in to change notification settings - Fork 0
Datenbankformat
Technische Übersicht zum Datenbankformat von OpenSchichtplaner5.
📖 Der gesamte Datenbankzugriff ist in der eigenständigen Library libopenschichtplaner5 implementiert. Die ausführliche Format-Referenz (alle Tabellen und Felder, Kodierung, Änderungsjournal) sowie das Kommandozeilenwerkzeug sind dort dokumentiert: Datenbankformat · CLI
OpenSchichtplaner5 verwendet das dBase/FoxPro-DBF-Format aus einem einfachen Grund: Kompatibilität mit dem originalen Schichtplaner5 der Firma RPS Planungssysteme GmbH. Das Windows-Programm speichert alle Daten in DBF-Dateien; OpenSchichtplaner5 liest und schreibt exakt dieselben Dateien — ohne Konvertierung, ohne Migration.
Vorteile:
- ✅ Bestehende SP5-Daten sofort nutzbar
- ✅ Datei-basiert → einfache Backups (ZIP-Archiv reicht)
- ✅ Kein Datenbankserver nötig (optional: PostgreSQL-Spiegel, siehe PostgreSQL-Support)
Koexistenz mit dem Original — die ehrliche Regel:
- ✅ Sequenzieller Wechselbetrieb wird unterstützt: erst das eine Programm
schließen, dann mit dem anderen arbeiten. Änderungen der Web-App werden
über das Änderungsjournal (
…-L.DBF) für das Original nachvollziehbar protokolliert. ⚠️ Gleichzeitiges Schreiben (Original-Client und Web-App parallel auf derselben Datenbank) wird nicht unterstützt — die beiden Programme verwenden unterschiedliche Sperrmechanismen.
Hinweis zu CDX-Indexdateien:
Jede Tabelle hat eine zugehörige .CDX-Indexdatei. Nach Schreibzugriffen der
Web-App werden veraltete Indexe entfernt; das Original legt fehlende
Indexe beim nächsten Öffnen automatisch neu an. CDX-Dateien niemals manuell
bearbeiten.
Eine Datenbank ist ein Verzeichnis mit 30 Tabellenpaaren (5XXXXX.DBF +
Änderungsjournal 5XXXXX-L.DBF). Die wichtigsten:
| Tabelle | Inhalt |
|---|---|
5EMPL |
Mitarbeiter-Stammdaten (inkl. Arbeitszeitmodell HRSDAY/HRSWEEK/WORKDAYS) |
5GROUP / 5GRASG
|
Gruppen (hierarchisch über SUPERID) / Gruppenzuordnungen |
5SHIFT |
Schichtarten (Zeiten je Wochentag + Feiertag, STARTEND0..7) |
5MASHI / 5SPSHI
|
Dienstplan-Einträge / Sonderdienste & Abweichungen |
5ABSEN / 5LEAVT / 5LEAEN
|
Abwesenheiten / Abwesenheitsarten / Urlaubsansprüche |
5CYCLE / 5CYENT / 5CYASS / 5CYEXC
|
Schichtmodelle, Modell-Einträge, Zuordnungen, Ausnahmen |
5SHDEM / 5SPDEM / 5DADEM
|
Personalbedarf (wöchentlich / datumsbezogen / Tagesbedarf) |
5HOLID |
Feiertage (inkl. halber Feiertage) |
5XCHAR |
Zuschlagsarten (Zeitfenster in Minuten) |
5BOOK / 5OVER
|
Stunden-Kontobuchungen / Überstunden |
5USER / 5USETT
|
Benutzerkonten & Rechte / Programmeinstellungen |
5WOPL / 5RESTR / 5PERIO / 5HOBAN / 5NOTE / 5BUILD
|
Arbeitsplätze, Einschränkungen, Perioden, Urlaubssperren, Notizen, DB-Kennung |
Die vollständige Feld-Referenz je Tabelle pflegt das lib-Wiki → Datenbankformat.
Mit dem CLI der Library lässt sich jede Datenbank direkt untersuchen:
sp5lib info /pfad/zur/datenbank # Tabellenübersicht mit Recordzahlen
sp5lib dump /pfad/zur/datenbank 5EMPL # Tabelleninhalt (auch --json/--csv)
sp5lib validate /pfad/zur/datenbank # Konsistenz-CheckSiehe auch: ORM-Spiegel · Datenbankverwaltung · Backup
Home — Startseite
- Installation — Installation & Setup
- Erste-Schritte — Quick Start Guide
- Onboarding-Wizard — 🧭 Ersteinrichtung
- Onboarding-Checkliste — ✅ Setup-Fortschritt
- Dashboard — Charts, Widgets & Performance
- Dienstplan — Dienstplan, Einsatzplan
- Kalender-Ansicht — 🗓️ Monatskalender
- Drag-and-Drop — 🖱️ Drag & Drop im Kalender
- Recurring-Shifts — 🔁 Wiederkehrende Schichten
- Schichtplan-Kommentare — 📝 Tagesnotizen
- Dienstplan-Vorlagen — 📋 Templates
- Undo-Redo — ↩️ Rückgängig/Wiederherstellen
- Jahresuebersicht — Jahresübersicht (Tagesraster)
- Personaltabelle — 📋 Kennzahlen-Auswertung
- Personalbedarf — 📌 Min/Max & Besetzungsampel
- Schichtwunsch-Kalender — 💬 Persönlicher Schichtkalender
- Schichtwuensche — Schichtwünsche & Sperrtage
- Verfuegbarkeit — 📅 Mitarbeiter-Verfügbarkeit
- Tauschboerse — 🔄 Schicht-Tauschbörse
- Urlaubsverwaltung — Urlaub & Abwesenheiten
- Jahresabschluss — 🎯 Überträge & Resturlaub-Verfall
- Ueberstunden — Überstunden-Dashboard & Tracking
- Arbeitszeit-Regelwerk — ⚖️ Arbeitszeitregeln
- Team-Kalender — 🗓️ Team-Kalender
- Team-Uebersicht — 👥 Team-Übersicht
- Berichte — Alle Berichte (20+)
- Scheduled-Reports — 📤 Automatische Berichte
-
Konflikt-Report —
⚠️ Konflikterkennung - Abwesenheits-Statistiken — 📊 Abwesenheitsauswertung
- Mitarbeiter-Timeline — 📅 Zeitachse
- Fairness-Score — 📐 Fairness-Score
- Mitarbeiter-Vergleich — ⚖️ Mitarbeiter-Vergleich
- Analytics-Charts — 📈 Analytics & Charts
- Jahresrueckblick — 🗓️ Jahresrückblick
- Import-Export — CSV/XLSX Import & Export
- Bulk-Import — 📦 Massenimport (Drag&Drop)
- Export-Scheduler — 📅 Automatischer Berichtsversand
- iCal-Export — 📅 iCal & Kalender-Abo
- Drucken — Drucken & PDF-Export
- Druckvorschau — Interaktive Print-Vorschau
- Mitarbeiter — Personal & Gruppen
- Foto-Upload — 📸 Mitarbeiter-Profilfotos
- Stammdaten — Schichten, Modelle, Zuschläge
- Feiertage — 🎉 Feiertage & Österreich-Import
- Kompetenz-Matrix — 📊 Qualifikations-Matrix
- API-Versionierung — 🔀 Versionierte API-Routes
- Webhook-System — 🔗 Webhooks
- Echtzeit-Updates — 📡 SSE Live-Updates
- Notification-Settings — 🔔 E-Mail-Einstellungen
- Multi-Tenant — 🏢 Mandantenverwaltung
- Benutzerverwaltung — Benutzer & Rechte
- Zwei-Faktor-Authentifizierung — 🔐 2FA (TOTP)
- Administration — Backup & Wartung
- Datenbank-Backup — 💾 Backup & Restore
- Rate-Limit-Dashboard — 🚦 Rate-Limit Monitoring
- Protokoll — Aktivitätsprotokoll
- Keyboard-Shortcuts — ⌨️ Tastaturkürzel
- Keyboard-Navigation — ⌨️ Vollständige Tastatur-Bedienbarkeit
- Security — 🔒 Sicherheit, CSP, CORS
- Health-Check — 🏥 Systemmetriken
- Konfiguration — ⚙️ ENV-Variablen
- PostgreSQL-Support — 🐘 PostgreSQL-Datenbank
- Auto-Migration — 🔄 Auto-Schema-Migration
- Datenbankformat — Technisches: DBF & SQLite
- ORM-Spiegel — 🪞 ORM-Spiegel (Admin)
- Error-Monitoring — 🔍 Logging & Monitoring
- Self-Service-Portal — 👤 Mitarbeiter Self-Service
- Dark-Mode — 🌙 Dark Mode (System-Preference)
- Command-Palette — 🔍 Schnellsuche (Ctrl+K)
- In-App-Changelog — 🔔 Changelog
- PWA — 📲 Progressive Web App
- Sprachumschalter — 🌍 DE/EN i18n
- Library (lib) — Datenbankformat & CLI
- REST-API — Endpunkt-Referenz