Freie Projektmanagement-Software

Auf der Suche nach einer auf PHP basierenden Projektmanagementlösung mit Unterstützung für agile Methoden wie z.B. Scrum habe ich OrangeScrum entdeckt. Die Lösung wird dabei als Service und als Community-Edition angeboten, welche auf dem eigenen Server installiert werden kann.

Das OrangeScrum Dashboard

Das OrangeScrum Dashboard

Mit der Software ist die Projekt- und Ressourcenplanungen, sowie die Aufgabenverteilung unter einer Oberfläche vereint. Lizenziert ist OrangeScrum unter der GPL in der Version 3 und damit freie Software. Der Quelltext von OrangeScrum ist auf GitHub zu finden. Ein speparater Installer wird nicht mitgeliefert – stattdessen müssen vor dem Start einige Konfigurationsdateien angepasst und die entsprechende Datenbank angelegt werden – danach läuft OrangeScrum ohne Probleme.

Hacking with Swift

Wer sich mit Apples neuer Programmiersprache Swift vertraut machen möchte, kann sich natürlich durch die Apple Dokumentation kämpfen. Einfacher wird es mit den Tutorials von Hacking with Swift.

hackingwithswift.com

hackingwithswift.com

Auf der Webseite gibt es eine Reihe von praktischen Lektionen, in welchen kleinere und größere Apps gebaut werden, so das man einen schnellen Einstieg in die Entwicklung mit Swift bekommt. Alle Beispiele sind dabei auf GitHub zu finden – freigeben unter Public Domain und damit für jeden Zweck nutzbar.

Internationalisierung für Webapplikationen

Bei vielen Webapplikationen ist die Internationalisierung, also die Anpassung an unterschiedliche Sprachen, ein wichtiges Kriterium. Damit man bei diesem Thema nicht alleine gelassen wird, informiert die Webseite FormatJS darüber und zeigt Wege die eigene Webapplikation internationalisieren.

formatjs.io

formatjs.io

Die dabei verwendeten Bibliotheken sind unter freien Lizenzen wie der BSD- und MIT Lizenz lizenziert und auf GitHub zu finden.

Quellcodeformatierung unter Xamarin Studio

Unter Xamarin Studio ist es wie in vielen IDEs möglich den Quelltext automatisch zu formatieren. Allerdings unterscheidet sich das Konzept etwas, von anderen C#/.NET IDEs wie dem Visual Studio. Xamarin Studio kennt hierbei einmal Benutzerrichtlinien und normale Einstellungen. In den Einstellungen kann die Codeformatierung für den entsprechenden Nutzer angelegt und modifiziert werden.

Die Einstellungen im Xamarin-Studio

Die Einstellungen im Xamarin Studio

Möchte man bestimmte Einstellungen allerdings auf mehreren Rechnern nutzen, so sollte man lieber eine Benutzerrichtlinie anlegen. Wenn die passenden Einstellungen in der Benutzerrichtlinie definiert sind, können sie auch als Datei exportiert und auf dem anderen Rechner importiert werden. Damit die Nutzerrichtlinie Wirkung zeigt, muss sie in den Einstellungen ausgewählt werden – damit werden die aktuellen Einstellungen mit denen der Richtlinie überschrieben. Ändert man die Richtlinie muss dieser Prozess wiederholt werden. Nachdem die Einstellungen angepasst wurden, kann die geöffnete Datei mittels Ctrl + I neu formatiert werden.

Submodule unter Git nutzen

Manchmal möchte man Git-Repository in einer bestimmten Art strukturieren. So will man unter Umständen mehrere Repositories logisch zu einem Repository gesellen. Dafür gibt es unter Git Submodule. Gegeben sei folgende Repositorystruktur:

Framework
Library1
Library2
Library3

Möchte man die Bibliotheken Library1, Library2 und Library3 logisch in das Repository Framework einbinden, kann man die Submodule nutzen. Dazu geht man in das Repository Framework und fügt die andere Repositories als Submodule hinzu:

git submodule add :Library1
git submodule add :Library2
git submodule add :Library3

Damit wird im Repository Framework eine Datei mit dem Namen .gitmodules angelegt, in welcher folgender Inhalt zu finden ist:

[submodule "Library1"]
	path = Library1
	url = :Library1

[submodule "Library2"]
	path = Library2
	url = :Library2

[submodule "Library3"]
	path = Library3
	url = :Library3

Diese Datei kann dann per Commit dem Repository hinzugefügt werden. Beim klonen eines solchen Repositories, muss man nur darauf achten das es rekursiv geklont und gepullt (git submodule foreach git pull) wird, damit die Submodule ebenfalls aktualisiert werden.