Entwicklung: Unterschied zwischen den Versionen

Zur Navigation springen Zur Suche springen
keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
(11 dazwischenliegende Versionen von 3 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 [[wikipedia:Programmbibliothek|Bibliothekscode]]. Die [[wikipedia:Datenbank|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]].
 
Eine vollständige Versionsgeschichte der 3.0er OC-Software gibt es [http://changelog.oconly.de hier].
__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 ==
Zeile 19: Zeile 21:
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]].
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]].


Als [[wikipedia:Issue-Tracking-System|Issue]]-/[[wikipedia:Bugtracker|Bugtracker]] dient zurzeit [[wikipedia:Request Tracker|RT]]. Die Todo-Liste ist nur Teammitgliedern zugänglich, da sie auch vertraulich zu behandelnde Emails von Nutzern enthält. Die Einrichtung von [[wikipedia:Redmine|Redmine]] als neues, offenes Tracking-System ist in Arbeit.
Anstehenden Aufgaben werden in einer [[Entwicklung/Todo-Liste|Todo-Liste]] verwaltet.


Allgemeine Diskussionen finden im [http://forum.opencaching-network.org/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.
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 ==

Navigationsmenü