Ansicht erstellen

Aus Forschungsdaten.org
Zur Navigation springen Zur Suche springen

Tutorial zum Erstellen einer Ansicht (View)

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örder ein Datenmanagementplan in Textform verlangt wird. Die Ansicht kann die Fragen des Katalogs neu anordnen und somit der Reihenfolge des Fragenkataloges eines Förders 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 Wort ihrer RDMO-Instanz, welches sie durchgängig verwenden müssen (Das Entwicklerteam verwendet für seine Demo-Instanz: https://rdmorganiser.github.io/terms)
  • 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ären. 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. Dabei werden die Schrägstriche / durch Punkte . ersetzt. In der Vorlage schreiben Sie: Die Fragestellung des Projekts ist: {{ values.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 values.project.research_question.title durch diese Antwort ersetzt und die Ausgabe ist:

Die Fragestellung des Projekts ist: "Wie erstelle ich eine Ansicht?"

Tags

Für Attributssammlungen bietet es sich den for-Tag zu verwenden, der eine Schleife über alle Antworteingaben einer Frage legt:

<ul>
{% for keyword in project.research_question.keywords %}
    <li>{{ keyword }}</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 values.project.dataset %}
<p>
    <i>Dataset {{ dataset.id }}:</i> {{ dataset.usage_description }}
</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 bgegeben wurde, d.h. wenn das Attribut nicht leer ist. Dafür wird der if-Tag verwendet:

{% if conditions.personal_data %} Dies wird nur ausgeführt, wenn personal_data als wahr ausgewertet wird. {% endif %}

Filter

Es können Filter eingesetzt werden, um die Ausgabe zu formatieren. Es können beispielsweise die Inhalte einer Sammlung durch Kommata getrennt werden:

<p>
    {{ values.project.research_question.keywords | join:', ' }}
</p>

Fehler

1.) Bitte beachten Sie, dass sie stets "values"+ den Pfad des Attributes angeben müssen, wobei die Schrägstriche durch Punkte ersetzt werden. Lediglich wenn durch eine for-Schleife dieser Pfad (teilweise) ersetzt wird, reicht die verkürzende, neue Variable aus:

{% for dataset in values.project.dataset %}
<p><em>Datensatz {{ dataset.id }}:</em> 
Volumen: {{dataset.size.volume}}</p>
{% endfor %}

In diesem Fall ersetzt "dataset" nach dem for das "values.project.dataset", so dass innerhalb der Schleife nur "dataset.size.volume" geschrieben werden muss anstatt "values.project.dataset.size.volume".

2.) Wenn sie ihre Eintragungen (zwischen)speichern und dabei eine Fehlermeldung wie folgt erhalten:

FehlermeldungAnsicht.PNG

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.