Kontakt-Detailansicht
Die Kontakt-Detailansicht ist die zentrale 360-Grad-Ansicht eines einzelnen Kontakts in Octoserv. Sie zeigt alle relevanten Informationen, Aktivitaeten und Steuerungsmoeglichkeiten auf einer einzigen Seite -- vollstaendig konfigurierbar in Layout, Sichtbarkeit und Reihenfolge.
1. Wofuer ist diese Funktion
Die Kontakt-Detailansicht bietet eine vollstaendige Uebersicht ueber einen einzelnen Kontakt. Alle Informationen -- von Stammdaten ueber Kommunikationshistorie bis hin zu Pipeline-Deals und Aufgaben -- werden in konfigurierbaren "Boxen" dargestellt. Jeder Benutzer kann das Layout individuell anpassen: welche Boxen angezeigt werden, in welcher Spalte sie stehen, ob sie auf dem Mobilgeraet sichtbar sind und ob sie beim Laden ein- oder ausgeklappt sein sollen.
Die Seite wird ueber die URL /octo/contacts/{ID} aufgerufen und laedt die Kontaktdaten direkt aus dem Groundhogg-CRM-System.
2. Ziel und Vorteil
| Ziel | Vorteil |
|---|---|
| Vollstaendige Kontaktuebersicht | Alle relevanten Daten auf einer Seite -- kein Wechsel zwischen verschiedenen Bereichen noetig |
| Individuelles Layout | Jeder Benutzer kann die Boxen per Drag & Drop in bis zu 3 Spalten anordnen |
| Mobile Optimierung | Pro Box kann gesteuert werden, ob sie auf Mobilgeraeten sichtbar ist |
| Direkte Aktionen | E-Mails senden, Notizen erstellen, Aufgaben zuweisen, Status aendern -- alles von einer Seite |
| Inline-Bearbeitung | Kontaktdaten koennen direkt in der Detailansicht bearbeitet werden, ohne in ein separates Formular wechseln zu muessen |
| Berechtigungsgesteuert | Felder wie Status und Quelle sind nur fuer berechtigte Benutzer als Dropdown editierbar |
| Erweiterbar | Plugins koennen ueber den Filter octo_register_contact_boxes eigene Boxen registrieren |
3. Detaillierte Funktionsbeschreibung
3.1 Seitenstruktur und Header
Beim Aufruf der Detailansicht wird der Kontakt anhand der ID aus der URL geladen (/octo/contacts/{ID}). Die Seite besteht aus:
- Zurueck-Link: Navigation zurueck zur Kontaktuebersicht
- Kontaktname: Vor- und Nachname (Fallback: E-Mail-Adresse oder "Unbenannter Kontakt")
- Hilfe-Button: Kontextsensitive Hilfe (
kontakt-detail) - Bearbeiten-Button: Aktiviert den Inline-Bearbeitungsmodus (nur sichtbar fuer Benutzer mit Schreibrechten)
Das Layout wird aus der Benutzerkonfiguration geladen (octo_data_view_config User-Meta). Falls keine benutzerspezifische Konfiguration existiert, wird die globale Konfiguration (octo_global_data_view_config Option) verwendet. Als letzter Fallback gilt eine Standardkonfiguration mit einer Spalte.
3.2 Layout-System
Das Layout basiert auf einem CSS-Grid mit konfigurierbaren Spalten und Verhaeltnissen:
| Layout | Spalten | Verhaeltnis |
|---|---|---|
| 1 Spalte | 1 | 100% |
| 2 Spalten gleich | 2 | 50% / 50% |
| 2 Spalten links betont | 2 | 66% / 33% |
| 2 Spalten rechts betont | 2 | 33% / 66% |
| 3 Spalten gleich | 3 | 33% / 33% / 33% |
| 3 Spalten Mitte betont | 3 | 25% / 50% / 25% |
Boxen werden pro Spalte in der konfigurierten Reihenfolge gerendert. Jede Box kann zudem:
- Eingeklappt sein beim Laden (
data-default-collapsed="true") - Auf Mobilgeraeten ausgeblendet werden (
data-mobile="false")
3.3 Die 19 konfigurierbaren Boxen
Im Folgenden werden alle verfuegbaren Boxen einzeln dokumentiert.
3.3.1 Kontaktinformationen (contact_info)
Typ: Standard-Box (mit Felder-Konfiguration)
Icon: dashicons-id
Template: templates/contacts/boxes/box-contact_info.php
Zeigt die persoenlichen Stammdaten des Kontakts an. Welche Felder sichtbar sind, wird ueber die Datenansicht-Konfiguration gesteuert.
Verfuegbare Felder:
| Feld | Bezeichnung | Besonderheiten |
|---|---|---|
first_name | Vorname | Textfeld |
last_name | Nachname | Textfeld |
email | Klickbarer mailto:-Link | |
primary_phone | Telefon | Klickbarer tel:-Link |
mobile_phone | Mobil | Klickbarer tel:-Link |
birthday | Geburtstag | Datumformat DD.MM.YYYY, Datepicker im Bearbeitungsmodus |
Im Erstellungsmodus wird zusaetzlich ein Toggle "Kontakt ohne E-Mail-Adresse erstellen" angezeigt, der eine automatisch generierte E-Mail-Adresse verwendet.
Bearbeitungsmodus: Im Inline-Edit werden Textfelder zu Eingabefeldern. E-Mail-Felder erhalten type="email", Telefonfelder type="tel", Geburtstag bekommt einen Datepicker.
3.3.2 Adressinformationen (address_info)
Typ: Standard-Box (mit Felder-Konfiguration)
Icon: dashicons-location
Template: templates/contacts/boxes/box-address_info.php
Zeigt die Adressdaten des Kontakts an.
Verfuegbare Felder:
| Feld | Bezeichnung |
|---|---|
street_address_1 | Strasse |
street_address_2 | Adresszusatz |
postal_zip | PLZ |
city | Stadt |
region | Bundesland |
country | Land |
Google Maps Button: Wenn Adressdaten vorhanden sind (Strasse, PLZ, Stadt oder Land), wird ein Button "In Google Maps anzeigen" eingeblendet. Dieser oeffnet Google Maps in einem neuen Tab mit der zusammengesetzten Adresse als Suchbegriff.
3.3.3 Firmendaten (company_info)
Typ: Standard-Box (mit Felder-Konfiguration)
Icon: dashicons-building
Template: templates/contacts/boxes/box-company_info.php
Zeigt die Firmenverbindung des Kontakts an.
Verfuegbare Felder:
| Feld | Bezeichnung | Besonderheiten |
|---|---|---|
company_name | Firmenname | Textfeld |
company_phone | Firmentelefon | type="tel" im Edit-Modus |
job_title | Position | Textfeld |
company_department | Abteilung | Textfeld |
company_address | Firmenadresse | Textfeld |
company_website | Webseite | Klickbarer Link mit target="_blank", type="url" im Edit-Modus |
3.3.4 Kontakt-Verantwortlicher (owner)
Typ: Standalone-Box
Icon: dashicons-admin-users
Template: templates/contacts/boxes/box-owner.php
Zeigt den zugewiesenen Verantwortlichen (Owner) des Kontakts an und ermoeglicht die Aenderung per Dropdown.
Funktionsweise:
- Sichtbarkeit: Die Box wird nur angezeigt, wenn der Benutzer die Berechtigung "Globale Daten sehen" (
octo_user_can_see_global_data()) hat. Ohne diese Berechtigung wird die Box komplett ausgeblendet. - Bearbeitbar: Nur Benutzer mit Berechtigung "Globale Daten sehen" koennen den Owner per Dropdown aendern.
- Dropdown-Optionen: Alle sichtbaren CRM-Benutzer werden als Optionen angezeigt. Als "CRM-unsichtbar" markierte Benutzer erscheinen nicht im Dropdown, koennen aber trotzdem als Owner gesetzt sein (dann mit Zusatz "(Versteckt)").
- Fallback: Wenn kein Owner zugewiesen ist, wird "Nicht zugewiesen" angezeigt.
- Erstellungsmodus: Der aktuelle Benutzer wird automatisch als Owner vorausgewaehlt, sofern er kein Administrator und nicht als unsichtbar markiert ist.
Die Aenderung des Owners erfolgt sofort per AJAX, mit visuellem Feedback (Spinner).
3.3.5 Tags (tags)
Typ: Standalone-Box
Icon: dashicons-tag
Template: templates/contacts/boxes/box-tags.php
Zeigt alle dem Kontakt zugewiesenen Tags als farbige Badges an.
Funktionsweise:
- Tags werden aus dem Groundhogg-System geladen (
$gh_contact->get_tags()) - Jeder Tag wird als Badge (
<span class="octo-tag">) in einer horizontalen Liste dargestellt - Wenn keine Tags vorhanden sind, erscheint "Keine Tags zugewiesen."
Tags koennen nicht direkt in dieser Box bearbeitet werden -- die Verwaltung erfolgt ueber das Groundhogg-Backend oder automatisierte Prozesse (Funnels, Plugins).
3.3.6 Flowsteuerung / Kampagnen (campaigns)
Typ: Standalone-Box
Icon: dashicons-megaphone
Template: templates/contacts/boxes/box-campaigns.php
Die Flowsteuerungs-Box ermoeglicht das manuelle Umschalten von Kampagnen-Tags ueber Toggle-Switches oder Checkboxen.
Funktionsweise:
- Jedes "Campaign Control" ist mit einem Groundhogg-Tag verknuepft
- Switch ein = Tag wird dem Kontakt zugewiesen
- Switch aus = Tag wird vom Kontakt entfernt
- Controls werden nur Benutzern angezeigt, die explizit zugewiesen sind (Admins sehen alle aktiven Controls)
- Ein Polling-Mechanismus aktualisiert die Switch-Zustaende alle 15 Sekunden
- Rate-Limiting verhindert zu schnelles Umschalten (2 Sekunden Sperre pro Toggle)
Control-Typen:
| Typ | Darstellung |
|---|---|
switch | Toggle-Switch (Ein/Aus-Schalter) |
checkbox | Standard-Checkbox |
Automatische Einblendung: Wenn der Benutzer sichtbare Controls hat, die Box aber noch nicht im Layout platziert ist, wird sie automatisch zur aktuellen Spalte hinzugefuegt.
Die Administration der Controls (Erstellen, Bearbeiten, Loeschen, Benutzerzuweisung) erfolgt ueber die Einstellungen im Admin-Bereich.
3.3.7 Status / Schnellstatus (quick_status)
Typ: Standalone-Box
Icon: dashicons-flag
Template: templates/contacts/boxes/box-quick_status.php
Ermoeglicht eine schnelle Statusaenderung des Kontakts, ohne in den Bearbeitungsmodus wechseln zu muessen.
Funktionsweise:
- Zeigt den aktuellen
status_octo-Wert des Kontakts - Die verfuegbaren Status-Optionen werden aus den Groundhogg Properties geladen
- Mit Berechtigung (
octo_user_can_edit_status_field()): Dropdown zur sofortigen Aenderung per AJAX - Ohne Berechtigung: Aktueller Status wird als reiner Text angezeigt
Fallback-Optionen (wenn keine in Groundhogg konfiguriert):
- Lead
- Interessiert
- Kunde
- Unqualifiziert
3.3.8 Opt-In Status (optin_status)
Typ: Standalone-Box
Template: templates/contacts/boxes/box-optin_status.php
Zeigt den E-Mail-Opt-in-Status des Kontakts im Groundhogg-System an -- relevant fuer DSGVO-Compliance und E-Mail-Marketing.
Statuswerte:
| Code | Status | Farbe |
|---|---|---|
| 1 | Unbestaetigt | Gelb (neutral) |
| 2 | Bestaetigt | Gruen (positiv) |
| 3 | Abgemeldet | Rot (negativ) |
| 4 | Woechentlich | Gelb (neutral) |
| 5 | Monatlich | Gelb (neutral) |
| 6 | Hard Bounce | Rot (negativ) |
| 7 | Spam | Rot (negativ) |
| 8 | Beschwerde | Rot (negativ) |
| 9 | Blockiert | Rot (negativ) |
Der Status wird als farbiges Badge dargestellt. Diese Box ist rein informativ und kann nicht direkt bearbeitet werden.
3.3.9 Ranking (ranking)
Typ: Standalone-Box
Icon: dashicons-awards
Template: templates/contacts/boxes/box-ranking.php
Zeigt die Ranking-Bewertung des Kontakts auf einer Skala von 0 bis 100, dargestellt als Ampelsystem.
Anzeige-Elemente:
- Score-Kreis: Grosser runder Kreis mit Punktzahl (0-100), eingefaerbt nach Ampelfarbe
- Ampel-Label: Textuelle Bewertung basierend auf der Farbe
- Beste Kontaktzeit: Zeitfenster, in dem der Kontakt am besten erreichbar ist (falls berechnet)
- Aktualisiert-Zeitstempel: Wann der Score zuletzt berechnet wurde
- Breakdown: Detaillierte Aufschluesselung der einzelnen Score-Komponenten (Label, Detail, Punkte)
Ampelfarben:
| Farbe | Bedeutung | Beschreibung |
|---|---|---|
| Gruen | Heiss | Hohe Aktivitaet, guter Kontakt |
| Gelb | Warm | Moderate Aktivitaet |
| Orange | Neutral | Wenig Aktivitaet (Standard) |
| Rot | Blockiert | Abgemeldet, Bounce oder Spam -- kein Score berechnet |
Der Score wird automatisch beim naechsten Funnel-Durchlauf oder Cron-Lauf berechnet und in den Contact-Meta-Feldern octo_ranking_score, octo_ranking_color, octo_ranking_breakdown und octo_ranking_time_analysis gespeichert.
3.3.10 Lead Scoring (lead_scoring)
Typ: Standalone-Box
Icon: dashicons-chart-line
Template: templates/contacts/boxes/box-lead_scoring.php
Zeigt die Lead-Scoring-Daten des Groundhogg Lead-Scoring-Plugins an.
Voraussetzung: Die Box wird nur gerendert, wenn das Groundhogg Lead-Scoring-Plugin installiert ist (groundhogg_lead_scoring_installed Option).
Angezeigte Daten:
| Feld | Beschreibung |
|---|---|
| Punkte | Numerischer Score (lead_score_points) |
| Level | Textuelles Level (Kalt / Warm / Heiss / Top) |
| Level ID | Technische Level-ID |
Level-Zuordnung:
| Slug | Deutsches Label |
|---|---|
cold | Kalt |
warm | Warm |
hot | Heiss |
on-fire | Top |
3.3.11 Pipeline Deals (pipeline)
Typ: Standalone-Box
Icon: dashicons-portfolio
Template: templates/contacts/boxes/box-pipeline.php
Zeigt alle Pipeline-Deals des Kontakts an und ermoeglicht das Erstellen, Bearbeiten und Loeschen von Deals.
Sichtbarkeit: Die Box wird nur angezeigt, wenn:
- Der Benutzer die Pipeline-Berechtigung hat (
octo_user_can_view_pipeline()) - Der Kontakt existiert
- Eine Haupt-Pipeline konfiguriert ist (
octo_main_pipeline_id)
Deal-Anzeige (Liste):
- Deal-Titel (mit Stern-Symbol fuer primaere Deals)
- Deal-Wert in EUR
- Statuslevel-Badge
- Voraussichtliches Abschlussdatum
- Bearbeiten- und Loeschen-Buttons pro Deal
Deal-Modal (Erstellen/Bearbeiten):
| Feld | Beschreibung |
|---|---|
| Deal-Titel | Freitext |
| Deal-Wert | Numerisch in EUR |
| Status | Dropdown aus status_octo-Optionen |
| Statuslevel | Dropdown, gefiltert nach ausgewaehltem Status (konditionelle Abhaengigkeit) |
| Wahrscheinlichkeit | 0-100% in 5er-Schritten |
| Prioritaet | Niedrig / Normal / Hoch |
| Voraussichtlicher Abschluss | Datumsfeld |
| Primaerer Deal | Checkbox -- der primaere Deal bestimmt den Kontaktstatus |
| Weitere Deal-Felder | Dynamisch aus Pipeline-Konfiguration (Text, Textarea, Dropdown, Nummer, Datum) |
Statuslevel-Filterung: Wenn ein Statuslevel-Mapping konfiguriert ist (octo_conditional_fields_config), werden die Statuslevel-Optionen dynamisch basierend auf dem gewaehlten Status gefiltert.
3.3.12 Notizen (notes)
Typ: Standalone-Box
Icon: dashicons-edit
Template: templates/contacts/boxes/box-notes.php
Verwaltet interne Notizen zum Kontakt mit Titel, Inhalt und der Moeglichkeit, direkt Aufgaben aus Notizen zu erstellen.
Listendarstellung:
- Kompakte Liste aller Notizen, sortiert nach Datum (neueste zuerst)
- Pro Notiz: Icon, Titel (oder die ersten 50 Zeichen des Inhalts), Autor und relative Zeitangabe ("vor 2 Stunden")
- Klick auf eine Notiz oeffnet das Detail-Modal
Neue Notiz (Modal):
- Titelfeld (Pflicht)
- Notiz-Textfeld (Pflicht)
- "Speichern"-Button
- "Aufgabe"-Button: Speichert die Notiz und oeffnet anschliessend das Aufgaben-Modal mit vorausgefuelltem Titel und Inhalt
Detail-Modal:
- Zeigt Titel, vollstaendigen Inhalt, Autor und Zeitstempel
- Aktionen: Bearbeiten, Aufgabe erstellen, Loeschen
Auto-Open: Ueber den URL-Parameter ?open=note kann das Notiz-Modal automatisch beim Laden der Seite geoeffnet werden.
Erstellungsmodus: Im Kontakt-Erstellungsmodus wird der Kontakt bei Bedarf automatisch gespeichert, bevor die Notiz angelegt wird.
3.3.13 Dateien (files)
Typ: Standalone-Box
Icon: dashicons-media-document
Template: templates/contacts/boxes/box-files.php
Zeigt dem Kontakt zugeordnete Dateien an und ermoeglicht Upload, Download und Loeschen.
Dateiquellen:
- Groundhogg-Dateien: Direkt dem Kontakt zugeordnete Dateien (
$contact->get_files()) - Formular-Editor-Dateien: Dateien aus Fluent Forms Submissions (wenn
fluentforms_copy_filesaktiviert ist), gekennzeichnet mit einem lila Badge "Formular-Editor"
Pro Datei:
- Dateiname
- Dateigroesse und Aenderungsdatum
- Aktionen: Oeffnen (neuer Tab), Herunterladen, Loeschen
Upload: Der Upload-Button ("+") ist nur fuer Administratoren oder Benutzer mit Datei-Loesch-Berechtigung sichtbar. Mehrfach-Upload wird unterstuetzt.
Berechtigungen: Das Loeschen von Dateien erfordert entweder Administrator-Rechte oder die explizite Berechtigung octo_user_can_delete_files().
3.3.14 E-Mails (emails)
Typ: Standalone-Box
Template: templates/contacts/boxes/box-emails.php
Zeigt die E-Mail-Historie des Kontakts an und ermoeglicht das Senden neuer E-Mails.
Uebersicht:
- Die letzten 5 E-Mails werden automatisch beim Laden angezeigt
- Pro E-Mail: Betreff, Sendedatum, Status-Badge (Gesendet / Fehler)
- Klick auf eine E-Mail oeffnet das Detail-Modal mit vollstaendigem Inhalt
Aktionsbuttons im Header:
- "Neu": Oeffnet das Compose-Modal zum Verfassen einer neuen E-Mail
- "Alle": Oeffnet ein Modal mit der vollstaendigen E-Mail-Liste (Tabelle mit Datum und Betreff)
Neue E-Mail (Compose-Modal):
- Betreff (Pflicht)
- Nachricht (Pflicht)
- "Dateien verlinken": Oeffnet ein separates Modal zum Verknuepfen globaler Dokumente
- Status-Anzeige waehrend des Sendens
- Verknuepfte Dokumente werden als Download-Links in der E-Mail mitgesendet
Dokument-Verlinkung:
- Globale Ordner werden in einer zwei-spaltigen Ansicht angezeigt (Ordner links, Dokumente rechts)
- Dokumente koennen einzeln ausgewaehlt und der E-Mail hinzugefuegt werden
Loeschen: Einzelne E-Mails koennen ueber den Muelleimer-Button geloescht werden (mit Bestaetigung).
3.3.15 Aufgaben (tasks)
Typ: Standalone-Box
Icon: dashicons-yes-alt
Template: templates/contacts/boxes/box-tasks.php
Verwaltet Aufgaben, die dem Kontakt zugeordnet sind. Unterstuetzt Erstellung, Bearbeitung, Zuweisung an mehrere Personen oder Gruppen, Erinnerungen und Dokument-Verlinkung.
Listendarstellung:
- Offene Aufgaben (max. 20), sortiert nach Faelligkeit
- Pro Aufgabe: Checkbox zum Abschliessen, Titel, Detail-Snippet (max. 3 Zeilen), Kontaktname, Faelligkeitsdatum, zugewiesene Personen
- Bearbeiten- und Loeschen-Buttons
- Button "Erledigte anzeigen" (Toggle): Laedt auch abgeschlossene Aufgaben per AJAX
Neue Aufgabe (Modal):
| Feld | Beschreibung |
|---|---|
| Aufgabentitel | Pflichtfeld |
| Faellig am | Datepicker mit Zeitauswahl (Flatpickr, deutsches Format dd.mm.yyyy HH:MM, 5-Minuten-Schritte) |
| Zugewiesen an | Mehrfachauswahl aller sichtbaren CRM-Benutzer (Strg/Cmd fuer Mehrfachauswahl) |
| Gruppe | Optional, alternativ zu Einzelzuweisung; alle Gruppenmitglieder werden benachrichtigt |
| Details | Freitextfeld mit der Moeglichkeit, globale Dokumente zu verlinken |
| Erinnerungen | Browser-Benachrichtigung und/oder E-Mail-Erinnerung zum Faelligkeitszeitpunkt |
Dokument-Verlinkung (in Aufgaben):
- Separates Modal mit Ordner-/Dokumenten-Browser
- Suchfunktion ueber alle globalen Dokumente
- Verlinkte Dokumente werden unter dem Detail-Feld angezeigt (Ansehen / Download)
Auto-Open: Ueber den URL-Parameter ?open=task wird das Aufgaben-Modal automatisch geoeffnet. Ueber den URL-Hash #task-{ID} wird eine bestimmte Aufgabe hervorgehoben und deren Bearbeitungs-Modal geoeffnet.
Abschliessen: Checkbox anhaken schliesst die Aufgabe per AJAX ab. Die Aufgabe verschwindet aus der offenen Liste.
3.3.16 Benachrichtigungen (notifications)
Typ: Overlay-Box (nicht im Layout-Grid, sondern global auf der Seite)
Icon: dashicons-bell
Template: templates/contacts/boxes/box-notifications.php
Zeigt faellige Aufgaben-Erinnerungen als Banner oberhalb des Seiteninhalts an.
Funktionsweise:
- Die Box ist standardmaessig ausgeblendet und wird nur eingeblendet, wenn aktive Erinnerungen vorhanden sind
- Erinnerungen werden sofort beim Seitenaufruf und dann alle 2 Minuten per AJAX abgefragt
- Fuer jede faellige Erinnerung wird zusaetzlich eine Browser-Notification ausgeloest (erfordert einmalige Berechtigung)
Pro Erinnerung:
- Aufgaben-Titel
- Kontaktname (als klickbarer Link, oeffnet Kontakt in neuem Tab)
- Zeitangabe ("Gerade eben", "5 Minuten her", "2 Stunden her")
- Schliessen-Button zum Verwerfen der Erinnerung
Hovercard: Beim Ueberfahren des Kontaktnamens mit der Maus erscheint eine Hovercard mit Schnellinfos (Name, Telefon, Mobil, E-Mail, Adresse) und Aktionsbuttons (Anzeigen, Notiz, Aufgabe).
Klick-Verhalten: Klick auf die Erinnerung oeffnet die zugehoerige Aufgabe -- auf derselben Kontaktseite direkt per Hash-Navigation, bei einem anderen Kontakt als neuer Tab.
3.3.17 Journal (journal)
Typ: Standalone-Box
Icon: dashicons-backup
Template: templates/contacts/boxes/box-journal.php
Zeigt eine chronologische Timeline aller Aktivitaeten zum Kontakt an.
Aktivitaetstypen:
| Typ | Farbe | Beschreibung |
|---|---|---|
contact_created | Gruen | Kontakt wurde erstellt |
field_change | Blau | Feldaenderung (alter/neuer Wert) |
owner_change | Violett | Verantwortlicher geaendert |
email_sent | Cyan | E-Mail gesendet |
task_created | Orange | Aufgabe erstellt |
task_completed | Gruen | Aufgabe abgeschlossen |
tag_added | Pink | Tag hinzugefuegt |
tag_removed | Rot | Tag entfernt |
note_added | Indigo | Notiz hinzugefuegt |
Filterfunktion:
- Filterbar nach Aktivitaetstyp (Dropdown)
- Filterbar nach Zeitraum (Von/Bis-Datumsfelder)
- "Anwenden" und "Zuruecksetzen" Buttons
Export: Die Journal-Daten koennen als CSV exportiert werden (Download-Button im Header).
Darstellung: Timeline-Layout mit farbigen Punkten links, Titel, Beschreibung, Aenderungswerte (alter Wert in Rot, neuer Wert in Gruen) und Zeitstempel. Die Timeline hat eine maximale Hoehe von 450px mit Scrollbar und einen "Weitere laden"-Button fuer Pagination.
3.3.18 Datenschutz (gdpr_stats)
Typ: Standalone-Box
Icon: dashicons-privacy
Template: templates/contacts/boxes/box-gdpr_stats.php
Zeigt DSGVO-relevante Informationen und Einwilligungsdaten des Kontakts an.
Angezeigte Daten:
| Feld | Beschreibung |
|---|---|
| Abonniert seit | Datum der Kontakterstellung |
| AGB Bestaetigung | Datum der AGB-Zustimmung oder "Nicht bestaetigt" |
| Datenschutz-Einwilligung | Datum der DSGVO-Consent oder "Nicht erteilt" |
| Marketing-Einwilligung | Datum der Marketing-Consent oder "Nicht erteilt" |
| Anmeldeseite | URL der Seite, ueber die sich der Kontakt angemeldet hat (falls vorhanden) |
| Lead-Quelle | Herkunft des Leads (falls vorhanden) |
| Kontakt-Verantwortlicher | Name des zugewiesenen Owners |
Diese Box ist rein informativ und kann nicht bearbeitet werden. Im Erstellungsmodus wird der Hinweis "Wird beim Speichern automatisch gesetzt." angezeigt.
3.3.19 Custom Fields (cf_group_{ID})
Typ: Standalone-Box (dynamisch)
Icon: dashicons-admin-settings
Template: templates/contacts/boxes/box-custom_fields.php
Zeigt benutzerdefinierte Feldgruppen aus dem Groundhogg Properties-System an. Fuer jede Feldgruppe wird eine eigene Box generiert (cf_group_kontakt, cf_group_vertrieb, etc.).
Funktionsweise:
- Feldgruppen werden aus Groundhogg Properties geladen
- Felder innerhalb einer Gruppe werden sortiert: Status, Statuslevel, Quelle zuerst, dann alphabetisch
- Legacy-Felder (status, quelle, ansprechpartner, source, assigned) werden automatisch ausgeblendet
- Das
statuslevel-Feld wird nur angezeigt, wenn es in der SalesStats-Konfiguration aktiviert ist
Feldtypen und Darstellung:
| Feldtyp | Ansichtsmodus | Bearbeitungsmodus |
|---|---|---|
| Text | Reiner Text | Eingabefeld |
| Dropdown | Text oder Dropdown (je nach Feld und Berechtigung) | Dropdown |
| Textarea | Text | Mehrzeiliges Eingabefeld |
| Nummer | Text | Nummernfeld |
| Datum | Text | Datumsfeld |
Berechtigungssteuerung fuer spezielle Felder:
| Feld | Berechtigung | Verhalten ohne Berechtigung |
|---|---|---|
status_octo | octo_user_can_edit_status_field() | Nur als Text sichtbar, nicht als Dropdown |
quelle_octo | octo_user_can_edit_source_field() | Nur als Text sichtbar, Dropdown nur im Erstellungs-/Bearbeitungsmodus |
statuslevel | octo_user_can_edit_status_field() | Nur als Text sichtbar |
Administratoren haben immer alle Berechtigungen, unabhaengig von den Checkbox-Einstellungen.
3.4 Layout-Builder (Datenansicht-Konfiguration)
Der Layout-Builder ermoeglicht die individuelle Anpassung der Detailansicht per Drag & Drop.
Zugriff: Ueber den Button "Datenansicht konfigurieren" in der Kontaktuebersicht.
Aufbau:
- Layout-Auswahl: Radio-Buttons fuer 6 vordefinierte Spalten-Layouts (siehe Tabelle in Abschnitt 3.2)
- Box-Pool: Verfuegbare Boxen, die noch keiner Spalte zugewiesen sind
- Spalten-Bereiche (Drop-Zones): Bereiche, in die Boxen per Drag & Drop gezogen werden
Verfuegbare Boxen im Layout-Builder:
| Box-ID | Label |
|---|---|
contact_info | Kontaktinformationen |
address_info | Adressinformationen |
company_info | Firmendaten |
notes | Notizen |
tasks | Aufgaben |
emails | E-Mails |
files | Dateien |
tags | Tags |
pipeline | Pipeline Deal |
owner | Kontakt-Verantwortlicher |
lead_scoring | Lead Scoring |
optin_status | Opt-in Status |
gdpr_stats | Datenschutz |
campaigns | Kampagnen |
journal | Journal |
ranking | Ranking |
cf_group_* | Custom Field Gruppen (dynamisch) |
Custom-Field-Gruppen werden dynamisch aus dem Backend geladen und dem Pool hinzugefuegt.
3.4.1 Mobile Toggle
Pro Box in einer Spalte kann ueber ein Smartphone-Icon die mobile Sichtbarkeit gesteuert werden:
- Aktiviert: Box wird auf Mobilgeraeten (Bildschirmbreite < 768px) angezeigt
- Deaktiviert: Box wird auf Mobilgeraeten ausgeblendet
Wenn keine Boxen fuer die mobile Ansicht aktiviert sind, erscheint auf Mobilgeraeten ein Hinweis-Banner.
3.4.2 Collapse Toggle
Pro Box kann der Standard-Einklappmodus gesteuert werden:
- Pfeil nach unten (Standard): Box wird beim Laden geoeffnet dargestellt
- Pfeil nach oben (umgeschaltet): Box wird beim Laden eingeklappt dargestellt (nur Header sichtbar, Inhalt versteckt)
3.4.3 Box entfernen
Ueber den "X"-Button kann eine Box aus der Spalte entfernt und zurueck in den Pool verschoben werden.
3.5 Inline-Bearbeitung
Der Inline-Bearbeitungsmodus ermoeglicht das direkte Bearbeiten von Kontaktdaten in der Detailansicht.
Aktivierung: Klick auf den "Bearbeiten"-Button im Header (nur sichtbar fuer Benutzer mit Schreibrechten: octo_user_can_write_contacts()).
Funktionsweise:
- Beim Aktivieren des Bearbeitungsmodus werden die Feld-Definitionen vom Backend geladen (
octo_get_contact_fields) - Textfelder werden zu Eingabefeldern konvertiert
- Dropdown-Felder werden zu Select-Elementen (unter Beruecksichtigung der Feldberechtigungen)
- Datumsfelder erhalten einen Datepicker
- Die Original-Werte werden gespeichert, damit Aenderungen rueckgaengig gemacht werden koennen
- Beim Speichern werden nur geaenderte Felder per AJAX an das Backend gesendet
Berechtigungspruefung im Frontend:
- Das JavaScript-Objekt
octoContacts.userPermissionsenthaelt die BerechtigungencanEditStatusundcanEditSource - Status-Felder werden nur zu Dropdowns konvertiert, wenn
canEditStatustrue ist - Quelle-Felder werden nur zu Dropdowns konvertiert, wenn
canEditSourcetrue ist
3.6 Erweiterbarkeit durch Plugins
Plugins koennen ueber den WordPress-Filter octo_register_contact_boxes eigene Boxen fuer die Kontakt-Detailansicht registrieren:
add_filter( 'octo_register_contact_boxes', function( $boxes ) {
$boxes['mein_plugin_box'] = array(
'label' => 'Mein Plugin',
'template' => '/absoluter/pfad/zum/template.php',
);
return $boxes;
} );
Die registrierten Boxen werden automatisch im Layout-Builder verfuegbar und koennen per Drag & Drop platziert werden. Das Template erhaelt $gh_contact (Groundhogg Contact Object) und $contact (Array mit Kontaktdaten) als Variablen.
4. Benutzerdokumentation / Anwendung
4.1 Layout anpassen
- Gehen Sie zur Kontaktuebersicht (
/octo/contacts) - Klicken Sie auf "Datenansicht konfigurieren"
- Waehlen Sie das gewuenschte Spalten-Layout (z.B. 2 Spalten gleich)
- Ziehen Sie Boxen aus dem Pool in die gewuenschten Spalten
- Passen Sie pro Box die Mobile-Sichtbarkeit an (Smartphone-Icon)
- Stellen Sie den Einklappmodus ein (Pfeil-Icon)
- Klicken Sie auf "Speichern"
Die Konfiguration wird pro Benutzer gespeichert. Jeder Benutzer sieht sein individuelles Layout.
4.2 Kontaktdaten bearbeiten
- Oeffnen Sie einen Kontakt ueber die Kontaktuebersicht
- Klicken Sie auf den "Bearbeiten"-Button (blaues Stift-Icon oben rechts)
- Felder werden zu Eingabefeldern -- aendern Sie die gewuenschten Werte
- Klicken Sie auf "Speichern" um die Aenderungen zu uebernehmen
- Oder klicken Sie auf "Abbrechen" um die Aenderungen zu verwerfen
Bestimmte Felder (Status, Quelle) koennen nur von berechtigten Benutzern bearbeitet werden.
4.3 Status aendern
Schnellstatus-Box: Waehlen Sie den neuen Status direkt aus dem Dropdown -- die Aenderung wird sofort gespeichert.
Custom-Fields-Box: Der Status kann auch ueber die Custom-Fields-Box geaendert werden, wenn das status_octo-Feld dort angezeigt wird.
4.4 E-Mail senden
- Klicken Sie in der E-Mails-Box auf "Neu"
- Geben Sie Betreff und Nachricht ein
- Optional: Klicken Sie auf "Dateien verlinken" um globale Dokumente anzuhaengen
- Klicken Sie auf "Senden"
- Die E-Mail erscheint anschliessend in der E-Mail-Liste
4.5 Notiz hinzufuegen
- Klicken Sie in der Notizen-Box auf das "+"-Symbol
- Geben Sie Titel und Notiz-Text ein
- Optional: Klicken Sie auf "Aufgabe" um aus der Notiz direkt eine Aufgabe zu erstellen
- Klicken Sie auf "Speichern"
4.6 Aufgabe erstellen
- Klicken Sie in der Aufgaben-Box auf das "+"-Symbol
- Geben Sie den Aufgabentitel ein
- Waehlen Sie das Faelligkeitsdatum ueber den Datepicker
- Weisen Sie die Aufgabe einer oder mehreren Personen oder einer Gruppe zu
- Optional: Fuegen Sie Details hinzu und verlinken Sie Dokumente
- Optional: Aktivieren Sie Erinnerungen (Browser-Benachrichtigung und/oder E-Mail)
- Klicken Sie auf "Aufgabe erstellen"
Aufgaben koennen ueber die Checkbox als erledigt markiert werden.
4.7 Pipeline-Deal anlegen
- Klicken Sie in der Pipeline-Box auf das "+"-Symbol
- Fuellen Sie die Deal-Informationen aus (Titel, Wert, Status, Wahrscheinlichkeit)
- Markieren Sie den Deal als primaer, wenn er den Kontaktstatus bestimmen soll
- Klicken Sie auf "Speichern"
5. Anwendungsbeispiele
5.1 Vorbereitung auf ein Vertriebs-Telefonat
Ein Vertriebsmitarbeiter oeffnet die Kontakt-Detailansicht vor einem geplanten Telefonat:
- Kontaktinformationen pruefen: Name, Telefonnummer direkt anklicken
- Ranking-Box ansehen: Score und beste Kontaktzeit beachten
- Letzte Notizen lesen: Worauf wurde beim letzten Gespraech hingewiesen?
- Pipeline-Deals pruefen: Welcher Deal steht aktuell an? Welchen Wert hat er?
- Journal durchsehen: Was ist seit dem letzten Kontakt passiert (Mails, Tag-Aenderungen)?
- Nach dem Telefonat: Notiz erstellen und ggf. Aufgabe fuer Nachfolgeaktion anlegen
5.2 Kundensupport-Anfrage bearbeiten
Ein Support-Mitarbeiter erhaelt eine Anfrage und oeffnet den Kontakt:
- Kontaktinformationen und Firmeninformationen fuer den Kontext pruefen
- E-Mail-Box: Bisherige Kommunikation durchsehen ("Alle" klicken fuer vollstaendige Historie)
- Opt-In Status pruefen: Darf dem Kontakt ueberhaupt geschrieben werden?
- E-Mail senden mit Loesung oder Rueckfrage, ggf. Dokumente verlinken
- Aufgabe erstellen fuer Follow-up mit Erinnerung in 2 Tagen
- Status bei Bedarf aendern (z.B. von "Lead" auf "Kunde")
5.3 Lead-Qualifizierung ueberpruefen
Ein Teamleiter ueberprueft die Qualitaet eingehender Leads:
- Lead Scoring pruefen: Wie hoch ist der automatisch berechnete Score?
- Ranking vergleichen: Ampelfarbe und Breakdown-Analyse ansehen
- Tags pruefen: Welche automatischen Kategorisierungen wurden gesetzt?
- Custom Fields ueberpruefen: Quelle, Kampagnenstatus und weitere Merkmale
- Flowsteuerung anpassen: Kampagnen-Toggles ein-/ausschalten
- Owner zuweisen: Den qualifizierten Lead einem Vertriebsmitarbeiter zuweisen
- Pipeline-Deal erstellen: Neuen Deal mit geschaetztem Wert und Wahrscheinlichkeit anlegen