Hauptmenü

Weitere Tabellenspalte zur Auswahl im Home Dashboard

Begonnen von kerstin, 31.01.2024 10:49:50

⏪ vorheriges - nächstes ⏩

kerstin

Hallo,

Ich würde unseren Agenten gerne die Möglichkeit geben in beliebigen Tabellen im Home Dashboard auch den Wert "ChangeBy" anzuzeigen. Wo und wie kann ich das konfigurieren?

Vielen Dank und beste Grüße,
Kerstin

Beatrice Müller

Hallo Kerstin,

die Spalte kann über die GUI Konfiguration (Admin -> KIX -> System) hinzugefügt werden.
Z.B. kann im Schlüssel 'home-dashboard-ticket-table-new' folgender Code eingefügt werden:
    {
      "id": null,
      "name": null,
      "type": null,
      "property": "ChangeBy",
      "showText": true,
      "showIcon": false,
      "showColumnTitle": true,
      "showColumnIcon": true,
      "size": 155,
      "sortable": true,
      "filterable": true,
      "hasListFilter": false,
      "dataType": "STRING",
      "resizable": true,
      "componentId": null,
      "defaultText": null,
      "translatable": true,
      "titleTranslatable": true,
      "useObjectServiceForFilter": false,
      "valid": true,
      "application": "agent-portal"
    },

Danach 'Lade Frontend-Konfiguration' und 'Console::Command::Maint::Cache::Delete'.

Sollten das relevante Widget bereits durch die Agenten personalisiert worden sein, könnte es notwendig sein, dieses noch einmal zu entfernen (Dashboard anpassen) und wieder hinzu zu fügen.

Viele Grüße
Beatrice

kerstin

Hallo Beatrice,

Danke für die Antwort. 
Meine Frage bezog sich allerdings nicht darauf, wie ich die Spalte einem der vordefinierten widgets hinzufügen kann, sondern wie ich den Agenten selbst die Möglichkeit geben kann, diese Spalte irgendeiner (auch mittels Search Template selbstdefinierten) Tabelle hinzuzufügen. Also analog z.B. zu neuen dynamischen Feldern, die direkt nach Erstellung in der Auswahl der anzuzeigenden Spalten zu sehen sind.

Ist das möglich?

Vielen Dank und schöne Grüße,
Kerstin

Beatrice Müller

Die Liste der anzuzeigenden Spalten lässt sich nicht konfigurieren.
Durch Anpassung der Spalten über die GUI Konfiguration wird diese im entsprechenden Widget aktiviert und kann ggf. durch den Agenten wieder deaktiviert werden.
Eine andere Möglichkeit gibt es derzeit nicht.

kerstin

Hallo Beatrice,

Das ist schade, da unser eines Agenten Team diese Information dringend in den Tabellen benötigt. Unsere Idee für ein workaround wäre, den Wert von "changeBy" zusätzlich noch in ein dynamisches Feld zu schreiben, da dynamische Felder ja automatisch zu der Liste der anzeigbaren Spalten hinzugefügt werden. Welches Event würde sich denn am bestem als Auslöser für einen Job zum automatischen Befüllen und Aktualisieren dieses Feldes eignen? Oder anders gefragt, welche Events triggern eine Änderung des Wertes von "ChangeBy"?

Danke und Gruß,
Kerstin

Beatrice Müller

Hallo Kerstin,

mit einem Job wird die Anforderung nicht funktionieren. Da diese immer mit der UserID 1 ausgeführt werden, kann hier nicht mit dem Platzhalter <KIX_CURRENT_UserID> gearbeitet werden.
Bzgl. der Spaltenkonfiguration der Suchergebnis-Tabellen wird die Möglichkeit mit v32 gegeben sein.

Viele Grüße
Beatrice

kerstin

Hallo Beatrice,

Vielen Dank für Deine Antwort. Dass das in v32 machbar ist, sind ja schonmal gut Aussichten :-)

Bezüglich unseres workarounds habe ich  - da es dem Agenten Team wohl in erster Linie darum geht zu sehen, wer als letztes auf das Ticket geantwortet hat - einfach "Articel send" als Trigger gewählt und versucht in den Actions zunächst zu überprüfen, ob <KIX_LAST_To> die Email des Kontakts enthält (<KIX_CONTACT_Email>) und in dem Fall das dynamische Feld (Type = ContactReference) auf <KIX_LAST_CreateBy> zu setzen.

Dabei gibt es allerdings zwei Probleme
1) Das Macro Conditional scheint kein "contains" oder "like" zu kennen. Wenn ich allerdings "eq" nutze funktioniert das nicht mehr, sobald der Article an mehrere Mails geht
2) Der Platzhalter <KIX_LAST_CreateBy>  scheint nicht gesetzt zu sein. Im Log kommt folgende Fehlermeldung
Error][KIXPro::Kernel::System::DynamicField::Driver::ContactReference::ValueSet][243] The value for the field Contact is invalid!
No Contact (-) found in configured backend(s).

Kannst Du mir da irgendwie weiterhelfen?

Vielen Dank und schöne Grüße,
Kerstin

kerstin

Kleiner Update, für alle, die es interessieren mag:

Was Punkt 2 angeht, hat sich wohl einfach in der Doku ein kleiner Fehlerteufel eingeschlichen. Der Platzhalter funktioniert, wenn man <KIX_LAST_CreatedBy> benutzt, wohingegen <KIX_TICKET_ChangedBy> (aus der Doku) nicht funktioniert, aber <KIX_TICKET_ChangeBy> funktioniert. Beide Platzhalter helfen mir an der Stelle aber leider nicht weiter, da hier die NutzerIDs und nicht die KontaktIDs referenziert werden und man in Dynamischen Feldern wiederum nur KontaktReferenzen, aber nicht NutzerReferenzen nutzen kann.

Falls noch irgendjemand einen Tipp für mich hat, wie man das anders umsetzen kann, würde ich mich freuen :-)

Frank Niethardt

Hallo Kerstin,

wenn ihr KIX Connect lizenziert habt, könntet ihr an das Ticket und dessen History als Object kommen, mit dem Macro "Objektdaten abrufen". Dann kann man sich einfach den letzten Eintrag nehmen, der nicht der admin ist und diesen in das Dynamische Feld schreiben. Diesen Job dann bei allen Events triggern, die interessant sind.

Viele Grüße
Frank

kerstin

Hallo Frank,

KIX Connect haben wir leider nicht lizensiert. Aber danke für den Tipp.

Gruß,
Kerstin

Beatrice Müller

Hallo Kerstin,

ich habe noch einmal gemeinsam mit unserer Entwicklung über deinen Job und den Vergleich der Platzhalter getüftelt.
Dabei sind wir zu folgender Lösung gekommen:
Job.png

(index('<KIX_ARTICLE_To>', '<KIX_CONTACT_Email>') != -1)
Zu deinem nächsten Thema (Kontakt-Referenz auf Agenten einschränken):
Theoretisch kannst du das direkt in der Feldkonfiguration lösen:
Kontext.png
Aktuell funktioniert das aber noch nicht wie gewünscht. Da ist unsere Entwicklung bereits dran.

Den Hinweis mit dem Platzhalter habe ich an unser Doku-Team weiter gegeben.

Viele Grüße
Beatrice

kerstin

Hallo Beatrice,

Danke für die Antwort. Dass man die index Funktion in der Bedingung nutzen kann, ist natürlcih sehr cool. Damit habe ich nicht gerechnet :-)

Was die Einschränkung der KontaktReferenz auf Agenten angeht, habe ich diese Einstellung bereits vorgenommen, verstehe aber nicht richtig, wie sie das Problem lösen soll, dass die Platzhalter NutzerIDs und nicht KontaktIDs zurückgeben. Beide IDs ergeben in unterschiedlichem Kontext ja Sinn, sind aber eben nicht identisch. Und, so wie ich das bisher verstanden habe, erwartet die KontaktReferenz eine KontaktID - unabhängig davon ob der entsprechende Kontakt Agent oder Kunde ist - und interpretiert sie entsprechend. Mein dynamisches Feld zeigt ja auch durchaus auch einen Nutzer an, aber eben nicht den Richtigen. 
Oder habe ich das falsch verstanden?

Danke und Gruß,
Kerstin

Beatrice Müller

Hallo Kerstin,

mit dem Platzhalter '<KIX_LAST_CreatedBy>' wird die ID des Nutzers, der den Artikel erstellte, verwendet.
Diese ID setzen wir in das dynamische Feld vom Typ Kontaktreferenz.
Wenn die Referenz über den Kunden- und Agentenstamm geht, dann kann diese ID sowohl als Kontakt als auch als Agent enthalten sein.
Der erste Treffer gewinnt und somit steht nicht der Agent sondern der Kontakt im Feld.
Daher war meine Idee, die Konfiguration auf Agenten einzuschränken.

Viele Grüße
Beatrice