ContactViewer

Aus GoPalWiki
Version vom 3. April 2010, 13:02 Uhr von B-M-N (Diskussion | Beiträge) (ContactViewer aus GoPal 3.x in GoPal 5.0 installieren)
Wechseln zu: Navigation, Suche

Allgemeines

Der ContactViewer ist eine Zusatzapplikation, die bis jetzt ausschließlich mit der GoPal PE 3.x Version ausgeliefert wurde (siehe dazu auch die GoPal 3.x Feature Übersicht).

Frei übersetzt heißt "ContactViewer" soviel wie "Kontaktbetrachter" und man hat damit die Möglichkeit, die vorher mit dem GoPal Assistant von Outlook übertragene Kontakte auf dem GoPal Navi zu betrachten, als Ziel für die Navigation zu wählen (Adresse muss hinterlegt sein) oder diesen Kontakt mit dem gekoppelten Handy direkt anzurufen.

Voraussetzungen

Es wird ein Windows XP oder Vista PC vorausgesetzt, auf dem mindestens Outlook 2003, der GoPal Assistant und ActiveSync 4.5 installiert sein sollte.

Eine "echte" Synchronisation zwischen Outlook und dem GoPal findet allerdings nicht direkt statt, sondern der GoPal Assistant holt sich die Daten von Outlook und stellt sie dem Navigationssystem als Datenbank zur Verfügung. Hinweis: Mit Outlook ist ein Bestandteil der Microsoft Office Paketes gemeint! Mit Outlook Express funktioniert dies nicht!!

ContactViewer auf dem GoPal-Navigationssystem

Wenn erfolgreich Kontakte mit Adresse oder zusätzlich sogar Telefonnummer übertragen wurden, zeigt sich das folgendermaßen im Gerät:

...Bild folgt...

Die Kontakte sind Alphabetisch sortiert und wenn man einen durch Antippen auswählt, werden die entsprechenden Daten für die weitere Verwendung angezeigt:

...Bild folgt...

Kontakte aus Outlook ohne Assistent auf das Gerät bekommen

Der von Medion vorgegebene Weg, seine Outlook-Kontakte auf das Gerät zu bekommen, ist der GoPal Assistant. Dazu muss der natürlich erst mal installiert werden, außerdem hat er den Nachteil, dass man weder einen bestimmten Ordner aus den Outlook-Kontakten angeben noch innerhalb eines Ordners nur bestimmte Kontakte in die contacts.db übertragen kann. Mit ein bisschen Code in Visual Basic for Applications plus dem Programm 'sqlite3.exe' kann man das ändern. Der Code wird als Modul in Outlook importiert. Damit steht dann ein Makro zur Verfügung, welches auf Basis bestimmter Kontakteinträge SQL-Code generiert, der dann als Input für sqlite3.exe dient und die contacts.db schreibt. Es gibt aber derzeit nur die Option, die contacts.db komplett neu zu schreiben, bestimmte Kontakte hinzufügen oder raus nehmen geht nicht.

Entwickelt und getestet wurde das ganze unter XP mit Outlook 2003 und GoPal 4.5, es wird aber wohl auch mit anderen Versionen funktionieren, sofern diese Version das gleiche Format der contacts.db verwendet.

Das Zielverzeichnis für die contacts.db kann angegeben werden. Leider bietet ActiveSync keine Einbindung des Navis als Laufwerk im Windows Explorer. Daher muss man die Datei entweder in die in einem Kartenleser steckende Speicherkarte speichern oder zuerst auf die Festplatte schreiben und dann in das Navi kopieren.

Es werden nur Daten des aktuell in Outlook angewählten Kontaktordners verarbeitet. Sollten innerhalb des Ordners bestimmte Einträge selektiert sein, werden nur diese in die contacts.db übertragen, ansonsten alle des Ordners. So kann man dann z.B. seine Kontakte nach Kategorie sortieren, nur die mit der Kategorie 'geschäftlich' markieren und damit auch nur die ins Navi übernehmen. Das VBA-Programm findet sich hier, die Erklärungen und die Download-Quelle für sqlite3.exe stehen im Code. Ich denke der Code ist verständlich und ausreichend kommentiert, so dass jeder das Programm nach Lust und Laune abändern und erweitern kann.

Kontakte ohne Outlook auf das Gerät bekommen

Es gibt dank unserer französischen Nachbarn eine Möglichkeit, Kontakte auch ohne Outlook auf das Gerät zu bekommen.

Dank gebührt unserem User medion78, der hier im Forum darauf aufmerksam machte.

Die jetzt folgende Kurzanleitung ist von der französischen Originalanleitung frei übersetzt.

Dank gebührt natürlich auch dem Autor an dieser Stelle!

....noch nicht fertig...

Vorbereitung

Outlook ist keine Freeware, daher sollte es einen anderen Weg geben, den ContactViewer mit Daten seiner Bekannten oder Verwandten zu füttern! Die Daten für den ContactViewer liegen normalerweise in einer kleinen Datenbank auf dem Gerät. Um diese bearbeiten zu können, benötigen wir also das kleine Programm kSQLite (Downloadlink), sowie eine Vorlage für die Datenbank mit den später benötigten SQL-Befehlen in einer Textdatei.

Kurzanleitung in Deutsch mit den notwendigen Dateien:

  1. In die Excel Vorlage "contact_import.xls" können aus einer anderen Adress-Datenbank exportierte Adress-Daten spaltenweise eingefügt werden. Alternativ kann man natürlich auch einfach selbst direkt Adressdaten eingeben.
  2. Die Datei "contact_import.xls" wird nach der Befüllung mit den Adressen im CSV-Format (comma seperated values) als "contact_import.csv" gespeichert.
  3. Die leere Contacts-Datenbank "contacts_neu.db" wird über das Programm TKSQLite geöffnet.
  4. In der Contacts-DB ist bereits die Tabelle "Import" angelegt. In diese Tabelle wird die vorher erstellte Datei "contact_import.csv" importiert über "File->Import->Text-File". Im Import-Dialog die gleichen Angaben wie in diesem Screenshot machen.
  5. Nach dem Import müssen die Adressen noch auf die eigentlichen Tabellen "verteilt" werden. Dazu bitte den ersten Befehl in der SQL "Command historie" über "Database->Run SQL" ausführen. Die notwendigen Vorlagen findest Du hier.
  6. Wer ggf. die nötige Vorlage nicht gefunden hat öffne bitte die Datei xania-kitcontacts.zip. In dieser Zip Datei befinden sich die oben angegebenen Dateien.Dabei íst auch die Datei "Generer_Contacts.txt". Den Inhalt dieser Datei in das SQL Command Fenster kopieren und dann Database "Run command" anklicken. Die dann erstellte contacts.db funktioniert mit dem Contactviewer einwandfrei.

...noch nicht fertig...

Ex- und Import via Excel-Tabelle

User @boatdriver hat hier eine alternative Vorgehensweise beschrieben, wie Daten aus dem Adressbuch in eine Excel-Datei exportiert und mit Hilfe eines selbst geschriebenen Tools diese Tabelle in die contacts.db importiert werden können -> PNav-Link.

Kontakte aus Thunderbird-Adressbuch

Es besteht auch die Möglichkeit, seine Kontakte aus dem Mozilla Thunderbird-Adressbuch in eine contacts.db zu übertragen. Wie es gemacht wird, hat User @Pfaelzerbub anschaulich anhand eines PDF-Files erklärt -> PNav-Link.

Pflege von contacts.db mittels OpenOffice

Wenn man eine einmal gewonnene contacts.db auf dem PC bearbeiten will, ist dies in dem kostenfreien OpenOffice möglich. Man kopiert die contacts.db in ein eigenes Verzeichnis freier Wahl und schreibt sie nach Vollzug gewünschter Änderungen über den Cardreader auf die SD-Karte oder über MS-ActiveSync in den Navigator an die ursprüngliche Stelle zurück. Zweckmäßigerweise legt man in dem Verzeichnis auf dem PC noch ein Unterverzeichnis für Sicherungsdateien an, wo man die jeweilige Version als contacts_datum.db ablegt.

Nach Aufruf des OOoDatenbankmoduls muß man nur beim ersten Mal eine Verbindung zu der Quell-Datenbank erzeugen. Die contacts.db ist vom Typ SQL3lite, die Verbindung wird über ODBC hergestellt. Den entsprechenden ODBC-Treiber muss man aus dem Internet besorgen. Im Rahmen der weiteren Installation erzeugt OOo eine neue korrespondierende Datenbank, die auch in einem völlig anderen Verzeichnis liegen darf. Ich habe sie bei mir "Medion-SQL3-ODBC.odb" benannt und unter ...\Adressen abgelegt.

Zukünftig sind beide Datenbanken wichtig. Alle Datensatz-Änderungen in der OOo-Datenbank werden stets nach Sicherung auch in der Quelldatenbank hinterlegt und sind sofort verfügbar. Die Struktur darf man nicht verändern, wenn man vermeiden will, dass der Navigator die Datei nicht mehr erkennt.

Aufrufen kann man später diese aufgepfropfte verbundene OOo-Datenbank durch Doppelklick. Gewöhnungsbedürftig ist nur die folgende Handarbeit. Man sieht in der DB nur verschiedene Tabellen. Schreiben (Ändern/Ergänzen) darf und kann man nur in solchen ohne Pfeilmarkierung. Die mit Pfeil behafteten sind abgeleitete, in denen man nur lesen kann. Da die Verbindung der Tabellen untereinander ausschließlich über Indizes erfolgt, die bei jedem neuen Datensatz automatisch vergeben werden, sollte man sie sich vor dem Umschalten zu einer korrespondierenden Tabelle notieren.

Ein Beispiel: Der Eintrag einer neuen Person "Peter Müller" startet in der Tabelle "Persons", die bereits 59 Personen umfaßt. Automatisch wird die Id 60 in der ersten Spalte vergeben. In die zweite Spalte namens "SortString" (für den Navi zum Sortieren wichtig) wird mit Großbuchstaben MULLER,PETER (keine Umlaute) geschrieben, in die 3. namens "Lastname" Müller oder "Mueller", in die 4. Spalte "FirstName" Peter.

In GoPal 3.x waren Umlaute und auch Kleinbuchstaben erlaubt, in GoPal 5.0 hingegen werden Umlaute in Namen nach der Übernahme in die Navigation nicht korrekt darstellt, aber in Straßennamen und Ortschaften ja.

Nach Speichern und Schließen dieser Tabelle werden nacheinander die Tabellen Countries und Cities bearbeitet. Die Ansicht kann erleichtert werden, wenn man nach gewünschten Spalten alphabetisch sortiert, was sich auf die Tabelle nicht verfälschend auswirkt. Man legt bedarfsweise neue Datensätze für den Wohnort und das Land der Beispiel-Person an. Die jeweiligen Indizes in der ersten Spalte muss man sich notieren. Danach öffnet man Tabelle "Adresses" und fügt die Adresse ein, wobei "Id" hier wieder automatisch vergeben wird, aber PersonId, CountyId und CityId müssen aus den Notizen entnommen werden. CategoryId muß mit der Id in Tabelle "Categories" übereinstimmen und sorgt für die Zuordnung zu dienstlich, privat oder mobil (wichtig bei Telefonnummern). Analoges Vorgehen erfolgt für Telefonnummern. Ist alles vollzogen, kann man in der Tabelle "sqlite_sequence" die jeweilige Datensatz-Anzahl jeder Tabelle prüfen. Sie wird aber automatisch aktualisiert. Dann kann Quell-DB contacts.db an den Ort der Quelle (SD-Karte oder interner Navispeicher) zurückgeschrieben werden. Zugegeben, dies ist umständlicher als allgemein erwartet wird, aber kostenfrei und bei seltenen Änderungen durchaus praktikabel.

Mehr Adressen und mehr Telefonnummern

Spätestens durch die Bearbeitung der contacts.db-Datei mit externen Programmen wird man auf die Möglichkeit aufmerksam, daß bereits vorgesehen ist, daß man jeder Person drei Adressen und vier Telefonnummern zuordnen kann. Im Medion erfolgt die Zuordnung von Icons nach der CatId. Deren Bedeutung wird in der Tabelle Categories offenbart ("Home" für Privatwohnung, -Telefon, "Mobile" für Mobiltelefon, "Business" für Geschäftsadresse bzw. -telefon, andere für Zweitwohnsitz, Datsche oder ein weiteres Telefon). Der Text in der zweiten Spalte dieser Categories-Tabelle hat überhaupt keine Auswirkung, er dient nur der Information. Entscheidend für die Icon-Zuordnung ist nur die CatId in Tabelle Adresses und Phonenumbers. Aber die Reihenfolge der dann angezeigten Adressen/Telefonnummern in der Liste im Medion-Navigator ist nicht hiervon, sondern von den nach Personen sortierten Verbundlisten PersonalAdresses bzw. PersonalPhonenumbers abhängig, also auch von der Reihenfolge beim Eintrag.

Man kann die ursprünglich limitierte Anzahl von Adressen (3) und Telefonnummern (4) je Person ungestraft um weitere Adressen und Telefonnummern erweitern. Auch diese werden im Medion korrekt angezeigt, leider aber statisch mit dem Icon der ersten (!) Kategorie verbunden.

ContactViewer aus GoPal 3.x in GoPal 5.0 installieren

Die GoPal AE 5.0 verfügt über keinen solch umfassenden Adressmanager, aber für die GoPal PE ist einer angekündigt. Die Verwendung des CV aus GoPal 3.0 ist möglich, sogar die Verlinkung zum Dialer klappt problemlos. Ein Mangel wird sichtbar, wenn in Namen Umlaute vorkommen. Während Straßennamen und Städte korrekt an die Navigationssoftware weitergereicht werden, werden auf Grund von Zeichensatzinkompatibilitäten für Namen im Navigator Umlaute durch 2 Rechtecke repräsentiert.

Warum ist der CV, obwohl die Datensatzpflege Aufwand erfordert, noch nützlich? Weil man hier mehr als 30 Datensätze eintragen kann, deren Zugriff durch ein Register (Karteikarten) erleichtert wird und man jeder Person/Adresse offiziell 3 Telefonnummern (privat/mobil/geschäftlich) zuordnen kann. Nachteilig kann sich nur ein vermehrter Speicherplatzbedarf auswirken.

Wie kann man den CV in GoPal 5.0 überführen? Zwei Wege, sicher nicht die einzigen, für ein Medion P4410 mit SD-Karte werden beispielhaft dargestellt:

Methode 1

Vorbereitung

Beiden Methoden gemeinsam ist, dass man den Ordner contacts mit der die Adressen und Telefonnummern enthaltenden Datei CONTACTS.DB unverändert auf die für die Installation bereits fertige SD-Karte mit GoPal 5.x kopieren muss. Darüber hinaus werden auf der SD-Karte noch drei Ordner angelegt und eine Datei am Stamm erzeugt:

1. Ordner \10

In diesen wird die contactviewer_0480x0272_xx_x.cab aus GoPal 3 kopiert (Lizenz muss vorhanden sein!). In diesen Ordner wird auch noch eine Datei namens module.xml gepackt:

<?xml version="1.0" encoding="utf-8"?>
<InstallInfo
 name="contactviewer"
 major="5"
 edition="0"
 minor="0"
 sub="0"/>

Diese xml-Datei wird eine automatische Installation auf \My Flash Disk vornehmen.

2. Ordner \CV-Menu

Für das CV-Menü im PocketPC werden 2 Dateien benötigt

contactviewer.png

(enthält das Bild für das Menü)

und contactviewer.xml.

<?xml version="1.0" encoding="UTF-8"?>
<Application order="970" shell="yes" help="no" helpname="ContactViewer" >
 <Execute command="file:///My Flash Disk/navigation/multimedia/ContactViewer/480x272/ContactViewer.exe" />
 <Text language="de">Contact Viewer</Text>
 <Icon language="de">contactviewer.png</Icon> 
</Application>

3. Ordner \R

Dieser beinhaltet die Datei für den Sprung zum Navigator, nachdem eine Adresse ausgewählt wurde. In diesem Ordner erzeugen wir noch einen Unter-Ordner Navigation mit einer Datei 00 mit nur einer Zeile:

\My Flash Disk\Navigation\mnavdce.exe

Die Anlage des Ordners Navigation an dieser Stelle erleichtert nach HardReset später das Kopieren.

Am Stamm der SD-Karte platziert man eine Erinnerungstextdatei namens ContactsViewer.txt für einen eventuellen SoftReset unterwegs, welche eine Kurzinfo der folgenden 3 Schritte zur Wiederherstellung beinhaltet.

Installation in 3 Schritten

  1. Ein Reset, ggf. mit kompletter Installation von SD-Karte nach Format Flash, installiert u.a. den ContactViewer automatisch
  2. Erzeugung des Menüs durch Kopie der Dateien aus \Storage Card\CV-Menu nach \My Flash Disk\navigation\menu\desktop
  3. Erzeugung des Links zum Navigator durch Kopie des Ordners Navigation aus dem Verzeichnis \R , der die Datei 00 beinhaltet, nach \My Flash Disk\navigation\multimedia\_mobilitysuite\AppPaths

Kopieren kann man auch unterwegs aus der Pocketnavi-Winoberfläche, die man im Menu "Weitere Anwendungen" mit Klick auf die oberste linke Ecke des Screen  erhält. Hier klickt man sich in das Quell-Verzeichnis und markiert die Dateien mit Edit->Select All aus und kopiert nachfolgend -> Copy in die Ablage. Nachdem man in das Zielverzeichnis gegangen ist, fügt man mit Edit->Paste die Datei ein. Zum Kopieren aus dem Ordner \R im 3. Schritt wählt man den Ordner navigation aus und kopiert ihn mit Edit -> Copy in die Ablage und fügt ihn am Zielort mit Edit -> Paste ein. Nach dieser Vorgehensweise ist der CV auch nach einem HardReset unterwegs ohne PC wiederherstellbar.

Methode 2

Dieser Weg ist in der Vorbereitung unvergleichlich schwieriger, dafür gestaltet sich die Installation nach jedem HardReset komplett automatisch.

Beiden Methoden gemeinsam ist, daß man den Ordner contacts mit der die Adressen und Telefonnummern enthaltenden Datei CONTACTS.DB unverändert auf die für die Installation bereits fertige SD-Karte mit GoPal 5.x SD-Karte kopieren muß.

Im weiteren benötigt man:

  • Das Programmpaket CabViewer, welches als aktiven Teil MSCEinf.exe beinhaltet. CabViewer verfügt über ein Copyright, ist aber kostenfrei.
  • Das Programmpaket CabCreator, aus welchem man lediglich cabwiz.exe, cabwiz.ddf und Makecab.exe benötigt.

Nun kopiert man aus dem Verzeichnis /10 der Originalsoftware Gopal3.0 contactviewer_0480x0272_xx_x.cab (Lizenz vorhanden?!) in ein Verzeichnis ..\10_orig im PC. Man extrahiert mittels MSCEinf.exe über das Iconmenu "CAB Dateien mit Originalnamen in ein Verzeichnis extrahieren" alle Dateien ebenfalls in dieses Verzeichnis, es entsteht ein Unterordner namens ..\My Flash Disk. Dann wird die Original-inf-Datei mittels Iconmenü "Speichern der wiederhergestellte inf-Datei" wiederhergestellt. Nun erzeugt man ein Verzeichnis ..\10_out im PC, kopiert aus \10_orig hierher das mittels Extraktion gewonnene Unterverzeichnis ..\My Flash Disk und die contactviewer.inf. Letztere wird nun editiert:

Unter [SourceDisksNames] fügt man fortlaufend numeriert

6 = ,"Dir6",,.\My Flash Disk\navigation\menu\desktop
7 = ,"Dir7",,.\My Flash Disk\navigation\multimedia\_mobilitysuite\AppPaths\navigation

an, unter [SourceDisksFiles]

"contactviewer.png" = 6 ; 057
"contactviewer.xml" = 6 ; 058
00 = 7 ; 059

(die erste Zahl nach dem Gleichheitszeichen muß mit den SourceDiskNames- und Dir-Nummern übereinstimmen, die letzten Zahlen sind dateienbezogen fortlaufend und können unter Umständen abweichen), unter [DefaultInstall] fügt man an

...,CopierVersDir04,CopierVersDir05

und ergänzt nach Ende von Abschnitt [CopierVersDir03]

[CopierVersDir04]  ; (\My Flash Disk\navigation\mmenu\desktop : \My Flash Disk\navigation\mmenu\desktop)
"contactviewer.png",,,0x40000002
"contactviewer.xml",,,0x40000002 
[CopierVersDir05]  ; (\My Flash Disk\navigation\multimedia\_mobilitysuite\AppPaths\navigation :
\My Flash Disk\navigation\multimedia\_mobilitysuite\AppPaths\navigation)
00,,,0x40000002 

Unter Abschnitt [DestinationDirs] fügt man ein:

CopierVersDir04 = 0, %InstallDir%\navigation\menu\desktop
CopierVersDir05 = 0, %InstallDir%\navigation\multimedia\_mobilitysuite\AppPaths\navigation 

Nach Sicherung der modifizierten Datei fügt man die Dateien contactviewer.png und contactviewer.xml (wie bereits unter Methode 1 beschrieben) in ..\My Flash Disk\navigation\menu\desktop und die Datei 00 in ..\My Flash Disk\navigation\multimedia\_mobilitysuite\AppPath\navigation (ebenfalls unter Methode 1 beschrieben) ein.

Jetzt kopiert man die drei o.g. Dateien aus dem CabCreator ebenfalls nach ..\10_out und gibt in einem Kommandofenster (in diesem Verzeichnis sich befindend) "cabwiz contactviewer.inf" ein. Sofern alle Dateien an richtiger Stelle waren, wird eine neue Datei namens contactviewer.cab erzeugt, die man zu contactviewer_0480x0272_xx_x.cab umbenennt und zusammen mit contactviewer.xml (siehe Methode 1) auf die SD-Karte im Ordner \10 kopiert.

Die Installation gestaltet sich nach jedem HardReset automatisch!

Quellen

www.teaser.fr

Download xania-kitcontacts.zip


Vorlage:Adsense