ich versuche vergeblich eine externe Datenbank als Kunden-Backend an das OTRS 3.X zu bekommen leider ohne Erfolg.
Die Doku habe ich gelesen und bin der Meinung dass da ne Menge Infos fehlen. Die Suche habe ich auch benutzt, leider komm ich einfach nicht drauf.
Darum bitte ich hier einfach mal um Hilfe:
Also ich habe eine MySQL Datenbank auf einem anderen Sytem laufen worin die Kundendaten stehen. Diese sollen sich dann anmelden können.
Ich habe dazu die Datei Config.pm innerhalb der Funktion Load angepasst.
Ansonsten habe ich keinerlei Infos wo man noch etwas anpassen müsste. Eigentlich wollte ich mehrere Backends anbinden also mit der Erweiterung um einen Counter beim Namen CustomerUser1, ...2 etc.
Kann es sein dass da noch weiter Ordner angelegt werden müssen???
So sieht das grad bei mir aus:
Code: Select all
sub Load {
my $Self = shift;
# ---------------------------------------------------- #
# ---------------------------------------------------- #
# #
# Start of your own config options!!! #
# #
# ---------------------------------------------------- #
# ---------------------------------------------------- #
# Zeigt Agenten & Kunden an welche gerade Online sind
$Self->{'CustomerFrontend::NotifyModule'}->{'1-ShowAgentOnline'} = {
Module => 'Kernel::Output::HTML::NotificationAgentOnline',
ShowEmail => 1,
IdleMinutes => 60,
};
# CustomerUser
# (customer user database backend and settings)
$Self->{CustomerUser} = {
Name => 'Database Backend',
Module => 'Kernel::System::CustomerUser::DB',
Params => {
# if you want to use an external database, add the
# required settings
# DSN => 'DBI:odbc:yourdsn',
DSN => 'DBI:mysql:database=meineDB;host=meineIP',
User => 'root',
Password => 'meinPW',
Table => 'meineTable',
# CaseSensitive will control if the SQL statements need LOWER()
# function calls to work case insensitively. Setting this to
# 1 will improve performance dramatically on large databases.
CaseSensitive => 0,
},
# customer uniq id
CustomerKey => 'login',
# customer #
CustomerID => 'customer_id',
CustomerValid => 'valid_id',
CustomerUserListFields => [ 'first_name', 'last_name', 'email' ],
# CustomerUserListFields => ['login', 'first_name', 'last_name', 'customer_id', 'email'],
CustomerUserSearchFields => [ 'login', 'first_name', 'last_name', 'customer_id' ],
CustomerUserSearchPrefix => '*',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 250,
CustomerUserPostMasterSearchFields => ['email'],
CustomerUserNameFields => [ 'title', 'first_name', 'last_name' ],
CustomerUserEmailUniqCheck => 1,
# # show now own tickets in customer panel, CompanyTickets
# CustomerUserExcludePrimaryCustomerID => 0,
# # generate auto logins
# AutoLoginCreation => 0,
# # generate auto login prefix
# AutoLoginCreationPrefix => 'auto',
# # admin can change customer preferences
# AdminSetPreferences => 1,
# # use customer company support (reference to company, See CustomerCompany settings)
# CustomerCompanySupport => 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', 'name', 1, 1, 'var', '', 0 ],
[ 'UserLastname', 'Lastname', 'usertype', 1, 1, 'var', '', 0 ],
[ 'UserLogin', 'Username', 'username', 1, 1, 'var', '', 0 ],
[ 'UserPassword', 'Password', 'password', 0, 0, 'var', '', 0 ],
[ 'UserEmail', 'Email', 'email', 1, 1, 'var', '', 0 ],
# [ 'UserEmail', 'Email', 'email', 1, 1, 'var', '$Ev{"CGIHandle"}?Action=AgentTicketCompose&ResponseID=1&TicketID=$Data{"TicketID"}&ArticleID=$Data{"ArticleID"}', 0 ],
[ 'UserCustomerID', 'CustomerID', '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.',
# },
},
};
# ---------------------------------------------------- #
# database settings #
# ---------------------------------------------------- #
# DatabaseHost
# (The database host.)
$Self->{'DatabaseHost'} = 'localhost';
# Database
# (The database name.)
$Self->{'Database'} = 'otrs';
# DatabaseUser
# (The database user.)
$Self->{'DatabaseUser'} = 'otrs';
# DatabasePw
# (The password of database user. You also can use bin/otrs.CryptPassword.pl
# for crypted passwords.)
$Self->{'DatabasePw'} = 'hot';
# DatabaseDSN
# (The database DSN for MySQL ==> more: "man DBD::mysql")
$Self->{DatabaseDSN} = "DBI:mysql:database=$Self->{Database};host=$Self->{DatabaseHost};";
# (The database DSN for PostgreSQL ==> more: "man DBD::Pg")
# if you want to use a local socket connection
# $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};";
# if you want to use a tcpip connection
# $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};host=$Self->{DatabaseHost};";
# ---------------------------------------------------- #
# fs root directory
# ---------------------------------------------------- #
$Self->{Home} = 'C:/PROGRA~1/OTRS/OTRS';
# ---------------------------------------------------- #
# insert your own config settings "here" #
# config settings taken from Kernel/Config/Defaults.pm #
# ---------------------------------------------------- #
# $Self->{SessionUseCookie} = 0;
# $Self->{CheckMXRecord} = 0;
# ---------------------------------------------------- #
# ---------------------------------------------------- #
# data inserted by installer #
# ---------------------------------------------------- #
$Self->{LogModule} = 'Kernel::System::Log::File';
$Self->{LogModule::LogFile} = 'C:/PROGRA~1/OTRS/OTRS/var/log/otrs.log';
# $DIBI$
$Self->{'DefaultCharset'} = 'utf-8';
# ---------------------------------------------------- #
# ---------------------------------------------------- #
# #
# End of your own config options!!! #
# #
# ---------------------------------------------------- #
# ---------------------------------------------------- #
}
Und bringt diesen Fehler zu Tage:
Software error:
Can't locate object method "EventHandlerTransaction" via package "Kernel::System::Ticket" at C:/PROGRA~1/OTRS/OTRS//Kernel/System/Ticket.pm line 8331.
For help, please send mail to the webmaster (webmaster@somenet.com), giving this error message and the time and date of the error.
In der Datei steht an der Stelle folgendes:
sub DESTROY {
my $Self = shift;
# execute all transaction events
$Self->EventHandlerTransaction(); <--- Zeile 8331
return 1;
}
Zudem sehe ich im Logfile folgendes:
[Mon Mar 28 11:20:05 2011][Notice][Kernel::System::PID::PIDCreate] Can't create PID PostMasterMailbox, because it's already running (myRechner@myDomain/3248)!
Hoffe mir kann da jemand helfen.