1.2 Kontakte importieren

In den allermeisten Fällen werden Sie vor der Arbeit mit tine bereits einen E-Mail-Client oder andere Programme genutzt haben, die auch ein Adressbuch verwalten. Natürlich sollen diese Kontakte weiter zur Verfügung stehen – und das möglichst ohne Nacharbeit. Vielleicht haben Sie auch ein Smartphone voll mit Kontaktdaten, die Sie zukünftig ebenfalls über tine verwalten möchten. Sollten Sie Administrator sein, wissen Sie, dass die Akzeptanz der Einführung eines neuen IT-Systems mit der Datenübernahme aus Altsystemen steht und fällt. Solche Übernahmen laufen jedoch fast nie automatisch ab, denn dazu sind EDV-Systeme im Detail einfach zu verschieden. Das bedeutet – und hier sind Sorgfalt und Geduld gefordert – dass sich jede Minute, die Sie an dieser Stelle mehr investieren, später vielfach bezahlt machen wird!

tine bietet zwar eine ganze Reihe von Standard-Schnittstellen (MS Outlook 2007, Google-Adressbuch, VCard, CSV im Outlook- oder macOS-Format) – jedoch funktionieren diese Schnittstellen nur dann quasi „automatisch“, wenn das Ausgangsprogramm exakt die Datenstruktur verwendet, die den tine-Programmierern zum Zeitpunkt der Erstellung der Schnittstelle bekannt war.

Da sich solche Strukturen erfahrungsgemäß schneller ändern als einem lieb ist, empfiehlt sich zunächst ein genauer Blick auf diese Datenstruktur und folglich die Anpassung Ihrer Quelldaten an eben diese Struktur von tine. Wenn Sie die Grundlagen eines Tabellenkalkulationsprogramms, wie MS Excel oder Open-/LibreOffice Calc, beherrschen, stellt das für Sie keine große Hürde dar.

Lesen Sie zunächst die Quelldatei aus Ihrem Altsystem aus. Benutzen Sie dazu (das wird normalerweise immer angeboten) eine CSV-Schnittstelle.[2] So entsteht eine Tabelle als Textdatei, deren Spalten durch „Sonderzeichen“ getrennt sind. Holen Sie sich dann die Beispieldatei für Ihr Quellsystem aus tine. Klicken Sie dazu in der Ansicht Adressbuch (Reiter tineAdressbuch) den Button Kontakte importieren.

Adressbuch/1_adressbuch_importfenster.png

Abbildung 1.1: Adressbuch mit Importfenster


Sie erhalten das Fenster Datei und Format wählen. Dort gehen Sie im unteren Bereich auf das Pulldown-Menü CSV-Import für Kontakte und suchen sich das für Ihre Ausgangsdaten geeignetste Format heraus. Im Zweifelsfall belassen Sie es auf der Ausgangsstellung CSV-Import für Kontakte. Klicken Sie nun auf den Link Beispieldatei herunterladen und speichern Sie die Beispieldatei irgendwo, wo Sie sie leicht wiederfinden. Schließen Sie das Fenster wieder durch Klick auf Abbrechen (unten rechts). Schauen Sie sich die heruntergeladene Datei (das ist auch eine CSV-Datei) dann in einem Tabellenkalkulationsprogramm (MS Excel, Open-/LibreOffice Calc o.ä.) an und vergleichen Sie jede Spalte mit Ihrer Quelldatei! Die Spalten müssen in der Bezeichnung, nicht jedoch in der Reihenfolge übereinstimmen, da tine die Datenfelder in der Regel anhand der Spaltenbezeichnung zuordnet. Passen Sie entsprechend die Namen der Felder (Spalten) in Ihrer Quelldatei an.

Da wir uns gerade beim Zuordnen von Datenfeldern befinden: Bei der Datenübernahme aus einem anderen System sollten Sie sich vor Augen führen, wie dieses einen „Kontakt“ definiert – im Unterschied zu „Firma“, „Organisation“ usw.

Klassische CRM-Systeme (SalesForce, SugarCRM etc.) geben häufig fest in der Datenbank definierte Strukturen vor, d.h. es gibt die Möglichkeit, ein Unternehmen (mit Adresse, Telefonnummern usw.) anzulegen und als damit verknüpfte Untereinträge die eigentlichen Kontakte, also Personen innerhalb dieses Unternehmens, wiederum mit ergänzenden Kontaktdaten. Auch in unternehmensspezifisch angepassten Lotus-Notes-Installationen findet man häufig diese Konstellation.

Andere E-Mail-Programme, wie z.B. MS Outlook, Evolution, Thunderbird usw., bieten diese Unterscheidung nicht. Dort gibt es nur den Kontaktdatensatz, mit einem Feld für die Firma, aber auch mit Feldern für Name, Vorname usw. Evolution und Thunderbird bieten beispielsweise die Untergliederung in verschiedene Adressbücher, und MS Outlook kann Kontaktdatensätze hierarchisch, wie in einem Dateisystem, anordnen. Damit könnte man theoretisch Unternehmensstrukturen abbilden; das lässt sich aber nur händisch umsetzen und wird in der Praxis eher selten genutzt.

Auch tine verzichtet auf die Unterscheidung von „Kontakt“ und „Firma“ – es gibt nur Kontakte. Allerdings hat jeder Kontaktdatensatz ein Datenfeld Firma. Und da tine (wir kommen weiter unten noch dazu) über sehr detaillierte Filter-Einstellungen und Verkettungsfunktionen verfügt, ist die Gruppierung und Bearbeitung mehrerer Kontakte über einen Filter „gleiche Firma“ oder über gesetzte Verkettungen unproblematisch.

Wenn Sie jetzt bei Ihrer Quelldatei darauf achten, dass die Einträge bei „Firma“ (je nach Quellsystem auch „Organisation“, „org_unit“ o.ä. genannt) bei mehreren Kontakten einer Firma wirklich identisch sind, vereinfacht das später das gemeinsame Verwalten dieser Kontakte.

Eine andere Möglichkeit wäre das Taggen, also das Markieren mit einem speziellen Kürzel (Tag): Sollte es Ihnen jetzt nicht möglich sein, die Firmen-Identität der Kontaktdatensätze herzustellen (oder die Bezeichnungen von Organisationseinheiten sollen verschieden sein, obwohl es sich um dasselbe Unternehmen handelt), dann können Sie auch darauf verzichten. Später werden wir auf die Tags als Technik der Gruppierung zu sprechen kommen, die die Feldinhalte unverändert lässt.

Hier noch zwei technische Hinweise zum reibungslosen Importieren von Kontakten über CSV-Dateien:

Zeichensätze können verschieden sein!
Beim Einlesen von CSV-Dateien in z.B. MS Excel oder Open-/LibreOffice Calc werden Sie nach dem zu wählenden Zeichensatz gefragt. Der häufig passendste (achten Sie auf ß und Umlaute!) ist Unicode UTF-8. Probieren Sie lieber etwas herum – Sie sparen sich später viel Nacharbeit, wenn Ihre Umlaute in tine korrekt angezeigt werden.
CSV-Dateien sind nicht standardisiert!

Die Trennung der Datenfelder kann vom Quellsystem anstatt über Kommata auch durch andere Zeichen oder Tabulatoren erzeugt worden sein. tine trennt aber nur mittels Kommata. Achten Sie darum bei Ihrer Quelldatei darauf, dass die einzelnen Felder tatsächlich mit Kommata getrennt und die Feldinhalte jeweils von doppelten Anführungszeichen eingeschlossen werden. Also:

"Spalte 1 - Inhalt 1" , "Spalte 2 - Inhalt 1"
"Spalte 1 - Inhalt 2" , "Spalte 2 - Inhalt 2"
...

Die Anführungszeichen um die Feldinhalte sorgen v.a. dafür, dass z.B. Kommata innerhalb der Felder als Inhalt und nicht als Feldtrenner interpretiert werden.

Aber wie verändern Sie nun die Beschaffenheit einer CSV-Datei, wenn sie nicht korrekt erzeugt wurde? MS Excel ist an dieser Stelle beispielsweise wenig hilfreich: Es bietet Ihnen keine Möglichkeit, das Aussehen Ihrer CSV-Datei vor dem Speichern unter zu beeinflussen – besser ist hier die Verwendung von OnlyOffice oder LibreOffice Calc. Bei Speichern unter bieten diese freien Tabellenkalkulationsprogramme die Auswahlmöglichkeit Text CSV, und Sie bekommen dann einen Checkbutton Filtereinstellungen bearbeiten angeboten. Wenn Sie diesen anklicken, erhalten Sie vor dem Abspeichern Ihrer CSV-Datei einen Dialog Textexport, auf dem Sie Zeichensatz, Feldtrenner und Texttrenner einstellen.

Wählen Sie als Zeichensatz Unicode (UTF-8), als Feldtrenner das Komma (,) und als Texttrenner die doppelten Anführungszeichen ("). So gerüstet, sollten unangenehme Überraschungen beim Einlesen der Daten ausbleiben.

Überlegen Sie sich anschließend, welches tine-Adressbuch für Ihre zu importierenden Kontakte in Frage kommt. Öffnen Sie die Adressbuch-Ansicht und sehen Sie links unter dem Ordner AdressbücherAlle Adressbücher folgende Unterordner:

Handelt es sich um Kontakte, die allen Mitarbeitern zugänglich sein sollen, benutzen Sie ein gemeinsames Adressbuch. Stimmen Sie sich hierzu mit dem Administrator Ihrer tine-Installation ab! Keinesfalls sollten Sie, ohne Nachfrage oder eigene Planung, „mal eben“ ein Adressbuch anlegen! tine bietet mehrere elegantere Möglichkeiten, Adressen logisch zu separieren und zu gruppieren. Nur wenn Sie tatsächlich private Adressen einlesen, legen Sie bitte ein privates Adressbuch an oder benutzen Ihr bereits vorhandenes privates. Standardmäßig sind in tine zwei Adressbücher angelegt:

Meine Adressbücher
Ihr privates Adressbuch, das auch Ihren Benutzernamen trägt
Gemeinsame Adressbücher/Internal contacts
das gemeinsame Standard-Adressbuch für alle Mitarbeiter des Unternehmens, eben jener „Group“, für die die Groupware in erster Linie da sein soll.

Beachten Sie, dass Ihre tine-Installation von diesem Schema abweichen kann. So könnte z.B. das gemeinsame interne Adressbuch den Namen Ihres Unternehmens oder Ihrer Organisationseinheit tragen. Außerdem könnte sich in dem Ordner z.B. ein Adressbuch External Contacts o.ä. befinden, das der Speicherung von Kunden, Lieferanten oder anderer externer Kontakte dient.

Wenn Sie sich nun über das passende Adressbuch für Ihre Daten im Klaren sind und diese entsprechend aufbereitet haben, starten Sie den Import über AdressbuchKontakte importieren. In dem sich öffnenden Fenster Datei und Format wählen wählen Sie die Datei mit Ihren Kontakten aus und prüfen das Import-Format. Standardmäßig ist CSV-Import für Kontakte eingestellt; haben Sie Ihre Import-Datei, wie oben beschrieben, vorbereitet und ausgewählt, gehen Sie Vorwärts (rechts unten).

Adressbuch/4_adressbuch_mit_import_optionen_setzen.png

Abbildung 1.2: Import-Optionen setzen


In der nächsten Ansicht (Import-Optionen setzen) wählen Sie das Adressbuch aus, in das die Kontakte importiert werden sollen. Als Voreinstellung finden Sie jeweils das zuletzt verwendete Adressbuch. Darunter wird Ihnen standardmäßig ein Tag vorgegeben – Importliste (Tagesdatum). Dieser dient dazu, Ihre jetzt einzulesenden Kontakte als Ganzes zu markieren, um diesen Einlesevorgang später eingrenzen und ggf. rückgängig machen zu können. Natürlich können Sie diesen Tag später, wenn Sie sich davon überzeugt haben, dass der Einlesevorgang korrekt abgelaufen ist, wieder löschen. Außerdem können Sie hier auf dieser Maske ggf. auch noch weitere Tags vergeben, mit denen die einzulesenden Kontakte versehen werden sollen – darauf kommen wir gleich.

Was ist ein Tag? Es ist ein Etikett, d.h. eine Markierung, die einen Datensatz irgendwie kennzeichnet und nach dem (das ist der Sinn der Sache) der Benutzer später die Datensätze, in unserem Falle die Kontakte, suchen oder filtern kann. Mit dem standardmäßig vergebenen Tag Importliste (Tagesdatum) können Sie sich also später die heute eingelesenen Kontaktdatensätze noch einmal gefiltert aufrufen. Das Pulldown-Menü hinter dem Feld Tag Name zeigt Ihnen alle bereits angelegten allgemeinen und persönlichen Tags, die Sie zur Kennzeichnung der einzulesenden Datensätze – als Zuordnung zu den bereits vorhandenen Datensätzen mit diesem Tag – benutzen können. Mit Klick auf das + am rechten Rand, definieren Sie sich einen neuen persönlichen Tag, der die Datensätze noch einmal extra kennzeichnet.

Das Konzept der Tags wird uns noch oft begegnen, denn es steht in tine für alle Arten von Datensätzen zur Verfügung.

Aber zurück zur Datenübernahme: Jetzt, nach der exakten Vorarbeit, sollten wir startklar sein. Dann los: Mit dem Button Vorwärts (unten rechts) startet der letzte Prüfschritt vor dem Einlesevorgang. Etwas Geduld – das System macht eine Volltextsuche, denn im Hintergrund wird einerseits geprüft, ob das Datenformat der angebotenen Datei dem tine-Format für Adressbücher entspricht, und andererseits, ob es Dubletten gibt. Wenn alles klar gegangen ist, meldet das System im Fenster Zusammenfassung:

Sollte diese Meldung nicht erscheinen, erhalten Sie stattdessen:

Adressbuch/6_adressbuch_import_einlesefehler.png

Abbildung 1.3: Import einer CSV-Datei in tine mit Einlesefehlern


Die genaue Fehlerbeschreibung bekommen Sie, wenn Sie das + aufklappen. Mögliche Fehler haben ihre Ursache regelmäßig in der Nichteinhaltung der oben erläuterten Konventionen (sind Feldbegrenzer (,) und Textbegrenzer (") richtig gesetzt?). Brechen Sie den Einlesevorgang ab (unten rechts Abbrechen) und schauen Sie sich zur Kontrolle die Einlesedatei einmal mit einem normalen Textprogramm an (sind die Text- und Feldbegrenzer vorhanden?). Lesen Sie gegebenenfalls oben noch einmal nach.

Adressbuch/7_adressbuch_mit_import_konflikte_aufloesen.png

Abbildung 1.4: Konflikte auflösen beim Import fehlerhafter Datensätze


In diesem Fall gab es keine Formatfehler, jedoch Konflikte (Dubletten-Datensätze). Diese Funktion ist sehr mächtig und komfortabel: Das System zeigt Ihnen oben links die Anzahl der konfliktbehafteten Kontaktdatensätze. Dabei gibt es für tine eine genaue Definition, wann ein Kontaktdatensatz einen Konflikt aufweist. Standardmäßig ist ein Konflikt dann vorhanden, wenn ein einzulesender Datensatz entweder bei der E-Mail-Adresse oder gemeinsam beim Vornamen, Namen und der Firmenbezeichnung mit einem bereits vorhandenen Datensatz identisch ist. Diese Definition kann der Administrator jedoch unternehmensspezifisch anpassen. Die Prüfung auf Dubletten erfolgt konsequenterweise über alle Adressbücher.

Im Dialogfenster Konflikte auflösen werden Ihnen in Tabellenform alle gefundenen Konflikte (Dopplungen) des jeweiligen Konflikt-Datensatzes mit bereits gespeicherten Kontaktdaten angezeigt: Unter Mein Wert ist der Eintrag aufgeführt, der in der einzulesenden Datei steht, unter Existierender Wert der bereits in tine gespeicherte Wert, und unter Endgültiger Wert derjenige, welcher in tine übernommen würde, wenn die Aktion durchgeführt wird, die oben links im Pulldown-Menü Aktion ausgewählt ist. Sie können somit für jeden einzelnen Datensatz entscheiden, was genau mit den Einträgen geschehen soll.

Wenn Sie die Aktion ändern, sehen Sie das Ergebnis live in der Tabelle. Solange Sie nicht oben links Konflikt ist aufgelöst drücken, passiert jedoch nichts. Probieren Sie also gefahrlos aus, welche Konfliktlösung die beste ist. Standardmäßig steht die Auswahl auf Zusammenführenexistierende Werte behalten – was für die meisten Fälle auch die beste Lösung sein wird, denn der sich bereits in tine befindliche Datenbestand sollte, wegen der strengen Prüfung, ja bereits weitgehend konsistent sein. Wenn Sie sich darüber im Klaren sind, klicken Sie Konflikt ist aufgelöst. Gehen Sie so durch alle Konflikt-Datensätze, um sicherzustellen, dass alle Ihre Daten nach diesem Einlesevorgang wirklich konsistent sind und bleiben. Sollten Sie sich sicher sein, dass z.B. Ihre vorhandenen Daten bereits insgesamt die beste Variante darstellen und nur noch um die Felder ergänzt werden können, die nur in der neuen Datei belegt sind, dann können Sie auch Zusammenführenexistierende Werte behalten wählen, rechts neben Konflikt ist aufgelöst das kleine Pulldown-Symbol anklicken und Alle Konflikte auflösen wählen. Das verkürzt den Vorgang. In jedem Fall müssen Sie so lange durch die Konflikte (mit den Vorwärts-Rückwärts-Pfeilen links oben) gehen, bis der Button Ende rechts unten nicht mehr ausgegraut ist. Erst wenn alle Konflikte bearbeitet sind, wird er bedienbar. Das System zeigt Ihnen dann auch (wie oben schon erklärt) die Zusammenfassung des bevorstehenden Einlesevorgangs im Fenster Zusammenfassung mit einer oder mehrerer der folgenden Statusmeldungen an:

Hat Ihr System keine weiteren Fehler festgestellt? Dann sind Sie jetzt bereit, die Daten zu übernehmen. Klicken Sie also unten ganz rechts Ende, und die Daten werden jetzt endgültig eingelesen. Da auch in Ihrer Quelldatei selbst schon Konflikte vorhanden sein können, kann es jetzt noch weitere Konfliktmeldungen geben (Sie merken schon – tine will unter allen Umständen konsistente Daten sichern). Das System meldet dann: n DATENSÄTZE HATTEN FEHLER UND WURDEN VERWORFEN:

Adressbuch/8_adressbuch_mit_import_zusammenfassung.png

Abbildung 1.5: Die Einlese-Zusammenfassung mit einer Auflistung von Einlesefehlern


Sie können wieder über das Aufklappen des Pluszeichens kontrollieren, welche Fehler aufgetreten sind: Dopplungen werden nach demselben Prinzip gefunden, wie oben bereits beschrieben. Wichtig: Hier wird immer der zweite Datensatz, in dem die Dopplung gefunden wurde, verworfen.

Überzeugen Sie sich nach dem Einlesen bitte durch ein paar Stichproben (mit Klick auf irgendeine Kontaktzeile), dass auch wirklich alle Daten an den richtigen Stellen sind (also keine Telefonnummern unter E-Mail o.ä.). Sollten Sie bei allen Stichproben und mit Regelmäßigkeit Fehler entdecken, haben Sie beim Anpassen der Struktur etwas übersehen und Tabellenspalten falsch benannt. Sie können die Datensätze über das gesetzte Tag filtern (siehe Kapitel 2, Allgemeine Hinweise zur Bedienung), anschließend löschen und den gesamten Vorgang, nach Korrektur in der Quelldatei, noch einmal wiederholen.

Nein, es gibt keine Fehler, alles ist an der richtigen Stelle? Gratulation!

Die erste große Hürde beim Einsatz von tine haben Sie damit erfolgreich gemeistert – Ihre bisherigen Daten stehen Ihnen wieder zur Verfügung und Sie können jetzt damit arbeiten.



[2] Comma-separated Values, also eine mit eindeutigen Trennzeichen (z.B. Komma, Semikolon, Doppelpunkt etc.) ausgezeichnete Werteliste.