Entwicklung

Aus Opencaching-Wiki
Zur Navigation springen Zur Suche springen

Diese Seite wendet sich vor allem an Technikinteressierte und verwendet daher eine Menge Fachbegriffe, deren Erläuterung hier zu weit führen würde. Nähere Informationen dazu kannst du z. B. in der Wikipedia nachschlagen.



Opencaching-Codehistorie

Hinter der Opencaching-Website verbergen sich eine Menge Technik und Entwicklungsarbeit. Was im Jahr 2003 als ein kleines Bastelprojekt begann, wuchs im Laufe der Jahre zu einer der weltweit bedeutendesten Geocaching-Plattformen heran.

Die aktuelle Opencaching.de-Softwareversion 3.0 besteht aus rund 70.000 Zeilen an selbstgeschriebenem PHP-, Smarty-, HTML/CSS-, Javascript- und MySQL-Code; hinzu kommen weitere rund 150.000 Zeilen Bibliothekscode. Die Datenbank umfasst rund 120 Tabellen. Der Großteil dieser Software wurde vom Opencaching-Schöpfer Oliver erstellt.

Der Opencaching-Quellcode steht unter einer modifizierten GNU-GPL-Lizenz und ist frei verfügbar.

Entwicklerteam

Mit der Gründung des Opencaching Deutschland e.V. ging die Weiterentwicklung auf ein neues Team über. Die aktiven Softwareentwickler sind in der Teamliste aufgeführt. Neue engagierte Entwickler sind jederzeit willkommen! Wenn du im Team mitmachen möchtest, findest du weitere Informationen dazu im Opencaching-Forum.

Entwicklungsumgebung

Für die Entwickler steht eine virtuelle Linux-Maschine als VirtualBox-Image zur Verfügung, die wie die Opencaching.de-Website auf CentOS basiert. In dieser VM laufen ein Apache- und ein MySQL-Server. Das eigentliche Programmieren und Testen findet auf dem Hostsystem unter Linux, Windows oder MacOS statt, mit einem beliebigen UTF-8-fähigen Editor bzw. einer PHP-IDE und einem Webbrowser.

Zur Codeverwaltung und -versionierung wird Git eingesetzt, mit einem üblichen Workflow (Stable-Branch, Entwicklungs-Branch und Feature-Branches). Als Issue-/Bugtracker dient zurzeit RT. Allgemeine Diskussionen finden im internen Teamforum statt.

Im internen Team-Wiki gibt es Anleitungen zu Installation und Verwendung der Entwicklungsumgebung.

Datenschnittstellen für Tool- und App-Entwickler

Über die XML-Schnittstelle können alle Cache- und Logdaten frei heruntergeladen werden. Über die in Arbeit befindliche Opencaching-API (OKAPI) wird zusätzlich auch das Loggen möglich sein, sodass auch Smartphone-Apps mit Field-Logging-Funktion möglich werden.

Weitere Opencaching-Entwicklungsprojekte