[OC 3.0v12] What3Words, Send-to-GPS und mehr…

Genau 11 Monate nach Veröffentlichung des letzten Updates bei Opencaching.de kommt wieder etwas Bewegung in die Sache. Das Update ist zwar nicht ganz das, was eigentlich dafür geplant und erwartet war, aber immerhin bringt es auch einige interessante und/oder wichtige Dinge mit sich. Darunter ein kleiner Bugfix, der schon von vielen Benutzern immer wieder angefragt wurde, der dann lange auf dem Testserver lag und jetzt endlich den Weg ins Produktivsystem gefunden hat. Die Rede ist vom „Send-to-GPS“ Button.

Nachdem Garmin dereinst ein wenig am Communicator-Plugin gebastelt hatte, funktionierte dieser nämlich nicht mehr und wurde deshalb zunächst deaktiviert. Das wiederum brachte ein weiteres Problem mit sich, denn damit verschwand auch, zumindest bei Nutzern des entsprechenden Userscripts, der Button mit dem ein Cache direkt an die Android-App c:geo gesendet werden konnte.

Cacheansicht bei Opencaching.de

Der nämlich orientierte sich am GPS-Button. Kurzum, eine Änderung bei Garmin und zwei „Ausfälle“ bei Opencaching.de. Aber das ist nun Geschichte, denn der „Send-to-GPS“ Button ist wieder am Start, funktioniert und ermöglicht dem Userscript auch den „Send-to-c:geo“ Button. Darüber hinaus gibt es aber auch etwas komplett neues, im Teamblog von Opencaching.de wurde ja auch schon darüber berichtet. What3Words. Ich selbst habe What3words bereits bei mir im Blog vorgestellt und finde es toll, das dieses interessante Projekt nun auch direkt bei Opencaching.de nutzbar geworden ist. So kann man also direkt in der Übersicht der alternativen Koordinatenformate eines Caches dessen What3Words-„Koordinate“ ablesen und auch in der Karte direkt nach solchen „Koordinaten“ suchen. Ebenfalls noch recht erwähnenswert sind zwei weitere Punkte.

Zum Einen wäre da eine Art „Abstandsregel“. Nicht das da jetzt etwas ähnlich kreativitätsbeschneidendes wie bei gc.com eingeführt wurde, nein, es wurde lediglich eine Funktion eingeführt, die versehentliches doppeltes Listen eines Caches verhindert. Ist auf einer Koordinate bereits ein Cache gelistet, erfolgt eine Warnung. In der Vergangenheit ist es nämlich oft vorgekommen, das bei automatischem Übertrag eines Listings von gc.com mittels ocprop ein Cache doppelt und mehrfach in die Datenbank geschrieben wurde. Oder aber es gab beim Absenden eines Listings einen kurzen schluckauf in der Internetverbindung und ein weiterer Klick sorgte für einen doppelten Eintrag. Zum Anderen wäre da noch die Option, in seinen Profileinstellungen festlegen zu können, das bei intern verschickten Emails generell die eigene Emailadresse mitgesendet wird. Bis dato musste dies ja explizit beim Absenden angehakt werden, was dazu führte, das oft keine Emailadresse mitgeschickt wurde. Was wiederum das Antworten erschwert. Die weiteren Änderungen sind eher korrigierender Natur und der interessierte Leser kann sie direkt dem Changelog entnehmen:

Vollständiges Changelog für OC 3.0 Version 12 vom 31. Mai 2015 anzeigen…

Was zunächst geplant war …

Eingangs hatte ich ja angedeutet, das für Version 12 eigentlich etwas ganz anderes geplant war. Und das hatte es eigentlich in sich, denn es betraf die komplette Opencaching-Software. Aktuell basiert die Opencaching-Software auf zwei verschiedenen Systemen, lib1 und lib2, wobei der größere Teil auf lib2 basiert und Smarty als Templatesystem benutzt. Da der Code nun schon deutlich in die Jahre gekommen ist, ganz besonders lib1, aber eben auch schon lib2, sollte hier ein umfangreicher Umbau auf Basis des Symfony-Framework erfolgen. Ich habe mir das mal vom damit befassten Entwickler, mbirth, erklären lassen:

Dabei wäre Smarty zwar zunächst als Templatesystem geblieben, lib1 und lib2 wären jedoch durch ordentlich sortierte Klassen mit Namespaces und Dependency Injection ersetzt worden. Darüber hinaus bringt Symfony Autoloading mit, d.h. es sind keine require() oder include() mehr nötig. Der Code wäre damit auch vollständig PSR-1, 2 und 4-konform geworden, sprich, er entspräche den aktuellen Coding-Style-Richtlinien. PHP5.3+ Konformität wäre ebenfalls am Start gewesen. Die ganzen externen Bibliotheken würde dabei der Composer laden, so dass man die nicht selbst mit ausliefern muss, sondern der Composer automatisch die richtigen Versionen aus dem Netz auscheckt.

Weite Teile des Codes sind/waren bereits umgebaut, jedoch hätte die Verwendung bedeutet, das auch andere Entwickler ein wenig dazu lernen und sich entsprechend einarbeiten. Der Wille war jedoch nicht vorhanden und so wurde, trotz weit fortgeschrittener Arbeiten am Codeumbau dagegen gestimmt und das Projekt komplett verworfen. Sehr schade, wie ich finde, denn Opencaching.de entgeht damit die einmalige Chance, seinen Code auf ein modernes Fundament zu setzen und auf diesem Wege möglicherweise auch leichter Entwickler zu finden. Immerhin hat man sich als Entwickler deutlich einfacher in einen strukturierten und modernen Code eingearbeitet, als in den derzeitigen Mix aus lib1 und lib2. 🙄

Update/Nachtrag, 18.06.15:

Da ja gerade der letzte Abschnitt dieses Artikels aus den Reihen des Vorstandes des Opencaching Deutschland e.V. als sehr subjektiv dargestellt wurde, als einseitige Betrachtungsweise der Fakten und als allein meine Wahrheit, noch ein paar Worte, weshalb ich es als riesigen Fehler ansehe, den Codeumbau auszusetzen. Auch wenn er recht lange andauerte und in letzter zeit wenig diesbezügliche Aktivität sichtbar war, alles lief wie angekündigt und wäre bei OC nicht plötzlich wieder Bewegung in die Entwicklung gekommen, Version 12 wäre bald als großes Codeupdate fertig gewesen. Aber gut, das ist vom Tisch. Das Hauptproblem das jetzt wieder besteht, ist eigentlich ein ganz altes: Der Code ist uralt und wurde vor etlichen Jahren nach damaligen Standards geschrieben.

Im Laufe der Zeit kamen immer wieder Patches hinzu, die nicht wirklich dafür sorgten das er übersichtlicher wurde. Neue Entwickler haben es somit enorm schwer, sich im OC-Code zurecht zu finden. Aktuell kennt sich genau eine Person damit aus und wenn diese wegfällt, dann kann es unter Umständen unmöglich werden einen oder mehrere neue Entwickler zu finden. Klar, Interesse haben schon viele bekundet, nur sind die zumeist wegen diverser Hürden (komplexes Entwicklersystem, undurchschaubarer Code) wieder gegangen. Und eine dieser Hürden hätte man nun entfernen können. Schaut man sich den aktuellen Code genauer an, oder überlässt das Tools die sich damit auskennen, dann findet man ghleich eine ganze Reihe Fehler und Probleme, die durchweg durch den Codeumbau hätten entfernt werden können. Aber, das hätte eben auch ein wenig dazulernen bei aktuell vorhandenen Entwicklern bedurft und der Wille dazu ist eben nicht vorhanden. Was übrigens nicht mein Fakt ist, sondern eine Tatsache.

Schrottie

Ich blogge hier seit Anfang 2005 über wechselnde Themen. Zumeist handelt es sich dabei um Linux, Android, Geocaching oder Fotografie, aber zunehmend auch rund ums Fahrradfahren (mit MTB und Rennrad), das ich nach einigen Jahren Pause wieder für mich entdeckt habe. Dabei ist die Themenwahl insgesamt recht selektiv, also ich schreibe immer nur dann, wenn mich etwas wirklich interessiert und/oder bewegt und so kommt es dann auch, das man hier zuweilen auch private Dinge findet. Wer mir für die Arbeit ein kleines Dankeschön zukommen lassen möchte, der kann dies gern über meinen Amazon Wunschzettel tun. :-)

5 thoughts to “[OC 3.0v12] What3Words, Send-to-GPS und mehr…”

  1. Eine Anmerkung zu der nicht realisierten Code-Überarbeitung:

    Es handelte sich um einen umfangreichen und tiefgreifenden Umbau des OC-Programmcodes, den ein Entwickler Anfang 2014 in Eigeninitative begonnen hatte. Im Opencachig-Team gab es niemanden, der diese Arbeiten hätte prüfen oder daran mitwirken können. Der Entwickler hat dieses Projekt schließlich selbst mangels Unterstützung aus dem OC-Team eingestellt; daraufhin wurde es von OC verworfen. Der letzte, halbfertig Stand der Code-Überarbeitung ist hier einsehbar.

    1. Nö, es war allgemein angenommen und sollte Version 12 werden. Kurz vorher jedoch kehrte ein ehemaliger Entwickler ins Team zurück und wollte nicht abwarten bis der Codeumbau fertig ist bzw. wollte sich auch nicht entsprechend einarbeiten. Und danach einem im Verein schneller Kleinkram zum Vorzeigen wichtiger ist als alles andere, wurde er entsprechend unterstützt. Aber das sind ohnehin Vereinsinterna und die gehören hier nicht her.

  2. Hi,

    bis jetzt waren Deine redaktionell sehr gut aufbereiteten Erläuterungen der neuen OC-Versionen immer objektiv. Dies ist bei diesem Artikel leider nicht der Fall. Ich habe kein Problem mit der einseitigen Betrachtungsweise von Situationen – davon leben letzten endes Blogs und ich diskutiere auch gerne in diesen, aber nicht in einem Blogbeitrag, der auf der OC-Seite im Changelog verlinkt werden soll, um die Änderungen der Version 12 redaktionell zu erläutern.

    Wir haben jetzt zwei Möglickeiten. Entweder bleibt der Artikel so wie er ist, dann werden wir ihn nicht verlinken, oder Du splittest diesen in einen „fachlich objektiven“ und einen „subjektiven“ Artikel, dann verlinken wir den einen und nehmen im anderen – wenn gewünscht – gerne Stellung.

    Die Entscheidung von mbirth sich aus der Entwicklung von OC zurückzuziehen bedauere ich sehr, dass habe ich ihm auch mehr als einmal gesagt, jedoch gehören dazu auch immer 2. Diese Entscheidung an dem Wiedereinstieg eines einzelnen Entwicklers festzumachen, halte ich für nicht gerechtfertigt.

    Lieben Gruß
    Micha

      1. Alles klar,

        wenn das DEINE Fakten sind und Du nicht daran interessiert bist beide Seiten zu betrachten, tut mir das leid.

        SG
        Michael

Kommentare sind geschlossen.