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.', }, }, }; |