Martin Rost
Publikationen

Erfahrungsnotiz: Präsentationsfolien für aufwändige Schulungen effizient verwalten und pflegen

2021.01.30., Version 1.1
http://www.maroki.de/pub/technology/mk_folien_info.html
E-Mail: martin-rost_at_web_de
("_at_" bitte durch "@" ersetzen, "_de" bitte durch ".de")

Powerpoint, LibreOffice-Impress oder prezi sind Programme, vielleicht ist es präziser von "Konzepten" zu sprechen, mit denen sich mehrere umfangreiche Präsentationsfolien-Sätze für aufwändige Schulungen nicht effizient verwalten und pflegen lassen. Zu Beginn ist alles gut mit ihnen - die Lernkurve ist flach, die Auswahl der Werkzeuge ist gelungen - aber nach längerer Zeit zeigen sich die Schwächen dieser Konzepte, wenn man umfangreich mit Präsentationen arbeitet. Ich zeige hier, wie es auch anders geht.

Das Problem

Wie hält man mehrere Hundert Folien für Schulungen, die sich thematisch teilweise überschneiden, effektiv auf einem aktuellen Stand? Ein Rechtschreibfehler auf einer in allen Schulungen verwendeten Folie sollte nur ein einziges Mal korrigiert werden müssen. Und wie lassen sich mal eben 200 Folien zu einem bestimmten Thema automatisiert ändern? Mein konkreter Ausgangspunkt sind vier verschiedene Ganzstags-Schulungen mit sich überschneidenden Themen. Die Schulungen führe ich jeweils in unterschiedlichen Längen (8h, 4h) und Formaten durch, mit teilweise zusätzlich unterschiedlichen Gewichtungen der zu behandelnden Themen. Dazu kommen mehrere Vorträge im Jahr, die ich in der Regel zu einem Großteil aus vorhandenen Folien zusammenstellen kann. Nach einigen Jahren der parallelen Pflege von vier Foliensätzen - zunächst in Powerpoint, dann in LibreOffice-Impress - nahmen die Fehler und mein Genervtsein vom redundanten Pflegeaufwand zu. Durch den Corona-bedingten Schwenk hin zu Webinaren wurde mein Bedarf nach guten, fehlerarmen, "verlässlichen" Folien, deren Fehler ich nicht interaktiv "auffangen" muss, noch größer.

Um die enervierende Ineffizienz an einem Beispiel zu zeigen: Ich habe in einem der Foliensätze eine neue Folie aufgenommen oder eine alte korrigiert, und diese dann in dem zweiten Foliensatz, der eine thematische Untermenge aus dem ersten Foliensatz enthält, integriert. Mit der Integration in den zweiten Foliensatz fiel mir eine weitere Verbesserung ein, die dann wiederum zurück in dem ursprünglichen Foliensatz aufgenommen werden musste. In dem mir anschließend natürlich noch ein Kommafehler auffiel. Also wieder zurück zum anderen und auch dort korrigieren? Oder einfach so lassen? Nein, das kommt nicht infrage, jeder aufgefallene Fehler muss bearbeitet werden. Und dann waren auch die anderen Foliensätze zu bedenken, ob die neue Folie auch dort aufgenommen werden sollte. Es galt permanent zu erinnern, welche Folien in welchem Foliensatz enthalten sind. Ich beobachtete nach einigen Monaten: Die Qualität der Folien nahm ab, die Inhalte wurden überraschender. Manchmal dachte ich, einen Foliensatz längst fortgeschrieben oder verbessert zu haben. Das hatte ich auch, nur nicht diesen.

Die Lösung

Die Lösung liegt auf der Hand: Jede Folie muss einzeln "ansprechbar" bearbeitet, verwaltet und flexibel eingebunden werden können, jede Folie braucht eine eigene Adresse.

Im Grunde ist dies ein Problem, dessen typische Lösung lautet: "Dann nimm eine Datenbank, jede Folie ist ein Datensatz!". Tatsächlich benutzt meine Lösung keine Datenbank, weil mir das Nutzen-Aufwandverhältnis unklar ist. Stattdessen benutze ich reveal.js, das ich, auf der Suche nach Alternativen für Powerpoint und Impress, mal ausprobiert hatte. reveal.js ist eine Präsentationslösung in Javascript (Webseite: https://revealjs.com). Ich schreibe meine (textlastigen) Folieninhalte somit in einem beliebigen Editor (konkret geany oder notepad++) und nutze die üblichen Mittel einer Webseitengestaltung. Das kann alles einfach gehalten sein, so wie bei mir. Das kann aber auch sophisticated sein, wenn man sich mit CSS und Javascript austoben möchte. Reveal.js erlaubt zur Webseitenerstellung sogar die Nutzung von markdown anstatt HTML, was insbesondere für weitsichtige AutorInnen, die ihre gesamte Textproduktionen in einer Textauszeichnung erfassen, eine attraktive Option sein könnte.

Während mit reveal.js die Inhalte strukturiert werden, muss ein Script her, mit dem sich die Folien flexibel zusammenstellen und "analysieren" lassen. Mein Script ist in rexx geschrieben (Webseite: https://regina-rexx.sourceforge.io/). Rexx ist eine einfache Skriptsprache, die für jedes gängige Betriebssystem installiert werden kann. (Konkret handelt es sich bei mir um einen Linuxlaptop. Beim Arbeiten auf kein Betriebssystem festgelegt zu sein ist eine Eigenschaft, die ich sehr schätze.) Würde ich neu mit dem Projekt beginnen, würde ich vermutlich python dafür nutzen.

Wie sieht der Arbeitsablauf aus?

Aktuell greife ich für meine Schulungen auf knapp 700 unterschiedliche Folien zurück.

Die Übersicht behalte ich zum einen mit einem Index über alle Folien, der nach Formen (Text, Abbildung, Gesetz, Zusammenfassungen...) und nach Inhalten (Unterthemen meiner Schulungen) gruppiert. Diesen Index lasse ich von meinem Script nach Bedarf erstellen. Den Index spezielle für die Folien einer Schulung lasse ich erzeugen, nachdem ich die Schulungsfolien ein letztes Mal kontrolliert habe. Während einer Schulung erlaubt mir der Index ein spontanes Springen zwischen Themen, Abbildungen, Übungen, Kapiteln oder einzelnen Folien. Und dadurch dass die Folien ohnehin als Webseiten vorliegen, nehme ich zunehmend meine Folien zum Startpunkt, um spontane Ausflüge ins Internet zu unternehmen und aktuelleste Informationen zu zeigen.

Zum zweiten nutze ich eine Tabelle in Libreoffice-Calc. In dieser Tabelle sind sämtliche sprechende Foliennamen der Schulungen in Spalten aufgelistet. Diese Datenhaltung in Form einer großen Gesamttabelle über alle meine Schulungsfolien ist mein führendes Verwaltungsmedium. Aktuell sind es zehn Spalten für zehn unterschiedliche Schulungen. Folien mit gleichem Namen (gleichen Inhalten) halte ich stabil auf einer Zeile über alle Spalten hinweg. Das erlaubt mir, neu zu konzipierende Schulungen im Vergleich zur "Referenzschulung" durch Weglassen von Folien zu kürzen oder durch Hinzunahme neuer Folien zu verlängern. Die Themen einer Schulung habe ich in Gruppen strukturiert. Da sich meine Schulungen um das Thema "Datenschutz" drehen, kommen typisch in jeder Schulung eine unterschiedliche Auswahl an Folien zur DSGVO, zur Datenschutzfolgen-Abschätzung, zum Datenschutzmanagement, zu den Aufgaben von Datenschutzbeauftragten und zum Standard-Datenschutzmodell, sowie natürlich die obligatorischen Folien zur Einleitung, zur Agenda, zu Referenzen oder Kontaktadressen usw. usw. vor.

Und als drittes speicher ich alle meine HTML-Folien in einer einzigen Datei und bearbeite diese im Editor. Struktur-Änderungen sind in der Regel sehr schnell und einfach durch ein "cut and paste" erledigt.

Was macht das Script? Das Script zieht die Namen der Folien für eine Schulung aus der entsprechenden Spalte der Libre-Calc-Datei heraus. Danach sucht es anhand dieser zeilenweise aufgeführten Foliennamen die entsprechenden HTML-Folien aus der Datei, die sämtliche HTML-Seiten enthält, zusammen. Dabei werden einige Variablen ausgewertet, etwa Variablen für die Titelseite, Thema, Ort, Datum. Anschließend stellt das Script Lernmaterialien aus einem Pool an Materialien speziell für das Thema zusammen, erstellt ein pdf mit einer Inhaltsübersicht und erzeugt ein aktualisiertes Info-Blatt mit technischen Daten (Login, URL usw.), wenn die Schulung als Webinar stattfinden soll. Zuletzt erzeugt es den Index über die Schulungsfolien sowie eine Art Drehbuch für mich, an was ich noch zu denken habe, bspw. dass ich den Schulungsteilnehmer*innen noch Informationen zum Webinar mailen muss.

Wie sieht der Arbeitsablauf aus? Nach Erhalt der Namen der TeilnehmerInnen durch meinen Schulungsveranstalter erzeuge ich ein neues Verzeichnis für die bevorstehende Schulung, wechsel mit einem Terminalprogramm in das Verzeichnis und starte das Script mit dem Befehl, eine Datei mit allen Foliennamen zum Schulungsthemas zu erzeugen. Anschließend wird daraus die HTML-Präsentationsdatei erzeugt und es werden die Kursmaterialien in ein Unterverzeichnis kopiert. Zu den Materialien wird automatisiert ein Inhaltsverzeichnis erstellt und dieses Verzeichnis abschließend zu einer Datei gepackt (Umfang aktuell zwischen 10 und 14 MB). Die ebenfalls erzeugten beiden Infoblätter für die TeilnehmerInnen und mich ergänze ich von Hand mit solchen Informationen, die nicht standardisiert zur Verfügung stehen, etwa den Link, an dem die Kursmaterialien für eine gewisse Zeit von den Teilnehmerinnen herunterladbar sind.

Im Prinzip wünschenswert wäre noch ein automatisierter Ausdruck der Schulungsfolien als pdf-Datei. Die Ergebnisse der Versuche in diese Richtung waren zu fehlerträchtig bzw. der Nutzen war zu gering, weil ich nie auf eine prüfende Durchsicht von Folien vor einer neuen Schulung verzichten mag und eigentlich immer etwas korrgieren möchte. Dann ist das Anstoßen des Ausdrucks keine zusätzliche nervige Last. Neue Schulungsfolien zu erstellen, von Null auf Löslegenkönnen inkl. Versorgung der TeilnehmerInnen mit allen Unterlagen, plus eine fliegende Durchsicht kann auf diese Weise in 15 Minuten erledigt sein. Tatsächlich nehme ich mir meist mehr Zeit zur Vorbereitung. Korrekturen von Folien nehme ich in der Regel gleich im Anschluss an eine Schulung vor, auch weil ich frisch vor Augen habe, was dieses Mal nicht so gut funktionierte. Inhaltliche Änderungen an Schulungsfolien führe ich durch, wenn ich mich mit einem Thema beschäftige.

Script-Features:

  • Zusammenstellen der spezifischen Schulungs-Folien aus dem Gesamtpool an Folien.
  • Zusammenstellen der spezifischen Schulungsmaterialien aus dem Gesamtpool der Materialien inkl. Erstellung Inhaltsverzechnis als pdf erstellen.
  • Zusammenstellen der Schulungs-Informationen an die Teilnehmer*innen (Videokonferenz URL, Passworte usw.).
  • Indezieren der Folien (Form / Inhalt) und Erstellung eines Index, um Seiten thematisch anspringen zu können.
  • Erstellen von Statistiken (Anzahl der Folien mit Übungen, Diskussionen, spziellen Themen...).
  • Ausdruck der Folien bzw. Erstellung einer pdf-Version der Folien über Chrome/Chromium mit der "print-pdf"-Erweiterung.

Fazit

Natürlich verleiht einem die Nutzung von HTML sowie insbesondere eines Scripts für die Verarbeitung von HTML-Seiten die volle Macht über die Automation von Abläufen. Zugleich verlangt diese Form der Erarbeitung von Schulungsfolien einen hohen Aufwand in die Einarbeitung sowie in die Erstellung insbesondere von Grafiken und deren Animation. Die hier vorgestellte Lösung hat ihre Stärke in textlastigen Schulungsfolien, aber sie ist zu aufwändig, wenn Folien nur für drei vier Vorträge im Jahr erstellt werden müssen..

Anmerkung:
Mein Script möchte ich nicht herausgeben, weil es ganz spezifisch auf meine Inhalte abgestellt ist. Wen das Konzept überzeugt, muss Scriptprogrammierung können oder dies halt lernen. Sollten sich mehrere Interessierte konkret zu meiner Lösung melden, bin ich gern bereit, das ganze System per Videokonferenz vorzustellen. Auch beantworte ich Fragen, die mich per Mail erreichen, gern.