Warning: Undefined variable $galink_author_id in /var/www/clients/client3/web8/web/wp-content/plugins/google-author-link/google-author-link.php on line 148

OTRS und Open3A verknüpfen

(Aktualisiert am 20.10.13 – Name zusammengefasst + Suchfunktion integriert!)

Die beiden kostenlosen Werkzeuge für Selbstständige und Freiberufler lassen sich einfach verknüpfen. OTRS greift dabei lesend auf die Kundendaten von open3A zu. Somit können die Kundendaten zentral in open3A verwaltet werden und stehen in OTRS zur Kundenauswahl zur Verfügung.

Links zu den beiden Softwareherstellern:
OTRS – Die flexible Help Desk Software und IT-Service Management-Lösung
open3A – Das Rechnungsprogramm mit Artikel- und Adressverwaltung (kostenloses Grundpaket)

Erstellen Sie als erstes in der open3A-Datenbank einen neuen View:

CREATE VIEW AdresseOtrs AS SELECT

t1.*,
t2.kundennummer AS kundennummer,
CONCAT(firma, ' ', vorname, ' ', nachname) AS name,
CONCAT(strasse, ' ', nr) AS strasseNr,
CONCAT('1') AS valid

FROM Adresse t1
LEFT JOIN Kappendix t2 on(t1.AdresseID = t2.AdresseID)

WHERE t1.AuftragID = -1 AND t1.type = "default"

Nun muss die Config.pm von OTRS angepasst werden. Diese sollte in „/opt/otrs/Kernel/“ oder in „/etc/otrs/Kernel/“ liegen. Unterhalb von „Start of your own config options!!!“ folgenden Code einfügen:

# CustomerUser (customer database backend and settings)
$Self->{CustomerUser} = {
    Name => 'open3a',
    Module => 'Kernel::System::CustomerUser::DB',
    Params => {
            DSN => 'DBI:mysql:database=<Datenbankname>;host=localhost',
            User => '<Datenbankbenutzer>',
            Password => '<Datenbankpasswort>',
            Table => 'AdresseOtrs',
            SourceCharset => 'utf-8',
            DestCharset => 'utf-8',
            CaseSensitive => 0,
        },
# customer unique id
CustomerKey => 'kundennummer',

# customer #
CustomerID => 'kundennummer',
CustomerValid => 'valid',
    CustomerUserListFields => ['name', 'email'],
    CustomerUserSearchFields => ['name', 'email', 'kundennummer'],
    CustomerUserSearchPrefix => '',
    CustomerUserSearchSuffix => '*',
    CustomerUserSearchListLimit => 250,
    CustomerUserPostMasterSearchFields => ['email'],
    CustomerUserNameFields => ['name'],
    CustomerUserEmailUniqCheck => 1,
    ReadOnly => 1,
    Map => [
        # note: Login, Email and CustomerID needed!
#        [ 'UserFirstname',  'Firstname',  'vorname', 1, 1, 'var', '', 0 ],
        [ 'UserLastname',   'Lastname',   'name',  1, 1, 'var', '', 0 ],
        [ 'UserLogin',      'Username',   'kundennummer',      1, 1, 'var', '', 0 ],
        [ 'UserEmail',      'Email',      'email',      1, 1, 'var', '', 0 ],
        [ 'UserCustomerID', 'CustomerID', 'kundennummer', 0, 1, 'var', '', 0 ],
        [ 'UserPhone',        'Phone',       'tel',        1, 0, 'var', '', 0 ],
        [ 'UserFax',          'Fax',         'fax',          1, 0, 'var', '', 0 ],
        [ 'UserMobile',       'Mobile',      'mobil',       1, 0, 'var', '', 0 ],
        [ 'UserStreet',       'Street',      'strasseNr',       1, 0, 'var', '', 0 ],
        [ 'UserZip',          'Zip',         'plz',          1, 0, 'var', '', 0 ],
        [ 'UserCity',         'City',        'ort',         1, 0, 'var', '', 0 ],
        [ 'UserCountry',      'Country',     'land',      1, 0, 'var', '', 0 ],
        [ 'ValidID',          'Valid',       'valid',     0, 1, 'int', '', 0 ],
    ],
};

Diese Daten müssen der open3A Installation entsprechend angepasst werden:

  • <Datenbankname>
  • <Datenbankbenutzer>
  • <Datenbankpasswort>