Montag, 24. Juni 2013

Eigene Caches verwalten - mit CouchDB

Wer mehr als eine handvoll Caches versteckt hat muss sich wohl früher oder später Notizen zu seinen Caches machen. Irgendwann vergisst man sonst vielleicht (oder wahrscheinlich?), welche Dose bei welchem Cache liegt, wie denn die Lösung für den eigenen Rätselcache war etc.

Mögliche Wege für Notizen gibt es sicherlich viele. Hier möchten wir unsere beschreiben: wir nutzen CouchDB.

CouchDB ist eine dokumenten-orienterte Datenbank (mehr Infos: Link zu Wikipedia). Wer damit jetzt nichts anfangen kann: damit lassen sich sehr gut unstrukturierte und semi-strukturierte Daten abspeichern, da kein fixes Schema in der Datenbank existieren muss.
(Der Vollständigkeit halber sei noch erwähnt, dass CouchDB aus anderen Gründen so wie so auf unseren Rechnern installiert war, von daher war die Nutzung auch naheliegend.)

CouchDB gibt es für Linux, MacOS, Windows und Android (für letzteres unter dem Namen "Mobile Futon"). Da die CouchDB Datenbank sich sehr leicht auf andere Rechner, auf denen auch CouchDB läuft, übertragen ("replizieren") lässt, ist gerade die Android-Version eine extrem praktische Art, die Daten immer "in der Tasche" (=im Smartphone) zu haben. Für das iPhone gibt es übrigens eine Datenbank namens "TouchDB", welche wohl kompatibel zu CouchDB ist. Da wir kein iPhone haben, haben wir diese aber noch nie getestet...

Das schöne an CouchDB ist, dass die Datenbank eine HTML-basierte Oberfläche Namens "Futon"  mitbringt, so dass sich alle Einträge und Abfragen bequem via Browser machen lassen. CouchDB selbst läuft dabei dann auf dem eigenen (Desktop-) Rechner im Hintergrund.

Zum eigentlichen Thema: Für jeden neuen Cache legen wir in CouchDB ein eigenes Dokument an, wobei die Dokumenten-ID immer der Name des Caches ist.
Im Dokument wird dann die GC-Nummer von geocaching.com, die Art der Dose, die Art des Logbuchs, eine Kopie des Logbuchs als PDF-Datei, der Cachetyp und ein paar Hinweise gespeichert. Das sieht dann z.B. so aus:


Eintrag in der Datenbank zu einem Tradi


Bei Multi oder Rätselcaches werden direkt noch die Antworten zu den Fragen bzw. die Koordinaten der Zwischenstationen gespeichert. Das sieht dann z.B. so aus:

Eintrag in der Datenbank zu einem Rätselcache
Natürlich kann CouchDB noch mehr, als einfach nur Datensätze (im CouchDB Kontext "Dokumente" genannt) zu speichern - man will die Daten ja auch Abfragen.

Dies geschieht in Form von "Views", übersetzt bedeutet dies so viel wie "Ansicht(en)". Diese werden in JavaScript geschrieben und können beliebig umfangreich sein. Ein einfacher View zum Anzeigen des GC-Codes und der Dosengröße aller Tradis ist auf dem folgenden Bildschirmfoto zu sehen:

ein einfacher View in CouchDB
Im Rahmen der Verwaltung der eigenen Caches kommt man mit einfachen Views schon recht weit und kann sich eigentlich alles anzeigen lassen, was von Interesse ist.

Natürlich kann man die Views auch dauerhaft speichern. Wir haben aktuell jeweils einen View für jede Cacheart, von der wir mindestens einen Cache gelegt haben (also Tradi, Mystery, Multi, Event und Eartcache) sowie einen View zur Abfrage der Einträge zu "Muggel" (also ob ein Cache schon mal gemuggelt wurde, inkl. zusätzlicher Infos). Möglich wäre aber natürlich auch, sich alle Caches anzeigen zu lassen, die als Dose einen "PETling, normal" haben.

Wer jetzt Interesse an der Nutzung von CouchDB hat: in einer älteren Ausgabe von FreiesMagazin gibt es einen guten Grundlagenartikel zur Nutzung von CouchDB, der auch heute noch gültig ist.

Auch wenn CouchDB einfach zu nutzen ist - eine gewisse Technik- und IT-Affinität sollte schon vorhanden sein, damit man (=der Cache-Owner) die Datenbank glücklich und zufrieden Nutzen kann. Danke der einfach gehaltenen und zu nutzenden Benutzeroberfläche im Browser kann sicherlich jeder nach ein bisschen Einarbeitungszeit Daten für seine Caches anlegen - zumal man ja nichts kaputt machen kann.
Für das Anlegen von Views ist es schon nützlich, wenn man zumindest eine minimale Erfahrung im Programmieren hat (egal, ob mit JavaScript oder einer anderen Sprache).

Nach unserer Ansicht ist die Verfügbarkeit von CouchDB für verschiedenen Plattformen inkl. Smartphones in Kombination mit der (sehr) einfachen Möglichkeit, die Datenbank zwischen den verschiedenen Geräten synchron zu halten, der Grund, CouchDB zum Verwalten unserer eigenen Caches zu nutzen.

1 Kommentar:

  1. Ein schöner Artikel, danke für den Einblick.
    Auf die Idee CouchDB dafür zu verwenden bin ich bisher nicht gekommen.

    AntwortenLöschen