Skip to content

Commit ac43037

Browse files
committed
refactor: update learning objectives structure to reuse whole admonition blocks
1 parent 895a553 commit ac43037

File tree

7 files changed

+27
-49
lines changed

7 files changed

+27
-49
lines changed

auswertung/toc.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,12 @@ Mit Ihren Rückmeldungen können wir unser interaktives Lehrbuch gezielt an Ihre
1818

1919
Im Fokus des vorigen Kapitels steht die Erstellung eines Datensatzes zum Filmkorpus der Fallstudie - den studentischen Filmen der Jahre 1985 bis 1999 aus dem Archiv der Filmuniversität Babelsberg. In diesem Kapitel werden nun folgende Lernziele verfolgt:
2020

21-
````{admonition} Datenauswertung und Datenvisualisierung mithilfe digitaler Ansätze und Werkzeuge
22-
:class: lernziele
21+
2322
```{include} ../praeambel/lernziele.md
2423
:start-after: "<!-- START: Datenauswertung und Datenvisualisierung -->"
2524
:end-before: "<!-- END: Datenauswertung und Datenvisualisierung -->"
2625
```
27-
````
26+
2827

2928
Wir befinden uns damit beim 3. Schritt unserer Fallstudie, bei dem eine exemplarische Auswertung des synthetischen Datensatzes mithilfe von Visualisierungen stattfindet. Für die die Erstellung der Visualisierungen kommt vor allem *Microsoft Excel* zum Einsatz. Vorab werden einige theoretische Grundlagen der Datenvisualisierung geklärt.
3029

bereinigung/toc.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,12 @@ Mit Ihren Rückmeldungen können wir unser interaktives Lehrbuch gezielt an Ihre
1818

1919
In diesem Kapitel stehen folgende Lernziele im Mittelpunkt:
2020

21-
````{admonition} Prozess der Datenerhebung und Datenbereinigung
22-
:class: lernziele
21+
2322
```{include} ../praeambel/lernziele.md
2423
:start-after: "<!-- START: Datenerhebung und Datenbereinigung -->"
2524
:end-before: "<!-- END: Datenerhebung und Datenbereinigung -->"
2625
```
27-
````
26+
2827

2928
Wir befinden uns damit beim 2. Schritt unserer Fallstudie, bei dem die Rolle von Datenmodellen und einer guten Datenstruktur genauer beleuchtet wird. Die Datenquelle für die Metadaten des zu untersuchenden Filmkorpus wird analysiert und die Bereinigung eines Datensatzes mit dem Open Source Tool zur Datenbereinigung <a href="https://openrefine.org/" class="external-link" target="_blank">OpenRefine</a> anhand exemplarischer Schritte dargelegt.
3029
```{figure} ../assets/bereinigung/Grafik_Schritte_2.png

einleitung/toc.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,12 @@ Mit Ihren Rückmeldungen können wir unser interaktives Lehrbuch gezielt an Ihre
1919

2020
Im folgenden Kapitel werden einige Grundzüge der Digital Humanities und deren Rolle in der Filmwissenschaft vorgestellt. Dadurch sollen Grundlagen für das Verständnis der Fallstudie vermittelt werden, auf die sich die vorliegende _Open Educational Resource_ bezieht. Dabei werden folgende Lernziele verfolgt:
2121

22-
````{admonition} Grundzüge der Digital Humanities und deren Rolle in der Filmwissenschaft
23-
:class: lernziele
22+
2423
```{include} ../praeambel/lernziele.md
2524
:start-after: "<!-- START: Digital Humanities und Filmwissenschaft -->"
2625
:end-before: "<!-- END: Digital Humanities und Filmwissenschaft -->"
2726
```
28-
````
27+
2928

3029
```{admonition} Bearbeitungszeit
3130
:class: zeitinfo

praeambel/lernziele.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,51 +2,51 @@
22
Das hier vorliegende interaktive Lehrbuch verfolgt folgende Lernziele:
33

44

5+
<!-- START: Digital Humanities und Filmwissenschaft -->
56
```{admonition} [Grundzüge der Digital Humanities und deren Rolle in der Filmwissenschaft](../einleitung/toc.md)
67
:class: lernziele
7-
<!-- START: Digital Humanities und Filmwissenschaft -->
88
<!-- learning-goal: Grundzüge der Digital Humanities und deren Rolle in der Filmwissenschaft -->
99
1. Verschiedene Definitionsansätze und Arbeitsbereiche der Digital Humanities können unterschieden werden. <!-- competency: Orientierungswissen | bloom: 1 Erinnern -->
10-
<!-- END: Digital Humanities und Filmwissenschaft -->
1110
```
11+
<!-- END: Digital Humanities und Filmwissenschaft -->
1212

13+
<!-- START: Vorarbeiten und Recherche -->
1314
```{admonition} [Schritte zur Findung einer Fragestellung](../recherche/toc.md)
1415
:class: lernziele
15-
<!-- START: Vorarbeiten und Recherche -->
1616
<!-- learning-goal: Schritte zur Findung einer Fragestellung -->
1717
1. Das Vorgehen bei der Materialrecherche kann beschrieben und angewendet werden.<!-- competency: 1.1 Identifikation | bloom: 1 Erinnern -->
1818
2. Die Konzepte Daten und Metadaten können kritisch reflektiert werden. <!-- competency: 1.1 Identifikation | bloom: 5 Bewerten -->
1919
3. Eine Fragestellung kann operationalisiert und eingegrenzt werden.<!-- competency: 1.1 Identifikation | bloom: 3 Anwenden -->
2020
4. Ein zur Fragestellung passendes Korpus kann gebildet werden.<!-- competency: 1.1 Identifikation | bloom: 3 Anwenden -->
21-
<!-- END: Vorarbeiten und Recherche -->
2221
```
22+
<!-- END: Vorarbeiten und Recherche -->
2323

24+
<!-- START: Datenerhebung und Datenbereinigung -->
2425
```{admonition} [Prozess der Datenerhebung und Datenbereinigung](../bereinigung/toc.md)
2526
:class: lernziele
26-
<!-- START: Datenerhebung und Datenbereinigung -->
2727
<!-- learning-goal: Prozess der Datenerhebung und Datenbereinigung -->
2828
1. Der Begriff Datenmodell kann definiert werden. <!-- competency: 2.2 Validierung | bloom: 1 Erinnern -->
2929
2. Die Fähigkeit zur Beschreibung und Analyse einer Datenquelle wird erworben. <!-- competency: 2.2 Validierung | bloom: 4 Analysieren -->
3030
3. Ein Datensatz kann mithilfe des Tools *OpenRefine* bereinigt werden. <!-- competency: 2.3 Aufbereitung | bloom: 3 Anwenden -->
31-
<!-- END: Datenerhebung und Datenbereinigung -->
3231
```
32+
<!-- END: Datenerhebung und Datenbereinigung -->
3333

34+
<!-- START: Datenauswertung und Datenvisualisierung -->
3435
```{admonition} [Datenauswertung und Datenvisualisierung mithilfe digitaler Ansätze und Werkzeuge](../auswertung/toc.md)
3536
:class: lernziele
36-
<!-- START: Datenauswertung und Datenvisualisierung -->
3737
<!-- learning-goal: Datenauswertung und Datenvisualisierung mithilfe digitaler Ansätze und Werkzeuge -->
3838
1. Die Grundlagen der Datenvisualisierung können beschrieben werden. <!-- competency: 4.2 Visualisierung | bloom: 1 Erinnern -->
3939
2. Die Schritte bei der Datenvisualisierung und Datenauswertung können anhand exemplarischer Beispiele dargestellt werden. <!-- competency: 4.2 Visualisierung | bloom: 1 Erinnern -->
40-
<!-- END: Datenauswertung und Datenvisualisierung -->
4140
```
41+
<!-- END: Datenauswertung und Datenvisualisierung -->
4242

43+
<!-- START: Datenpublikation -->
4344
```{admonition} [Grundlagen für die Publikation von Forschungsdaten](../publikation/toc.md)
4445
:class: lernziele
45-
<!-- START: Datenpublikation -->
4646
<!-- learning-goal: Grundlagen für die Publikation von Forschungsdaten -->
4747
1. Die Grundzüge des Forschungsdatenmanagements in der Filmwissenschaft können umrissen werden. <!-- competency: Orientierungswissen | bloom: 1 Erinnern -->
4848
2. Verschiedene Formen der Datenpublikation können unterschieden werden. <!-- competency: 5.2 Datenpublikation | bloom: 1 Erinnern -->
4949
3. Die Problemfelder und rechtliche Voraussetzungen bei der Datenpublikation können erläutert werden. <!-- competency: 1.3 Ethik und Recht | bloom: 2 Verstehen -->
50-
<!-- END: Datenpublikation -->
5150
```
51+
<!-- END: Datenpublikation -->
5252

publikation/toc.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,12 @@ Mit Ihren Rückmeldungen können wir unser interaktives Lehrbuch gezielt an Ihre
1818

1919
In den letzten Kapiteln wurde eine Forschungsfrage zu unserer Fallstudie formuliert, ein Filmkorpus zu dieser Frage eingegrenzt, es wurden die filmografischen Daten erhoben, bereinigt und mit einfachen Visualisierungen ausgewertet. Im abschließenden Kapitel stehen nun folgende Lernziele im Mittelpunkt:
2020

21-
````{admonition} Grundlagen für die Publikation von Forschungsdaten
22-
:class: lernziele
21+
2322
```{include} ../praeambel/lernziele.md
2423
:start-after: "<!-- START: Datenpublikation -->"
2524
:end-before: "<!-- END: Datenpublikation -->"
2625
```
27-
````
26+
2827

2928
Wir befinden uns damit beim 4. Schritt unserer Fallstudie, bei dem der Weg zur Publikation der Daten im Mittelpunkt steht. Es wird auf den Stand des Forschungsdatenmanagement in der Filmwissenschaft und mögliche Problemfelder bei der Datenpublikation eingegangen. Ein besonderes Augenmerk liegt dabei auf den rechtlichen Rahmenbedingungen.
3029

quadriga/metadata/extract_from_lernziele.py

Lines changed: 8 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -91,14 +91,15 @@ def extract_admonition_blocks(
9191
blocks = []
9292
validation_issues = []
9393

94-
# Pattern to match admonition blocks with their content
95-
admonition_pattern = r'```\{admonition\}\s+(.+?)\n((?::[^\n]+\n)*)((?:(?!```).)+)```'
94+
# Pattern to match admonition blocks preceded by <!-- START: ChapterName -->
95+
admonition_pattern = r'<!--\s*START:\s*(.+?)\s*-->\s*\n```\{admonition\}\s+(.+?)\n((?::[^\n]+\n)*)((?:(?!```).)+)```'
9696

9797
matches = re.finditer(admonition_pattern, content, re.DOTALL | re.MULTILINE)
9898

9999
for match in matches:
100-
title_line = match.group(1).strip()
101-
body = match.group(3).strip()
100+
chapter = match.group(1).strip()
101+
title_line = match.group(2).strip()
102+
body = match.group(4).strip()
102103

103104
# Parse title - extract text and reference
104105
title_match = re.match(r'\[(.+?)\]\((.+?)\)(\s*\(\*(.+?)\*\))?', title_line)
@@ -124,12 +125,6 @@ def extract_admonition_blocks(
124125
'missing_fields': ['learning-goal']
125126
})
126127

127-
# Chapter — use the first <!-- START: ChapterName --> tag in the admonition body.
128-
chapter = None
129-
start_match = re.search(r'<!--\s*START:\s*(.+?)\s*-->', body)
130-
if start_match:
131-
chapter = start_match.group(1).strip()
132-
133128
# Strip all START/END markers before parsing objectives
134129
body_cleaned = re.sub(r'<!--\s*START:\s*.+?\s*-->\s*', '', body)
135130
body_cleaned = re.sub(r'\s*<!--\s*END:\s*.+?\s*-->', '', body_cleaned)
@@ -164,18 +159,7 @@ def extract_admonition_blocks(
164159
'objectives': objectives,
165160
}
166161

167-
if chapter:
168-
block_data['chapter'] = chapter
169-
else:
170-
logger.warning(
171-
"No chapter specified for section '%s'. "
172-
"Add '<!-- START: ChapterName -->' after the line :class: lernziele, dropdown.",
173-
section_title,
174-
)
175-
validation_issues.append({
176-
'section': section_title,
177-
'missing_fields': ['chapter'],
178-
})
162+
block_data['chapter'] = chapter
179163

180164
blocks.append(block_data)
181165

@@ -216,7 +200,7 @@ def generate_validation_report(
216200
report += "\nHow to fix:\n"
217201
report += " competency/bloom → <!-- competency: X | bloom: Y --> after the objective\n"
218202
report += " learning-goal → <!-- learning-goal: ... --> inside the admonition block\n"
219-
report += " chapter → <!-- START: ChapterName --> before the learning goal\n"
203+
report += " chapter → <!-- START: ChapterName --> before the admonition block\n"
220204

221205
output_path.write_text(report, encoding="utf-8")
222206
logger.info("Validation report saved to %s", output_path)
@@ -330,4 +314,4 @@ def merge_learning_objectives_into_metadata() -> bool:
330314

331315
if __name__ == "__main__":
332316
success = merge_learning_objectives_into_metadata()
333-
exit(0 if success else 1)
317+
exit(0 if success else 1)

recherche/toc.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,11 @@ Mit Ihren Rückmeldungen können wir unser interaktives Lehrbuch gezielt an Ihre
1818

1919
Die vorliegende Fallstudie befasst sich mit den studentischen Filmproduktionen aus dem Filmarchiv der Filmuniversität Babelsberg KONRAD WOLF. In den folgenden Abschnitten stehen folgende Lernziele im Mittelpunkt:
2020

21-
````{admonition} Schritte zur Findung einer Fragestellung
22-
:class: lernziele
2321
```{include} ../praeambel/lernziele.md
2422
:start-after: "<!-- START: Vorarbeiten und Recherche -->"
2523
:end-before: "<!-- END: Vorarbeiten und Recherche -->"
2624
```
27-
````
25+
2826

2927
Wir befinden uns damit beim 1. Schritt unserer Fallstudie, bei dem das zu untersuchende Filmkorpus durch eine Materialrecherche zur Forschungsfrage eingegrenzt wird. Es wird definiert, was unter filmografischen Angaben (wie z.B. Titel, Regie, Entstehungsjahr etc.) bzw. Metadaten zu verstehen ist und anschließend erläutert, auf welche Weisen die Fragestellung operationalisiert werden kann.
3028

0 commit comments

Comments
 (0)