Weitere Kundendatenbank in OTRS einbinden

Bei Help Desk Software ist es oft sinnvoll auf mehrere Kundendatenbanken zuzugreifen. Dies ermöglicht einem z.B. die Kunden aus dem hauseigenen ERP-System zu verwenden, ohne dazu doppelte Datenhaltung zu betreiben oder komplizierte Replikation-Mechanismen zu verwenden. Die flexible Help Desk Software und IT-Service Management-Lösung OTRS bietet einem deshalb in der aktuellen Version 3.2 die Möglichkeit bis zu zehn weitere Kundendatenbanken anzuschließen.

Um eine weitere Kundendatenbank anzubinden braucht man in der Datei Kernel/Config.pm nur ein Objekt $Self->{CustomerUser2} anlegen und in diesem die nötigen Einstellungen für den Zugriff auf die weitere Datenbank vornehmen. Nähere Informationen dazu sind in der Dokumentation auf der Webseite http://doc.otrs.org zu finden. Im folgenden eine Beispielkonfiguration für eine Anbindung einer MySQL-Datenbank mit einem iso-8859-1 Zeichensatz. (Achtung! Bei Verwendung müssen hier natürlich mindestens Host, Datenbank, Tabelle, Benutzer und Passwort angepasst werden.)

# CustomerUser (customer database backend and settings)
$Self->{CustomerUser2} = {
    Name => 'Database Datasource Kunden2',
    Module => 'Kernel::System::CustomerUser::DB',
    Params => {
            DSN => 'DBI:mysql:database=customerdb;host=customerdbhost',
            User => 'dbbenutzer',
            Password => 'dbpasswort',
            Table => 'customer_user',
            SourceCharset => 'iso-8859-1',
            DestCharset => 'utf-8',
            CaseSensitive => 0,
        },
# customer unique id
CustomerKey => 'login',

# customer #
CustomerID => 'customer_id',
CustomerValid => 'valid_id',
    CustomerUserListFields => ['first_name', 'last_name', 'email'],
    CustomerUserSearchFields => ['login', 'last_name', 'customer_id'],
    CustomerUserSearchPrefix => '',
    CustomerUserSearchSuffix => '*',
    CustomerUserSearchListLimit => 250,
    CustomerUserPostMasterSearchFields => ['email'],
    CustomerUserNameFields => ['title','first_name','last_name'],
    CustomerUserEmailUniqCheck => 1,
#    # show not own tickets in customer panel, CompanyTickets
#    CustomerUserExcludePrimaryCustomerID => 0,
#    # generate auto logins
#    AutoLoginCreation => 0,
#    AutoLoginCreationPrefix => 'auto',
#    # admin can change customer preferences
#    AdminSetPreferences => 1,
#    # cache time to live in sec. - cache any database queries
#    CacheTTL => 0,
#    # just a read only source
#    ReadOnly => 1,
    Map => [
        # note: Login, Email and CustomerID needed!
        # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly, http-link-target
        [ 'UserTitle',      'Title',      'title',      1, 0, 'var', '', 0 ],
        [ 'UserFirstname',  'Firstname',  'first_name', 1, 1, 'var', '', 0 ],
        [ 'UserLastname',   'Lastname',   'last_name',  1, 1, 'var', '', 0 ],
        [ 'UserLogin',      'Username',   'login',      1, 1, 'var', '', 0 ],
        [ 'UserPassword',   'Password',   'pw',         0, 0, 'var', '', 0 ],
        [ 'UserEmail',      'Email',      'email',      1, 1, 'var', '', 0 ],

#        [ 'UserEmail',      'Email', 'email',           1, 1, 'var', '$Env{"CGIHandle"}?Action=AgentTicketCompose&ResponseID=1&TicketID=$Data{"TicketID"}&ArticleID=$Data{"ArticleID"}', 0 ],
        [ 'UserCustomerID', 'CustomerID', 'customer_id', 0, 1, 'var', '', 0 ],

#        [ 'UserCustomerIDs', 'CustomerIDs', 'customer_ids', 1, 0, 'var', '', 0 ],
        [ 'UserPhone',        'Phone',       'phone',        1, 0, 'var', '', 0 ],
        [ 'UserFax',          'Fax',         'fax',          1, 0, 'var', '', 0 ],
        [ 'UserMobile',       'Mobile',      'mobile',       1, 0, 'var', '', 0 ],
        [ 'UserStreet',       'Street',      'street',       1, 0, 'var', '', 0 ],
        [ 'UserZip',          'Zip',         'zip',          1, 0, 'var', '', 0 ],
        [ 'UserCity',         'City',        'city',         1, 0, 'var', '', 0 ],
        [ 'UserCountry',      'Country',     'country',      1, 0, 'var', '', 0 ],
        [ 'UserComment',      'Comment',     'comments',     1, 0, 'var', '', 0 ],
        [ 'ValidID',          'Valid',       'valid_id',     0, 1, 'int', '', 0 ],
    ],
    # default selections
    Selections => {
        UserTitle => {
            'Mr.' => 'Mr.',
            'Mrs.' => 'Mrs.',
        },
    },
};

Beitrag veröffentlicht

in

von

Schlagwörter:

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Consent Management Platform von Real Cookie Banner