Hinweise zum Import-Programm zum ComicKeeper 2 (Stand: V0.30 Build 14 - 11.Apr.2005) Inhalt A. Einleitung B. Voraussetzungen 1. ComicKeeper-Datenbank 2. Installiertes ADO 3. Format der CSV-Datei C. Anleitung 1. Installation 2. Bedienung 3. Deinstallation D. History und Geplante Erweiterungen (ToDo-Liste) 1. History 2. Erweiterungen in dieser Version 3. Erweiterungen in späteren Versionen E. Rechtliches F. Formatbeschreibung für das geplante "Format 2" G. Kontakt A. Einleitung Mein Import-Programm stellt eine Basis-Schnittstelle zum Import von Sammlungsdaten in den ComicKeeper der Firma Tooligan da. Neben der Import-Funktion von einfachen Listen im CSV(Comma-Sepererated- Values)-Format sowie später auch aus einfachen xBase-Tabellen (aus dBase, FoxPro bzw. Clipper) oder Excel-Sheets, soll in Zukunft auch der Import von komplexeren Daten (z.B. Händler- bzw Verlagsdaten, Abos-, Timelines) über spezielle CSV-Records ermöglicht werden, so daß andere Programmierer dies als Import-Schnittstelle verwenden können ohne sich Gedanken über die Datenstrukturen im ComicKeeper machen zu müssen. Auf eine Schnittstelle via XML wird von meiner Seite bewußt verzichtet, da ich glaube, daß viele Programmierer, die Ihr Altprogramm (evtl. noch aus DOS oder Win 3.xx-Zeiten) aufgeben und die Altdaten in ComicKeeper- Datenbanken einfließen lassen wollen, sich nicht unbedingt in die Programmierung von gültigen XML-Dateien einarbeiten wollen. Auf vielfachen Wunsch wurde testweise auch ein eingeschränkter Import aus dem ComicSammler realisiert. Leider können hierbei die Bilder, auf Grund fehlender Zugriffsmöglichkeit im Datenbanktreiber überhaupt nicht und die Memo-Texte z.Z. nur mit RTF-Format-Informationen übernommen werden. B. Voraussetzungen Auch wenn die Voraussetzungen rigoros erscheinen, sind diese unbedingt erforderlich um mit einem geringen Aufwand an Programierung (sowohl bei der Installation als auch bei dem Programm selbst) schnelle Ergebnisse vorzuweisen. Im Laufe der Zeit (höhere Versionen) werden diese jedoch teilweise gelockert werden. Grundvoraussetzungen (neben einem Windows 9x/ME bzw. Windows NT/2K/XP) sind: 1. ComicKeeper-Datenbank Es muß eine ComicKeeper Datenbank von ComicKeeper 2.0, 2.1, 2.5 bzw. 2.6 vorliegen. Diese sollte vorzugsweise leer oder zumindestens nicht aus einer früheren ComicKeeper Version (1.x) konvertiert worden sein. 2. Installiertes ADO 2.x Es muß ADO 2.x (MDAC) und Jet 4 installiert sein. (z.B. durch ComicKeeper 2.x oder Access 2000) 3. Format der CSV-Datei Das Format der CSV-Datei muß strikt eingehalten werden. Zur Zeit ist eine CSV-Datei mit bzw. ohne Feldbeschreibung in der ersten Zeile im ANSI- (Codepage 1252) bzw. OEM-Zeichensatz (Codepage 437 bzw 850 ja nach Windows-Installation) mit Komma (,) oder Semikolon (;) als Trennzeichen verpflichtend. Eine Einhüllung der Felder durch Anführungszeichen ("), Apostroph ('), Nummernzeichen (#) oder Klammerpaare ([],{},()) ist nicht mehr zwingend notwendig, wird aber dringend empfohlen, um Probleme mit dem Gebrauch des Listentrennzeichens in Texten oder als Dezimal- bzw. Tausender-Zeichen zu vermeiden. Dezimal-Komma, Tausender-Punkt sowie Datums-Format müssen mit den Windows-System-Einstellungen übereinstimmen. Die Felder müssen (vollständig) in folgender Reihenfolge vorliegen: a. Heft-Titel b. Heft-Untertitel c. Exemplare d. Enthalten in Ordner/Sammlung e. Sprache f. Serien-Nr. (Position innerhalb der Serie) g. Serie von (Gesamtzahl der Serien-Pos) h. ISBN/Barcode-Nr. i. Verlag j. Händler k. Autor(en) l. Status (Vorhanden/Fehlt/Bestellt/Ausgeliehen) m. Einbandart n. Format o. Genre p. Lagerort q. Seiten r. Kaufdatum s. Erstauflage t. Originalpreis u. Einkaufspreis v. Akt. Handelspreis w. Währung x. Eigenschaften Fehlende Werte sind mit einem Leer-String ("") mit anzugeben. Als Hilfstrennzeichen für Listenfelder wie "Eigenschaften" und "Autor(en)" ist das Semikolon (;) vorgesehen. "Autoren" sind in der Form "Name,Vorname(Job)" anzugeben wobei nach dem Komma bzw. nach den Klammern kein Leerzeichen eigegeben werden soll. Bei Eingaben ohne Job entfallen auch die Klammern und bei Eingaben ohne Vornamen das Komma. Eine spätere Erweiterung um das Listenfeld "Zustände" sowie um das Feld "Bewertung" ist nicht ausgeschlossen. Alternativ ist (für Programmierer) auch eine CSV-Datei im "Format 2" verwendbar. (Vergl. Abs. F sowie "F2Satz.htm"). C. Anleitung 1. Installation Wenn die Voraussetzungen erfüllt sind, braucht zur Installation nur das Programm auf die Festplatte kopiert werden. 2. Bedienung Es ist ins obere Eingabefeld die gewünschte CSV-Datei einzugeben (Auswahl über FileOpen-Dialog durch nebenstehenden Button möglich). Weiter ist im unteren Eingabefeld eine gültige CK2-Datenbank anzugebe. Als letztes kann gewählt werden, ob die CSV-Datei im Format 1 oder Format 2 vorliegt. Bei einer Format 1-Datei kommt man mit weiter in ein 2. Fenster in dem man zusätzlich wählen kann, ob die CSV-Datei aus dem DOS-OEM-Zeichensatz in den Ansi-Zeichensatz konvertiert werden soll, ob die erste Zeile als Kommentar-Zeile ignoriert bzw. als Daten- zeile ausgewertet werden soll wowie welches Trennzeichen bzw. Einbettung verwendet werden soll. (Nicht jede Kombination ist sinnvoll anwendbar). Danach wird mit dem Button "Fertigstellen" der Import gestartet. Nach dem Import kann entweder eine weitere CSV-Datei gewählt werden oder das Programm mittels dem Button "Abbruch" verlassen werden. 3. Deinstallation Da bei dem Programm weder Einträge in die Registry vorgenommen werden, noch irgendwelche Konfigurationsdateien abgelegt werden, reicht ein einfaches Löschen des Programmes sowie der Readme- bzw. Beispiel-Dateien. D. History und ToDo-Liste 1. History V0.30 B0014: Add: Unterstützung von CK 2.6 (Zus. Währung) (11.Apr.05) Fixed: Datenbank der final CK 2.5 Version wird nicht erkannt (intern 2.51 statt 2.5) Fixed: Leere Preise führten zum Konvertierungsfehler V0.30 B0013: Add: Eingeschränkter Import von Paradox-(Export-)Datenbanken (06.Okt.03) vom ComicSammler (Bilder fehlen wegen Fehler im MS- Paradox-Treiber und Memo-Text ist noch in RTF-Format) Fixed: Die Seitenzahl wurde bisher nicht gespeichert V0.30 B0012: Changed: Zugriff via ADO statt DAO (14.Jun.03) Add: Unterstützung Von CK 2.5 (Versionsabfrage und Stati) V0.20 B0011: Special Build für Gernot Ulbert (15.Dez.02) V0.20 B0010: Add: Unterstützung der Satzart 120 (Währung) (09.Jun.02) Add: Unterstützung der Satzart 112 (Kontaktangaben) zu Satz 110/115 Add: Eingeschränkte Unterstützung der Satzart 060 (Memo) mit den Memobezeichnungen WERTUNG,GESTALTUNG,INHALT zu den Satzarten 010/011; BEMERKUNG zu 080/100/110/115; BANK zu 110/115 und allen Zweck-Schlüsselworten außer DATEI Doc: Genauere Beschreibung der Format2-Sätze in "F2Satz.htm" V0.20 B0009: Fixed: Vertauschung der Satzarten 152,154,156 (27.Mai.02) Fixed: Fehlende Storyzählung mit daraus resultierender fehlende Storyanzeige Add: Unterstützung der Satzart 130 (Kategorie) Add: Unterstützung der Satzart 70 (Bild) V0.20 B0008: Add: Automatische Einfügung eines Euro-Währungssystems (F1) (25.Mrz.02) Add: Unterstützung von CK 2.1 (Versionsabfrage und Hinweismemo bei Sätzen 150,152,154,156,158,160,162,164) V0.20 B0007: Add: Unterstützung der Sätze 158,160 (und 162 vor dem ersten Heftsatz) (23.Feb.02) Add: Unterstützung des Satzes 80 (Verzeichnis) Add: Unterstützung des Satzes 11 (Story) V0.20 B0006: Fixed: Entfernung der Debug-Texte bezüglich Parametrisierung (03.Feb.02) Fixed: Fehler in Progressbar-Berechnung (Div0 bei F2) Fixed: Fehler in Zeilen-Zählung (Liest Leerzeile bei F2) Fixed: Fehlender Wechsel auf Schlußsseite bei "Fertigstellen" Add: Unterstützung der Sätze 100,101,110,115 im Format 2 Add: Unterstützung des Satzes 158 im Format 2 V0.20 B0005: Special-Build für Austausch-CD (Neuerungen und Format 2 (18.Jan.02) noch ungetestet) mit neuem mehrseitigen Aufbau für erweiterte Parametrisierung im Format 1 und rudimäntäre Unterstützung vom Format 2 Add: Wahl des Listen-Trennzeichen zwischen "," und ";" (F1) Add: Auswahl der Einbettung der CSV-Felder (F1) Add: Unterstützung der Sätze 000 und 010 im Format 2 Add: Unterstützung der Sätze 150,152,154,156,164 vor dem ersten Heftsatz (010) (F2) V0.10 B0004: Add: Verarbeitung des Autoren-Listenfelds (09.Dez.01) Add: Hinzufügung und Verarbeitung der "Eigenschaften" V0.10 B0003: Add: Abfangen der meisten Fehler durch eigene Fehlerdialoge (02.Dez.01) Fixed: "Serien-Nr." und "Serie von" können nun auch nicht numerisch sein. V0.10 B0002: Add: Auswahl der CK2-Datenbank (23.Nov.01) Add: Verarbeitung der Preis- und Währungs-Felder Add: Verarbeitung der Datums-Felder Add: Verarbeitung von Status, Seitenzahl, Lagerort Add: Konvertierung aus OEM-Zeichensatz Add: Auswahl ob erste Zeile bearbeitet werden soll Fixed: Fehlende Pflege der Tabelle CBParentChild_Link V0.10 B0001: Erste Version mit eingeschränktem Feld-Umfang (ohne Preise, (18.Nov.01) Datum, Status, Seitenzahl), festem Datenbank-Namen (Test20m), und fester Ausblendung der ersten Zeile der CSV-Datei. 2. Erweiterungen in dieser Version V0.30 B0015: Unterstützung des Satzes 121/122 (Handelspreis) Unterstützung des Satzes 140 (Auktoren) Unterstützung des Satzes 156 (Status) Erweiterung der Unterstützung des Satzes 060 (Memo) Kleinere Fixes und Verbesserung der Fehlerbehandlungen Bessere Dokumentation des Formats 2 3. Erweiterungen in späteren Versionen V0.30: Erweiterung um Daten-Record-Typen für Datenarchive (Format 2) Konfigurierbarkeit von Trennzeichen, Feldeinhüllung etc. Flexibilisierung der Feldreihenfolge für einfache CSV-Dateien Speicherung der Konvertierungsparameter. V0.40: Zugriff auf xBase-Tabellen Zugriff auf Excel-Sheets E. Rechtliches Das Programm ist Freeware und befindet sich im frühen Alpha-Stadion. Die Verwendung des Programmes geschieht auf Eigene Gefahr. Jede Haftung, egal ob für direkt oder indirekt auftretende Sach-, Personen- oder Kapitalschäden entfällt. Ebenso entfallen alle Garantieansprüche bezüglich der Funktionalität. Eine Beziehung zwischen dem Autor (Thomas G.M. Mainka) und der Firma Tooligan besteht nicht bzw. beschränkt sich auf die Tatsache, daß die Firma Tooligan dem Autor die Erlaubnis erteilt hat, ein Import- Programm für den ComicKeeper zu erstellen. Aus diesem Grund entstehen durch die Verwendung dieses Programmes keine Ansprüche an die Fiama Tooligan. Service-Leistungen sowie sonstiger Programm Support erfolgen ausschließlich durch den Autor. Eine unentgeltliche Verbreitung des Programmes sowie mit den offiziellen Programm-CDs der Firma Tooligan ist erlaubt. Jegliche sonstige kommerzielle Verbreitung des Programmes bedarf der Genehmigung sowohl des Autors als auch sowie der Firma Tooligan als Lizenzgeber für das Datenbankformat. Die Verwendung dieses Programmes als Backend für ein eigenen Import- Tools für den ComicKeeper bedarf unbedingt der Rücksprache mit dem Autor, zumal Änderungen (die dem Fortschritt dienen) sowohl beim Import-Programm als auch bei der Firma Tooligan vorbehalten bleiben. Eine Genehmigung erfolgt nach Rücksprache mit der Firma Tooligan. Die in diesem Text verwendeten Programm-Namen sind zum größten Teil (registrierte) Marken. Die Rechte dieser Markeninhaber wird nicht angetastet. F. Formatbeschreibung für das geplante "Format 2" Das geplante "Format 2" soll ermöglichen, auch Comic-Daten aus komplexeren Datenbanken als einer (mehr oder weniger) einfachen Inventar-Liste zu übernehmen. Hierbei spielen vor allem auch die Daten eine Rolle, die im ComicKeeper in den einzelnen Datenarchiven abgelegt wurden (z.B. Verlags- adressen, Lebensdaten zu Autoren etc.) Da hierbei das Aufbereiten der Daten in einer homogenen Liste zum einen mit einen riesigen Bearbeitungsaufwand verbunden ist und zum anderen eine enorme Datenredundanz verursachen würde, soll im "Format 2" ein Import-Format mit speziellen Records für die einzelnen Daten geschaffen werden. Hierzu wird den einzelnen Textzeilen im CSV-Format eine Numerische Kennung, welche den Aufbau der Zeile kennzeichnet, vorangestellt. Folgende Kennungen (und Sätze) sind z.Z. schon festgelegt (Aufbau der Sätze siehe Datei "F2Satz.htm" - Änderungen bzw. Erweiterungen vorbehalten): 000: Versionsangabe 001: Kommentarsatz 010: Heftsatz 011: Storysatz 050: Start/Ende/Löschung von Default-Werten (Satz 070,158,160,101,140 nach 010 bzw 011 sowie 070,130 nach 080) 060: Memosatz 070: Bild/Iconsatz 080: Verzeichnissatz Sätze fürs Datenarchiv: 100: Autorensatz 101: Autoren-Kurzsatz (zu 010 bzw 011) 110: Verlagssatz 112: Kontaktsatz (zu 110 bzw. 115) 115: Händlersatz 120: Währungssatz 121: Wertentwicklungssatz (zu 010) 122: Wertentwicklungssatz (stand-alone) 130: Kategoriensatz 140: Auktorensatz 150: Sprachsatz 152: Genresatz 154: Einbandartsatz 156: Formatsatz 158: Eigenschaftssatz 160: Zustandssatz 162: Bewertungssatz 164: Lagerortsatz 166: Statussatz Für die Reihenfolge der Sätze ist zu beachten, daß es optionale Sätze mit erweiterndem Character (vor allem dort wo mehrere Eingaben möglich sind) und solche mit Stammdaten-Character (Erläuterung der Bedeutung einer Einzelangabe) gibt. Sind die ersteren immer zum direkt vorgehenden übergeordneten Satz zugehörig, so gilt für die zweiten, daß sie, da nur Datensatz-Inserts aber keine -Updates vorgesehen sind, vor der ersten Verwendung der Daten in einem Detailsatz angegeben werden sollen. Die ergibt für den Aufbau folgende Struktur: 000: Startsatz - 110/115: Verlags-/Händlersatz (Stammdaten) - 060: Memosatz (hier Erweiterung zu 110/115) - 112: Kontaktsatz (Erweiterung zu 110/115) - 100: Autorensatz (hier Stammdaten) - 060: Memosatz (hier Erweiterung zu 100) - 070: Bildsatz (hier Erweiterung zu 100) - 120: Währungssatz (Stammdaten) - 130: Kategoriesatz (Stammdaten) - 140: Auktorensatz (hier Stammdaten) - 150/152/154/156/162/164: Diverses 1 (Stammdaten) - 158/160: Diverses 2 (hier Stammdaten) * 080: Verzeichnissatz (Stammdaten ggf. Mastersatz bei mehreren gleichmamigen Verzeichnissen) - 130: Kategoriesatz (hier Erweiterung zu 080) - 070: Bildsatz (hier Erweiterung zu 080) - 060: Memosatz (hier Erweiterung zu 080) * 010: Heftsatz (quasi Erweiterung zu 080 bei Verwendung der ordnenden Funktion von 080 ansonsten s.u.) * 010: Heftsatz (Mastersatz) - 158/160: Diverse Eigenschaften (hier Erweiterung zu 010) - 100/101: Autoren- bzw. Autorenkurzsatz (hier Erw. zu 010) - 121: Wertentwicklungssatz - 140: Auktorensatz (hier Erweiterung zu 010) - 070: Bildsatz (hier immer Erweiterung zu 010) - 060: Memosatz (hier Erweiterung zu 010) * 011: Storysatz (Sub-Master) - 158/160: Diverse Eigenschaften (hier Erw. zu 011) - 100/101: Autoren- bzw. Autorenkurzsatz (Erw. zu 011) - 140: Auktorensatz (hier Erweiterung zu 011) - 070: Bildsatz (hier immer Erweiterung zu 011) - 060: Memosatz (hier Erweiterung zu 011) Eine besondere Stellung werden die Defaultsätze 050 einnehmen. Hier besteht jedoch noch genauerer Planungsbedarf, um spätere Realisierungs- Probleme auszuschließen. G. Kontakt Thomas G.M. Mainka Ahornweg 4 D-86653 Monheim Tel. 09091-3930 Fax. 09091-3970 (G3+G4) nur nach Anmeldung e-mail: comic@tgmm.de Support-Site: http://www.tgmm.de (gegebenenfalls bitte das Passwort erfragen)