Freitag, 14. August 2015

Cachekeeper - die eigenen Caches verwalten

Wer mehr als ein paar Caches legt kommt wahrscheinlich irgendwann nicht mehr umhin, eine gewisse Buchführung einzuführen. Wie z.B. "Welcher Cache hat welche Dose?", "Welches Logbuch ist in dem Cache?" oder "Wann wurde bei welchem Cache welche Wartung durchgeführt?".

Früher haben wir unsere Buchführung via CouchDB gemacht, darüber hatten wir hier im Blog im Juni 2013 bereits geschrieben. Das Verwaltung über die CouchDB Datenbank hat zwar eigentlich gut geklappt, erfüllte aber doch nicht so richtig alle Wünsche. Dazu gehören z.B. eine bessere Übersicht über durchgeführte Wartungen und eine Exportmöglichkeit für die Lösungen und Lösungswege unserer Mysteries (falls ein Cacher bei einem Rätsel mal nicht weiter kommt - obwohl die eigentlich alle gut lösbar sind ;-) ). Außerdem war noch gewünscht, sich eine Karte mit den Finalpositionen der eigenen Caches generieren zu lassen.

Also wurde im Frühjahr beschlossen, eine eigene Software für die Verwaltung der eigenen Caches zu schreiben.

Der Name: Cachekeeper.

Das ganze ist in Python und dem Webframework Django umgesetzt. Die Softwarebasis ist also die gleiche wie die von Mysterykeeper, welches hier im Blog im Mai dieses Jahres vorgestellt wurde.

Technisch gesehen wird Cachekeeper also über den Browser bedient, Django stellt die Daten (lokal) über den eingebauten Webserver bereit und die Daten an sich liegen in einer relationalen Datenbank.

Zu Cachekeeper an sich:

Zu jedem eigenen Cache kann man in Cachekeeper einen Eintrag anlegen. Dieser enthält folgende Pflichtangaben:

  • GC-Nummer (oder OC-Nummer)
  • Name des Caches
  • Cache-Typ (Tradi, Mystery, Multi, Letterbox...)
  • Dose
  • Finalkoordinaten
  • Gemarkung, in der der Cache liegt
außerdem gibt es noch folgende optionale Felder:
  • Notizen
  • Antworten (bei Mysteries wird hier die Lösung hinterlegt)
  • Geochecker-Link
  • OC-only Cache?
Das ganze sieht in der Eingabemaske so aus:

Eingabemaske zum Eingeben und Editieren von Caches
Des Weiteren können noch für jeden Cache Einträge für durchgeführte Wartungen hinterlegt werden, ebenso können für jedem Cache beliebig viele Anhänge (wie z.B. Bilder für das Listing, Logbuchvorlagen etc.) hochgeladen werden.

Die Eingabe über aller Daten erfolgt über das Admin-Frontend, welches in Django standardmäßig enthalten ist. Dieses ist auch auf dem Bildschirmfoto oben zu sehen.

Ruft man Cachekeeper im Browser über http://localhost:8000/cachekeeper auf, so sieht man die Startseite des Programms, welche wie folgt aussieht:

Startseite von Cachekeeper
Hier werden alle aktiven Caches tabellarisch aufgelistet, wobei die Tabelle per Mausklick auf die Spaltenüberschrift nach der entsprechenden Spalte umsortiert werden kann.

Klickt man auf eine der Cache-IDs gelangt man zur Seite mit den Details zum gewählten Cache:

Detailansicht zu einem Cache
Aufgelistet sind tabellarisch alle Details zum Cache, inklusive einer Auflistung, wann welche Wartung durchgeführt wurde und welche Anhänge dem Cache zugeordnet sind.

Apropos Wartung: Cachekeeper stellt auch eine Seite bereit, auf der alle Wartungen chronologisch auflistet sind. Dies sieht so aus:

chronologische Liste der durchgeführten Wartungen
Über der Tabelle auf der Startseite von Cachekeeper sind einige Links zu finden, die auf weitere Seiten der Anwendungen verlinken:

die Menüleiste von Cachekeeper
Der Link "OC-only Caches" ruft die Seite auf, auf der die Caches aufgelistet werden, die exklusiv bei opencaching.de gelistet sind. Ein Klick auf "all caches" erzeugt eine Tabelle der Caches wie auf der Startseite, in der aber alle Caches aufgeführt werden - egal ob aktiv oder archiviert.

Des Weiteren gibt es hier die Möglichkeit, die Lösungen für alle im Programm hinterlegten Mysteries zu exportieren.
Sinn dieser Funktion ist übrigens nicht, dass man die Lösungen für seinen eigenen Mysteries besonders einfach in irgendwelchen dubiosen Facebook Gruppen zur Verfügung stellen kann. Vielmehr man so die Lösungen seiner Mysteries "dabei haben", falls andere Geocacher mal Probleme beim Lösen haben sollten, ohne dass man direkt die ganze Cachekeeper Applikation dabei haben zu müssen.

Der Link "Stats" ruft die Statistikseite. Diese sieht so aus:

Statistikseite
Wie im Bildschirmfoto zu sehen ist, wird hier die Anzahl der aktiven Caches nach verschiedenen Kategorien gezeigt. Neben der im obigen Bild zu sehenden Zählung nach Cachetyp und Cachegröße gibt es noch Statistiken zu den eingesetzten Dosen, sowie den Caches pro Gemarkung.

Wie oben bereits erwähnt bietet Cachekeeper weiterhin die Möglichkeit, eine Karte mit allen Caches innerhalb einer Gemarkung bzw. in mehreren Gemarkungen zu generieren. Dies ist z.B. praktisch, wenn man dem lokalen Forstamt oder Ortsbürgermeister eine Karte der (eigenen) existierenden Caches vorlegen möchte, z.B. zwecks Einholen der Genehmigung weiterer Caches.

Als Kartendarstellung für die Cachekarte kann zwischen OSM und Google Maps gewählt werden.

Die Auswahlseite für die Gemarkung(en) sieht wie folgt aus:

Auswahl der Gemarkung
Wie zu sehen ist, ist die Auswahlseite zweigeteilt. Im oberen Bereich ist eine Auflistung alle Gemarkungen (Gemeinden / Orte), für die mindestens ein aktiver Cache in der Datenbank hinterlegt ist. Ein Klick auf "Google Map" bzw. "OSM" generiert die entsprechen Karte.

Diese sieht mit OSM als Kartenquelle so aus:

Beispielkarte mit Caches in einer Gemarkung
Die roten Kreise um die Marker entsprechen einem Radius von 161 m in Realitität. Die Karte kann optional aber auch ohne Kreise und nur mit Markern dargestellt werden.

Möchte man eine Karte mit Caches in mehreren Gemarkung erstellt, dann wählt man diese einfach über die zugehörige Checkbox im unteren Teil der Auswahlseite an (das Bildschirmfoto oben zeigt nicht die komplette Liste). Die Darstellung entspricht der der Caches in nur einer Gemarkung:

Beispielkarte für Caches in mehreren Gemarkungen
So weit, so gut. Wir haben Cachekeeper seit ein paar Monaten für uns im Einsatz. Und es ist schon ganz praktisch und übersichtlich. Jedenfalls übersichtlicher als die alte Lösung mit CouchDB.
Aktuell läuft Cachekeeper "nur" lokal auf einem unserer Laptops. Grundsätzlich wäre es aber auch ohne Probleme möglich, das Programm auf einer Server zu verfrachten, welcher über das Internet erreichbar ist.

Falls jemand Interesse an Cachekeeper für sich hat, kann er uns gerne kontaktieren. Wir löschen dann aber vorher die Datenbank mit den Daten unserer Caches ;-)

Für den (lokalen) Betrieb muss Python 3 und das Django-Webframework installiert sein. Außerdem muss, bevor die Dateien für Cachekeeper kopiert werden, ein Projekt und ein Applikation angelegt werden (was kein Problem ist). Dann werden die Cachekeeper Dateien kopiert und die Datenbank angelegt. Was auch kein Probem ist. Danach wäre Cachekeeper einsatzbereit.

Keine Kommentare:

Kommentar veröffentlichen