Entwicklung: Unterschied zwischen den Versionen
(github-Links) |
|||
(24 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. | ''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. | [[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 | 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/ | 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. | 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 | 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). | 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 [[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 == | ||
* [ | * [https://github.com/opencaching/opencaching-pl Opencaching Polen] | ||
* [ | * [https://github.com/opencaching/okapi Opencaching-API] | ||
[[Kategorie: | [[Kategorie:Entwicklung| ]] |
Aktuelle Version vom 3. Mai 2024, 15:45 Uhr
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.
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 ca. 20.000 Zeilen für die OKAPI und weitere 200.000 Zeilen Bibliothekscode. Die Datenbank umfasst ca. 125 Tabellen plus 15 für die OKAPI.
Der Opencaching-Quellcode steht unter einer modifizierten GNU-GPL-Lizenz und ist frei verfügbar. Erläuterungen dazu gibt es im Artikel Entwicklung/Codedoku.
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 (→ Entwicklersystem). 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, Test-Branch und Feature-Branches). Eine ausführliche Anleitung dazu gibt es hier im Wiki.
Anstehenden Aufgaben werden in einer Todo-Liste verwaltet.
Allgemeine Diskussionen finden im 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
Über die Opencaching-API (OKAPI) oder die XML-Schnittstelle können alle Cache- und Logdaten frei heruntergeladen werden. Die OKAPI kann auch Logs hochladen, sodass auch Smartphone-Apps mit Field-Logging-Funktion realisierbar sind.