VTiger als externe Datenbank anbinden?

Hilfe zu Znuny Problemen aller Art
Locked
GeorgH
Znuny newbie
Posts: 6
Joined: 23 Jan 2011, 14:29
Znuny Version: 2.3.3

VTiger als externe Datenbank anbinden?

Post by GeorgH »

Hallo,

es wäre super wenn sich jemand melden könnte. Leider gab es schon einige Antworten im Forum, aber keine passte bei mir. Ich würde gerne mit folgendem Eintrag in der Config.pm meine VTiger-Kundentabelle in OTRS einbinden:

Code: Select all

# CustomerUser
    # (customer user database backend and settings)
    $Self->{CustomerUser} = {
        Name => 'VTigerCRM',
        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=vtigercrm510;host=localhost',
            User => 'vtigerUser',
            Password => 'MyPassword',
            Table => 'vtiger_contactdetails',
        },
    # customer uniq id
        CustomerKey => 'contactid',
    # customer #
        CustomerID => 'contact_no',
      # CustomerValid => 'valid_id',
        CustomerUserListFields => ['firstname', 'lastname', 'email'],
    #        CustomerUserListFields => ['login', 'first_name', 'last_name', 'customer_id', 'email'],
        CustomerUserSearchFields => ['email', 'firstname', 'lastname'],
        CustomerUserSearchPrefix => '',
        CustomerUserSearchSuffix => '*',
        CustomerUserSearchListLimit => 250,
        CustomerUserPostMasterSearchFields => ['email'],
        CustomerUserNameFields => ['salutation', 'firstname', 'lastname'],
        CustomerUserEmailUniqCheck => 0,
    #        # show now own tickets in customer panel, CompanyTickets
    #        CustomerUserExcludePrimaryCustomerID => 0,
             #generate auto logins
       AutoLoginCreation => 1,
    #        # generate auto login prefix
    #        AutoLoginCreationPrefix => 'auto',
    #        # admin can change customer preferences
       AdminSetPreferences => 1,
    #        # 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
            [ 'UserSalutation', 'Salutation', 'salutation',  1, 0, 'var', '', 0 ],
            [ 'UserFirstname',  'Firstname',  'firstname',  1, 1, 'var', '', 0 ],
            [ 'UserLastname',   'Lastname',   'lastname',   1, 1, 'var', '', 0 ],
            [ 'UserLogin',      'Username',   'email',       1, 1, 'var', '', 0 ],
            [ 'UserPassword',   'Password',   'department',          0, 0, 'var', '', 0 ],
            [ 'UserEmail',      'Email',      'email',       0, 1, 'var', '', 0 ],
            [ 'UserEmail',      'Email', 'email',           1, 1, 'var', '$Env{"CGIHandle"}?Action=AgentTicketCompose&ResponseID=1&TicketID=$Data{"TicketID"}&ArticleID=$Data{"ArticleID"}', 0 ],
            [ 'UserCustomerID', 'CustomerID', 'contactid', 0, 1, 'var', '', 0 ],
    #            [ 'UserCustomerIDs', 'CustomerIDs', 'customer_ids', 1, 0, 'var', '', 0 ],
            [ 'UserPhone',     'Phone',   'phone',    1, 0, 'var', '', 0 ],
            [ 'UserMobile',         'Mobile',     'mobile',    0, 1, 'var', '', 0 ],
        ],
    # default selections
        Selections => {
    #            UserSalutation => {
    #                'Mr.' => 'Mr.',
    #                'Mrs.' => 'Mrs.',
    #            },
        },
    };
Leider kann ich im Admin-Bereich jedoch die VTiger-Datenbank nicht erreichen?

Vielen Dank.
GeorgH
------------------------------------------------------------------------------------
OS: Gentoo
DB: MySQL Version 14.14 Distrib 5.1.49
Perl: Version 5.12.2
OTRS: Version 2.3.3 Portage Gentoo
jojo
Znuny guru
Posts: 15020
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: VTiger als externe Datenbank anbinden?

Post by jojo »

Meine Glaskugel ist kaputt...

Bitte gib mal eine bessere Fehlerbeschreibung, schau in die Logfiles etc
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
GeorgH
Znuny newbie
Posts: 6
Joined: 23 Jan 2011, 14:29
Znuny Version: 2.3.3

Re: VTiger als externe Datenbank anbinden?

Post by GeorgH »

Hallo,

leider steht diesbezüglich nichts in den Apache-Logs. Der Admin-Bereich wird angezeigt, aber unter [ Kunden-Benutzer Verwaltung ] und [Kunden-Benutzer hinzufügen] wird als Quelle nur die Database Backend angezeigt.

Wo kann ich noch nachschauen ?

Danke GeorgH
------------------------------------------------------------------------------------
OS: Gentoo
DB: MySQL Version 14.14 Distrib 5.1.49
Perl: Version 5.12.2
OTRS: Version 2.3.3 Portage Gentoo
jojo
Znuny guru
Posts: 15020
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: VTiger als externe Datenbank anbinden?

Post by jojo »

schon mal apache restartet und rebuild config ausgeführt?
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
GeorgH
Znuny newbie
Posts: 6
Joined: 23 Jan 2011, 14:29
Znuny Version: 2.3.3

Re: VTiger als externe Datenbank anbinden?

Post by GeorgH »

Hallo,

nach einem rebuild config und einem Apache neustart wird in der [ Kunden-Benutzer Verwaltung ] jetzt die Datenbank VTigerCRM angezeigt und die Liste auch mit den Kunden befüllt.

Die Kunden scheinen jedoch nicht aktiv [gültig/ungültig] hat ein -.

Die Kunden können sich auch nicht anmelden im Frontend.

Wie kann ich die Kunden aktiv schalten?

Danke

GeorgH
------------------------------------------------------------------------------------
OS: Gentoo
DB: MySQL Version 14.14 Distrib 5.1.49
Perl: Version 5.12.2
OTRS: Version 2.3.3 Portage Gentoo
jojo
Znuny guru
Posts: 15020
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: VTiger als externe Datenbank anbinden?

Post by jojo »

Du brauchst auch noch einne CustomerAuth Block in der Config.pm um den Kunden ein Login zu erlauben
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
GeorgH
Znuny newbie
Posts: 6
Joined: 23 Jan 2011, 14:29
Znuny Version: 2.3.3

Re: VTiger als externe Datenbank anbinden?

Post by GeorgH »

Hallo und erstmal danke für die Antworten,

nach dem einfügen von folgenden Zeilen in die Config.pm

Code: Select all

Map => [
            # note: Login, Email and CustomerID needed!
            # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly
            [ 'UserSalutation', 'Salutation','salutation',  1, 0, 'var', '', 0 ],
            [ 'UserFirstname',  'Firstname', 'firstname',   1, 1, 'var', '', 0 ],
            [ 'UserLastname',   'Lastname',  'lastname',    1, 1, 'var', '', 0 ],
            [ 'UserLogin',      'Username',  'email',       1, 1, 'var', '', 0 ],
            [ 'UserPassword',   'Password',  'department',  0, 0, 'var', '', 0 ],
            [ 'UserEmail',      'Email',     'email',       1, 1, 'var', '', 0 ],
            [ 'UserCustomerID', 'CustomerID','contactid',   1, 1, 'var', '', 0 ],
            [ 'UserPhone',      'Phone',     'phone',       1, 0, 'var', '', 0 ],
            [ 'ValidID',        'Valid',     'notify_owner',0, 1, 'int', '', 0 ],
              ],
            
    };

# This is the auth. module againt the VTiger Database
$Self->{'Customer::AuthModule::DB::CryptType'} = 'plain';
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::DB';
$Self->{'Customer::AuthModule::DB::Table'} = 'vtiger_contactdetails';
$Self->{'Customer::AuthModule::DB::CustomerKey'} = 'email';
$Self->{'Customer::AuthModule::DB::CustomerPassword'} = 'department';
$Self->{'Customer::AuthModule::DB::DSN'} = "DBI:mysql:database=vtigerdb;host=localhost";
$Self->{'Customer::AuthModule::DB::User'} = "vtigeruser";
$Self->{'Customer::AuthModule::DB::Password'} = "mypassword";
$Self->{'Customer::AuthModule::DB::CustomerID'} = 'contactid';
steht bei [gültig/ungültig] nun gültig.

KundenBenutzer können allerdings noch nicht editiert werden oder sich mit ihrer Mailadresse im Frontend anmelden.

Vielleicht noch eine Idee?

Danke
GeorgH
------------------------------------------------------------------------------------
OS: Gentoo
DB: MySQL Version 14.14 Distrib 5.1.49
Perl: Version 5.12.2
OTRS: Version 2.3.3 Portage Gentoo
jojo
Znuny guru
Posts: 15020
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: VTiger als externe Datenbank anbinden?

Post by jojo »

Was für Fehlermeldungen stehen in den Logfiles?

Höchstwahrscheinlich darfst Du nichts in die vtiger Datenbank schreiben
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
GeorgH
Znuny newbie
Posts: 6
Joined: 23 Jan 2011, 14:29
Znuny Version: 2.3.3

Re: VTiger als externe Datenbank anbinden?

Post by GeorgH »

Hallo,

mit obrigen Einträgen kann ich jetzt auf Personendaten aus VTiger zugreifen. Ich muß sie nicht doppelt eintragen und kann sie direkt auswählen bei Telefon- oder Mailtickets.

Leider hab ich es bisher noch nicht geschafft, daß sich die Kunden auch im Kundenbereich einloggen können.

Auch neue Kunden anlegen im OTRS-Backend geht nicht es kommt folgende Fehlermeldung:

: Unknown column 'create_time' in 'field list', SQL: 'INSERT INTO vtiger_contactdetails ( salutation, firstname, lastname, email, email, contactid, phone, notify_owner, create_time, create_by, change_time, change_by) VALUES ( '', 'Karina', 'Klug', 'kunde@web.de', 'kunde@web.de', '99991', '', 1, current_timestamp, 4, current_timestamp, 4)'

Kann ich den SQL-Code ändern oder soll ich die VTiger-Tabelle anpassen?

Vielen Dank!

Gruss
GeorgH
------------------------------------------------------------------------------------
OS: Gentoo
DB: MySQL Version 14.14 Distrib 5.1.49
Perl: Version 5.12.2
OTRS: Version 2.3.3 Portage Gentoo
GeorgH
Znuny newbie
Posts: 6
Joined: 23 Jan 2011, 14:29
Znuny Version: 2.3.3

Re: VTiger als externe Datenbank anbinden?

Post by GeorgH »

Hallo,

ich hab die VTiger-Datenbank etwas angepasst und nun geht es.

Danke für den Support.

GeorgH
------------------------------------------------------------------------------------
OS: Gentoo
DB: MySQL Version 14.14 Distrib 5.1.49
Perl: Version 5.12.2
OTRS: Version 2.3.3 Portage Gentoo
fritzt
Znuny newbie
Posts: 3
Joined: 26 Mar 2012, 11:48
Znuny Version: 3.0.11
Real Name: Thomas

Re: VTiger als externe Datenbank anbinden?

Post by fritzt »

Hallo,
ich habe auch vtiger im Einsatz und möchte die OTRS Kunden über die vitiger DB laufen lassen. Dauzu habe ich folgende Probleme:
1. Die Kunden werden angezeigt, aber wenn ich Kunden´im OTRS bearbeiten möchte sind alle Einträge in der Maske leer. In der Übersicht iat jedoch alles vorhanden.
2. Die Authentifizierung am Kundenportal funktioniert nicht. Ich bekomme die Meldung: [Error][Kernel::System::CustomerUser::SetPreferences][493] No such user...

Was mir jetzt auch noch aufgefallen ist: Wenn ich ein neues Ticket erstelle und ich einen Kunden auswähle, werden keine Kundeninformationen angezeigt undauch nicht un die 1. Zeile (von Kundenkontakt) übernommen. Ich kann somit kein neues Ticket eröffnen. :(

Mein Config.pm File siehe hier:

Code: Select all

    # CustomerUser
    # (customer user database backend and settings)
    $Self->{CustomerUser1} = {
        Name   => 'CRM',
        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=vtigercrm;host=localhost',
            User => 'otrs',
            Password => 'password',
            Table => 'vtiger_contactdetails',
            # 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 => 'contactid',

        # customer #
        CustomerID             => 'contactid',
        CustomerValid          => 'otrsvalidid',
        CustomerUserListFields => [ 'firstname', 'lastname', 'email' ],

        CustomerUserListFields => ['firstname', 'lastname', 'contactid', 'email'],
        CustomerUserSearchFields           => [ 'firstname', 'lastname' ],
        CustomerUserSearchPrefix           => '*',
        CustomerUserSearchSuffix           => '*',
        CustomerUserSearchListLimit        => 250,
        CustomerUserPostMasterSearchFields => ['email'],
        CustomerUserNameFields     => [ 'salutation', 'firstname', 'lastname' ],
        CustomerUserEmailUniqCheck => 0,

#        # 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',      'salutation',      1, 0, 'var', '', 0 ],
            [ 'UserFirstname',  'Firstname',  'firstname', 1, 1, 'var', '', 0 ],
            [ 'UserLastname',   'Lastname',   'lastname',  1, 1, 'var', '', 0 ],
            [ 'UserLogin',      'Username',   'email',      1, 1, 'var', '', 0 ],
            [ 'UserPassword',   'Password',   'otrspw',         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', 'contactid', 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',       'otrsvalidid',     0, 1, 'int', '', 0 ],
        ],

        # default selections
        Selections => {

#            UserTitle => {
#                'Mr.' => 'Mr.',
#                'Mrs.' => 'Mrs.',
#            },
        },
    };
	# This is the auth. module againt the VTiger Database
$Self->{'Customer::AuthModule::DB::CryptType'} = 'plain';
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::DB';
$Self->{'Customer::AuthModule::DB::Table'} = 'vtiger_contactdetails';
$Self->{'Customer::AuthModule::DB::CustomerKey'} = 'email';
$Self->{'Customer::AuthModule::DB::CustomerPassword'} = 'otrspw';
$Self->{'Customer::AuthModule::DB::DSN'} = "DBI:mysql:database=vtigercrm;host=localhost";
$Self->{'Customer::AuthModule::DB::User'} = "otrs";
$Self->{'Customer::AuthModule::DB::Password'} = "password";
$Self->{'Customer::AuthModule::DB::CustomerID'} = 'contactid';

Ich bitte euch mir zu helfen!
Locked