form {'r}

Software zur Erstellung von komplexen Online-Fragebögen

#Beratung #Accountbestätigung

Kurzprofil

Mit formR lassen sich einfache Fragebögen, aber auch komplexere Fragebögen als mit Unipark erstellen. Komplexe Berechnungen in formR basieren dabei auf R, und R wird auch in der statistischen Ausbildung an unsererem Fachbereich gelehrt.
Mit formR lassen sich außerdem komplexere Tagebuchstudien realisieren und Feedbacks können der Versuchsperson automatisiert mit Hilfe des in R-Pakets ggplot als indivuduelle Hochglanz-Grafiken ausgegeben werden. Im Rahmen der Tagebuchstudien wird häufig mit SMS-Benachichtungen und E-Mails gearbeitet.
Die Schattenseite von fromR ist die wenig benutzerfreundliche Oberfläche. Diese ist zwar modern und relativ simpel gestaltet, erfordert jedoch ein wenig mehr Einarbeitung als Unipark. Dafür wird man nach dieser ersten Hürde mit einer komplett (quell-)offenen, sehr dynamischen Umgebung zur Erstellung von Fragebögen belohnt!

Ich benötige Hilfe bei der Erstellung einer Umfrage

  1. Eine Anleitung als Worddokument, die immer noch weiter wächst.
  2. Eine modulare Kurzanleitung in Youtube mit deutschen und englischen Untertiteln.
  3. Ein 2-Stunden-Workshop vom ZPID mit detaillierten Gliederungspunkten.

Für Fragen rund um formr stehe ich in meiner Sprechstunde nach Vereinbarung zur Verfügung. Sie können mich unter dieser Mail-Adresse kontaktieren:  Daniela Feistauer.

Ich benötige einen Zugang

Um einen Zugang zu bekommen, registrieren Sie sich bitte als erstes auf der formr-Instanz der Universität Münster mit Ihrer Uni-Email-Adresse. Im Anschluss daran müssen Sie per Email an Daniela Feistauer unter Nennung Ihrer registrierten Email-Adresse von der Universität Münster die Freischaltung der Adminrechte zur Fragebogen-Erstellung beantragen.



Hinweis zu Teamprojekten:

Zur Arbeitsteilung gibt es mehrere Möglichkeiten:

  • Paralleles Arbeiten an Survey-Tabellen: Nutzen Sie z. B. Google Sheets (unter Beachtung des Datenschutzes) oder bearbeiten Sie Ihre Excel-Tabelle gemeinsam über unser Cloudsystem Sciebo.

  • Modulare Entwicklung von Runs: Teilen Sie komplexe Abläufe in Teilprobleme auf, deren Lösungen Sie in separaten Test-Runs entwickeln und anschließend in die finale Umfrage integrieren können. Sie können dafür z.B. den export und import von Runs nutzen.

  • Wenn Sie mir bei Account-Erstellung mitgeteilt haben, dass Ihr Account ein Team-Account ist, erhalten Sie auch nähere Informationen zur Zweifaktoren-Authentifizierung für mehrere Personen.

    • Die Verantwortung zur juristisch einwandfreien Nutzung liegt beim Antragsteller / bei der Antragstellerin des Accounts.

  • Das erweiterte API-Interface (s. unten Alternative 2) erlaubt ein Arbeiten über RStudio. Dabei sollten Sie aufpassen, dass Sie nicht gleichzeitig in der gleichen Survey arbeiten. Das wird vermutlich Probleme verursachen.



 

  • Hinweis zum API-Zugriff aus RStudio

    Mehr Informationen zur API vom Entwicklerteam selbst: 

    Variante 1: Nur zum Daten auslesen einzelner Surveys

    Dafür braucht es keine gesonderten API-Rechte.

    Beim Erstellen der Zweifaktoren-Authentifikation (2FA) wurde ein R-Code mitgeliefert. Das ist der Code des 1. Scripts.
    Sollte dieser nicht mehr vorhanden sein, dann die 2FA löschen und neu einrichten.

    # Script 1 (Name: "API_FormR_Zugang.R") - nicht teilen 
    if (!require(formr)) install.packages("formr",
                                          repos = c("https://rforms.r-universe.dev", 
                                                    "https://cloud.r-project.org"))
    formr::formr_store_keys(account_name = "formr", # gekürzter Name
                           email = "name@uni-muenster.de", # in Formr registrierte Mail-Adresse
                            secret_2fa = "…") # Schlüssel eintragen - nie teilen
    # formr::formr_store_keys() macht man einmalig, solange die Zugangsdaten gleich bleiben. 
     
    # Script 2: relevantes Script - kann geteilt werden
    # anderes Script - nur wenn die Zugangsdaten sich geändert haben notwendig.
    source("Speicherpfad/API_FormR_Zugang.R")
    # Verbindung zum Server herstellen.
    formr::formr_connect(keyring = "formr", # der gleiche Name, wie weiter oben der account_name.
                         host = "https://formr-admin.uni-muenster.de")
    # Zugriff auf die Daten in Formr. z.B. mit:
    test <- formr::formr_results(survey_name = "SurveyName")
     

    Typischer Copy-Paste-Fehler: Die automatische Umwandlung der Anführungszeichen. Lösung: In RStudio "" neu schreiben.

    Variante 2: 

    Voraussetzung: Gesonderte API-Rechte beim Methoden-Support beantragen. Mail an mmsupp@uni-muenster.de 

    mögliche Nutzungsbereiche:

    • Daten aus Surveys und/oder Runs herunterladen
    • Surveys/Runs verändern - ohne Einloggen in die Weboberfläche von Formr möglich
    • Es lassen sich API-Schlüssel an fremde Personen weitergeben, die nur bestimmte Rechte auf einzelne Runs vergeben. Dabei werden keine sensiblen Zugangsdaten weitergegeben.

    Einstellungen in Formr:

    Auf die eigene E-Mail-Adresse in der Kopfzeile rechts klicken. Den Reiter API-Credentials auswählen.

    • Im Feld Label einen freiwählbaren Namen für den API-Schlüssel eintragen. Z.B. Meier_DataRead für einen Kollegen Namens Meier, der nur auf die Daten einer Survey zugreifen können soll.
    • Die Rechte ankreuzen. Z.B. im obigen Fall data:read
    • Rechts daneben die relevante Studie (run-Name) auswählen.
    • Dann dadrüber den Button Create Credential anklicken.
    • Dann erscheint der API-Schlüssel, den man selbst braucht oder weitergeben möchte. Dieser wird in RStudio eingegeben.
      • Die Details dieses API-Schlüssels werden nur einmal angezeigt. Daher irgendwo sicher verwahren.

    Einstellungen in RStudio:

    • Details des vorherigen Schritts in RStudio kopieren.

      • Einmalig Ausführen

        library(formr)
        formr_store_keys(host = "https://formr-api.uni-muenster.de", 
                         client_id = "...", 
                         client_secret = "...")
        formr_api_authenticate(host = "https://formr-api.uni-muenster.de")

    • Welche Rechte hat dieser API-Schlüssel?

      formr_api_session()$scope

    • Verschiedene Varianten des Datenzugriffs

      • # 1) Zugriff auf die Daten einer Survey in Formr – z.B. mit:

        dat <- formr::formr_results(survey_name = "SurveyName") # vergleichbar zu oben

      • # 2) Für die nächsten beiden Optionen des Daten einlesens müssen in Formr mehr Rechte gesetzt werden. "data:read" und "run:read" müssen im API-Schlüssel angekreuzt gewesen sein.

        • Alle Surveys eines Runs als Liste gespeichert

          • list_of_dfs <- formr_api_results("RunName", join = FALSE) # noch ungemergte Datensätze

          • dfs <- formr_api_results("RunName", join = TRUE) # schon gemergter Datensatz