Hauptmenü

Ticketansicht des Agenten, Kontaktinformationen aus LDAP anzeigen

Begonnen von lrosenboom, 11.01.2019 10:07:42

⏪ vorheriges - nächstes ⏩

lrosenboom

Giten Tag,
ich möchte in der Ticketansicht des Agenten Kundendaten aus einem LDAP angzeigt bekommen.
Angezeigt wird mir aktuell unter Kontaktinformationen nur die E-Mail Adresse.Anmeldung an LDAP  war erfolgreich.config.pm $Self->{CustomerUser} = {        Name => 'openldap',
        Module => 'Kernel::System::CustomerUser::LDAP',
        Params => {
            # ldap host
            Host => 'xxx.xxx.xxx.xxx',
            # ldap base dn
            BaseDN => 'c=de',
            # search scope (one|sub)
            SSCOPE => 'sub',
            # The following is valid but would only be necessary if the
            # anonymous user does NOT have permission to read from the LDAP tree
            UserDN => 'cn=xxx,c=de',
            UserPw => 'XXXXXX',   
            SourceCharset => 'utf-8',
            DestCharset => 'iso-8859-1',
    Params => {
                port => 389,
                timeout => 120,
                async => 0,
                version => 3,
            },
        },   
        # customer uniq id
        CustomerKey => 'telephonenumber',
        # customer #
        CustomerID => 'telephonenumber',
        CustomerUserListFields => ['cn', 'mail'],
        CustomerUserSearchFields => ['telephonenumber', 'cn', 'mail'],
        CustomerUserSearchPrefix => '',
        CustomerUserSearchSuffix => '*',
        CustomerUserSearchListLimit => 250,
        CustomerUserPostMasterSearchFields => ['mail'],
        CustomerUserNameFields => ['givenname', 'sn'],
        # show now own tickets in customer panel, CompanyTickets
        CustomerUserExcludePrimaryCustomerID => 0,
        # add a ldap filter for valid users (expert setting)
        # CustomerUserValidFilter => '(!(description=gesperrt))',
        # admin can't change customer preferences
        AdminSetPreferences => 0,
Map => [
            # note: Login, Email and CustomerID needed!
            # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly
            #[ 'UserTitle',      'Title',      'title',           1, 0, 'var', '', 0 ],
            #[ 'UserSalutation', 'Title',      'title',          1, 1, 'var', '', 0 ],
            [ 'UserFirstname',  'Firstname',  'givenname',       1, 1, 'var', '', 0 ],
            [ 'UserLastname',   'Lastname',   'sn',              1, 1, 'var', '', 0 ],
            [ 'UserLogin',      'Username',   'telephonenumber', 1, 1, 'var', '', 0 ],
            [ 'UserEmail',      'Email',      'mail',            1, 1, 'var', '', 0 ],
            [ 'UserCustomerID', 'CustomerID', 'telephonenumber', 0, 1, 'var', '', 0 ],
            #[ 'UserCustomerIDs', 'CustomerIDs', 'second_customer_ids', 1, 0, 'var', '', 0 ],
            [ 'UserPhone',      'Phone',      'telephonenumber', 1, 1, 'var', '', 0 ],
            [ 'UserAddress',    'Raum',    'postaladdress',        1, 1, 'var', '', 0 ],
            [ 'UserGeb',    'Gebaeude',  'department',           1, 1, 'var', '', 0 ], 
            [ 'UserDep',    'Abteilung',  'company',             1, 1, 'var', '', 0 ],
            [ 'UserComment',    'Comment',    'description',     1, 0, 'var', '', 0 ],
        ],
    };
Ich finde keine weiteren Einstellungen um die Kontaktinformationen entsprechend zu erweitern.Kann mir jemand weiterhelfen?Viele GrüßeLars

alex88

Dazu kannst du das Mapping deinen Wünschen enstprechend erweiternt, ohne dafür noch z.B. die Datenbank anfassen zu müssen.
Die von die neu definierten Attribute stehen dann zur Laufzeit im System bereit und können angezeigt werden oder beispielsweise und in vordefinierten Antworten mit Variablen ausgegeben werden.

Map => [
            # note: Login, Email and CustomerID needed!
            # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly
            #[ 'UserTitle',      'Title',      'title',           1, 0, 'var', '', 0 ],
            #[ 'UserSalutation', 'Title',      'title',          1, 1, 'var', '', 0 ],
            [ 'UserFirstname',  'Firstname',  'givenname',       1, 1, 'var', '', 0 ],
            [ 'UserLastname',   'Lastname',   'sn',              1, 1, 'var', '', 0 ],
            [ 'UserLogin',      'Username',   'telephonenumber', 1, 1, 'var', '', 0 ],
            [ 'UserEmail',      'Email',      'mail',            1, 1, 'var', '', 0 ],
            [ 'UserCustomerID', 'CustomerID', 'telephonenumber', 0, 1, 'var', '', 0 ],
            #[ 'UserCustomerIDs', 'CustomerIDs', 'second_customer_ids', 1, 0, 'var', '', 0 ],
            [ 'UserPhone',      'Phone',      'telephonenumber', 1, 1, 'var', '', 0 ],
            [ 'UserAddress',    'Raum',    'postaladdress',        1, 1, 'var', '', 0 ],
            [ 'UserGeb',    'Gebaeude',  'department',           1, 1, 'var', '', 0 ], 
            [ 'UserDep',    'Abteilung',  'company',             1, 1, 'var', '', 0 ],
            [ 'UserComment',    'Comment',    'description',     1, 0, 'var', '', 0 ],
        ],
 
Wir haben diese Map z.B. wie folgt ergänzt:

[ 'UserSalutation',   'Salutation',   'salutation',         0, 0, 'var', '', 0 ],
[ 'UserBriefTitle',   'Briefanrede',   'brief_title',         0, 0, 'var', '', 0 ],
[ 'UserBriefName',   'Briefname',   'brief_name',         0, 0, 'var', '', 0 ],
[ 'UserBriefIhrZeichen',   'Zeichen',   'brief_ihrzeichen',         1, 0, 'var', '', 0 ],


Diese Daten werden dann (soweit entsprechend mit der Spalte "shown" konfiguriert, siehe dazu die Erklärung über der Map), im Tooltip der Kundendaten angezeigt. 
In der Spalte "storage" steht der Name das Feldes, das über LDAP bzw. über ODBC etc geliefert wird.

An unserem Besipiel (letzte Zeile) wie folgt:
UserBriefIhrZeichen = Variable in KIX
Zeichen = Beschriftung im Tooltip
brief_ihrzeichen = Name des Feldes in der Datenquelle

mfg 

Alex

lrosenboom

Vielen Dank für die Antwort.Mein Problem ist nicht die Ergänzung des Mapping, sondern dass bis auf die E-Mail Adresse nichts angezeigt wird.Ich bekomme die Inhalte des Map nicht angezeigt.Viele GrüßeLars

alex88

Das schaut für mich auf den ersten Blick aus, als wenn das Ticket keinem Kunden zugeordnet wird / ist, so schaut das auch bei uns im System auch aus.
Könntest du das Ticket bitte einmal manuell einem Kunden zuordnen bzw. hast du das schon getestet?

Sobald das Ticket einem Kunden zugeordnet ist sollten zumindest ein paar Felder angezeigt werden, auch wenn diese leer sind.

mfg
Alex

lrosenboom

#4
Dem Ticket wird tatsächlich kein Kunde zugeordnet.
Gebe ich im Ticket unter Person/Kunde im Felde Ansprechpartner eine Rufnummer ein, füllt sich auch die Kundennummer entsprechend. Dann bekomme ich auch in den Kontaktinformationen die erwarteten Daten.
Kennt jemand die Einstellung, um dem per Mail eingegangenen Ticket des Kunde, die gewünschten Kundendaten zuzuordnen.

Es geht nur um die Agentenansicht, die Kunden schreiben nur Mails und melden sich nicht am KIX an.
Die unter Kundenverwaltung/Ansprechpartnerverwaltung gelisteten Daten aus der Verbindung 'openldab'sollen auch für die Kundenverwaltung genutzt werden.



GrußLars

Danny Bochmann

Hallo Irosenboom,

scheinbar passt bei dir irgendwas im Mapping nicht.
Prüfe mal die Zeile:

       
  • [ 'UserLogin',      'Username',   'telephonenumber', 1, 1, 'var', '', 0 ],

Sinnvoll wäre es für den Userlogin die Mailadresse zu verwenden.
Auch kann das Logfile, die Tickethistory sowie die Mails im Plainformat sehr aufschlussreich bei solchen Verhalten sein.

VG
Danny

lrosenboom

Hallo Danny,

vielen Dank und sorry für meine späte Reaktion.Ich habe das Mapping verändert.Leider wird dadurch dem Agenten in den Kontaktinformationen des Ticket nicht angezeigt, welche Kundendaten (Ansprechpartner) hinter dem per E-Mail eingegangenen Ticket hinterlegt sind.Angezeigt wird lediglich die E-Mail Adresse. Ziel ist es aber die im Mapping gelisteten Felder anzuzeigen.
Viele GrüßeLars

Danny Bochmann

Hallo Lars,

im ersten Step solltest du versuchen das die automatische Kundenzuordnung funktioniert.
Dies scheint aktuell nicht der Fall zu sein.
Ich vermute an der Stelle einen Fehler in den CustomerUserSearchFields.
Bitte prüfe dahingehend deine Konfiguration.

Sobald das passt werden auch die restlichen Werte gefüllt sofern Sie zur Verfügung stehen.

Die angezeigten Werte in der Sidebar konfigurierst du auch nicht über das Mapping sondern über die SysConfig in dem Schlüssel "DefaultCustomerInfoString"

VG
Danny

lrosenboom

#8
Hallo Danny,
die automatische Kundenzuordnung bei eingehenden Mails funktioniert leider nicht.
[
Module => 'Kernel::System::CustomerUser::LDAP'
CustomerKey => 'telephonenumber',       
# customer #
        CustomerID => 'telephonenumber',
        CustomerUserListFields => ['cn', 'mail'],
        CustomerUserSearchFields => ['telephonenumber', 'cn', 'mail'],
]
Bei den Ansprechpartnern wird alles wie gewünscht angezeigt.
Viele Grüsse
Lars

alex88

Bei mir gibts in der Konfiguration noch folgende Zeile:
CustomerUserPostMasterSearchFields => ['email'],
Das schaut  nach der Kundenzuordnung anhand des Felds 'email' aus :)
mfg

Alex

lrosenboom

#10
CustomerUserPostMasterSearchFields => ['mail']
Habe ich aus der Config.pm des alten otrs 3.2 übernommen.Leider werden mir die gewünschten Kontaktinformationen (Vorname, Nachname, Benutzername, E-Mail, Telefon, Raum, Gebauede, Abteilung)bei eingehende Mails in der Ticketansicht des Agenten nicht angezeigt.
GrußLars

lrosenboom

Im Systemprotokoll  finde ich bei eingehenden Tickets per Mail:
No such company 'xxx@xxx.de'!

Unter der Kundenverwaltung/Ansprechpartner ist aber genau diese Adresse durch die Anbindung an das LDAP hinterlegt
Viele GrüßeLars

Danny Bochmann

Hallo Lars,

bitte vergleiche deine Konfiguration mit der Standardkonfiguration aus der Defaults.pm.
Vermutlich stimmt irgendwas nicht mit deinen Matchfeldern.

Ohne die komplette Konfiguration zu kennen ist es leider schwer eine richtige Aussage zu machen.

Die Fehlermeldung besagt das du keine Kundenfirma hast welche "xxx@xxx.de" heißt.

VG
Danny

lrosenboom

Hallo Danny,
in meinem ersten Eintrag habe ich die verwendete Config.pm geschrieben.Im alten OTRS 3.2 funktionioniert es auch.Im  meiner KIX-Installation werden die Daten aus der LDAP Anbindung auch unter den Ansprechpartnern gelistet.Muß ich möglicherweise nicht nur CostumerUser::LDAP konfigurieren sondern auch CostumerCompany::LDAP ?
Viele GrüßeLars


Danny Bochmann

Hallo Lars,

du musst sicherstellen, dass die Kundenfirma ebenfalls im Ticketsystem zur Verfügung steht.
Ob du diese händisch pflegst oder Importierst bleibt dir überlassen.

Die CustomerCompany lässt sich allerdings nicht über diesen Weg aus dem LDAP Synchronisieren.

VG
Danny