Development Process

OpenOLAT Entwicklungsteam und Finanzierung

Im Moment wird die Entwicklung hauptsächlich durch frentix durchgeführt. frentix wurde 2006 als Spin-Off des OLAT Projekts an der Universität Zürich von einem der Initiatoren von OLAT gegründet. frentix bietet seit Beginn Dienstleistungen wie Hosting, Wartung und Entwicklungsdienstleistingen für das LMS an und hat 2011 die OpenOLAT Initiative gründet. Die Gründe für diesen Fork sind im “Open Letter” zusammen gefasst.

Die OpenOLAT Entwicklung ist durch die vielen Kunden von frentix abgestützt. Die Unterstützung ist entweder direkt (Finanzierung einer spezifischen Funktion) oder indirekt (über Hosting und Wartungsverträge). Zusätzlich suchen wir aktiv nach Partnern, mit denen wir projektbasierend zusammen eine Finanzierung für grössere Projekte umsetzen können.

Die noch junge OpenOLAT Community ist schnell gewachsen und wir freuen uns über den immer stärker anwachsenden Anteil der Code Contribution durch die Community. Die Community ist ausserdem sehr aktiv dabei, OpenOLAT bekannt zu machen oder beispielsweise in andere Sprachen zu übersetzen.

Wenn Sie das Projekt finanziell unterstützen möchten, finden Sie weitere Informationen unter Community.

Open Source Projekt – Open Development Prozess

OpenOLAT wird entwickelt und lizenziert unter der Apache 2.0 Open Source Software Lizenz. Der Quellcode ist dabei auf unserem Mercurial repository frei verfügbar und immer aktuell. Wir planen neue Funktionen und managen die Bugs in dem OpenOLAT Jira.  Das OpenOLAT Jira ist offen und transparent, damit kann jeder den Entwicklungsaktivitäten folgen. Dort werden Issues erstellt, beschrieben und den Releases zugeordnet. Grössere Funktionen werden gewöhnlich vorab auf der öffentlichen OpenOLAT Mailingliste oder dem OpenOLAT Community Server diskutiert.

Beim Code-Commit in unser internes Repository wird automatisch ein Build- und Testprozess durchlaufen. Wenn dieser Integrations- und Qualitätsprozess erfolgreich durchlaufen ist, wird der Code automatisch in das öffentliche Repository gepusht. Dies wird an einem normalen Entwicklungstag mehrfach pro Tag durchgeführt. Somit kann jeder den aktuellen Stand der Aktivitäten sehen und den aktuellsten Code jederzeit testen. Gelegentlich werden bestimmte Entwicklungs-Milestones als stabile Releases getagt. Dann werden neben den automatisierten Tests umfangreiche manuelle Tests durchgeführt.

In OpenOLAT werden 3 Ziffern für die Releasenummer verwendet: die ersten beiden Ziffern markieren die Feature-Releases (z.B. 9.0, 9.1, 9.2). Die dritte Ziffer wird für Maintenance- und Bugfix Releases als Zusatz zum Hauptrelease verwendet, ohne das neue grosse Funktionen hinzugefügt werden. Diese Minor Releases enthalten Erweiterungen oder kleine neue Funktionen, sind aber normalerweise Erweiterungen des bestehenden Releases.

Roadmap / Product Backlog

Die Roadmap ist bei OpenOLAT keine festgelegte Planung, wann genau die nächsten Funktionen zur Verfügung gestellt werden. Vielmehr gibt es ein Product Backlog (gemäss der SCRUM Terminologie, siehe unten), in der neue Funktionen definiert und der Zeitaufwand abgeschätzt werden.

Bei den Entwicklungsarbeiten für einen neuen Release werden die wichtigsten Funktionen ausgewählt und umgesetzt. Was dabei wichtig ist, entscheidet frentix, die Partner und gegebenfalls die finanziellen Unterstützer für die entsprechende Funktion. Die Umsetzung erfolgt in einigen Implementationszyklen (Sprints), bis die Funktion erfolgreich programmiert ist.

In der folgenden Tabelle finden Sie einen Überblick über die wichtigsten geplanten Funktionen. Sämtliche Funktionen des Backlogs finden sich in unserem Jira-System.

Projekt Umfang Gesichert Status Update Informationen
Login Redesign (Twitter, Facebook, OpenID, … Authorisierung 10’000 CHF 50% Weiteres Funding nötig 03.03.2014 Der Login-Screen soll vereinfacht und attraktiver gemacht werden.
Redesign OpenOLAT 50’000 CHF 70% Abgeschlossen 01.09.2014 Redesign des Home, Responsive Design, Anpassung Kurslayout
Neue Datenstruktur 20’000 CHF 30% In Entwicklung 15.02.2014 Neue Datenstruktur für Kurs- und Gruppenrechte um die Skalierung und Performance zu optimieren
Neuer Testeditor QTI 2.1 120’000 CHF 30% In Planung 23.10.2014 Neuer webbasierter Test-Editor und Bewertungswerkzeug für QTI 2.1

 

Haben Sie Interesse, uns bei diesen Funktionen zu unterstützen? Dann freuen wir uns über Ihre Kontaktaufnahme!

Agile Entwicklung mit SCRUM

Seit vielen Jahren implementiert frentix seine Software Projekte nach der SCRUM-Methode und anderen agilen Methoden. Diese Praktiken haben sich als sehr hilfreich und flexibel erwiesen und so nutzen wir diese auch für die Entwicklung von OpenOLAT. Die folgenden Ideen könnten dabei auch interessant für die Community sein:

  • Nutzung eines Produkt Backlogs anstatt einer Release Roadmap.
  • Der Code wird frühzeitig und offen released, immer wenn ein Sprint beendet wurde.
  • Bugs haben die höchste Priorität und werden sofort gefixt.
  • Die Releaseplanung erfolgt recht kurzfristig je nach Backlog, Anforderungen und Ressourcen.
  • Ständige Integration und automatisiertes Testen sorgen für hohe Qualität.
  • Das System und die Architektur werden wenn immer möglich überprüft, um das System stabiler, schneller, logischer und kosistenter zu machen.
  • Arbeiten in kleinen, selbstorganisierten Teams ist produktiver und macht mehr Spass.

Tool Sponsoren

Die folgenden Unternehmen sponsern die OpenOLAT Entwicklung indem sie freie Entwicklungslizenzen zur Verfügung stellen.

RTEmagicC_atlassian_darkbluetext_large_transp

Atlassian unterstützt das Open Source Projekt mit der Issue Management Software Jira. Mit dem Tool Jira und Greenhopper kann das Entwicklungsteam Bugfixes und neue Funktionen sehr einfach tracken. Das Kompilieren der Releases kann damit sehr einfach durchgeführt werden.

Einen Überblick über die Software Produkte von Atlassians finden Sie hier:  Jira, GreenHopper, Fisheye and more

 

RTEmagicC_yourkit2

YourKit unterstützt das Open Source Projekt OpenOLAT mit einem Java Profiler. Mit YourKit kann das Entwicklungsteam schnell Engstellen und Probleme finden und die Software so optimieren, dass ein Maximum an Perfomance erreicht werden.

Einen Überblick über die Software Produkte finden Sie hier: YourKit Java Profiler und YourKit .NET Profiler.

 

logo_intellij_idea

JetBrains unterstützt das Open Source Projekt OpenOLAT mit kostenlosen Lizenzen für IntelliJ IDEA, der intelligentesten Java IDE auf diesem Planeten. IntelliJ IDEA beschleunigt die OpenOLAT Entwicklung weil die Entwicklungsumgebung perfekt funktioniert ohne ständiges Basteln und eine herrvorragende User Experience bietet.

Einen Überblick über die Softwareprodukte von JetBrains finden sie hier:  JetBrains Produkte Homepage