Die bei OpenRuhr:RIS verwendete Software ist zwar OpenSource-Software, wirkt auf dem ersten Blick aber etwas unübersichtlich, was sicherlich die Mithilfe an dem Projekt schwieriger macht. Dies dürfte unter anderem auch an den verwendeten Komponenten liegen, Flask, MongoDB und ElasticSearch gehören nicht unbedingt zu dem, womit man täglich arbeitet.
Doch so schwer ist es nun auch nicht, wie es auf dem ersten Blick auszusehen scheint. Um das zu verdeutlichen und den Einstieg in die Entwicklung von OpenRuhr:RIS zu erleichtern haben wir eine Virtuelle Maschine für VBox zusammengestellt, mit dem man leicht die ersten Schritte gehen kann.
Mit dieser virtuellen Maschine hat man eine fertige Installation von Scraper und Weboberfläche. Die Monate Januar bis März 2013 der Stadt Bochum sind dort bereits gescraped, d.h. man kann innerhalb von Minuten eine eigene OpenRuhr:RIS Instanz auf seinem lokalen Computer starten und das System Schritt für Schritt entdecken.
Um die virtuelle Maschine zu starten benötigt man die kostenlose Virtualisierungssoftware VirtualBox, welche für Windows, Linux, Mac OS-X und Solaris zur Verfügung steht. Außerdem benötigt man den gut 4 GB großen Download der virtuellen Maschine mit OpenRuhr:RIS. Um die virtuelle Maschine nutzen zu können sollte man einen Rechner mit 4 GB RAM oder mehr haben sowie 40 GB Festplattenspeicher übrig haben.
Zur Vorbereitung müssen wir VirtualBox installieren und die heruntergeladene virtuelle Maschine entpacken (z.B. mit 7Zip). Doppelklickt man nun auf RIS.vbox, wird die virtuelle Maschine zu VirtualBox hinzugefügt. Nun sollte man noch das Netzwerk konfigurieren (Ändern -> Netzwerk), dort wäre Netzwerkbrücke (alternativ: NAT) empfehlenswert, um eine Internetverbindung zu bekommen und ggf. Zeroconf nutzen zu können.
Nun können wir die virtuelle Maschine starten und uns in die Ubuntu 12.04 Server-Installation einloggen (Nutzer: ris, Passwort: ris). Mit sudo -i (Passwort: ris) erhalten wir dann eine Root-Shell.
Die Weboberfläche
Schauen wir uns als erstes die fertige Installation der Weboberfläche mit den bereits bestehenden Daten an. Dazu wechseln wir mit sudo -i -u ris-web in den Nutzer ris-web und wechseln dann mit cd /opt/ris-web/ in das Arbeitsverzeichnis der Weboberfläche. Dort angekommen aktivieren wir mit source ris-web/bin/activate das virtuelle Python-Enviroment für die Weboberfläche.
In der aktuellen Version der Weboberfläche müssen wir nun noch den Hostname anpassen. Dieser sollte unserer IP-Adresse mit Port 5000 gleichen. Mit ifconfig eth0 kriegen wir unsere aktuelle IP der virtuellen Maschine heraus. Diese tragen wir mit vim city/bochum.py bei dem Wert BASE_URL ein (also z.B. http://192.168.0.100:5000/ ).
Nun ist die OpenRuhr:RIS Weboberfläche startbereit: mit python runserver.py starten wir die Oberfläche. Nun können wir unter der IP-Adresse mit Port 5000 (also wie in BASE_URL, z.B. http://192.168.0.100:5000/ )in einem Browser die Oberfläche anschauen, Suchen, Details betrachten, … etc. Voilà!
Der Scraper
Auch der Scraper ist in der virtuellen Maschine startbereit. Dafür beenden wir die Session vom Nutzer ris-web und starten mit sudo -i -u ris-scraper eine Session für den Nutzer des Scrapers. Mit cd /opt/ris-scraper wechseln wir in das Arbeitsverzeichnis des Scrapers, mit source ris-scraper/bin/activate aktivieren wir das virtuelle Python-Enviroment. Der Scraper ist nun einsatzbereit.
Um nun z.B. die Monate April bis Juni zu den bestehenden Daten hinzuzufügen starten wir den Scraper mit folgenden Parametern: python main.py -v -q –start 2013-04 –end 2013-036 . Achtung – das wird ein paar Stunden dauern, bis der Scraper fertig ist! Alle weiteren Möglichkeiten gibt es in der Dokumentation / Readme des Scrapers zu lesen.
Aktualisieren der OpenRuhr:RIS Software
Die Aktualisierung ist recht einfach, da OpenRuhr:RIS wie auch sein Vorbild offeneskoln.de in Github entwickelt werden. Gehen wir von einer Root-Konsole aus, wechseln wir mit sudo -i -u ris-web und cd /opt/ris-web in den richtigen Nutzer und das richtige Arbeitsverzeichnis. Nun können wir ganz einfach mit git pull die neusten Updates vom OpenRuhr Git Repository bekommen. Das Ganze funktioniert natürlich auch analog mit ris-scraper.
Nächste Schritte: Entdecken und selbst anpassen
Mit der OpenRuhr:RIS virtuellen Maschine habt ihr die Basis, mit der ihr selbst anfangen könnt, das System zu entdecken und anzupassen. Besonders interessant dürften Anpassungen an den Scraper sein, da man dadurch andere Städte mit einem offenen Ratsinformationssystem ausstatten kann.
Wenn jemand dabei einen funktionierenden Scraper für eine weitere Stadt im Ruhrgebiet entwickelt kann er sich gerne bei uns melden: wir kümmern uns dann um das Hosting. Die VM selbst ist nicht für die Bereitstellung im Netz gedacht, sie hat an vielen stellen eine sehr unsichere Konfiguration, die die Entwicklung sehr komfortabel macht, aber nicht für den Produktiveinsatz geeignet ist.
Für Fragen kommentiert gerne diesen Post oder meldet Euch auf der RIS-Entwicklungs-Mailingliste des OKFN.
Der angegebene Download-Link funktioniert leider nicht. Können Sie eine Alternative zur Verfügung stellen?
Das Projekt OpenRuhr:RIS ist mittlerweile in PolitikBeiUns aufgegangen. Wir haben uns in dem Zuge auch entschieden, keine VM mehr anzubieten, weil diese recht wartungsintensiv war und das Projekt weitestgehend ehrenamtlich geführt wird. Stattdessen gibt es nun ein Installer-Script, ein Vagrant-File und ein Docker-File. Außerdem wird die Installation im Wiki dokumentiert.
Die Scripte: https://github.com/okfde/politik-bei-uns-web
Das Wiki: https://github.com/okfde/politik-bei-uns-web/wiki/Installation und v.a. auch https://github.com/okfde/politik-bei-uns-web/wiki/Meine-Stadt-auf-Politik-bei-Uns