Der folgende Abschnitt erläutert, was notwendig ist, um die verschiedenen Versionen von GESS Q. zu installieren und in Betrieb zu nehmen.
Die aktuellen Versionen von Q. Desktop und Q.
Android stehen als sich automatisch installierende
Archive unter
http://www.gessgroup.de/qdownload frei zur
Verfügung. Analog zur Datei
GESS_Q_xxx_Setup.exe
bietet die
Seite für Android eine .apk Datei, um die Software
auf einem Tablet/Smartphone installieren zu können.
An dieser Stelle sei aber auf Kapitel 24, Die Android App - Q. Android verwiesen, das sich mit der
Konfiguration von Android Geräten und speziellen
Funktionalitäten von Q. Android beschäftigt. Die
Installation unter Windows lässt sich einfach
bewerkstelligen, indem man den Anweisungen des
Setups folgt. Im Zweifel hilft aber auch ein Video
im Youtube
Channel von GESS Software.
Damit Q. Desktop auf dem Rechner läuft, muss eine Java 8 Laufzeitumgebung[12] auf dem PC installiert sein. Sie können überprüfen, ob Java installiert ist bzw. ob das System die Java-Installation findet, indem sie in einer Eingabeaufforderung (cmd.exe) bzw. Kommandozeile den Befehl
java -version
eingeben. Kennt Ihr Betriebssystem den Javabefehl, wird eine entsprechende Versionsinformation zurückgeliefert. Sollte keine Java RE installiert sein, können Sie die aktuellste auf www.java.com/de/download/ herunterladen.
Vorhandene Q.-Installationen können mit neueren Setup-Programmen einfach überschrieben werden. Studien, Daten und nutzerspezifische Einstellungen bleiben dabei erhalten.
Mit Java Version 8 kann es unter Linux dazu kommen,
dass sich Q. Desktop nicht starten lässt. Der
automatische Aufruf des Browsers geht schief und
daraufhin beendet sich das Programm wieder. Das
Verhalten wird durch einen Fehler in Java
verursacht. Mit dem Anlegen der Datei
noautostart.txt
in dem
Verzeichnis, in dem Verzeichnis, in dem auch
startcapi.bat
liegt, startet Q.
den Browser nicht mehr automatisch. Die Adresse
http://localhost:8080
, unter der
Q. Desktop läuft, kann man dann per Hand eingeben.
Eine Serverinstallation benötigt neben Java zusätzlich einen Application Server wie JBoss oder Tomcat, der GESS Q. als Webservice bereitstellt. Zur vollen Unterstützung von internationalen Studien und Zeichensätzen wie Kyrillisch oder Chinesisch, muss der Application Server so konfiguriert sein, dass alle Requests und Responses als UTF-8 interpretiert bzw. codiert werden. Q. Server wird in diesem Rahmen üblicherweise als Web-Archiv (.war) im Application Server untergebracht. Rund um den Server leistet GESS selbstredend jegliche Art von Service: Bereitstellung, Installation, Wartung, ...
GESS Q. arbeitet dateibasiert mit größtenteils menschenleserlichen Inhalten in den Dateien ohne Notwendigkeit einer Datenbank. Dies bringt den Vorteil mit sich, jederzeit »einfach in eine Datei reingucken« zu können ohne auf Zusatzprogramme angewiesen zu sein. Unter Android gibt es bisher keinen Anlass von der Standardstruktur abzuweichen, bei Q. Server und Q. Desktop kann es abhängig vom Arbeitsumfeld aber sinnvoll sein, individuelle Anpassungen vorzunehmen. Während ein Selbständiger möglicherweise gut mit einer unabhängigen Einzelplatzinstallation zurecht kommt, haben Betriebe mit vielen Anwendern, die womöglich auch gleichzeitig am selben Projekt arbeiten, das Bedürfnis, die Studien zentral abzulegen, damit sie für alle Beteiligten erreichbar sind. „Konfigurationsdatei qonline.cfg“ und „Einrichtungsbeispiele und Projektverwaltung mit Q. Desktop“ beschreiben unter anderem die Stellschrauben, an denen hier angesetzt werden kann und stellen drei typische Szenarien vor.
Auf den ersten Blick erscheint es eventuell merkwürdig, dass ein Q. Projekt zwangsweise in ein Projekt- und ein Medienverzeichnis getrennt ist. Hierzu eine kurze Erklärung: Als Onlinebefragung muss ein Fragebogen vom Webbrowser dargestellt werden. Während Q. den eigentlichen Content der Seite Screen für Screen ausgibt, müssen die Mediendateien (Bilder, Videos, Anwendungen) für den Browser (und damit öffentlich) zugänglich sein. Jede Mediendatei ist damit direkt über eine bestimmte Web-Adresse erreichbar. Dies ist für alle anderen studienrelevanten Informationen wie z.B. dem Q. Skript, Quotenständen, Logfiles oder zugelassenen IDs aber explizit nicht gewünscht. Während der Medienpfad auf dem Server also in einem öffentlichen Bereich liegt, sind sämtliche anderen Teile von Außen unzugänglich.
Nach der Installation und ohne Änderungen der Konfiguration erwartet GESS Q. unterhalb des Installationsverzeichnisses folgende Struktur:
Installationsverzeichnis/config/
root/media/[fragebogen]/
surveys/[fragebogen]/text/
gtc/
Im Installationsverzeichnis liegen die Java-Dateien
für das Programm GESS Q. Desktop und die Dateien,
mit denen sich das Programm starten lässt: für
Windows startcapi.bat
, für
Linux startcapi.sh
.
Konfigurationsdateien liegen im Verzeichnis
config
. Dateien, die für den
Betrieb auf einem Webserver öffentlich sein müssen,
liegen unter root
. Die Skripte,
die einen Fragebogen ausmachen, liegen pro Studie
(hier durch den Platzhalter
[fragebogen]
gekennzeichnet) in
einem eigenen Verzeichnis unter
surveys
. Das
Fragebogenverzeichnis selbst muss mit
text
und kann mit
gtc
weitere Unterverzeichnisse
enthalten. Im Verzeichnis text
sucht GESS Q. nach der Datei
skript.q
, die als Ausgangspunkt
für einen Fragebogen dient. Das Verzeichnis
gtc
enthält Steuerungsdateien
für GESStabs, wenn das Programm für die Ausgabe von
Tabellen eingebunden ist.
Unter Windows wird GESS Q. automatisch im Verzeichnis
c:\Program Files\GESSQ
installiert. Ohne Änderungen an der Konfiguration
erwartet GESS Q., Skripte und Mediendateien einer
Studie unterhalb dieses Verzeichnisses zu finden.
Grundsätzliche Einstellungen im Umgang mit Projekten
und laufenden Interviews können in der
Konfigurationsdatei vorgenommen werden. Sie heißt
standardmäßg qonline.cfg
und
befindet sich im Ordner config
des Installationsverzeichnisses. Auch der Pfad und Name
dieses Ordners kann zumindest für Q. Desktop und Q.
Server theoretisch modifiziert werden. Er wird als
Startparameter für die entsprechende Webanwendung
übergeben. Die Konfigurationsdatei wird einmalig
beim Programmstart geladen. Änderungen erfordern
also immer einen Neustart der Q. Applikation.
Nach der beispielhaften, vollständigen Darstellung einer Konfigurationsdatei werden die enthaltenen Parameter einzeln erläutert. Die mit einem Sternchen markierten Parameter sind für die grundsätzliche Programmfunktion zwingend notwendig.
adbApp=config/adb/adb.exe archivePath=archive backupPath=backup docPath=doc documentRoot=root gtcApp=C:/Program Files/GESStabs/GTC.exe logRequests=false maxIdleSeconds=20 maxMemoryLoad=80 mediaRoot=root/media method=GET modelPath=models presetDataPath=preset surveyPath=surveys timeOutCheckInterval=20 URLName=SurveyServlet jdbcDriver=org.postgresql.Driver jdbcUrl=jdbc:postgresql://localhost:5432/translation jdbcUser=qdot jdbcPassword=XpAssWoRdY jdbcDropAndCreateTables=false
adbApp
Enthält einen Pfad zur Android Debugging Bridge (ADB). ADB ist ein Tool zur Kommunikation zwischen Android Geräten und dem PC. Es wird von Q. Desktop verwendet, um Daten über ein USB Kabel mit Q. Android auszutauschen. Unter Windows heißt das Programm
adb.exe
und wird mit der Q. Desktop Installation standardmäßig im Verzeichnis/adb/
mitgeliefert.archivePath
Wird hier ein Pfad zu einem existierenden Ordner angegeben, bietet die Benutzeroberfläche von Q. eine Option an, um Studien zu archivieren. Sie werden dann im angegebenen Ordner als Q. Projektdatei (.qp) abgelegt.
backupPath
Ist dieser Parameter mit einem Pfad zu einem Ordner versehen, wird dieser beim Löschen und Resetten von Projekten verwendet, um automatisch Sicherungskopien anzulegen.
docPath
Wenn dieser Parameter mit einem Pfad zu einem Ordner belegt ist, bietet die Q. Benutzeroberfläche einen Menüpunkt
help
an, der auf Hilfe-Dokumente und zusätzliche Inhalte aus dem angegeben Ordner verweist.documentRoot*
Dieser Parameter muss den Pfad zum Server-Root-Verzeichnis enthalten. Darin befinden sich die von außen zugänglichen Programmdateien, etwa für die HTML-Darstellung des Fragebogens relevante CSS- und Javascript-Dateien.
gtcApp
Um im Onlinereporting live Auswertungen in Tabellenform anzeigen und direkt SPSS Files herunterladen zu können, arbeitet GESS Q. nahtlos mit GESStabs zusammen. Damit GESStabs von GESS Q. aus benutzt werden kann, muss dieser Parameter den Pfad zum ausführbaren GTC Programm enthalten.
gtcSurveyDir
Tabellen können aus den Interview-Daten automatisch erzeugt werden. Dazu muss GESStabs (gtc) wissen, wo die Fragebögen zu finden sind. Dieser Pfad wird allerdings bald entfallen. Derzeit muss er im Rahmen der Schnittstellendefinition zu GESStabs zwingend identisch mit
surveyPath
sein.maxIdleSeconds*
steuert wie viele Sekunden ein aktives Interview stillstehend darf, ehe Q. es in den Abbruchzustand versetzt. Dieser Vorgang gibt den vom Interview belegten Arbeitsspeicher frei.
maxMemoryLoad
setzt die maximal zugelassene Speicherauslastung in Prozent (Default:80). Bei einer Interviewanfrage während der Überlastung löst Q. höchstens einmal in 5 Minuten eine Java GarbageCollection aus. Ist die vorgegebene Maximallast dennoch überschritten, werden neue Teilnehmer mit Statusseite
memoverload.html
abgelehnt.memoverload.html
muss neben derqonline.cfg
im config-Verzeichnis liegen. Abgelehnte Interviews und von Q. angestoßene GarbageCollections werden in/config/serverlog.lst
geloggt. Die maximale Auslastung ist auch auf der Oberfläche unterServer status
mit Hilfe einer schwarzen Linie gekennzeichnet.mediaRoot*
Dieser Parameter gibt an, in welchem Verzeichnis die zu den Projekten gehörigen Mediendaten abgelegt werden. Damit diese aus Sicht des Servers öffentlich zugänglich sind, muss sich dieses Verzeichnis unterhalb von
documentRoot
befinden. Im »mediaRoot«-Verzeichnis sucht GESS Q. nach einem Verzeichnis, das den gleichen Namen trägt wie das Skript-Verzeichnis unter »surveyPath«. Es dient der Trennung des Fragebogens mit seinen Textdateien und den darin verwendeten Mediendateien, wie Bildern, Animationen, Tonaufnahmen oder Filmen. Da GESS Q. für das Medienverzeichnis den gleichen Namen voraussetzt, können Mediendateien ohne weitere Pfadangaben über ihren Dateinamen eingebunden werden.method*
legt fest, ob das Interview über den HTTP
GET
oder denPOST
Kanal abgewickelt werden soll.modelPath
definiert einen Ordner, in dem Studienvorlagen abgelegt werden können. Erstellt man über die Benutzeroberfläche neue Studien lässt sich eine der Vorlagen mit all ihren Voreinstellungen als Ausgangspunkt auswählen. Gibt es unter
/documentRoot/model_previews
eine zur Vorlage gleichnamige .png Bilddatei, wird diese beim Auswählen von Vorlagen als Vorschau dargestellt.presetDataPath
Q. bietet die Möglichkeit während des Interviews bestimmte Daten aus Interview-Variablen zu exportieren. Diese Informationen können von anderen Interviews ausgehend wieder gelesen werden, um z.B. Interview-Variablen vorab zu belegen. Der Parameter
presetDataPath
bestimmt ein zentrales Verzeichnis, aus dem Interviews mittels ActionBefehlreadJsonDataFile
Informationen abrufen können.surveyPath*
definiert den Ordner, in dem die Projekte abgelegt werden. Die Pfadangabe bezieht sich in dieser relativen Form (»surveyPath=surveys«) auf das Installationsverzeichnis, so dass GESS Q. in der unveränderten Standard-Installation Skript-Dateien unter
c:\Program Files\GESSQ\surveys
suchen wird. Mit einer absoluten Pfadangabe können Sie die Studien auch außerhalb des Programmverzeichnisses unterbringen:surveyPath=c:/Umfragen
.Beim Variablennamen (»surveyPath«) unterscheidet das Programm nicht zwischen Groß- und Kleinschreibung. Das gilt unter Windows auch für die Pfadangaben, unter Linux/Unix wird die Schreibweise des Pfads dagegen berücksichtigt (»Surveys« entspricht unter Linux nicht »surveys«).
Im Gegensatz zum Windows-Standard verwendet Java den Schrägstrich statt des Rückstrichs zur Trennung der Verzeichnisse in Pfadangaben.
timeOutCheckInterval*
legt fest, in welchen Sekundenintervallen Q. prüft, wie lange aktive Interviews unverändert geblieben sind, um sie ggf. in den Abbruchzustand zu versetzen. Siehe auch
maxIdleSeconds
.URLName*
legt fest, unter welchem Namen Q. als Webdienst angeboten wird. Dies ist in der Regel
SurveyServlet
.jdbcDriver
Die Variable enthält den Verweis auf die von Q. einzusetzende Datenbank-Schnittstelle für etwaige Übersetzungen. Je nach Art der Datenbank muss der zu verwendender Datenbank-Treiber eingebunden werden (siehe Java-Dokumentationen). Derzeit arbeitet Q. vorzugsweise mit PostgreSQL.
Voreinstellung:
org.postgresql.Driver
jdbcUrl
Der Parameter legt fest, unter welcher Adresse Q. die Datenbank für Übersetzungen erreichbar ist.
Voreinstellung:
jdbc:postgresql://localhost:5432/translation
jdbcUser
nimmt den Namen des zugewiesenen Datenbank-Nutzers auf, der auf die Übersetzungstabellen zugreifen kann.
Voreinstellung:
postgres
jdbcPassword
stellt das zum jdbcUser gehörende Passwort im Klartext bereit stellen.
Voreinstellung:
postgres
jdbcDropAndCreateTables
Beim Einrichten der Datenbank sollte der Wert einmal auf
true
stehen. Danach muss er auffalse
gesetzt werden. Wenn der Wert auftrue
steht, werden sämtliche Tabellen und Inhalte beim ersten Zugriff weggeworfen und neu generiert. Das ist nach der Einrichtung der Datenbank nicht mehr wünschenswert.Voreinstellung:
false
Im Verzeichnis config
, das GESS
Q. im »documentRoot« erwartet, liegt auch die Datei
users.lst
. Die Datei enthält pro
Zeile ein Nutzerkonto, das durch fünf Felder
festgelegt wird:
id=demo;company=GESS;name=demo;password=omed;access=full
id
id beinhaltet den eindeutigen Namen eines Kontos.
company
Welcher Firma gehört der Nutzer an?
name
Der Login-Name für den Nutzer.
password
Das Passwort für das Konto kann, wie im Beispiel oben, im Klartext hinterlegt werden. Das ist unter dem Aspekt der Sicherheit unerfreulich, daher legt der Server die Passworte in dieser Datei als einen Hash, einen Fingerabdruck des eigentlichen Passworts ab. Bei jeder Anmeldung wird dann der Hash des eingegebenen Passworts ermittelt und mit dem hinterlegten Fingerabdruck verglichen.
access
Das Feld legt durch den Eintrag full, reduced, usw. die Nutzerrolle und damit die Zugriffsrechte fest. Es bestimmt auch, welche Menüpunkte, falls überhaupt, ein Nutzer auf der Server-Oberfläche zu sehen bekommt.
Die Einträge können zwar per Hand eingefügt werden,
aber die Server-Oberfläche hält im Bereich »Main«
unter »Users« auch einen Menüpunkt bereit, über den
sich die Datei users.lst
editieren lässt. Da der Rollenname in der Datei von
der Bezeichnung der Rollen abweicht, dürfte es
praktischer sein, die Web-Oberfläche zu nutzen. Bei
dieser Gelegenheit trägt der Server dann auch nur
den Hash eines Passworts ein.
Rollen lassen sich grob in zwei Gruppen unterteilen: »Admin« und »Regular User« eignen sich für Nutzer die Studien verwalten oder skripten. Die verschiedenen Kombinationen aus Reporting, Datenexport, Datenbearbeitung und Quotenkorrekturen sind dagegen eher für Kunden gedacht, die eine laufende Studie begleiten.
Nutzerrollen
- Admin
Nutzer mit der Admin-Rolle haben Zugriff auf alle Funktionen bei allen Studien (
access=full
).- Regular User
erlaubt den Zugriff auf alle Funktionen bei den Studien, denen die Nutzer zugeordnet sind (
access=reduced
).- Reporting
ermöglicht den Zugriff auf das Reporting (
access=rep
).- Reporting + Export
erweitert die Reporting-Rolle um die Möglichkeit Daten herunter zu laden und SPSS Files zu erzeugen (
access=rep_export
).- Reporting + Data Edit
erweitert die Reporting-Rolle um die Möglichkeit Datensätze zu editieren und zu löschen erzeugen (
access=rep_data
).- Reporting + Quota-Edit
erweitert die Reporting-Rolle um die Möglichkeit Soll-Quoten zu editieren (
access=rep_quota
).- Translator
ermöglicht den gesteuerten Zugriff auf die Übersetzungsdateien in der Oberfläche (siehe „Sprachmanagement“). (
access=translator
)
Die übrigen Rollen Rep + Exp +
Data (rep_export_data
),
Rep + Exp + Quota>
(rep_export_quota
), Rep
+ Data + Quota>
(rep_data_quota
), Rep +
Exp + Data + Quota>
(rep_export_data_quota
) bieten
unterschiedliche Kombinationen der verschiedenen
Zugriffsrechte.
Das Gegenstück zu den in
users.lst
allgemein festgelegten
Zugriffsrechten bildet auf der Ebene der einzelnen
Studie die Datei access.lst
. Sie
liegt direkt im Fragebogenverzeichnis. In ihr sind
zeilenweise die IDs der Nutzer vermerkt, die auf die
Studie zugreifen dürfen. Die Zugriffsrechte werden
dabei durch die dem Nutzer in der Datei
users.lst
zugeordnete Rolle
bestimmt. Damit also der Nutzer demo auf eine Studie
zugreifen darf, muss die dazu gehörige Datei
access.lst
den Eintrag
demo
enthalten. Die Web-Oberfläche von Q. ermöglicht die Verwaltung der Datei (s. „User assignment - Nutzerkonten“).
Im Konfigurationsverzeichnis hinterlegt Q. eine
Datei namens blacklist.txt
, die
alle von GESStabs reservierten Schlüsselwörter
aufführt und nicht in einem Fragebogen verwendet
sollten um die weitere Verarbeitung der Daten nicht
zu erschweren. Der Blacklist können auch eigene
Schlüsselwörter hinzugefügt werden.
GESS Q. unterstützt die Trennung von Entwicklungs- und Live-Systemen. Um einen fertigen Fragebogen vom Entwicklungssystem auf einen Server für die Befragung zu kopieren, bietet die Web-Oberfläche Q. Admin unter »Surveys« den Punkt »Upload«. Die Server-Liste im Ausklappmenü bezieht GESS Q. aus der Datei server.lst. Sie enthält pro Zeile einen Eintrag für einen Server in Form einer URL unter der die GESS Q.-Installation erreichbar ist:
https://test1.domain.de/SurveyServlet http://test2.domain.de/SurveyServlet
Mit der Windows setup.exe
von der Homepage
legt der Installationsprozess eine
Verknüpfung namens »GESS Q.« auf dem Desktop ab. Diese
verweist auf die Datei
startcapi.bat
im
Installationsverzeichnis und ein Doppelklick darauf
startet Q. Desktop. Unter Linux reicht es, im
Installationsverzeichnis auf der Kommandozeile
./startcapi.sh einzugeben.
Die Datei noautostart.txt
auf gleicher Ebene
verhindert dabei, dass Q. Desktop automatisch
mit dem Standardbrowser gestartet wird.
Mit dem Start des Programms öffnet sich unter Windows ein Kommandofenster mit dem Namen »GESS Q.«, in das der startende Server-Prozess verschiedene Meldungen schreibt. Gleichzeitig wird der Web-Browser aufgerufen, in dem in einem zusätzlichen Reiter die Login-Seite des GESS Q.-Servers erscheint. (Unter Linux passiert das Gleiche, nur das die Server-Meldungen in dem Fenster erscheinen, in dem das Kommando aufgerufen wurde.)
Der Programmaufruf hat einen in Java geschriebenen internen Webserver gestartet, der auf Port 8080 angesprochen werden kann. Sprich: die URLs
http://localhost:8080
http://127.0.0.1:8080
http://[lokale.ip.adresse]:8080
verweisen alle auf die Loginseite des gleichen Servers auf dem lokalen Rechner. Mit der letzten Möglichkeit kann man, wenn die IP-Adresse bekannt ist, den Server auch von einem anderen Rechner im lokalen Netz ansprechen.
Das Programm lässt sich unter Windows durch Schließen des Kommandofensters »GESS Q.« beenden. Unter Linux kann der Server-Prozess durch die Tastenkombination Strg-c abgebrochen werden.
Der folgende Abschnitt erläutert, wie Q.Desktop auf einem Computer lizenziert und ein Versions-Update durchführt wird.
Es gibt zwei Wege eine Q.Version zu lizenzieren: Manuell im Dateisystem oder über die Benutzeroberfläche. Allgemein ist zu beachten, dass nur eine Q.Desktop Version parallel betreibbar ist, da diese sich sonst gegenseitig die Lizenz entziehen. Außerdem erkennt der Lizenzschlüssel nicht den PC wieder, sodass jede Neulizenzierung als Neufreischaltung gezählt wird.
Im Ordner config
des Installationsverzeichnisses
muss die von GESS zugeschickte
key.lic
-Datei abgespeichert werden.
Wenn Q. das nächste mal
gestartet wird, überprüft es automatisch die Gültigkeit des Lizenzcodes,
generiert eine check.lic
-Datei und lässt die
key.lic
verschwinden.
Über die Benutzeroberfläche kann Q. durch Klicken auf das Schloss lizenziert werden. Es öffnet sich eine neue Ebene, in die der vollständige Lizenzcode eingetragen werden soll.
Anschließend wird aus dem roten ein grünes Schloss. Zusätzlich
wird der Firmenname, die Restdauer und eine eindeutige ID innerhalb der
Lizenz ausgespielt. Sollte der Lizenzcode sich ändern, kann
dieser über einen Klick auf das (grüne) Schloss eingeben werden.
Zu geringe Benutzerrechte – Sie müssen über ausreichend Nutzerrechte auf dem PC verfügen, um eine Lizenzierung durchführen zu können.
Kein Internet – Damit der Lizenzschlüssel überprüft werden kann, muss eine einmalige Verbindung zum Internet bestehen.
Firewall o.Ä. blockiert die Kommunikation zum Server - Port 80 muss freigegeben sein.
Für Q. Desktop gibt es keinen nennenswerten Anforderungen an CPU, Speicher oder Festplatte. Die einzige Voraussetzung ist die Installation von Java.
Oracle Java 8
Postgres 9.1 (falls Übersetzungstool lokal benötigt wird) - Anbindung siehe „Konfiguration“
Firefox (für den Robot - „Robot: Automatisches Ausfüllen“)