Entwicklung: Unterschied zwischen den Versionen

Zur Navigation springen Zur Suche springen
677 Bytes hinzugefügt ,  1. Februar 2021
K
Leerzeile entfernt
K (Leerzeile entfernt)
 
(22 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
''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 [http://de.wikipedia.org/ Wikipedia] nachschlagen.''
''Diese Seite wendet sich vor allem an Technikinteressierte und verwendet daher eine Menge Fachbegriffe, deren Erläuterung hier zu weit führen würde. Sie sind daher mit Links zur Wikipedia hinterlegt.''
----
----




[[Datei:Codegenerationen.png|thumb|[[Opencaching]]-Codehistorie]]
[[Datei:Codegenerationen.svg|thumb|[[Opencaching]]-Codehistorie (Stand Juni 2016)]]
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.  
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 65.000 Zeilen an selbstgeschriebenem PHP-, [http://www.smarty.net/ Smarty]-, HTML/CSS-, Javascript- und MySQL-Code; hinzu kommen weitere rund 150.000 Zeilen Bibliothekscode. Die Datenbank umfasst rund 110 Tabellen. Der Großteil dieser Software wurde vom Opencaching-Schöpfer [http://forum.geocaching-network.com/index.php?action=profile;u=33 Oliver] erstellt.
Die aktuelle Opencaching.de-Softwareversion 3.0 besteht aus rund 70.000 Zeilen an selbstgeschriebenem [[wikipedia:PHP|PHP]]-, [[wikipedia:Smarty|Smarty]]-, [[wikipedia:Hypertext Markup Language|HTML]]/[[wikipedia:Cascading Style Sheets|CSS]]-, [[wikipedia:JavaScript|Javascript]]- und [[wikipedia:MySQL|MySQL]]-Code. Hinzu kommen ca. 20.000 Zeilen für die [[OKAPI]] und weitere 200.000 Zeilen [[wikipedia:Programmbibliothek|Bibliothekscode]]. Die [[wikipedia:Datenbank|Datenbank]] umfasst ca. 125 Tabellen plus 15 für die OKAPI.


Der Opencaching-Quellcode steht unter einer [https://github.com/OpencachingDeutschland/oc-server3/blob/master/doc/license.txt modifizierten GNU-GPL-Lizenz] und ist [https://github.com/OpencachingDeutschland/oc-server3 frei verfügbar].
Der Opencaching-Quellcode steht unter einer [https://github.com/OpencachingDeutschland/oc-server3/blob/development/doc/GPL.txt modifizierten GNU-GPL-Lizenz] und ist [https://github.com/OpencachingDeutschland/oc-server3 frei verfügbar]. Erläuterungen dazu gibt es im Artikel [[Entwicklung/Codedoku]].
__NOTOC__
__NOTOC__
== Entwicklerteam ==
== Entwicklerteam ==
Mit der Gründung des [[Opencaching Deutschland e.V.]] ging die Weiterentwicklung auf ein neues Team über. Die aktiven Softwareentwickler sind in der [http://www.opencaching.de/articles.php?page=team Teamliste] aufgeführt. Neue engagierte Entwickler sind jederzeit willkommen! Wenn du im Team mitmachen möchtest, findest du weitere Informationen dazu im [http://forum.geocaching-network.com/index.php?board=33.0 Opencaching-Forum].
Mit der Gründung des [[Opencaching Deutschland e.V.]] ging die Weiterentwicklung auf ein neues Team über. Die aktiven Softwareentwickler sind in der [http://www.opencaching.de/articles.php?page=team Teamliste] aufgeführt. Neue engagierte Entwickler sind jederzeit willkommen! Wenn du im Team mitmachen möchtest, findest du weitere Informationen dazu im [http://forum.opencaching.de/index.php?board=33.0 Opencaching-Forum].


== Entwicklungsumgebung ==
== Entwicklungsumgebung ==
[[Datei:Tux.png|thumb|hochkant=0.75]]
[[Datei:Tux.png|thumb|hochkant=0.75]]
Für die Entwickler steht eine virtuelle Linux-Maschine zur Verfügung, die unter VirtualBox läuft und wie die 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.
Für die Entwickler steht eine virtuelle Linux-Maschine als [[wikipedia:VirtualBox|VirtualBox]]-Image zur Verfügung, die wie die Opencaching.de-Website auf [[wikipedia:CentOS|CentOS]] basiert (→ [[Entwicklung/Entwicklersystem|Entwicklersystem]]). In dieser VM laufen ein [[wikipedia:Apache HTTP Server|Apache]]- und ein [[wikipedia:MySQL|MySQL]]-Server. Das eigentliche Programmieren und Testen findet auf dem Hostsystem unter Linux, Windows oder MacOS statt, mit einem beliebigen [[wikipedia:UTF-8|UTF-8]]-fähigen Editor bzw. einer PHP-[[wikipedia:Integrierte Entwicklungsumgebung|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, und die interne Dokumentation wird per Foswiki verwaltet. Allgemeine Diskussionen finden im internen Teamforum statt.
Zur Codeverwaltung und -versionierung wird [[wikipedia:Git|Git]] eingesetzt, mit einem üblichen Workflow (Stable-Branch, Entwicklungs-Branch, Test-Branch und Feature-Branches). Eine ausführliche Anleitung dazu gibt es [[Entwicklung/Git|hier im Wiki]].
 
Anstehenden Aufgaben werden in einer [[Entwicklung/Todo-Liste|Todo-Liste]] verwaltet.
 
Allgemeine Diskussionen finden im [http://forum.opencaching.de/index.php?board=43.0 offenen Entwicklerforum] statt. Im internen Team-Wiki gibt es Anleitungen zu Installation und Verwendung der Entwicklungsumgebung; diese sollen nach Neuaufsetzen der Entwicklungsumgebung hier ins allgemeine Wiki übertragen werden.


== Datenschnittstellen für Tool- und App-Entwickler ==
== 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 [[Das Onlinelog|Loggen]] möglich sein, sodass auch [[Smartphone-Apps für Opencaching.de|Smartphone-Apps]] mit [[Fachjargon#Field Logging|Field-Logging]]-Funktion möglich werden.
Über die [[Opencaching-API]] (OKAPI) oder die [[XML-Schnittstelle]] können alle Cache- und Logdaten frei heruntergeladen werden. Die OKAPI kann auch [[Das Onlinelog|Logs]] hochladen, sodass auch [[Smartphone-Apps für Opencaching.de|Smartphone-Apps]] mit [[Fachjargon#Field Logging|Field-Logging]]-Funktion realisierbar sind.


== Weitere Opencaching-Entwicklungsprojekte ==
== Weitere Opencaching-Entwicklungsprojekte ==
Zeile 26: Zeile 30:
* [http://code.google.com/p/opencaching-api/ Opencaching-API]
* [http://code.google.com/p/opencaching-api/ Opencaching-API]


[[Kategorie:Opencaching]]
[[Kategorie:Entwicklung| ]]
70

Bearbeitungen

Navigationsmenü