OTRS 6: 2x Userbackends (LDAP und MSSQL)

Allgemein Fragen, deutsche News, Ankündigungen & Events zum OTRS
Post Reply
schmidtkropp
Znuny newbie
Posts: 7
Joined: 13 Nov 2019, 15:04
Znuny Version: 6.0.23
Real Name: René

OTRS 6: 2x Userbackends (LDAP und MSSQL)

Post by schmidtkropp »

Moin zusammen,

ich möchte gerne an unser OTRS System zwei Userbackends anbinden. Zum einen die Internen Nutzer aus dem LDAP (das Funktioniert auch seit langen sehr gut und zuverlässig) und nun noch Nutzer aus dem CRM.

Dazu sieht die Conig.pm wie folgt aus:

Code: Select all

$Self->{CustomerUser2} = {
                Name => 'MSSQL',
                Module => 'Kernel::System::CustomerUser::DB',
                Params => {
                        DSN => 'DBI:ODBC:driver=ODBC Driver 17 for SQL Server;server=SQLSERVER;database=CRM-schnittstellen;uid=otrscrm;pwd=********;',
                        User => 'otrscrm',
                        Password => '********',
                        Type => 'mssql',
                        Table => 'dbo.adresse',
                },
                CustomerKey => 'id',
                CustomerID => 'id',
                CustomerValid => 'id',
                CustomerUserListFields => ['Firma', 'Vorname', 'Nachname', 'EMail'],
                CustomerUserSearchFields => ['Firma', 'Vorname', 'Nachname', 'EMail'],
                CustomerUserSearchPrefix => '',
                CustomerUserSearchSuffix => '*',
                CustomerUserSearchListLimit => 250,
                CustomerUserPostMasterSearchFields => ['EMail'],
                CustomerUserNameFields => ['Vorname', 'Nachname'],
                #CustomerUserExcludePrimaryCustomerID => 2,
                Map => [
                        [ 'UserFirstname',  'Firstname',  'Vorname',       1, 1, 'var', '', 0 ],
                        [ 'UserLastname',   'Lastname',   'Nachname',              1, 1, 'var', '', 0 ],
                        [ 'UserLogin',      'Username',   'EMail',             1, 1, 'var', '', 0 ],
                        [ 'UserEmail',      'Email',      'EMail',            1, 1, 'var', '', 0 ],
                        [ 'UserCustomerID', 'CustomerID', 'Firma',            0, 1, 'var', '', 0 ],
                        [ 'UserPhone',      'Phone',      'phonebusiness', 1, 0, 'var', '', 0 ],
                        [ 'UserFax',            'Fax',        'faxbusiness', 1, 0, 'var', '', 0 ],
                        [ 'UserMobile',     'Mobile',     'phonemobile',       1, 0, 'var', '', 0 ],
                        [ 'UserZip',        'Zip',        'PLZ',          1, 0, 'var', '', 0 ],
                        [ 'UserCity',       'City',       'Ort',         1, 0, 'var', '', 0 ],
                        [ 'UserAddress',    'Address',    'Strasse',   1, 0, 'var', '', 0 ],
                        [ 'UserComment',    'Comment',    'Abteilung',     1, 0, 'var', '', 0 ],
                ],
        };
Anfangs hatte ich ziemliche Problem bei der Einbindung der ODBC Verbindung. Inzwischen sieht das aber gut aus und das Log gibt keine Fehler.
Verwunderlich fand ich, das ich die Spalten [create_by] ,[change_by] ,[change_time] ,[create_time] zwingend in der Datenbank braucht (entsprechende Fehler standen im Log des Apache).
Nach dem ich die Spalten in der Tabelle angelegt habe, war die Meldung weg.

Ich gehe davon aus, das die Anbindung Funktioniert, da ich wenn ich in der Webgui bin unter Admin > Kundenbenutzer schaue, werden mir dort sowohl meine LDAP als auch die Daten aus der MSSQL Datenbank angezeigt.

Mein Problem: wenn ich jetzt ein Ticket für einen Benutzer aus dem CRM anlegen möchte, kann ich nicht nach den Benutzern suchen. Bei der Suche wird nur auf die Daten aus dem LDAP zurückgegriffen.
Das Problem überall da auf, wo ich sonst im System nach Personen oder Adressen über die Vorauswahl suche (Anlegen eines neue Tickets, ausgehende Mail etc.)

(Einen Kunden mit der KD Nr. 2 habe ich manuell im System angelegt)

Habe ich irgendetwas vergessen?

Vielen Dank im voraus.

p.s.
Hier noch einmal ein Paar Infos:
Im CRM haben wir ca 13.000 Datensätze die wir ins OTRS überführen wollen.
wurzel
Znuny guru
Posts: 3230
Joined: 08 Jul 2010, 22:25
Znuny Version: x.x.x
Real Name: Florian

Re: OTRS 6: 2x Userbackends (LDAP und MSSQL)

Post by wurzel »

Hi,

es könnte vielleicht nur daran liegen:

Code: Select all

                CustomerUserSearchPrefix => '',
mach da mal 'n * rein

also

Code: Select all

                CustomerUserSearchPrefix => '*',
Flo
OTRS 8 SILVER (Prod)
OTRS 8 auf Debian 11 (Test)
Znuny 7.x latest version testing auf Debian 11

-- Ich beantworte keine Forums-Fragen PN - No PN please

I won't answer to unfriendly users any more. A greeting and regards are just polite.
root
Administrator
Posts: 3960
Joined: 18 Dec 2007, 12:23
Znuny Version: Znuny and Znuny LTS
Real Name: Roy Kaldung
Company: Znuny
Contact:

Re: OTRS 6: 2x Userbackends (LDAP und MSSQL)

Post by root »

schmidtkropp wrote: 26 Jul 2020, 20:21 Verwunderlich fand ich, das ich die Spalten [create_by] ,[change_by] ,[change_time] ,[create_time] zwingend in der Datenbank braucht (entsprechende Fehler standen im Log des Apache).
Nach dem ich die Spalten in der Tabelle angelegt habe, war die Meldung weg.
Hi,

die Spalteen anlegen ist nicht nötig, es gibt eine Option um das zu umgehen: https://github.com/OTRS/otrs/blob/rel-6 ... s.pm#L1463

Und was die Suche angeht: ich denke Wurzel hat da Recht, ansonsten würde auch etwas im Log stehen.

- Roy
Znuny and Znuny LTS running on CentOS / RHEL / Debian / SLES / MySQL / PostgreSQL / Oracle / OpenLDAP / Active Directory / SSO

Use a test system - always.

Do you need professional services? Check out https://www.znuny.com/

Do you want to contribute or want to know where it goes ?
schmidtkropp
Znuny newbie
Posts: 7
Joined: 13 Nov 2019, 15:04
Znuny Version: 6.0.23
Real Name: René

Re: OTRS 6: 2x Userbackends (LDAP und MSSQL)

Post by schmidtkropp »

Moin Moin,

vielen Dank für die Tipps.

Bezüglich des Werts: "ForeignDB => 0"
Diesen habe ich eingetragen und auch die Spalten gelöscht. Sieht in diesem Fall jetzt gut aus.

Bezüglich des anderen Problems:
Dort habe ich die Zeile:

Code: Select all

CustomerUserSearchSuffix => '*',
in

Code: Select all

CustomerUserSearchSuffix => '',
geändert.
Leider hat das das Problem auch nicht behoben. Bei der Suche werden mir immer noch nur die LDAP Kontakte ausgegeben.
Kann es irgendwie sein, das man die Kunden irgendwie noch mit den Agenten bzw. Gruppen Verknüpfen muss?
Oder kann es etwas damit zu tun haben, dass nicht bei allen Einträgen in der Datenbank alle Felder befüllt sind? So haben wir natürlich Firmen ohne Ansprechpartner über Firmen mit Ansprechpartnern bis hin zu Privatpersonen im Systemen und dort fehlt natürlich manchmal z.B. das Feld Name. Dafür ist das Feld Firma gefüllt.
wurzel
Znuny guru
Posts: 3230
Joined: 08 Jul 2010, 22:25
Znuny Version: x.x.x
Real Name: Florian

Re: OTRS 6: 2x Userbackends (LDAP und MSSQL)

Post by wurzel »

Hi,

Du solltest den * hinzufügen, nicht entfernen. :lol:
Damit sparst Du Dir das Wildcard bei der Suche.

Alternativ kannst Du im Fronfeld auch *Vorname* eingeben also mit den Sternchen umrahmt.
der SearchPrefix + Suffix hängt - sofern er in der Config angegeben ist - automatisch dran. Dann kannste Dir die Eingabe mit dem Sternchen sparen.

Kunden und Agenten muss man nicht verknüpfen. Die sind unabhängig. Wenn Sie in Admin > Kundenbenutzer auftauchen ist alles korrekt.


Damit sie auftauchen - sowohl im Admin > Kundenbenutzer als auch in der Suche muss meines Wissens
Vorname, Nachname, E-Mailadress und Username gefüllt sein. Das scheint bei Dir ja so zu sein. 8)

viele Grüße
Flo
OTRS 8 SILVER (Prod)
OTRS 8 auf Debian 11 (Test)
Znuny 7.x latest version testing auf Debian 11

-- Ich beantworte keine Forums-Fragen PN - No PN please

I won't answer to unfriendly users any more. A greeting and regards are just polite.
schmidtkropp
Znuny newbie
Posts: 7
Joined: 13 Nov 2019, 15:04
Znuny Version: 6.0.23
Real Name: René

Re: OTRS 6: 2x Userbackends (LDAP und MSSQL)

Post by schmidtkropp »

Entschuldigung :shock: ....
Wer lesen kann wäre klar im Vorteil.

Jetzt sehen die Zeilen so aus

Code: Select all

CustomerUserSearchPrefix => '*',
CustomerUserSearchSuffix => '*',
Leider immer noch ohne Erfolg...
Wenn ich im Admin Berech z.B. nach meinem Nachname suche finde ich sowohl meinen privaten Kontakt (damit stehe ich auch im CRM) als auch meinen LDAP Account.
Leider kann ich wenn ich über eine ausgehende Mail oder beim erstellen eines neuen Tickets suche finde ich dagegen leider nur meinen LDAP Account.
root
Administrator
Posts: 3960
Joined: 18 Dec 2007, 12:23
Znuny Version: Znuny and Znuny LTS
Real Name: Roy Kaldung
Company: Znuny
Contact:

Re: OTRS 6: 2x Userbackends (LDAP und MSSQL)

Post by root »

Hi,

warum hast Du denn hier die Spalte id angegeben?

Code: Select all

CustomerKey => 'id',
CustomerID => 'id',
CustomerValid => 'id',
CustomerKey sollte ein EINDEUTIGER Schlüssel für den Kundenbenutzer sein und am besten mit Spalte UserLogin aus dem Mapping übereinstimmen,
CustomerID ist der Identifier der Firma, auch hier verwendest Du im Mapping ein anderes Feld (Firma)
CustomerValid muss 1 enthalten wenn Du denm Eintrag aktiv auswählen möchtest, wie z.B. bei einem Telefonticket. Gültihe Wert für die Spalte auf die CustomerValid konfiguriert wir sind 1,2 oder 3 und nicht irgendwas.

- Roy
Znuny and Znuny LTS running on CentOS / RHEL / Debian / SLES / MySQL / PostgreSQL / Oracle / OpenLDAP / Active Directory / SSO

Use a test system - always.

Do you need professional services? Check out https://www.znuny.com/

Do you want to contribute or want to know where it goes ?
schmidtkropp
Znuny newbie
Posts: 7
Joined: 13 Nov 2019, 15:04
Znuny Version: 6.0.23
Real Name: René

Re: OTRS 6: 2x Userbackends (LDAP und MSSQL)

Post by schmidtkropp »

Moin,

vielen Dank.
Da war der Fehler!

Code: Select all

CustomerValid => 'id',
Diese drei Zeilen sehen jetzt wie folgt aus:

Code: Select all

CustomerKey => 'ObjId',
CustomerID => 'Firma',
#CustomerValid => 'id',
Jetzt findet er die Daten!

Besten Dank dafür!
Post Reply