Hauptmenü

Agenten als Customer

Begonnen von ostaehr, 10.03.2017 08:11:31

⏪ vorheriges - nächstes ⏩

ostaehr

Hallo,
folgender Aufbau bisher: Agenten kommen aus dem AD, Customer (und CustomerCompany) werden in die interne DB importiert.
Ich würde nun gerne externe und interne Tickets verarbeiten, dazu sollte es möglich sein, dass ein Agent auch als Customer eingetragen werden kann. Lässt sich das realisieren, indem ich als zusätzliches Customer Backend das AD hinzufüge? Oder gibt es einen eleganteren Weg?
VG Olli

Katja Hüsig

Hallo Olli,

Agentennutzer können auch Kundennutzer sein.
In der <KIX-Home>/Kernel/Config/Defaults.pm findest du den Beispielabschnitt für eine Anbindung externer Daten (ob Kunden oder Agenten ist demnach gleich) in das System.
CustomerUser
(customer user ldap backend and settings)


Diesen Abschnitt musst du in deine Config.pm kopieren und entsprechend konfigurieren.

Es ist auch möglich bis zu 10 Kunden-Backends zu nutzen. Dabei kann sowohl eine DB als auch mehrere LDAP-Backends konfiguriert werden.
Der Abschnitt muss dann mit einer Ziffer starten:

$Self->{CustomerUser1} = {
    Name => 'Customer Database',
    Module => 'Kernel::System::CustomerUser::DB',
...
};

$Self->{CustomerUser2} = {
    Name => 'LDAP Datasource',
    Module => 'Kernel::System::CustomerUser::LDAP',
...
};



VG,
Katja Hüsig

ostaehr

Hallo,

ja, das funktioniert prima, danke.
Wie kann ich denn diese "internen Kunden" einer (immer der gleichen) CustomerCompany zuweisen? Im Beispiel ist unter dem Mapping dafür nichts drin. Außerdem verfügen die so importierten Benutzer nur über ein Subset der Datenfelder, die in der internen DB verfügbar sind (z.B. Kundennummer).

LG Olli

Katja Hüsig

Hallo Olli,

freut mich, dass die Informationen weiterhelfen konnten.

Bzgl. der Customer Company sollte eigentlich folgendes Mapping das richtige sein:
# var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly
[ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var', '', 0 ],

VG,
Katja Hüsig

ostaehr

Hi,
okay, das scheint zu passen. Aber wie kann ich denn die CustomerID dort statisch auf 1 setzen, statt auf das AD-Attribut 'mail'? Ich finde im Netz nur Hinweise darauf, dass es nur über ein extra AD-Attribut gehen würde, was ich arg umständlich finde.
Schöne Grüße,
Olli

Katja Hüsig

Hallo Olli,

es ist möglich in der Zeile das 'mail' zu ändern:
[ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var', '', 0 ],

Statt 'mail' kannst du z.B. folgendes schreiben:
'0'           -> Feld bleibt leer
'1'           -> Feldinhalt: 1
'1234'      -> Feldinhalt: 1234
'"Agent"'  -> Feldinhalt: Agent

VG,
Katja Hüsig

ostaehr

Hallo,
inzwischen habe ich die LDAP User als Kunden mit angebunden.
Wenn ich nun ein neues Ticket erstelle, und einen internen User auswähle, wird dieser in der Sidebar unter "Kontaktinformationen" sauber angezeigt.
Beim Übermitteln des ausgefüllten Tickets kommt aber ein Fehler und der Kunde wird nicht akzeptiert.
In einem bestehenden Ticket kann ich den gleichen Kunden über Personen/Kunde aber einwandfrei eintragen.
Siehe auch Screenshots.


Woran mag das nun liegen?
VG Olli

ostaehr

Der Fehler ist mit ganz frischen Installationen reproduzierbar, sowohl unter Kix, als auch OTRS.
Siehe auch [size=78%]http://forums.otterhub.org/viewtopic.php?f=35&t=36430[/size]




ostaehr

Habe es gefunden, folgende Zeilen sind verantwortlich - wobei ich es nicht nachvollziehen kann. Das Backend sollte die ID benutzen, und nicht irgendwelche Displaynamen, wie es das scheinbar tut. Wenn ich den User oben im Autosearch ausgewählt habe, wird er scheinbar beim Abschicken des Tickets erneut gesucht anhand des CustomerUserListFields und dann in meinem Fall nicht gefunden.[/size]


alt: CustomerUserListFields => ['givenname', 'sn'],
neu: CustomerUserListFields => ['cn', 'mail'],


alt: CustomerUserSearchFields => ['mail', 'sAMAccountName', 'givenname', 'sn'],
neu: CustomerUserSearchFields => ['cn', 'mail', 'sAMAccountName', 'givenname', 'sn'],