Thema: ARSnovaDatum: 17.12.2014

Wer an der Technischen Hochschule Mittelhessen Informatik studiert, wird sicherlich irgendwann mit dem Audience Response System ARSnova konfrontiert werden. Es kann sogar gut sein, dass einem selbst die Möglichkeit geboten wird, diese Anwendung einmal genauer unter die Lupe zu nehmen.
Doch wie jeder weiß, gilt auch hier der Leitspruch: "Never touch a running System"! Daher möchte man sich ARSnova gerne auf seinem eigenen System anschauen, vielleicht sogar hier und da einige Änderungen vornehmen?

Um dieses Vorhaben zu verwirklichen, sind einige Vorkehrungen zu treffen, um in einer möglichst optimalen Umgebung für die Anwendung zu agieren. Doch keine Angst, es hört sich schlimmer an, als es in Wirklichkeit ist.
Bei dem System, auf welchem ARSnova lokal verwendet werden soll, handelt es sich um Mac OS X Yosemite. Allerdings sollten die hier angewandten Schritte auch leicht, nur etwas anders, auf jedem anderen System anwendbar sein. Eine Garantie dafür, dass es bei euch dann funktioniert, kann ich leider nicht geben. Achtet darauf, was ihr im Terminal eingebt. Falls ihr euch irgendwelche Einstellungen zerschießen solltet, seid ihr selbst dafür verantwortlich!

Achtung: Für dieses Tutorial benötigt ihr Git auf eurem System. Näheres dazu findet ihr unter GitHub

Zu aller erst öffnet man das Terminal, zu finden unter Launchpad -> Andere -> Terminal. Standardmäßig befindet man sich hier schon im Home Verzeichnis des angemeldeten Nutzers. Hier führen wir Folgendes aus:

mkdir arsnova

Nun wurde in unserem Home Verzeichnis ein Ordner mit dem Namen arsnova angelegt. In diesen wollen wir auch sogleich wechseln.

cd arsnova

Der Ordner arsnova wird alle zu ARSnova gehörenden Repositories beinhalten. Benötigt werden arsnova-war, arsnova-mobile und setuptool welche ihr von GitHub klonen könnt. Ihr wendet daher folgende Befehle nacheinander an.

git clone https://github.com/thm-projects/arsnova-war

git clone https://github.com/thm-projects/arsnova-mobile

git clone https://github.com/thm-projects/setuptool

Nachdem das Terminal kein weiteres Lebenszeichen mehr von sich gibt, könnt ihr davon ausgehen, dass die genannten Anwendungen erfolgreich geklont wurden. Nun muss lediglich noch eine Datei verschoben und umbenannt werden und schon habt ihr die grundlegenden Schritte erledigt. Zunächst wird ein Ordner in /etc/ erstellt.

sudo mkdir /etc/arsnova

Der Vorsatz sudo wird benötigt, da ihr ansonsten keine Schreibrechte in dem Ordner /etc/ habt.

sudo mv arsnova-war/src/main/resources/arsnova.properties.example /etc/arsnova/arsnova.properties

Mit mv wird die Datei arsnova.properties.example nun nach /etc/arsnova/ verschoben und dort arsnova.properties genannt. Beachtet, für all diese Schritte befinden wir uns in dem Ordner arsnova den wir zuvor in unserem Home Verzeichnis angelegt haben.
Damit befindet sich ARSnova nun auf eurem System, ist allerdings noch nicht funktionsfähig. Doch das wird sich nun im Verlauf noch ändern. Zunächst ladet ihr euch mit einem Browser eurer Wahl Apache CouchDB herunter. Zu finden unter: Apache CouchDB
Nachdem ihr diese gestartet habt, eine Installation ist nicht notwendig, wechselt ihr in den Ordner setuptool

cd setuptool

Hier führt ihr nun die tool.py aus, welche in CouchDB einige Daten einpflegen wird.

python tool.py

Nicht vergessen, wieder zurück in den arsnova Ordner zu wechseln.

cd ..

Als nächstes benötigt ihr Apache Maven. Finden könnt ihr dies unter Apache Maven
Dort ladet ihr die Version Maven 3.2.3 herunter und schiebt diese in euer Home Verzeichnis. Zieht dazu den heruntergeladenen Ordner am Besten auf euren Desktop und von dort mit dem Terminal in euer Home Verzeichnis.

mv ../Desktop/apache-maven-3.2.3 ../

Leider funktioniert Maven noch nicht ganz. Dazu müsst ihr eine Änderung in eurem .bash_profile vornehmen.

sudo nano ../.bash_profile

Hierbei werden folgende Zeilen hinzugefügt

export M2_HOME=/usr/local/apache-maven-3.2.3
export PATH=$PATH:$M2_HOME/bin

Mit folgenden Eingaben speichert ihr eure Änderung.

CTRL X
y
Enter

Jetzt beendet ihr das Terminal und startet es wieder neu. Wechselt sicherheitshalber wieder in den arsnova Ordner.

cd arsnova

Nun können wir einmal testen ob die "Installation" von Maven erfolgreich war.

mvn -version

Sofern eine Ausgabe erscheint, die keine Fehlermeldung ist, habt ihr alles richtig gemacht. Generell sollte die Ausgabe so aussehen:

Apache Maven 3.2.3 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4; 2014-08-11T22:58:10+02:00)
Maven home: /usr/local/apache-maven-3.2.3
Java version: 1.8.0_05, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.10.1", arch: "x86_64", family: "mac"

Solltet ihr allerdings folgenden Fehler erhalten:

Error: JAVA_HOME is not defined correctly.
We cannot execute /usr/libexec/java_home/bin/java

Müssen wir nochmal eine Kleinigkeit in der .bash_profile anpassen. Dazu diese Datei öffnen

sudo nano ../.bash_profile

Dabei folgendes ergänzen:

export JAVA_HOME=$(/usr/libexec/java_home)

Speichern nicht vergessen!

CTRL X
y
Enter

Terminal schließen, Terminal wieder öffnen und nach arsnova wechseln.

cd arsnova

Und nochmal probieren ob mvn -version funktioniert. Falls es klappt, ist alles perfekt. Ansonsten habt ihr ein Problem was ich spontan nicht lösen kann.
Weiter geht es mit Apache Ant. Dieses findet ihr unter Apache Ant Ladet euch dort die Version apache-ant-1.9.4-bin herunter und verschiebt die entpackte Datei auf euren Desktop.

sudo mv ../Desktop/apache-ant-1.9.4-bin/ /usr/bin/ant/

Nun wieder eine Anpassung an der .bash_profile

sudo nano ../.bash_profile

Diesesmal fügt ihr folgendes hinzu:

export ANT_HOME=/usr/bin/ant
export PATH=${PATH}:${ANT_HOME}/bin

Das Ganze wieder speichern

CTRL X
y
Enter

Und wir befinden uns kurz vor dem Ende der Installationen. Wie immer aber noch Terminal schließen, Terminal wieder öffnen und in den arsnova Ordner wechseln!

cd arsnova

Jetzt fehlt nur noch eine Kleinigkeit, damit wir arsnova verwenden können. Dazu ladet ihr euch noch die Version 4.0.4.84 von Sencha herunter. Zu finden ist diese unter Sencha 4.0.4.84
Hierbei führen wir den vorhandenen Installer aus und fügen wieder etwas in unser .bash_profile ein.

sudo nano ../.bash_profile

Folgenden Abschnitt

export PATH=~/bin/Sencha/Cmd/4.0.4.84:$PATH

Änderungen speichern (wie bereits mehrfach gemacht), Terminal schließen, Terminal öffnen und in den arsnova Ordner wechseln.

cd arsnova

Da wir nun alles haben, was wir brauchen, um ARSnova verwenden zu können, wechseln wir zunächst in den Ordner arsnova-mobile

cd arsnova-mobile

Hier führen wir nun folgenden Befehl aus

mvn clean install

Dies nimmt nun etwas Zeit in Anspruch. Danach wechseln wir in den Ordner arsnova-war

cd ../arsnova-war

Gleiches Spiel wie eben

mvn clean install

Zu guter letzt noch folgender Befehl

mvn jetty:run

Jetzt können wir unseren Browser öffnen und dort über

localhost:8080

auf unser frisch eingerichtetes ARSnova zugreifen!
Fertig sind wir allerdings immer noch nicht. Als nächstes benötigen wir Vagrant. Zu finden unter Vagrant Installationsdatei ausführen und der größte Teil ist schon erledigt.
Sofern wir uns nicht im Ordner arsnova befinden, wechseln wir dort wieder hin.

cd ..

Wir laden uns nun ein weiteres Repository

git clone --recursive https://github.com/thm-projects/arsnova-vagrant.git

Und installieren dann ein benötigtes Plugin

vagrant plugin install vagrant-hosts

Nun noch in den arsnova-vagrant Ordner wechseln

cd arsnova-vagrant

Und wir können diese nun verwenden mittels:

vagrant up dev

Um uns zu der virtuellen Maschine zu verbinden brauchen wir

vagrant ssh

Und können diese nun mit

./start.sh

starten oder mit

./stop.sh

beenden.

Für weitere Informationen zu ARSnova schaut doch mal im Wiki vorbei: ARSnova Wiki