Journals>Alles über Automator>Automator-Tutorial: Geburtstagserinnerung

Automator-Tutorial: Geburtstagserinnerung

Vorwort

So praktisch es auch ist, dass iCal aufgrund der Adressbuch-Kontakte die Geburtstage übernimmt, so unverständlich ist das Fehlen einer Erinnerungsfunktion für diese Geburtstage. Zum Glück gibt es aber das Tool "Automator", mit dem man sich solche und weitere Helferleins selbst zusammenklicken kann. Dieses Tutorial soll zeigen, wie man mit dem Automator einfach und schnell ein Programm erstellt, welches auf die Geburtstage der aktuellen Woche hinweist.

Voraussetzungen

Für unser Geburtstagserinnerungsprogramm benötigen wir:
- Growl ab Version 1.2, hier herunterzuladen:
- die Automator-Aktion "Stop If Input Is Empty", hier herunterzuladen:

Ich verwende: Mac OS X 10.6.2 und Automator 2.1.

Vorbereitungen treffen

Zunächst installieren wir das soeben heruntergeladene Growl. Growl ist ein systemweites, optisch sehr ansprechendes Benachrichtigungssystem, welches von vielen Mac OS X-Programmen genutzt wird, um Meldungen anzuzeigen. Dabei handelt es sich nicht etwa um Meldungsfenster, die man mit OK wegklicken muss, sondern um Meldungen, die am Bildschirmrand (meist in einem transparenten Fenster) erscheinen und nach einigen Sekunden wieder verschwinden. Als Beispiele seien hier Instant-Messenger wie Adium oder Skype genannt, die hierüber mitteilen, wenn sich Kontakte an- oder abmelden oder wenn man eine neue Nachricht erhalten hat. Auch der FTP-Client Cyberduck bedient sich Growl, um abgeschlossene Up- oder Downloads zu melden oder den Status einer Verbindung anzuzeigen.

Ist Growl installiert, installieren wir noch unsere heruntergeladene Aktion "Stop If Input Is Empty". Durch Doppelklick installiert sich die Aktion im Automator.

Der Automator besitzt nun zwei neue Aktionen, die in der Kategorie "Dienstprogramme" aufzufinden sind:
- Stop If Input Is Empty: Automator-Programm beenden, wenn das Ergebnis einer Funktion leer ist
- Benachrichtigung mit Growl anzeigen (wie der Name schon sagt).

Das Projekt

In Automator starten wir ein neues Programm. Dieses Programm soll uns zunächst alle Adressbuch-Kontakte heraussuchen, die diese Woche Geburtstag haben. Es gibt in Automator zwar eine Aktion "Anstehende Geburtstage suchen", diese habe ich jedoch nach vielen endlosen Versuchen nicht zum Funktionieren gebracht. Deswegen verwenden wir die Aktion "Adressbuch-Kontakte suchen", die sich in der Kategorie "Kontakte" befindet.


Als Rückgabe erhalten wir Adressbuch-Kontakte, aus denen wir nun Vorname + Name sowie Geburtsdatum herausextrahieren möchten. Wir fügen also als nächste Aktion "Kontaktinformationen abfragen" hinzu.
Hier beachten wir, dass wir nur die Felder "Name", "Vorname" und "Geburtstag" markieren (wer möchte, kann natürlich weitere Felder aktivieren). Als Exportformat wählen wir "Formatierter Text". Den Haken bei "Etiketten hinzufügen" entfernen wir.


Die Rückgabe dieser Aktion ist ein formatierter Text, den wir nun mittels Growl anzeigen könnten. Doch zunächst einmal möchten wir das Adressbuch wieder schließen, welches sich durch unsere erste Aktion "Adressbuch-Kontakte hinzufügen" geöffnet hat. Wir benötigen also die Aktion "Programm beenden" aus der Kategorie "Dienstprogramme". Den Haken "Zum Sichern der Änderungen auffordern" entfernen wir, damit wir im Bedarfsfall keine Abfragen erhalten.

Die Aktion "Programm beenden" gibt kein Ergebnis zurück - im Speicher ist immernoch das Ergebnis unserer Kontaktinformationen. Sofern diese leer sind (es hat also niemand Geburtstag), kann das Programm an dieser Stelle beendet werden, denn eine leere Benachrichtigung ist optisch unschön.

Daher kommt als nächstes unsere neu installierte Aktion "Stop If Input Is Empty" zum Einsatz. Sie verankert sich normalerweise in der Kategorie "Dienstprogramme". Ist unser letztes Ergebnis also leer, steigt das Programm hier aus. Das heißt, wir ziehen diese Aktion direkt unter die Aktion "Programm beenden", die wir vorhin besprochen haben.

Sofern wir aber Kontakte gefunden haben, die diese Woche Geburtstag haben, möchten wir diese nun per Growl anzeigen lassen. Die Aktion "Stop If Input Is Empty" wird in diesem Fall also übergangen, so dass wir nun einfach die nächste Aktion unten anfügen. Growl hat bei der Installation automatisch eine Aktion unter "Dienstprogramme" abgelegt, die sich "Benachrichtigung mit Growl anzeigen" nennt. Diese Aktion fügen wir nun als letztes ein.

Unser Programm sieht nun wie folgt aus:


Wenn wir es nun laufen lassen und Kontakte gefunden werden, die diese Woche Geburtstag haben, dann werden uns die Namen und die Geburtsdaten mittels Growl angezeigt. Andernfalls steigt das Programm rechtzeitig aus.

Wir speichern das Programm nun unter "Programme" ab und geben ihm den Namen "Geburtstagserinnerung". Dieses Programm soll jetzt bei jedem Start von Mac OS X ausgeführt werden.

Dazu öffnen wir die Systemeinstellungen und klicken daraufhin auf "Benutzer". Im dann erscheinenden Fenster wählen wir den Reiter "Anmeldeobjekte".

Mittels "+" wird ein neues Programm hinzugefügt. Wir wählen das soeben gespeicherte Programm aus. Jetzt sollte es in der Liste der Objekte, die beim Anmelden geöffnet werden sollen, erscheinen:


Damit ist das Projekt "Geburtstagserinnerung" fertig und ihr dürftet ab sofort nie wieder einen Geburtstag vergessen

Ich hoffe, einigen damit ein paar praktische Hilfen an die Hand gegeben zu haben und es wird in Zukunft weitere Automator-Tutorials geben.

Kommentare

MacRudom
MacRudom28.01.10 21:21
danke, gerne mehr davon, mit Automator hab ich mich bis jetzt noch nie auseinandergesetzt.

Aber gleich noch eine Frage: gibt es eine Möglichkeit, das Programm automatisiert einmal am Tag laufen zu lassen, da ich mein MacBook fast ausschließlich in den Ruhezustand versetze.
Fritze28.01.10 21:30
Cool, danke!
weserspucker01
weserspucker0128.01.10 21:31
Da fallen mir spontan zwei Möglichkeiten ein:
- mittels cronjob, da müsstest du dir mal zusammengoogeln, wie man die verwendet.
- das Automator-Programm als iCal-Ereignis speichern und in iCal ein Ereignis erzeugen, welches täglich wiederholt wird. Das mit Automator erzeugte iCal-Ereignis muss dann nur abfragen, ob das Ereignis einen bestimmten Namen hat und wenn ja, dann ausführen.
Wer saufen kann, kann auch ausschlafen.
Wowbagger28.01.10 21:31
Klappt es bei Euch, dass Growl einfach so übergebene Ergebnisse (Variablen) als Benachrichtigung anzeigt? Das funktioniert bei mir nicht, zumindest nicht mit der Automator-Aktion.
Wowbagger28.01.10 21:42
Update für andere, bei denen die Growl-Benachrichtigung nur statischen Text anzeigt:

Hier diese Version der Growl-Automator-Aktion runterladen und installieren. Anschließend wird bei leer gelassener Beschreibung der Input der vorigen Aktion angezeigt.
weserspucker01
weserspucker0128.01.10 22:05
Sofern die Ergebnisse keine "Objekte" wie Bilder oder Kontakte sind, zeigt Growl diese an. Kontakte lassen sich ja mit "Kontaktinformationen abfragen" in Text umwandeln, der angezeigt wird. Wenn man ein Ergebnis in die Zwischenablage kopiert und dann die Zwischenablage wieder abfragt, erhält man ebenfalls Text, den man mit Growl anzeigen kann.
Wer saufen kann, kann auch ausschlafen.
Wowbagger28.01.10 22:21
Nein, die ältere Version der Growl-Automator-Aktion hat die Ergebnisse der vorherigen Aktion nicht angezeigt (das geht auch aus dem von mir verlinkten Thread hervor), es gab dann ein Update, das aber offenbar die Growl-Automator-Aktion (zumindest bei einigen oder vielleicht auch generell) nicht auf den neuen Stand gebracht hat.
Flaming_Moe29.01.10 06:42
ist wirklich schade, dass automator eher so eine verstaubte nebenerscheinung ist, die durch etwas produktpflege seitens von apple schon noch etwas ausbaufähiger wäre - damit kann man wirklich tolle sachen anstellen.
doggda
doggda29.01.10 09:45
danke fuer den tollen Beitrag, endlich mal einer der den Begriff "Journal" verdient...
sver
sver29.01.10 11:23
Vielen Dank! Gleich mal ausprobieren! Ich würde mich sehr über weitere Automator-Journals freuen!
Der Mensch hat zwei Beine und zwei Überzeugungen: eine, wenn's ihm gut geht und eine, wenn's ihm schlecht geht. Die letzte heißt Religion. (Kurt Tucholsky)
weserspucker01
weserspucker0129.01.10 16:32
Vielen Dank Die werden folgen!
Wer saufen kann, kann auch ausschlafen.
weserspucker01
weserspucker0129.01.10 16:35
@Wowbagger ... mit der Version 1.2 ging das aber. Wahrscheinlich ist das Update darin bereits enthalten.
Wer saufen kann, kann auch ausschlafen.
crossinger30.01.10 14:56
Also mit Leopard (10.5.8) ist das ja eine Katastrophe! Die Geburtstagsaktion funktioniert hier zwar, aber dafür ermittelt die Aktion "Kontaktinformationen abfragen" nur den ersten Eintrag aus der Liste an Geburtstagen. Mann mann mann - das ist ja echt zum *sick*

Trotzdem danke für den schönen Beitrag. Hat mich zumindest motiviert, mal wieder mit Automator zu spielen.
sam_angel13.02.10 09:54
Habe alles so gemacht wie beschrieben. Bekomme das Fenster von Growl angezeigt, aber es liefert kein Ergebnis. Bei Benachrichtigung mit Growl anzeigen, muss da etwas ausgewählt werden ??? Man sieht auch im Ergebnis der letzten beiden Schritte, dass ein Kandidat mit Geburtstag in dieser Woche gefunden wird.

Grüsse
weserspucker01
weserspucker0117.02.10 21:37
@sam_angel: Prüfe mal folgendes:
- hast du mindestens Growl 1.2 installiert
- in Automator selbst funktioniert die Benachrichtigung manchmal nicht, zum Testen müsstest du es mal als Programm abspeichern und dann so aufrufen.
Wer saufen kann, kann auch ausschlafen.
sam_angel18.02.10 17:14
Habe Growl 1.2 installiert.
Was bedeutet bei Benachrichtigung mit Growl anzeigen.
Titel, Beschreibung, Priorität und Sticky ??? Muss da was eingegeben werden ???
Ich sehe unter Ergebnis einen Treffer. Wenn ich auf die Klammer klicke werden 4 Treffer angezeigt. Das Growl Benachrichtigungsfenster ist leer.

Version von Growl Anzeigefunktion für Automator ist 1.1.6
weserspucker01
weserspucker0118.02.10 21:21
Bei Beschreibung darf nichts stehen.
Wichtig ist auch, dass vorher bei "Kontaktinformationen abfragen" "Formatierter Text" aktiviert ist.
Wer saufen kann, kann auch ausschlafen.
sam_angel19.02.10 17:43

Habe alles überprüft. Zeigt immer ein leeres Fenster an.
Frust Geht wohl nicht
h.naumer19.02.10 21:43
Ich hatte auch zunächst nur eine leere Anzeige! Nach Aktualisierung der Growl Anzeigefunktion - siehe Link von Wowbagger - hat alles wunderbar funktioniert, ohne jede weitere Änderung!
sam_angel20.02.10 08:54

Hallo h.naumer, dein Tipp mit dem Link von Wowbagger war Gold wert.

Jetzt funzzt es

Danke

Kommentieren

Sie müssen sich einloggen, um diese Funktion nutzen zu können.

OK MacTechNews.de verwendet Cookies unter anderem für personalisierte Inhalte, Seitenanalyse und bei der Auslieferung von Google-Anzeigen. Dies war zwar schon immer so, auf Wunsch der EU muss nun jedoch explizit darauf hingewiesen werden. Durch Nutzung der Website erklären Sie sich damit einverstanden. Weitere Informationen