Kategorien
Allgemein

Adventskalender digital – per Kurzbefehl

Die größte Herausforderung bei Adventskalendern: Bis zum 30. November muss alles zusammensein, um für den Dezember eine tägliche Überraschung bereit zu halten. Vierundzwanzig einzelne Päckchen, liebevoll ausgewählt, verpackt und in einem kunstvollen Arrangement zusammengefügt – eine mittlere Herausforderung.

Mit dem Kurzbefehl „Adventomat“ habt Ihr ein bisschen mehr Zeit, denn erstens erspart Ihr Euch das Verpacken, und zweitens verschickt Ihr täglich einen Coupon, anstatt zum Dezemberbeginn alles zusammengetragen haben zu müssen.

So kommt der Adventscoupon an – ein PDF mit antippbarer Kalenderzahl im Kopf und gut ablesbarem QR-Code. Alternativ druckt Ihr das Ding auch schlicht aus; am besten gleich sechs oder acht Einzel-PDFs auf einer Seite. Dann braucht Ihr nur vier beziehungsweise drei Blätter.

Ihr könnt Euch nicht nur den Kurzbefehl herunterladen und selbst verwenden (der Links ist am Ende des Blog-Beitrags) – ich zeige Euch obendrein, wie ich den Kurzbefehl gebaut habe.

Grundidee: Alles übers Netz

Die Inhalte sollen alle im Internet aufrufbar sein, sie haben also eine URL. Das können auch Cloud-Dateien, also nicht-öffentliche Links sein, also etwa auf geteilte Dropbox-Dateien, iCloud-Dokumente oder private YouTube-Videos.

Für jeden einzelnen Tag möchte ich einen Coupon erstellen, der unterschiedlich aufrufbar ist. Manche Inhalte benötigen vielleicht ein Kennwort oder eine Beschreibung, darum kommt zu der Internet-Adresse noch ein Kommentarfeld.

Ich möchte ein möglichst universelles Advents-Ticket verschicken, also eins, das sowohl anklickbar ist als auch mit dem Handy als QR-Code zu erkennen ist. Dafür verwende ich das PDF-Format.

Kurzbefehl Schritt für Schritt

Direkt nach dem Anlegen des neuen Kurzbefehls erleichtere ich mir erstmal das Testen mit Hilfe einer Text-Aktion, gefolgt von einer Aktion namens „Variable konfigurieren“. In der Text-Aktion gebe ich eine Internet-Adresse ein, bei der ich weiß, dass sie funktioniert. Sie wird direkt danach als Variable „Eingabe-URL“ definiert. Der Vorteil: Ich kann in Ruhe testen, ohne immer einen neuen funktionierenden Link eingeben zu müssen. Wenn alles funktioniert, kann ich die Variable auf die Kurzbefehl-Eingabe umbiegen – und muss nicht die 3-5 Stellen ausfindig machen, an denen ich die eine Variable verwendet habe.

Mit Hilfe einer Text- und einer Variablen-Aktion erleichtere ich mir das Testen und das spätere Scharfschalten.

Eigentlich arbeiten Kurzbefehle nur mit Klartext. Es gibt aber ein paar Tricks, um schnöde Buchstaben in schick gestaltete Dokumente umzuwandeln. Die flexibleste, aber auch aufwendigste ist HTML. Diese Seitenbeschreibungssprache ist Grundlage des Internets und erlaubt in Zusammenspiel mit Stilanweisungen (CSS) eine freie Layoutgestaltung.

Die Kurzbefehle bringt eine Aktion mit, die Text als HTML interpretiert und in formatierten Text umwandelt. Und um dies dann in ein festes Layout zu pressen, braucht man das Ergebnis dieser Aktion lediglich in ein PDF umzuwandeln. Das Resultat: Ein schlankes, schickes Dokument, das sich prima verschicken oder ausdrucken lässt. Ganz nach Geschmack.

QR-Code in HTML zwängen

Um die Eingabe-URL in einen QR-Code umzuwandeln, ist nicht viel Arbeit notwendig, dafür gibt es eine eigene Aktion. Schwieriger ist es, diese wieder in das HTML-Konstrukt einzufügen. Denn bei der Textaktion kann man keine externen Bilder integrieren.

Der Trick ist hier, das Bild wiederum in Klartext umzucodieren – mit Hilfe der Aktion „Base64“. Das Resultat kann man dann wiederum in die HTML-Struktur einbringen.

QR-Code generieren erzeugt aus einer URL ein Bild, und Base64 macht dann aus dem Bild wieder Text. Klingt komisch, hilft aber sehr.

Damit aus dem Base64-Code wieder ein Bild wird, verwende ich eine spezielle Nomenklatur:

<img src="data:image/png;base64,[Base64-Codiert]">

Das Element in den eckigen Klammern ersetze ich dann durch die magische Variable gleichen Namens.

Dann folgt noch der Tag für den Adventskalender, dafür formatiert man das aktuelle Datum auf ein eigenes Format mit dem Code „dd“ (für zweistelligen Tageszähler).

Das Datum formatiere ich so, dass nur der Tag im Monat übrigbleibt, der Text unter dem QR-Code wird beim Ausführen abgefragt – dank der Aktion „Nach Eingabe fragen“.

Und hinterher folgt noch ein Freitext, bei dem das Resultat der „Nach Eingabe fragen“-Aktion hinter den QR-Code gepackt wird.

Das Text-Element wird reichhaltig mit den magischen Variablen bestückt, dann wandeln die Aktionen „Formatierten Text aus HTML erstellen“ sowie „PDF erstellen“ in ein statisches Layout um.

Dies könnte ich direkt aus der Übersicht-Aktion heraus teilen. Dann entsteht jedoch eine Nachricht mit dem unzeremoniellen Anhang namens „PDF-Dokument“. Außerdem will ich das Dokument sicherheitshalber in der iCloud sichern – dabei kann ich ihm gleich einen schöneren Namen geben. Obendrein sollen die verwendeten Daten (Datum, Link, Kommentar) in einer CSV-Datei landen.

Sichern und protokollieren

Über das Öffnen, Ablegen und Ergänzen von (Text-)Dokumenten habe ich in meinem Tutorial zum Belegmanager pro bereits Einiges erklärt. Auch in diesem Fall nutze ich die Konstruktion, zunächst ein Dokument oder Ordner zu öffnen, und wenn das Resultat leer ist, dann das entsprechende Element neu anzulegen. So kann ich den Kurzbefehl teilen, und bei allen Mitnutzenden entsteht die notwendige Dateistruktur automatisch bei der ersten Benutzung.

Der Ordner „Adventomat“ ist zukünftiges Ziel erzeugter Dateien; die Textdatei „Adventomat-Protokoll“ sammelt die Einträge im CSV-Format.

Aufräumen und scharfschalten

Wie immer versehe ich den Kurzbefehl noch mit Kommentaren, um die einzelnen Bereiche voneinander abzugrenzen. Dasnn setze ich anstatt der Übersicht-Aktion direkt eine Teilen-Aktion ein, um das Resultat direkt an die Empfängerin zu senden.

Hinzu kommt nach den ersten Tests eine zweite Teilen-Aktion mit dem Link in Klartext. Es stellt sich heraus, dass die Links im PDF-Dokument nur mittelmäßig funktionieren. Also kommt der Link nochmal ganz datensparsam hinterher:

Doppelt hält besser – der Adventomat verschickt den Link noch mal separat.

Kurzbefehl zum Download

Adventomat 1.0

Wandelt eine URL in einen Adventskalender-Coupon mit QR-Code um, der per iMessage o.ä. verschickt werden kann.

Von Immo Junghärtchen

Seit 1996 bin ich Mac-Anwender mit Begeisterung. Während meines Studiums habe ich mich um die Apple-Computer meiner Freundinnen und Freunde gekümmert und als Promoter im damaligen iTeam für iMacs, iBooks und die ersten iPods geworben. Bei Gravis sammelte ich Erfahrungen im Apple-zentrierten Einzelhandel, in Selbstständigkeit gab ich Kurse für Mac-Neulinge. Über sechs Jahre arbeitete ich als Redakteur für die Zeitschrift "Mac & i" und arbeite jetzt als freier Redakteur, unter anderem für Heise Online und die c't.

6 Antworten auf „Adventskalender digital – per Kurzbefehl“

Moin Immo,

kann es sein, dass der KB am Mac nicht ganz funktioniert? Der QR-Code wird erzeugt und kann auch verschickt werden. Das PDF wird hochgeladen, aber das CVS bleibt leer. Der KB bleibt auch mit einem kleinen Kommentarsymbol stehen. An dieser Stelle scheint es also irgendwie nicht weiter zu gehen.

Hallo Mario,
tatsächlich habe ich den Kurzbefehl erstmal nur auf iPhone und iPad ausprobiert. Ich habe das gerade mal nachgeholt an einem MacBook Air mit Monterey. Beim ersten Durchlauf bekam ich eine Fehlermeldung angezeigt – wahrscheinlich wegen der vielen kryptischen Berechtigungen, die ich dem Kurzbefehl erteilen musste. Funktioniert hat er trotzdem, und beim zweiten Mal sogar ohne Gemecker, inklusive Dateiablage und Protokoll.

Da aber die Kurzbefehle-App unter macOS auf mehr als wackeligen Beinen steht, wundert mich das ehrlich gesagt nicht. Schaue in den Datenschutz-Einstellungen einmal nach, ob alle Berechtigungen auf „Immer erlauben“ stehen. Bein ersten Durchlauf hatte ich dort vier Notizen Berechtigungen stehen, die nach dem zweiten Durchlauf wieder verschwunden sind.

Falls es immer noch nicht funktioniert, lösche den „Adventomat“-Ordner und lasse ihn nochmal vom Kurzbefehl anlegen. Wähle dabei am besten „Mail“ als Versandform, damit kannst Du die Nachrichten in Ruhe überprüfen und gegebenenfalls ungesichert wieder schließen, ohne dass Du sie verschicken musst. Klappt es jetzt?

Moin Immo,

ich habe es an einem normalen Mac (intel) probiert. Unter Datenschutz ist dort gar nichts aufgelistet. Es wird nur einmal gefragt darf der Adventomat auf die Datei Adventomat zugreifen?
Die Mail wird hier versendet
Der Ordner wird angelegt
Das PDF hochgeladen
Die Datei Adventomat-Protokol.txt wird angelegt
Inhalt dieser Datei
Tag;Link;Kommentar

Dann kann man das Fenster womit verschickt werden soll schließen, der Adventomat zeigt ca. einen 3/4 vollen Kreis auf oben rechts und das war es.
Auf einem M1 kann ich es erst später heute testen.

Alles was dann nach dem Upload des PDF stattfindet scheint nicht zu laufen … es wird z.B. auch nicht die Sicherheitsschleife erledigt (also kein Text mit Link noch einmal versendet.

Hallo Mario, das ist ja ärgerlich. Ich habe es auf einem Intel-Mac ausprobiert, einmal mit meiner Apple-ID und einmal in einem neuen Benutzerkonto, also mit frischem Kurzbefehl-Download. Beide Male hat’s funktioniert. Fehler sind echt schwierig aufzuspüren, wenn sie nur gelegentlich auftreten.

Versuche eventuell nochmal, ganz von vorne anzufangen: Lösche den Kurzbefehl und den Ordner „iCloud/Shortcuts/Adventomat“. Dann lade unter „Galerie“ einen der offiziell von Apple angebotenen Kurzbefehle herunter. Dann installiere den Kurzbefehl „Adventomat“ erneut.

Tut mir leid, dass der Kurzbefehl Dir so viel Arbeit bereitet – eigentlich sollte er das Gegenteil bewirken 🙂

Moin Immo,

achwas sowas ärgert mich nicht. Der KB ist ja für iPhone/iPad gedacht. das Apple nun die Kurzbefehle am Mac unterstützt und es da noch manchmal hakt kann man ja auch nicht beim erstellen berücksichtigen. Ich teste heute Abend noch einmal zu Hause auf meinem Air und wenn nicht ist es kein Beinbruch. Dachte nur hey cool kann ich der Belegschaft virtuelle Adventsgrüße senden 😉

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Cookie Consent Banner von Real Cookie Banner