Entwicklung: Unterschied zwischen den Versionen

Zur Navigation springen Zur Suche springen
352 Bytes hinzugefügt ,  1. Februar 2021
K
Leerzeile entfernt
(+wikipedia-links)
K (Leerzeile entfernt)
 
(18 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 3: Zeile 3:




[[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 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 weitere rund 150.000 Zeilen Bibliothekscode. Die Datenbank umfasst rund 120 Tabellen.
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 als [[wikipedia:VirtualBox|VirtualBox]]-Image zur Verfügung, die wie die Opencaching.de-Website auf [[wikipedia:CentOS|CentOS]] basiert. 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.
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 [[wikipedia:Git|Git]] eingesetzt, mit einem üblichen Workflow (Stable-Branch, Entwicklungs-Branch, Test-Branch und Feature-Branches). Als [[wikipedia:Issue-Tracking-System|Issue]]-/[[wikipedia:Bugtracker|Bugtracker]] dient zurzeit [[wikipedia:Request Tracker|RT]], das aber durch ein neues System ersetzt werden soll. 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]].


Im internen Team-Wiki gibt es Anleitungen zu Installation und Verwendung der Entwicklungsumgebung.
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 28: 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ü