Dashboard
1. Wofuer ist diese Funktion
Das Dashboard ist die zentrale Startseite von Octoserv und dient als persoenlicher Arbeitsplatz fuer jeden Benutzer. Nach dem Login wird der Benutzer automatisch auf das Dashboard geleitet (/octo/dashboard). Es buendelt die wichtigsten Informationen auf einen Blick: offene Aufgaben, ueberfaellige Taetigkeiten, Kontaktstatistiken und Schnellzugriffe auf alle freigeschalteten Module.
Das Dashboard ist der erste Navigationspunkt in der Sidebar und bildet den Ausgangspunkt fuer die taegliche Arbeit mit Octoserv. Es vereint die Funktionen einer Aufgaben-Uebersicht, eines Statistik-Panels und eines Navigations-Hubs in einer einzigen, uebersichtlichen Oberflaeche.
2. Ziel und Vorteil
- Sofortiger Ueberblick: Beim Oeffnen von Octoserv sieht der Benutzer sofort, welche Aufgaben heute anstehen, welche ueberfaellig sind und wie der aktuelle Stand der Kontaktdatenbank aussieht.
- Priorisierung: Ueberfaellige Aufgaben und die naechsten Faelligkeiten (7-Tage-Vorschau) werden prominent dargestellt, sodass nichts vergessen wird.
- Schnellzugriff: Ueber die Schnellaktionen-Karte erreicht der Benutzer jedes Modul mit einem einzigen Klick, ohne durch Menues navigieren zu muessen.
- Tagesstart: Das Dashboard eignet sich ideal als taeglicher Einstiegspunkt. Der Benutzer kann morgens pruefen, was ansteht, und direkt mit der wichtigsten Aufgabe beginnen.
- Persoenliche und globale Sicht: Benutzer mit erweiterten Rechten koennen zwischen der persoenlichen Ansicht (nur eigene Daten) und der globalen Ansicht (alle Daten) umschalten, um Team-Ueberblicke zu erhalten.
- Echtzeit-Erinnerungen: Browser-Benachrichtigungen und ein Erinnerungs-Panel informieren aktiv ueber faellige Aufgaben, auch wenn das Dashboard im Hintergrund geoeffnet ist.
3. Detaillierte Funktionsbeschreibung
3.1 Sidebar-Navigation
Die linke Seitenleiste ist die zentrale Navigation von Octoserv und erscheint auf dem Dashboard sowie auf allen anderen Seiten.
Aufbau:
- Header: Zeigt das konfigurierte Firmenlogo (ueber
logo_urlin den Einstellungen) oder den Seitennamen als Text-Fallback. - Navigationsmenue: Listet alle freigeschalteten Module auf. Die Sichtbarkeit jedes Eintrags wird ueber individuelle Berechtigungsfunktionen gesteuert (z.B.
octo_user_can_access_contacts()). Nicht freigeschaltete Module erscheinen nicht. - Untermenues: Einige Navigationspunkte besitzen aufklappbare Untermenues (erkennbar am Pfeil-Symbol). Dazu gehoeren: Kontakte (mit gespeicherten Ansichten/Views), Veranstaltungen, Formulareditor, Videohub, Blog, Funktionen und Einstellungen.
- Footer: Zeigt den Namen des angemeldeten Benutzers, einen Abmelden-Link und (bei Berechtigung) ein Support-Icon, das ein externes Ticket-Formular oeffnet.
Navigationspunkte (vollstaendige Liste):
| Navigationspunkt | Icon | Beschreibung |
|---|---|---|
| Dashboard | dashicons-dashboard | Startseite / Uebersicht |
| Kontakte | dashicons-groups | Kontaktverwaltung (mit Ansichten-Submenue) |
| Firmen | dashicons-building | Firmenverwaltung |
| Termine | dashicons-calendar-alt | Terminverwaltung |
| Beratungskalender | dashicons-clock | Beratungstermine |
| Veranstaltungen | dashicons-tickets-alt | Event-Management (mit Submenue) |
| Dokumente | dashicons-media-document | Dokumentenverwaltung |
| Auswertung | dashicons-chart-bar | Berichte und Analysen |
| Berichte | dashicons-chart-line | Erweiterte Berichte |
| Kampagnen | dashicons-megaphone | Marketing-Kampagnen |
| E-Mails | dashicons-email | E-Mail-Verwaltung |
| Newsletter | dashicons-megaphone | Newsletter-Versand |
| Formulareditor | dashicons-feedback | Formular-Erstellung (mit Submenue) |
| Videohub | dashicons-video-alt3 | Video-Management (mit Submenue) |
| Seiten | dashicons-admin-page | Seitenverwaltung |
| Blog | dashicons-admin-post | Blog-Verwaltung (mit Submenue) |
| Medien | dashicons-admin-media | Medienbibliothek |
| Journal | dashicons-backup | Aktivitaetsprotokoll |
| Funktionen | dashicons-admin-tools | Erweiterte Funktionen (mit Submenue) |
| Einstellungen | dashicons-admin-settings | Systemkonfiguration (mit Submenue) |
Persistenter Zustand der Untermenues:
Der Auf-/Zugeklappt-Zustand der Untermenues wird im localStorage des Browsers gespeichert (Schluessel: octo_nav_open_items). Beim erneuten Laden der Seite wird der letzte Zustand wiederhergestellt. Es ist immer nur ein Untermenue gleichzeitig geoeffnet: Beim Oeffnen eines neuen Untermenues werden alle anderen automatisch geschlossen.
Scroll-Position:
Auch die Scroll-Position der Navigation wird im localStorage gespeichert (Schluessel: octo_nav_scroll_pos) und beim Seitenwechsel wiederhergestellt. Dadurch muss der Benutzer bei langen Navigationslisten nicht erneut scrollen.
Mobile Darstellung:
Auf Mobilgeraeten werden standardmaessig nur bestimmte Navigationspunkte angezeigt (Kontakte, Firmen, Termine), gekennzeichnet durch das Attribut data-mobile-visible="true".
3.2 Widget-Karten auf dem Dashboard
Das Dashboard zeigt vier Haupt-Widget-Karten an, jeweils in einem octo-card-Container:
3.2.1 Naechste Faelligkeiten (7 Tage)
- Inhalt: Zeigt die naechsten 5 Aufgaben an, die innerhalb der kommenden 7 Tage faellig sind, sortiert nach Faelligkeitsdatum (aufsteigend).
- Angezeigte Daten pro Aufgabe: Aufgabentitel (Summary) und Faelligkeitsdatum im Format
dd.mm.yyyy HH:MM. - Leerzustand: Wenn keine Aufgaben in den naechsten 7 Tagen faellig sind, wird der Hinweis "Keine Faelligkeiten in den naechsten 7 Tagen." angezeigt.
- Ansichts-Umschalter: Benutzer mit globaler Berechtigung sehen einen Toggle-Button, um zwischen persoenlicher und globaler Ansicht zu wechseln. In der globalen Ansicht wird "(Alle)" im Titel angezeigt.
3.2.2 Ueberfaellige Aufgaben
- Inhalt: Listet die aeltesten 5 ueberfaelligen Aufgaben auf (Faelligkeitsdatum liegt in der Vergangenheit), sortiert nach Faelligkeitsdatum (aufsteigend, d.h. die am laengsten ueberfaellige Aufgabe steht oben).
- Angezeigte Daten pro Aufgabe: Aufgabentitel und urspruengliches Faelligkeitsdatum.
- Leerzustand: "Keine ueberfaelligen Aufgaben."
- Ansichts-Umschalter: Wie bei den Faelligkeiten, umschaltbar zwischen persoenlich und global.
3.2.3 Schnellaktionen
- Inhalt: Zeigt Buttons fuer den Direktzugriff auf alle freigeschalteten Module. Jeder Button fuehrt direkt zur entsprechenden Modulseite.
- Berechtigungssteuerung: Nur Module, fuer die der Benutzer Zugriff hat, werden als Button angezeigt. Die Pruefung erfolgt ueber die jeweilige
octo_user_can_access_*()Funktion. - Verfuegbare Schnellaktionen: Kontakte, Firmen, Termine, Dokumente, Auswertung, Berichte, Kampagnen, E-Mails, Newsletter, Formulareditor, Videohub, Seiten, Blog, Medien, Benutzer, Funktionen.
- Darstellung: Jeder Button zeigt ein passendes Dashicon-Symbol und den Modulnamen. Die Buttons sind im
octo-btn octo-btn-secondaryStil gehalten.
3.2.4 Statistiken
- Inhalt: Zeigt Kennzahlen zur Kontaktdatenbank des Benutzers (oder global):
- Kontakte gesamt: Gesamtanzahl aller Kontakte.
- Bestaetigt: Anzahl der Kontakte mit Opt-in-Status "bestaetigt" (Confirmed).
- Unbestaetigt: Anzahl der Kontakte mit Opt-in-Status "unbestaetigt" (Unconfirmed).
- Abgemeldet: Anzahl der Kontakte mit Opt-in-Status "abgemeldet" (Unsubscribed).
- Ansichts-Umschalter: Umschaltbar zwischen persoenlich (nur eigene Kontakte, gefiltert nach
owner_id) und global (alle Kontakte).
3.2.5 Status-Uebersicht
- Inhalt: Zeigt die Verteilung der Kontakte nach dem benutzerdefinierten Feld
status_octo. Die Statuswerte werden dynamisch aus den Felddefinitionen (OCTO_Contact_Data_Layer) oder aus der Datenbank geladen. - Fallback-Werte: Falls keine Statusdefinitionen vorhanden sind, werden die Standard-Status "Lead", "Kunde", "Interessent" und "Inaktiv" angezeigt.
- Angezeigte Daten: Statusname und Anzahl der Kontakte mit diesem Status.
- Ansichts-Umschalter: Wie bei den Statistiken, umschaltbar zwischen persoenlich und global.
3.3 Ansichts-Umschalter (Persoenlich / Global)
- Berechtigung: Der Umschalter ist nur sichtbar fuer Benutzer mit Admin-Rolle oder dem Meta-Feld
octo_can_see_all_tasks. Die Pruefung erfolgt ueberocto_user_can_see_all_tasks(). - Persoenliche Ansicht (Standard): Zeigt nur Aufgaben, die dem Benutzer zugewiesen sind (ueber
task_reminders.user_idodertasks.user_id), und nur Kontakte, die dem Benutzer gehoeren (owner_id). - Globale Ansicht: Zeigt alle Aufgaben und Kontakte unabhaengig vom Benutzer. Der Titel der betroffenen Widgets zeigt "(Alle)" an.
- URL-Parameter: Die Ansicht wird ueber den GET-Parameter
?view=globalbzw.?view=personalgesteuert. Der Standardwert istpersonal. - Darstellung: Ein kleiner Button mit Personen- oder Gruppen-Icon, der zwischen den Modi umschaltet. Im persoenlichen Modus zeigt er ein Gruppen-Icon mit dem Text "Alle" (um zur globalen Ansicht zu wechseln). Im globalen Modus zeigt er ein Einzelpersonen-Icon ohne Text (um zur persoenlichen Ansicht zurueckzukehren).
3.4 Aufgaben-Modals
Vom Dashboard aus koennen zwei Arten von Aufgaben erstellt werden:
3.4.1 Kontaktbezogene Aufgabe
- Felder:
- Kontakt (Pflicht): Suchfeld mit Autovervollstaendigung zum Auswaehlen eines Kontakts.
- Task Summary (Pflicht): Titel der Aufgabe.
- Faellig am: Datum und Uhrzeit im Format
dd.mm.yyyy HH:MM, ausgewaehlt ueber einen Flatpickr-Datumspicker (deutsche Lokalisierung). - Zugewiesen an: Mehrfachauswahl aus allen CRM-Benutzern. Standardmaessig ist der aktuelle Benutzer vorausgewaehlt. Mehrere Personen koennen mit Strg/Cmd ausgewaehlt werden.
- Details: Freitextfeld fuer die Aufgabenbeschreibung. Zusaetzlich koennen ueber den Button "Dateien verlinken" globale Dokumente als Links in die Beschreibung eingefuegt werden.
- Erinnerungen: Zwei Checkboxen fuer "Browser-Benachrichtigung" und "E-Mail-Erinnerung". Die ausgewaehlten Personen werden zum Faelligkeitsdatum erinnert.
3.4.2 Interne Aufgabe (Staff Task)
- Unterschied: Kein Kontakt-Feld erforderlich. Dient fuer interne Team-Aufgaben ohne Kontaktbezug.
- Felder: Titel (Pflicht), Faellig am, Zugewiesen an (Mehrfachauswahl), Beschreibung mit Datei-Verlinkung, Erinnerungen.
3.5 Benachrichtigungs-System (Erinnerungen)
Das Dashboard enthaelt ein Erinnerungs-Panel, das automatisch faellige Aufgaben-Erinnerungen anzeigt.
Funktionsweise:
- Alle 2 Minuten werden per AJAX-Aufruf (
octo_get_pending_reminders) offene Erinnerungen vom Server abgerufen. - Gibt es faellige Erinnerungen, erscheint eine Benachrichtigungs-Box am unteren Bildschirmrand mit einem Glocken-Icon und der Anzahl offener Erinnerungen.
- Jede Erinnerung zeigt den Aufgabentitel, den zugehoerigen Kontaktnamen (als Link) und die Zeitangabe (z.B. "5 Minuten her", "2 Stunden her").
Browser-Benachrichtigungen:
- Zusaetzlich zur In-App-Anzeige werden native Browser-Benachrichtigungen ausgeloest, sofern der Benutzer die Erlaubnis erteilt hat.
- Beim ersten Eintreffen einer Erinnerung wird die Berechtigung fuer Browser-Benachrichtigungen automatisch angefragt.
- Die Benachrichtigungen bleiben bestehen, bis sie vom Benutzer geschlossen werden (
requireInteraction: true). - Ein Klick auf die Browser-Benachrichtigung oeffnet die entsprechende Kontaktseite mit der relevanten Aufgabe.
Interaktion:
- Jede Erinnerung kann mit dem X-Button einzeln geschlossen (dismissed) werden. Dies erfolgt per AJAX (
octo_dismiss_reminder). - Ein Klick auf den Inhalt einer Erinnerung navigiert zur Kontaktdetailseite und oeffnet die betreffende Aufgabe (ueber URL-Hash
#task-ID). - Bei Hover ueber einen Kontaktnamen erscheint eine Hovercard mit Schnellinformationen (Name, Telefon, Mobil, E-Mail, Adresse) und Aktions-Buttons ("Anzeigen", "Notiz", "Aufgabe").
3.6 Dashboard-Charts
Unterhalb der Widget-Karten kann ein Chart-Bereich eingeblendet werden, sofern der Benutzer Zugriff auf die Auswertungs-Funktion hat (octo_user_can_access_reports()). Der Container (#octo-dashboard-charts-container) wird per JavaScript befuellt und ist standardmaessig ausgeblendet.
3.7 Hilfe-Button
Neben der Seitenueberschrift "Dashboard" befindet sich ein Hilfe-Button, der ueber Octo_Help::get_help_button('dashboard') generiert wird. Dieser oeffnet kontextbezogene Hilfeinformationen zum Dashboard.
4. Benutzerdokumentation / Anwendung
4.1 Dashboard oeffnen
Nach dem Login wird das Dashboard automatisch geladen. Es ist auch jederzeit ueber den ersten Navigationspunkt "Dashboard" in der linken Sidebar erreichbar.
4.2 Tagesuebersicht pruefen
- Ueberfaellige Aufgaben pruefen: Die Karte "Ueberfaellige Aufgaben" zeigt sofort, welche Aufgaben bereits ueber dem Faelligkeitsdatum liegen. Diese sollten prioritaer abgearbeitet werden.
- Naechste Faelligkeiten pruefen: Die Karte "Naechste Faelligkeiten (7 Tage)" gibt einen Vorausblick auf die kommende Woche.
- Statistiken beachten: Die Statistiken zeigen den aktuellen Stand der eigenen Kontakte (Gesamt, Bestaetigt, Unbestaetigt, Abgemeldet) und die Verteilung nach Status.
4.3 Zwischen persoenlicher und globaler Ansicht wechseln
- In den Karten "Naechste Faelligkeiten", "Ueberfaellige Aufgaben", "Statistiken" und "Status" befindet sich rechts neben dem Titel ein kleiner Toggle-Button (nur sichtbar fuer berechtigte Benutzer).
- Klick auf den Button mit dem Gruppen-Icon und Text "Alle" wechselt zur globalen Ansicht.
- In der globalen Ansicht zeigt der Button ein Einzelpersonen-Icon. Ein Klick darauf wechselt zurueck zur persoenlichen Ansicht.
- Die Seite wird bei jedem Wechsel neu geladen, und alle Widgets passen sich der gewaehlten Ansicht an.
4.4 Schnellaktionen nutzen
- In der Karte "Schnellaktionen" sind alle freigeschalteten Module als Buttons aufgelistet.
- Ein Klick auf einen Button oeffnet direkt das entsprechende Modul (z.B. Kontakte, Firmen, Termine etc.).
- Nur Module, fuer die der Benutzer Zugriff hat, werden angezeigt.
4.5 Navigation ueber die Sidebar
- Klick auf einen Navigationspunkt ohne Untermenue oeffnet direkt die entsprechende Seite.
- Klick auf einen Navigationspunkt mit Untermenue (erkennbar am Pfeil-Symbol) klappt das Untermenue auf und navigiert automatisch zum ersten Unterpunkt.
- Es ist immer nur ein Untermenue gleichzeitig geoeffnet.
- Der Zustand (auf-/zugeklappt) bleibt nach dem Seitenwechsel erhalten.
4.6 Erinnerungen verwalten
- Wenn faellige Erinnerungen vorliegen, erscheint automatisch ein Benachrichtigungs-Panel.
- Beim erstmaligen Empfang fragt der Browser nach der Erlaubnis fuer Desktop-Benachrichtigungen. Es wird empfohlen, diese zu erlauben.
- Auf eine Erinnerung klicken, um direkt zum betreffenden Kontakt und der zugehoerigen Aufgabe zu navigieren.
- Das X-Symbol einer Erinnerung klicken, um sie als erledigt zu markieren und auszublenden.
- Ueber den Kontaktnamen in der Erinnerung hovern, um eine Schnellansicht (Hovercard) mit Kontaktdaten und Aktions-Buttons zu erhalten.
4.7 Aufgabe erstellen
- Ueber das Aufgaben-Modal (zugaenglich ueber entsprechende Buttons oder Aktionen) koennen neue Aufgaben erstellt werden.
- Fuer kontaktbezogene Aufgaben: Kontakt auswaehlen, Titel eingeben, optional Faelligkeitsdatum und Zuweisung festlegen.
- Fuer interne Aufgaben: Nur Titel eingeben, optional Faelligkeitsdatum und Zuweisung festlegen.
- Bei Bedarf Dateien verlinken und Erinnerungen aktivieren (Browser und/oder E-Mail).
4.8 Abmelden
Im Footer der Sidebar wird der Benutzername und ein "Abmelden"-Link angezeigt. Klick auf "Abmelden" beendet die Sitzung und leitet zur Login-Seite weiter.
5. Anwendungsbeispiele
5.1 Vertriebsmitarbeiter: Morgenroutine
Ein Vertriebsmitarbeiter beginnt seinen Arbeitstag, indem er das Dashboard oeffnet. Er sieht sofort:
- 2 ueberfaellige Aufgaben: Ein Rueckruf bei einem Interessenten von gestern und ein Angebots-Follow-up von vorgestern. Er klickt auf die erste Aufgabe und wird direkt zum Kontakt weitergeleitet, um den Rueckruf zu erledigen.
- 3 Faelligkeiten diese Woche: Ein Beratungstermin morgen, ein Vertragsabschluss am Mittwoch und eine Kundenpraesentation am Freitag. So kann er seinen Tag priorisieren.
- Statistiken: Er sieht, dass er 45 Kontakte gesamt hat, davon 30 bestaetigt, 10 unbestaetigt und 5 abgemeldet. Er nutzt den Schnellzugriff "Kontakte", um die unbestaetigten Kontakte nachzuverfolgen.
5.2 Teamleiter: Team-Ueberblick am Morgen
Eine Teamleiterin oeffnet das Dashboard und wechselt ueber den Toggle-Button zur globalen Ansicht:
- Ueberfaellige Aufgaben (Alle): Sie sieht 8 ueberfaellige Aufgaben im gesamten Team und kann identifizieren, welche Teammitglieder Unterstuetzung brauchen.
- Statistiken (Alle): Die Gesamtzahl von 500 Kontakten, aufgeteilt in 320 bestaetigt, 150 unbestaetigt und 30 abgemeldet, gibt ihr einen schnellen Eindruck der Datenbankgesundheit.
- Status-Uebersicht (Alle): Sie erkennt, dass 200 Leads, 120 Kunden, 100 Interessenten und 80 Inaktive im System sind. Das Verhaeltnis Lead-zu-Kunde hilft bei der Bewertung der Team-Performance.
Anschliessend wechselt sie zurueck zur persoenlichen Ansicht und arbeitet ihre eigenen Aufgaben ab.
5.3 Marketing-Mitarbeiter: Schnellzugriff auf Kampagnen
Ein Marketing-Mitarbeiter nutzt das Dashboard als Sprungbrett:
- Ueber die Schnellaktionen klickt er direkt auf "Kampagnen", um den Status der laufenden Kampagne zu pruefen.
- Danach nutzt er den Button "Newsletter", um den naechsten Versand vorzubereiten.
- Zwischendurch erhaelt er eine Browser-Benachrichtigung, dass ein Rueckruf faellig ist. Er klickt auf die Benachrichtigung und wird direkt zum Kontakt weitergeleitet.
5.4 Geschaeftsfuehrer: Woechentlicher Statuscheck
Ein Geschaeftsfuehrer oeffnet das Dashboard einmal pro Woche im globalen Modus:
- Die Status-Uebersicht zeigt ihm die Verteilung aller Kontakte nach Lead, Kunde, Interessent etc. Er kann die Entwicklung ueber die Wochen vergleichen.
- Die Statistiken geben ihm einen Ueberblick ueber die Datenbankgroesse und die Opt-in-Quoten.
- Ueber die Schnellaktion "Auswertung" navigiert er direkt zu den detaillierten Charts und Berichten.
5.5 Supportmitarbeiter: Aufgaben-Erinnerungen nutzen
Eine Supportmitarbeiterin hat das Dashboard im Browser geoeffnet, waehrend sie in einem anderen Tab arbeitet:
- Nach 30 Minuten erscheint eine Browser-Benachrichtigung: "Aufgaben-Erinnerung: Max Mustermann -- Rueckruf wegen Reklamation".
- Sie klickt auf die Benachrichtigung und wird direkt auf die Kontaktseite von Max Mustermann geleitet, wobei die Aufgabe automatisch geoeffnet wird.
- Alternativ kann sie in der Erinnerungs-Box im Dashboard ueber den Kontaktnamen hovern, um sofort Telefonnummer und E-Mail in der Hovercard zu sehen, und direkt zurueckrufen.