Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Zufälligen Link aus einem Link-Pool anzeigen

  • Julia14
  • Julia14's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 2 months ago #225074 by Julia14
Bitte helfen Sie uns, Ihnen zu helfen und füllen Sie folgende Felder aus:
Ihre LimeSurvey-Version: 3.27.30+211222
Eigener Server oder LimeSurvey-Cloud: Cloud
Thema: Zufälligen Link aus einem Link-Pool anzeigen
==================
Hallo liebe Community!

Meine Frage: Für meine Masterarbeit verwende ich Limesurvey und möchte die Proband*innen einen Test durchführen lassen. Der Test findet auf einer eigenen Website statt. Um dorthin zu gelangen, soll jeder Proband auf einen Link klicken, der ihm in Limesurvey angezeigt wird. Es gibt aber keinen allgemeingültigen Link, der alle Probanden zu der Testseite führt, sondern es ist immer ein neuer, anderer Link (dieser ist auch nur für eine Testung gültig). Das heißt, insgesamt habe ich einen Pool von verschiedenen Links, die jeweils nur für eine Testung gültig sind, und aus diesem Pool soll nun für jeden Probanden, der die Limesurvey-Umfrage macht, irgendein Link ausgewählt werden und ihm in Limesurvey angezeigt werden (und nach seiner Verwendung soll der Link aus dem Pool gelöscht werden). Kann das in Limesurvey realisiert werden?
Alternativ müsste ich jedem Probanden einen individuellen Link per Mail zusenden, was aber umständlicher wäre.

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 years 2 months ago #225076 by Joffm
Hm, schwierig.
Bedeutet "Cloud", dass LimeSurvey bei der LimeSurvey GmbH gehostet ist?
Dann können wir die Möglichkeit eines Ajax-Calls auf ein eigenes php-script wohl ausschließen.

Soll die Umfrage denn offen oder geschlossen sein?
Bei einer geschlossenen Umfrage könntest Du jedem Teilnehmer ein zusätzliches Attribut mit seinem Link mitgeben.

Alternativ müsste ich jedem Probanden einen individuellen Link per Mail zusenden, was aber umständlicher wäre.

Da Du anscheinend die Teilnehmer kennst, sollte dies die Lösung sein.

Bei einer offenen Umfrage stellt sich die Frage "Wie sieht der Link aus?". Wird dort ein Parameter angehängt, der nur für jeden Teilnehmer eindeutig sein muss? Oder wie?
Dann kann man die SAVEDID benutzen.

Also Fragen über Fragen.
offen oder geschlossen?
wenn offen: Wie ist die Struktur des Links?

Bis dann
Joffm
 

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

  • Julia14
  • Julia14's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 2 months ago #225099 by Julia14
Ich verwende das Limesurvey-Paket von meiner Universität, also schätze ich dass die der Host ist.

Die Umfrage soll offen sein, ich kenne meine Proband*innen grundsätzlich nicht. Um an meiner Studie teilzunehmen, muss nur auf einen Link geklickt werden. Für die Realisierung der Alternative müsst ich daher jeden Teilnehmer bitten, mir zuerst seinen Kontakt zu übermitteln, um ihm den Testlink senden zu können.

Ich kann leider nicht sagen, anhand welcher Kriterien der Link kreiert wird. Aber er hat keine einfache Struktur, die man durch Anhängen bestimmter Parameter replizieren kann.

Hier ein Beispiellink:
tp.schuhfried.com/Player?testLanguage=de...ruJcdYNN6jsXH2Xwr5qy

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 years 2 months ago #225104 by Joffm
Also wird wohl doch nur dieser eine Parameter angehängt. Der Rest ist ja wohl konstant.
Hast Du genügend Links, so dass einige "weggeschmissen" werden können, falls einem Teilnehmer ein Link zugewiesen wird, er die Beantwortung aber abbricht.
Dann gibt es eine simple Lösung.

Ich werde einmal ein kleines Beispiel  machen.
Dieses führt auf eine kleine Seite auf meinem Server, die nur den benutzten Link noch einmal anzeigt.

Wie ist es überhaupt?
Sollen die Teilnehmer (innen, außen, oben, unten, das musste einfach sein)  nach dem Test irgendwie in LimeSurvey weitermachen oder ist dann Schluss (dass LimeSurvey also nur für die Bereitstellung des Links zuständig ist)?

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 years 2 months ago #225120 by Joffm
Hallo, Julia,
hier das versprochene Beispiel.
Prinzip:
a. Der übergebene Parameter besteht immer aus 120 Zeichen.
Also ist am Anfang eine Frage vom Typ "ausführlicher Freitext", in welche in die Vorgabeantworten alle Parameter eingetragen sind (untereinander, ein Parameter pro Zeile). Ich habe sie "Pool" genannt.

b. Für jeden Teilnehmer wird am Beginn eine eindeutige Zahl erzeugt, die sogenannte SAVEDID. Fängt bei 1 an und zählt dann hoch. Sie dient dazu einen eindeutigen Schlüssel in der Antworttabelle der Datenbank zu haben.

c. Und damit suche ich jetzt den Parameter aus.
Mithilfe der Funktion "substr" (Handbuch: Implementierte Funktionen).
Diese hat die Parameter "substr(Text,Anfang,Länge)"
Da der erste Index dieser Funktion "0" ist,
finden wir den ersten Parameter mit
{trim(substr(Pool,(SAVEDID-1)*122,120))}
In der Frage "Pool" jede Zeile in Wirklichkeit 122 Zeichen lang ist (es kommen zu den 120 Zeichen des Parameters noch zwei Zeichen ("LineFeed und "Carriage Return", also "Neue Zeile" und "Gehe an den Anfang der Zeile") hinzu; daher 122
Bei der allerersten SAVEDID, also bei 1, ergibt sich dann: "substr(Pool,(1-1)*122,120)" -> "substr(Pool,0,120)", usw.

Im Beispiel habe ich sowohl einen Button angelegt, bei welchem der Link hinterlegt ist
 

wie auch die Möglichkeit, mithilfe der end-url die Test-Seite aufzurufen.
Das kannst Du Dir dann aussuchen.

 

File Attachment:

File Name: limesurvey...8678.lss
File Size:23 KB


Dies alles funktioniert natürlich nur in einer aktivierten Umfrage.
Sonst gibt es keine SAVEDID.

Außerdem ist zu beachten:
Selbst, wenn Du die Umfrage wieder deaktivierst, wird beim späteren Aktivieren die SAVEDID nicht wieder neu bei "1" gestartet, sondern zählt weiter hoch.
Um dies zu vermeiden könntest Du die Umfrage einfach kopieren, und diese dann aktivieren.

Joffm
 

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: Masalas

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 years 2 months ago #225135 by Joffm
Oh, Gott, oh, Gott,
jetzt geht es mit meiner Vergreisung anscheinend rapide voran.
Der Parameter ist natürlich 128 Zeichen lang; ist ja auch logisch, 2er-Potenz.
Aber ich bekam die "120" nicht aus dem Kopf.

Aber gut, dann ändert sich ja nur die Formel
{trim(substr(Pool,(SAVEDID-1)*130,128))}, wobei man das "trim" auch weglassen kann. Dies wäre nur wichtig, wenn die Parameter verschieden lang wären und man mit Leerzeichen aufgefüllt hätte.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

  • Julia14
  • Julia14's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 2 months ago #225139 by Julia14
Vielen vielen Dank, das scheint eine Lösung für mein Problem zu sein!

Eine Frage hab ich noch: Da von der SAVEDID abhängig ist, welcher Parameter aus dem Pool für die jeweilige Person verwendet wird, kann sichergestellt werden, dass kein Parameter zweimal (also für zwei verschiedene Personen) verwendet wird, richtig?

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 years 2 months ago #225141 by Joffm
Das hatte ich geschrieben.

Für jeden Teilnehmer wird am Beginn eine eindeutige Zahl erzeugt, die sogenannte SAVEDID. Fängt bei 1 an und zählt dann hoch. Sie dient dazu einen eindeutigen Schlüssel in der Antworttabelle der Datenbank zu haben.

In praxe:
Der erste, der die Umfrage beginnt, bekommt die Nummer 1, der nächste die 2, usw.
Dabei ist es egal, ob die Umfrage durchgeführt wird oder er schon auf der ersten Seite seinen Browser schließt; es wird eine neue Zahl erzeugt, da ja auch ein Datensatz erzeugt wurde.
Das kannst/solltest Du Dir einfach einmal anschauen. Du kannst doch einmal eine kleine Teststudie erstellen, diese aktivieren, ein paar Daten eingeben, und die Antworttabelle anschauen.
In dieser Tabelle heißt die Spalte allerdings nicht SAVEDID, sondern schlicht und einfach "id".

Oder nimm mein Beispiel. Aktiviere es und spiele damit. Vollständige und unvollständige Umfragen eintragen. Antworttabelle anschauen.

Bis dann
Joffm 

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

More
2 years 1 month ago #226755 by Sonjaa
Hallo Joffm, liebe Community,

ich habe ein ähnliches Anliegen wie Julia: Ich möchte eine Umfrage durchführen, in welcher die Teilnehmenden jeweils eine andere Webseite bewerten sollen.

Ich habe also ebenfalls einen Pool mit Links von verschiedenen Webseiten (ca. 200-300), wobei in meinem Fall die Struktur und Länge der Links sehr unterschiedlich ist. Die Teilnehmenden sollen zu Beginn der Umfrage zufällig einen der Links zugeteilt bekommen (jeder Link soll dabei nur einmal vergeben werden). Die entsprechende Webseite soll dann in einem neuen Tab geöffnet werden, sodass die Teilnehmenden sich die Webseite anschauen können. Im Anschluss sollen sie dann zu der Umfrage zurückkehren und Fragen zu der Webseite beantworten.

Eine Möglichkeit wäre es, so vorzugehen, wie du es im Beispiel dargestellt hast, mit dem einzigen Unterschied, dass die Links mit Leerzeichen aufgefüllt werden, um sie gleich lang zu gestalten, oder?

Gibt es noch eine andere Möglichkeit den Teilnehmenden einen der Links zuzuteilen? Ich habe Bedenken, dass das Vorgehen bei der großen Anzahl an Links fehleranfällig ist: Durch ein Leerzeichen zu viel oder zu wenig an einer beliebigen Stelle würde das Ganze ja nicht mehr funktionieren.

Es handelt sich bei mir ebenfalls um eine offene Umfrage und ich nutze das Limesurvey-Paket meiner Uni (Version: 3.27.1+210531).

Herzlichen Dank für die Hilfe!

Liebe Grüße
Sonja

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 years 1 month ago - 2 years 1 month ago #226761 by Joffm
Hallo, Sonja,

Ich habe Bedenken, dass das Vorgehen bei der großen Anzahl an Links fehleranfällig ist: Durch ein Leerzeichen zu viel oder zu wenig an einer beliebigen Stelle würde das Ganze ja nicht mehr funktionieren.

Warum das denn?
Die Links bringst Du automatisch auf eine Länge durch eine kleine Formel in EXCEL, wie
=LINKS(VERKETTEN(A1;WIEDERHOLEN(" ";100));100)

Die ziehst Du dann einfach runter und bekommst alle Links 100 Zeichen lang, rechts mit Leerzeichen aufgefüllt.
Kannst Du ja in einem Texteditor wie z.B. Notepad++ überprüfen
 


Dies alles ist gut und schön.
Es geht natürlich in die Hose, wenn Du sehr viele Teilnehmer haben wirst, die die Umfrage nicht beenden, sondern abbrechen.
Dann kann die SAVEDID die Anzahl der Links überschreiten, ohne dass genügend Teilnehmer die Umfrage beendet haben.

Da gibt es ein paar Ideen, wie man dies behandeln kann; im Grunde ist es aber ein händisches Eingreifen.

Joffm

P.S.
Jetzt kommt auch noch eine technische Komponente ins Spiel.
Wie lang wäre der längste Link?
Wie viele Links liegen vor?
Die Links werden in einer Textfrage vorgehalten. Diese hat eine Kapazität von 64kB.
Jetzt kannst Du ausrechnen, ob es überhaupt passt; MaxLänge x Anzahl.
Mir fällt aber gerade ein, dass man ja auch mehrere dieser Textfelder nehmen kann, und entsprechend berechnen.
Trotzdem wäre diese Info interessant; dann könnte man es direkt so einrichten

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 2 years 1 month ago by Joffm.

Please Log in to join the conversation.

More
2 years 1 month ago #226881 by Sonjaa
Hallo Joffm,

vielen Dank für deine Hilfe! Diese Funktion in Excel kannte ich bisher nicht.

Danke auch für den Hinweis bzgl. der Kapazität. Aktuell sind es 330 Links, wobei der längste Link 60 Zeichen lang ist. Allerdings kann sich dies noch ändern, da noch offen ist, ob die Startseite oder eine Unterseite verlinkt werden soll.

Liebe Grüße
Sonja

Please Log in to join the conversation.

More
1 year 7 months ago #231838 by Masalas
Hallo @Joffm,
vorab: Es ist meine erste Panel-Umfrage und ich bin kein Entwickler o.ä. (sondern Forscher - kenne mich auch 0 mit Javascript aus). LimeSurvey CE 5.2.7, und ich liege dem Admin seit Monaten in den Ohren, mal wieder zu updaten.

Vielen Dank für die bisherigen Inputs!
Ich habe wiederum ein ähnliches Vorhaben wie Sonjaa, mit zwei Unterschieden und drei Ergänzungen - und frage mich, ob es für das Kern-Anliegen nicht eine simplere Lösung gibt:
  1. Es ist eine geschlossene Umfrage, s.o.
  2. Ziehen mit Zurücklegen (aus einem Pool von hier "nur" 30 Websites)
  • Ich brauche entweder eine vorab festgelegte Zuordnung von Teilnahme-Code/URL-Parameter zur aufgerufenen Website (wäre mir am liebsten, damit ich die Websites wirklich gleichmäßig auf die Eingeladenen verteilen kann) oder muss wenigstens die zufällige Zuordnung speichern. Denn in einer follow-up-Studie (auf demselben Umfrage-Server) sollen die Teilnehmenden nochmal dieselbe Website aufrufen.
  • optional: Am liebsten wäre mir eine Darstellung der anzuzeigenden Website in einem separaten Frame des Umfragetabs - auf der nächsten Umfrageseite wird das Frame wieder geschlossen.
  • optional: Ich würde gerne mit abspeichern, ob jemand überhaupt auf den Umfragelink geklickt hat
Ich habe versucht, mich via Handbuch in URL-Felder und ExpressionScript einzulesen, aber bei mir scheitert es schon daran, einen Link in einem Fragetext mit statischen Text-Werten aus anderen Umfragevariablen zu füllen (es funktioniert nicht:
Code:
[i]<a href="{kompletteTestURL}">{TestWebsitename}</a>[/i]
). Ich bin für jede Hilfe dankbar!

Please Log in to join the conversation.

Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose