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>
The following two tabs change content below.
Als Fachinformatiker mit Schwerpunkt Systemintegration beschäftige ich mich auch in einem Teil meiner Freizeit mit berufsbedingten Themen und Technologien, liebe allerdings sehr den Ausgleich an der frischen Luft! Aus diesem Grunde möchte ich auch diesen Blog hier nicht einseitig technisch gestalten, sondern versuchen, etwas frischen Wind hineinzubringen, indem ich hin und wieder über Interessantes berichte, das mir im Alltag über den Weg läuft.

Schreibe einen Kommentar

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