Ansicht erstellen: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Harry (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
||
(26 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
= Tutorial zum Erstellen einer Ansicht (View) = | =Tutorial zum Erstellen einer Ansicht (View)= | ||
[[RDMO]]#RDMOTutorials | |||
Nachdem Sie einen Fragenkatalog selbst erstellt haben oder einen geeigneten, bereits vorhanden ausgesucht haben, bietet es sich an eine (oder mehrere) entsprechende Ansicht(en) zu erstellen. Eine Ansicht erlaubt es den ausgefüllten Fragenkatalog in gewünschter Form darzustellen und in verschiedene Formate (z.B. PDF, HTML) zu exportieren. Solch eine Ansicht bietet sich beispielsweise an, wenn von dem | Nachdem Sie einen Fragenkatalog selbst erstellt haben oder einen geeigneten, bereits vorhanden ausgesucht haben, bietet es sich an eine (oder mehrere) entsprechende Ansicht(en) zu erstellen. Eine Ansicht erlaubt es den ausgefüllten Fragenkatalog in gewünschter Form darzustellen und in verschiedene Formate (z.B. PDF, HTML) zu exportieren. Solch eine Ansicht bietet sich beispielsweise an, wenn von dem Förderer ein Datenmanagementplan in Textform verlangt wird. Die Ansicht kann die Fragen des Katalogs neu anordnen und somit der Reihenfolge des Fragenkataloges eines Förderers angeglichen werden. | ||
== Eine neue Ansicht anlegen == | ==Eine neue Ansicht anlegen== | ||
Unter dem Managementmenü | Unter dem Managementmenü in der oberen Navigationsleiste finden Sie die ''Ansichten''. Wenn sie auf ''Ansichten'' klicken, erscheinen alle bisher verfügbaren Ansichten. Klicken Sie in der rechten Navigationsleiste unter ''Optionen'' auf ''Neue Ansicht erstellen''. | ||
Es öffnet sich nun ein Fenster, in dem Sie die Eigenschaften der neuen Ansicht festlegen müssen: | Es öffnet sich nun ein Fenster, in dem Sie die Eigenschaften der neuen Ansicht festlegen müssen: | ||
*''URI Prefix'': bitte wählen Sie das Präfix ihrer RDMO-Instanz, welches sie durchgängig verwenden müssen oder das Standard-Präfix | |||
*''Schlüssel'': wählen Sie einen beliebigen Namen, den Sie ausschließlich für diese Ansicht zur Identifizierung verwenden (z.B. „Förderer x“) | |||
*''Kommentar'': geben Sie optional einen beschreibenden Text ein, wofür die Ansicht gedacht ist | |||
*''Titel (en)'': geben Sie einen englischen Titel für die Ansicht ein. Der Titel wird in der Projektübersicht angezeigt. | |||
*''Titel (de)'': geben Sie einen deutschen Titel für die Ansicht ein. Der Titel wird in der Projektübersicht angezeigt. | |||
*''Hilfe (en)'': geben Sie optional einen englische Hilfetext der Ansicht. Der Hilfetext wird in der Projektübersicht angezeigt. | |||
*''Hilfe (de)'': geben Sie optional einen deutsche Hilfetext der Ansicht. Der Hilfetext wird in der Projektübersicht angezeigt. | |||
===Ansicht bearbeiten=== | |||
Nachdem sie eine neue Ansicht angelegt haben, erscheint es in der Liste der Ansichten alphabetisch einsortiert. Klicken Sie auf das zweite Symbol "Template bearbeiten" in dem Vorlagen-Panel. Es erscheint dann das Vorlagen-Fenster, welches zunächst leer ist. Dort tippen Sie die gewünschten Fragen, dessen Antworten auf ein Textdokument gemappt werden sollen, für die Ansicht ein. Dafür verwenden Sie '''Django Template Syntax'''. Grundlegende Funktionen werden im Folgenden erklärt. Für eine genaue Anleitung lesen Sie bitte [https://docs.djangoproject.com/en/2.2/topics/templates/] . | |||
Für das Layout verwenden Sie reguläres '''HTML''' und dank der Django Template Syntax können Variablen ersetzt werden. | |||
Es gibt zwei Arten von Variablen: | |||
Beim Beantworten des Fragenkatalogs durch den Benutzer werden die Attribute wie z.B. <code>project/research_question/title</code> mit dessen Antworten gefüllt. Diese Antworten können dann mit Hilfe von Variabeln in der Ansicht abgerufen werden | *''values'', welche die Antworten des Benutzers auf deren Attribute mappt. | ||
*''conditions'', welche auf die Schlüssel von den Bedingungen mappt, um die Bedingungen anhand des aktuellen Projekts auszuwerten (z.B. wahr oder falsch). | |||
Beim Beantworten des Fragenkatalogs durch den Benutzer werden die Attribute wie z.B. <code>project/research_question/title</code> mit dessen Antworten gefüllt. Diese Antworten können dann mit Hilfe von Variabeln in der Ansicht abgerufen werden. In der Vorlage schreiben Sie: | |||
<code> | <code> | ||
Die Fragestellung des Projekts ist: { | Die Fragestellung des Projekts ist: <nowiki>{% render_value 'project/research_question/title' %}</nowiki> | ||
</code> | </code> | ||
Nehmen wir an, dass der Benutzer auf die Frage mit "Wie erstelle ich eine Ansicht?" geantwortet hat. Dann wird die Variable <code>project/research_question/title</code> durch diese Antwort ersetzt und die Ausgabe ist: | |||
<code> | |||
Die Fragestellung des Projekts ist: "Wie erstelle ich eine Ansicht?" | |||
</code> | |||
===Tags=== | |||
Zu Beginn eines View-Templates werden die nötigen View-Tags geladen. Die folgenden Zeilen bilden den Standard, der nötig ist, um auf die weiter unten genannten Funktionen zuzugreifen zu können. Natürlich können diese verändert und ergänzt werden. "Partners" und "datasets" sind Variablen die in der ganzen View zur Verfügung stehen werden. Zur letzteren findet sich weiter unten auch ein Verwendungsbeispiel. | |||
<pre> | |||
{% load view_tags %} | |||
{% get_set 'project/partner' as partners %} | |||
{% get_set 'project/dataset' as datasets %} | |||
</pre> | |||
Ein neuer Tag steht seit Mai 2020 zur Verfügung und nennt sich "mathfilters". | |||
<pre> | |||
<% load mathfilters %} | |||
</pre> | |||
===Verwendung=== | |||
Für Attributsammlungen bietet es sich an den <code>for</code>-Tag zu verwenden, der eine Schleife über alle Antworteingaben einer Frage legt: | |||
<pre> | |||
<ul> | |||
{% get_values 'project/research_question/keywords' set_index=0 as keyword %} | |||
{% for value in text %} | |||
<li>{{ value.value }}</li> | |||
{% endfor %} | |||
</ul> | |||
</pre> | |||
Hierbei dient <nowiki><ul>...</ul></nowiki> dazu eine Aufzählungsliste mit Stichwörtern (<nowiki><li>...</li></nowiki>) zu erstellen. Die Schleifen-Variable ''keyword'' steht repräsentativ für die einzelnen Werte in <code>project/research_question/keywords</code>. | |||
Ein anderes Beispiel für die Sammlung ''dataset'': | |||
<pre> | |||
{% for dataset in datasets %} | |||
<p> | |||
{% render_set_value dataset 'project/dataset/id' %} | |||
</p> | |||
{% endfor %} | |||
</pre> | |||
Hierbei sorgt das <nowiki><p>...</p></nowiki> dafür, dass die Ausgabe in einem Absatz formatiert wird. | |||
Es ist auch möglich, dass eine Antwort nur angezeigt wird, wenn diese auch tatsächlich vorher angegeben wurde, d.h. wenn das Attribut nicht leer ist. Dafür wird der <code>if</code>-Tag verwendet: | |||
<pre> | |||
{% get_value 'project/dataset/sharing/yesno' as val %} | |||
{% if val.is_true %} | |||
Dies wird nur ausgeführt, wenn personal_data als wahr ausgewertet wird. | |||
{% endif %} | |||
</pre> | |||
Mit Hilfe des mathfilters kann der Filter "addition" verwendet werden und einzelne Variabeln aufaddiert werden. Hierbei sollte die Variabel immer als Zahl ("as_number") ausgegeben werden: | |||
<pre> | |||
{{ costs.as_number |addition: additional_costs.as_number}} | |||
</pre> | |||
==Fehler== | |||
1.) Wenn sie ihre Eintragungen (zwischen-)speichern und dabei eine Fehlermeldung wie folgt erhalten: | |||
[[Datei:FehlermeldungAnsicht.PNG|800px|none]] | |||
Dann bedeutet dies, dass Sie <nowiki>{% endfor %}</nowiki> vergessen haben, welches eine for-Schleife schließt. Solche syntaktischen Fehler werden Ihnen auf diese Art angezeigt. Ob die benutzten Variabeln richtig aufgeschlüsselt werden, sehen sie in dem Code-Eingabefenster jedoch nicht. Erst wenn sie die Ansicht innerhalb ihres Projekts aufrufen, werden sie Fehler feststellen können. Es werden dann Einträge fehlen oder falsch dargestellt sein. Überprüfen Sie in solch einem Fall die richtige Angabe ihrer Variabeln. |
Aktuelle Version vom 5. Mai 2020, 16:52 Uhr
Tutorial zum Erstellen einer Ansicht (View)
RDMO#RDMOTutorials
Nachdem Sie einen Fragenkatalog selbst erstellt haben oder einen geeigneten, bereits vorhanden ausgesucht haben, bietet es sich an eine (oder mehrere) entsprechende Ansicht(en) zu erstellen. Eine Ansicht erlaubt es den ausgefüllten Fragenkatalog in gewünschter Form darzustellen und in verschiedene Formate (z.B. PDF, HTML) zu exportieren. Solch eine Ansicht bietet sich beispielsweise an, wenn von dem Förderer ein Datenmanagementplan in Textform verlangt wird. Die Ansicht kann die Fragen des Katalogs neu anordnen und somit der Reihenfolge des Fragenkataloges eines Förderers angeglichen werden.
Eine neue Ansicht anlegen
Unter dem Managementmenü in der oberen Navigationsleiste finden Sie die Ansichten. Wenn sie auf Ansichten klicken, erscheinen alle bisher verfügbaren Ansichten. Klicken Sie in der rechten Navigationsleiste unter Optionen auf Neue Ansicht erstellen.
Es öffnet sich nun ein Fenster, in dem Sie die Eigenschaften der neuen Ansicht festlegen müssen:
- URI Prefix: bitte wählen Sie das Präfix ihrer RDMO-Instanz, welches sie durchgängig verwenden müssen oder das Standard-Präfix
- Schlüssel: wählen Sie einen beliebigen Namen, den Sie ausschließlich für diese Ansicht zur Identifizierung verwenden (z.B. „Förderer x“)
- Kommentar: geben Sie optional einen beschreibenden Text ein, wofür die Ansicht gedacht ist
- Titel (en): geben Sie einen englischen Titel für die Ansicht ein. Der Titel wird in der Projektübersicht angezeigt.
- Titel (de): geben Sie einen deutschen Titel für die Ansicht ein. Der Titel wird in der Projektübersicht angezeigt.
- Hilfe (en): geben Sie optional einen englische Hilfetext der Ansicht. Der Hilfetext wird in der Projektübersicht angezeigt.
- Hilfe (de): geben Sie optional einen deutsche Hilfetext der Ansicht. Der Hilfetext wird in der Projektübersicht angezeigt.
Ansicht bearbeiten
Nachdem sie eine neue Ansicht angelegt haben, erscheint es in der Liste der Ansichten alphabetisch einsortiert. Klicken Sie auf das zweite Symbol "Template bearbeiten" in dem Vorlagen-Panel. Es erscheint dann das Vorlagen-Fenster, welches zunächst leer ist. Dort tippen Sie die gewünschten Fragen, dessen Antworten auf ein Textdokument gemappt werden sollen, für die Ansicht ein. Dafür verwenden Sie Django Template Syntax. Grundlegende Funktionen werden im Folgenden erklärt. Für eine genaue Anleitung lesen Sie bitte [1] .
Für das Layout verwenden Sie reguläres HTML und dank der Django Template Syntax können Variablen ersetzt werden. Es gibt zwei Arten von Variablen:
- values, welche die Antworten des Benutzers auf deren Attribute mappt.
- conditions, welche auf die Schlüssel von den Bedingungen mappt, um die Bedingungen anhand des aktuellen Projekts auszuwerten (z.B. wahr oder falsch).
Beim Beantworten des Fragenkatalogs durch den Benutzer werden die Attribute wie z.B. project/research_question/title
mit dessen Antworten gefüllt. Diese Antworten können dann mit Hilfe von Variabeln in der Ansicht abgerufen werden. In der Vorlage schreiben Sie:
Die Fragestellung des Projekts ist: {% render_value 'project/research_question/title' %}
Nehmen wir an, dass der Benutzer auf die Frage mit "Wie erstelle ich eine Ansicht?" geantwortet hat. Dann wird die Variable project/research_question/title
durch diese Antwort ersetzt und die Ausgabe ist:
Die Fragestellung des Projekts ist: "Wie erstelle ich eine Ansicht?"
Tags
Zu Beginn eines View-Templates werden die nötigen View-Tags geladen. Die folgenden Zeilen bilden den Standard, der nötig ist, um auf die weiter unten genannten Funktionen zuzugreifen zu können. Natürlich können diese verändert und ergänzt werden. "Partners" und "datasets" sind Variablen die in der ganzen View zur Verfügung stehen werden. Zur letzteren findet sich weiter unten auch ein Verwendungsbeispiel.
{% load view_tags %} {% get_set 'project/partner' as partners %} {% get_set 'project/dataset' as datasets %}
Ein neuer Tag steht seit Mai 2020 zur Verfügung und nennt sich "mathfilters".
<% load mathfilters %}
Verwendung
Für Attributsammlungen bietet es sich an den for
-Tag zu verwenden, der eine Schleife über alle Antworteingaben einer Frage legt:
<ul> {% get_values 'project/research_question/keywords' set_index=0 as keyword %} {% for value in text %} <li>{{ value.value }}</li> {% endfor %} </ul>
Hierbei dient <ul>...</ul> dazu eine Aufzählungsliste mit Stichwörtern (<li>...</li>) zu erstellen. Die Schleifen-Variable keyword steht repräsentativ für die einzelnen Werte in project/research_question/keywords
.
Ein anderes Beispiel für die Sammlung dataset:
{% for dataset in datasets %} <p> {% render_set_value dataset 'project/dataset/id' %} </p> {% endfor %}
Hierbei sorgt das <p>...</p> dafür, dass die Ausgabe in einem Absatz formatiert wird.
Es ist auch möglich, dass eine Antwort nur angezeigt wird, wenn diese auch tatsächlich vorher angegeben wurde, d.h. wenn das Attribut nicht leer ist. Dafür wird der if
-Tag verwendet:
{% get_value 'project/dataset/sharing/yesno' as val %} {% if val.is_true %} Dies wird nur ausgeführt, wenn personal_data als wahr ausgewertet wird. {% endif %}
Mit Hilfe des mathfilters kann der Filter "addition" verwendet werden und einzelne Variabeln aufaddiert werden. Hierbei sollte die Variabel immer als Zahl ("as_number") ausgegeben werden:
{{ costs.as_number |addition: additional_costs.as_number}}
Fehler
1.) Wenn sie ihre Eintragungen (zwischen-)speichern und dabei eine Fehlermeldung wie folgt erhalten:
Dann bedeutet dies, dass Sie {% endfor %} vergessen haben, welches eine for-Schleife schließt. Solche syntaktischen Fehler werden Ihnen auf diese Art angezeigt. Ob die benutzten Variabeln richtig aufgeschlüsselt werden, sehen sie in dem Code-Eingabefenster jedoch nicht. Erst wenn sie die Ansicht innerhalb ihres Projekts aufrufen, werden sie Fehler feststellen können. Es werden dann Einträge fehlen oder falsch dargestellt sein. Überprüfen Sie in solch einem Fall die richtige Angabe ihrer Variabeln.