Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:results:report [09.07.2019 14:06] – [Die Seitenvorlage] leinerde:results:report [18.04.2025 20:33] (aktuell) – [Kopf- und Fußzeile] service
Zeile 7: Zeile 7:
 **Hinweis:** Das Zusatzmodul "Automatisierte Datenauswertung" ist nur auf dem Befragungsserver [[https://s2survey.net|s2survey.net]] verfügbar, nicht auf dem Befragungsserver [[https://www.soscisurvey.de|www.soscisurvey.de]]. **Hinweis:** Das Zusatzmodul "Automatisierte Datenauswertung" ist nur auf dem Befragungsserver [[https://s2survey.net|s2survey.net]] verfügbar, nicht auf dem Befragungsserver [[https://www.soscisurvey.de|www.soscisurvey.de]].
  
-**Hinweis:** Die Funktion zum automatisierten Erstellen von Ergebnisberichten befindet sich noch in der Entwicklung und wird nur nach gesonderter Freischaltung im Menü angezeigtBitte kontaktieren Sie den Server-Betreiber, wenn Sie die Funktion nutzen möchten.+**Hinweis:** Die Funktion zum automatisierten Erstellen von Ergebnisberichten befindet sich noch in der Entwicklung. Feedback an [[info@soscisurvey.de]] ist herzlich willkommen.
  
  
 ===== Bedienoberfläche ===== ===== Bedienoberfläche =====
  
-Ergebnisberichte werden ähnlich wie [[de:create:questionnaire|Fragebögen]] seitenbasiert erstellt. Das heißt, jede Seite wird für sich angelegt. Nach dem Wechsel in den [[:de:results:analyses|Auswertungsmodus]], dem Klick auf **Ergebnisberichte** und auf //Neuen Bericht vorbereiten// erscheint die Oberfläche zum Erstellen von Ergegebnisberichten.+Ergebnisberichte werden ähnlich wie [[de:create:questionnaire|Fragebögen]] seitenbasiert erstellt. Das heißt, jede Seite wird für sich angelegt. Nach dem Wechsel in den [[:de:results:analyses|Auswertungsmodus]], dem Klick auf **Ergebnisberichte** und auf //Neuen Bericht vorbereiten// erscheint die Oberfläche zum Erstellen von Ergebnisberichten.
  
-{{ :de:results:scr.report.basic.png?nolink | Oberfläche zum Erstellen von Ergegebnisberichten}}+{{ :de:results:scr.report.basic.png?nolink | Oberfläche zum Erstellen von Ergebnisberichten}}
  
 Ganz oben steht zunächst eine Kennung für den Ergebnisbericht (im Bild "report01"), eine Beschreibung und rechts die Knöpfe für die Vorschau ({{::button.play.png?nolink|Vorschau}}), Verwaltung und die Einstellungen ({{::button.settings2.png?nolink|Einstellungen}}). In den Einstellungen kann man dann u.a. auch die //Kennung// und //Beschreibung// des Ergebnisberichts anpassen. Ganz oben steht zunächst eine Kennung für den Ergebnisbericht (im Bild "report01"), eine Beschreibung und rechts die Knöpfe für die Vorschau ({{::button.play.png?nolink|Vorschau}}), Verwaltung und die Einstellungen ({{::button.settings2.png?nolink|Einstellungen}}). In den Einstellungen kann man dann u.a. auch die //Kennung// und //Beschreibung// des Ergebnisberichts anpassen.
  
-Daruntern ist eine Leiste, welche die einzelnen Seiten des Ergebnisberichts symbolisiert. Verweilen Sie mit dem Mauszeiger über einer der Seiten, um davor/dahinter eine neue Seite einzufügen oder die Seite zu löschen.+Darunter ist eine Leiste, welche die einzelnen Seiten des Ergebnisberichts symbolisiert. Verweilen Sie mit dem Mauszeiger über einer der Seiten, um davor/dahinter eine neue Seite einzufügen oder die Seite zu löschen.
  
 Links von Seite 1 ist eine weitere Seite -- die Vorlage für alle anderen Seiten. Hier können der //Titel des Reports//, die //Ausrichtung// (Hoch- oder Querformat) und ggf. Seitenränder festgelegt werden. Außerdem können hier PHP-Funktionen definiert werden, die auf allen anderen Seiten zur Verfügung stehen. Links von Seite 1 ist eine weitere Seite -- die Vorlage für alle anderen Seiten. Hier können der //Titel des Reports//, die //Ausrichtung// (Hoch- oder Querformat) und ggf. Seitenränder festgelegt werden. Außerdem können hier PHP-Funktionen definiert werden, die auf allen anderen Seiten zur Verfügung stehen.
Zeile 65: Zeile 65:
 ===== Elemente ===== ===== Elemente =====
  
-Oben wurde bereits die Funktino ''text()'' verwendet, um einen Text direkt im Fragebogen einzubinden. Die folgenden Funktionen können innerhalb von ''add()'' verwendet werden:+Oben wurde bereits die Funktion ''text()'' verwendet, um einen Text direkt im Fragebogen einzubinden. Die folgenden Funktionen können innerhalb von ''add()'' verwendet werden:
  
   * ''text()'' -- Bindet einen Text ein.   * ''text()'' -- Bindet einen Text ein.
   * ''content()'' -- Bindet einen Textbaustein ein, der unter **Textbausteine u. Beschriftungen** angelegt wurde. Hier ist in eingeschränktem Umfang auch HTML-Code möglich.   * ''content()'' -- Bindet einen Textbaustein ein, der unter **Textbausteine u. Beschriftungen** angelegt wurde. Hier ist in eingeschränktem Umfang auch HTML-Code möglich.
   * ''image()'' -- Bindet eine Grafik ein, z.B. PNG, JPG oder SVG.   * ''image()'' -- Bindet eine Grafik ein, z.B. PNG, JPG oder SVG.
 +  * ''externalPage()'' -- Bindet eine Seite aus einer PDF-Datei ein.
   * ''spacing()'' -- Sorgt für vertikalen Abstand zwischen zwei Elementen, als Parameter wird der Abstand im Millimetern angegeben.   * ''spacing()'' -- Sorgt für vertikalen Abstand zwischen zwei Elementen, als Parameter wird der Abstand im Millimetern angegeben.
-  * ''line()'' -- Zeichnet einen Strich oder ein Polygon, als Parameter werden Koordinaten (jeweils als Array mit 2 Elementen) und eventuell weitere Darstellungparameter übergeben.+  * ''line()'' -- Zeichnet einen Strich oder ein Polygon, als Parameter werden Koordinaten (jeweils als Array mit 2 Elementen) und eventuell weitere Darstellungsparameter übergeben.
   * ''box()'' -- Definiert einen neuen Anzeigebereich innerhalb des übergeordneten Anzeigebereichs und kann (optional) eine Hintergrund- und Rahmenfarbe haben.   * ''box()'' -- Definiert einen neuen Anzeigebereich innerhalb des übergeordneten Anzeigebereichs und kann (optional) eine Hintergrund- und Rahmenfarbe haben.
   * ''circle()'' -- Zeichnet einen Kreis bzw. eine Ellipse in den definierten Anzeigebereich.   * ''circle()'' -- Zeichnet einen Kreis bzw. eine Ellipse in den definierten Anzeigebereich.
Zeile 95: Zeile 96:
 </code> </code>
  
-Von der Funktion ''spacing()'' einmal abgesehen erlauben alle diese Funktionen die Angabe weiterer Darstellungsparamter mittels Array, z.B.+Von der Funktion ''spacing()'' einmal abgesehen erlauben alle diese Funktionen die Angabe weiterer Darstellungsparameter mittels Array, z.B.
  
 <code php> <code php>
Zeile 118: Zeile 119:
   text('Text mit 15 Punkt, fett und grau', ['size' => 15, 'style' => 'b', 'color' => '#7F7F7F']),   text('Text mit 15 Punkt, fett und grau', ['size' => 15, 'style' => 'b', 'color' => '#7F7F7F']),
   ['top' => 10, 'left' => 10]   ['top' => 10, 'left' => 10]
 +);
 +</code>
 +
 +Nachfolgend einige Beispiele für weitere Elemente.
 +
 +<code php>
 +add(
 +    circle([
 +        'x' => 10,
 +        'y' => 10,
 +        'width' => 20,
 +        'height' => 20,
 +        'background-color' => '#FF9900'
 +    ]),
 +    line([10,10], [30,30], [
 +        'color' => '#000000',
 +        'size' => 2
 +    ])
 +);
 +</code>
 +
 +
 +Die Funktion ''content()'' kann auch Platzhalter im angezeigten Inhalt ersetzen.
 +
 +<code php>
 +add(
 +  content('TX01', [
 +    '%vorname%' => value('AB01_01'),
 +    '%nachname%' => value('AB01_02')
 +  ])
 ); );
 </code> </code>
Zeile 188: Zeile 219:
 </code> </code>
  
-Die Funktion für die Titelfolie (im Beispiel ''pgTitle()'') erwartet lediglich den Titel und ein Bild, welches im Hintergrund der Seite paltziert wird.+Die Funktion für die Titelfolie (im Beispiel ''pgTitle()'') erwartet lediglich den Titel und ein Bild, welches im Hintergrund der Seite platziert wird.
  
 <code php> <code php>
Zeile 218: Zeile 249:
 } }
 add( add(
-  image($svg), +  image($svg, [ 
-  ['x' => 0, 'y' => 40, 'width' => 150]+      '%platzhalter%' => 'Text =&gt; Text' 
 +  ]), 
 +  [ 
 +      'x' => 0, 
 +      'y' => 40, 
 +      'width' => 150 
 +  ]
 ); );
 </code> </code>
Zeile 272: Zeile 309:
 Für die Auswertung des Datensatzes können in den Einstellungen des Ergebnisberichts ({{:button.settings2.png?nolink|Einstellungen}}) zunächst einmal Auswahlkriterien definiert werden. Immerhin sollen ungültige Fälle (Abbrecher, Durchklicker) die Ergebnisse ja nicht verzerren. Für die Auswertung des Datensatzes können in den Einstellungen des Ergebnisberichts ({{:button.settings2.png?nolink|Einstellungen}}) zunächst einmal Auswahlkriterien definiert werden. Immerhin sollen ungültige Fälle (Abbrecher, Durchklicker) die Ergebnisse ja nicht verzerren.
  
-Dann sollen vielleicht [[:de:results:analyses#definition_von_teilgruppen|Teilgruppen für die Analyse]] definiert weden. Nachfolgend wird klar, weshalb man diesen eine Kennung geben kann (muss).+Dann sollen vielleicht [[:de:results:analyses#definition_von_teilgruppen|Teilgruppen für die Analyse]] definiert werden. Nachfolgend wird klar, weshalb man diesen eine Kennung geben kann (muss).
  
 Für die Auswertung selbst stehen dann folgenden Funktionen zur Verfügung: Für die Auswertung selbst stehen dann folgenden Funktionen zur Verfügung:
Zeile 283: Zeile 320:
   * ''array **sampleResponses**(string //VariablenKennung//, [string //GruppenKennung//, boolean //Sortieren//, int //MindestLänge//, int //MaximalLänge//])''\\ Liefert eine Liste aller (offenen) Antworten auf die Variable mit der Kennung //VariablenKennung//.   * ''array **sampleResponses**(string //VariablenKennung//, [string //GruppenKennung//, boolean //Sortieren//, int //MindestLänge//, int //MaximalLänge//])''\\ Liefert eine Liste aller (offenen) Antworten auf die Variable mit der Kennung //VariablenKennung//.
  
 +
 +===== Kopf- und Fußzeile =====
 +
 +Beim Zusammenstellen des Ergebnisberichts gibt es links von der ersten Seite noch eine "Seitenvorlage". Alles was Sie auf dieser Vorlage einfügen, wir automatisch auf allen Seiten des Ergebnisberichts angezeigt. Hier ein Beispiel für eine Kopfzeile mit Logo und eine Fußzeile mit Seitennummer.
 +
 +<code php>
 +set("family", "Jura");
 +set("title.family", "Jura");
 +set('size', 10);
 +
 +add(
 +    image("logo.jpg"),
 +    ["right" => 10, "top" => 10, "width" => 45]
 +);
 +add(
 +    separator(),
 +    ["left" => 10, "top" => 27, "right" => 10, "height" => 10]
 +);
 +add(
 +    separator(),
 +    ["left" => 10, "bottom" => 10, "right" => 10, "height" => 2]
 +);
 +add(
 +    ["left" => 10, "top" => pageheight() - 9, "right" => 10, "size" => 8, "color" => "#707070"],
 +    text("%page.month.full% %page.year%"),
 +    text(
 +        "© Fixe Fußzeile",
 +        ["top" => 0,"left" => 115]
 +    ),
 +    text(
 +        "%page.num%",
 +        ["top" => 0, "right" => pageWidth(), 'text-align' => 'right', "width" => 10]
 +    )
 +);
 +</code>
 +
 +
 +===== Briefpapier verwenden =====
 +
 +Alterantiv kann man eine vorhandene PDF-Datei als Briefpapier verwenden und nur zusätzliche Inhalte ergänzen. Der folgende Code in der Seitenvorlage liegt jeder Seite im Bericht das PDF "Template.php" zugrunde, welches in der geschützten Dateiablage im Befragugsprojekt hochgeladen wurde.
 +
 +**Wichtig:** Die Vorlage muss im Format PDF 1.4 oder kleiner erstellt oder in dieses Format konvertiert werden.
 +
 +<code php>
 +add(
 +    externalPage('pro://Template.pdf'),
 +    // Am Seitenende noch die Seitenzahl ergänzen
 +    text(
 +        'Seite %pageNum% von %pageCount%',
 +        [
 +            'top' => 288,
 +            'left' => 50,
 +            'right' => 50,
 +            'color' => '#666666',
 +            'size' => 10,
 +            'text-align' => 'center'
 +        ])
 +);
 +</code>
  
 ===== Weitere PHP-Funktionen ===== ===== Weitere PHP-Funktionen =====
Zeile 293: Zeile 389:
   * ''[[:de:create:functions:value]]''   * ''[[:de:create:functions:value]]''
   * ''[[:de:create:functions:valuemean]]''   * ''[[:de:create:functions:valuemean]]''
 +  * ''[[:de:create:functions:stopcreate]]'' -- Steuerung, ob ein Ergebnisbericht erzeugt werden soll.
de/results/report.1562673992.txt.gz · Zuletzt geändert: von leiner
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki