Prowl Notification Service für TYPO3
Seit wenigen Minuten ist eine neue Extension von mir im TYPO3 Extension Repository.
Die Extension "prowl" ist in erster Linie ein neuer TYPO3 Service. Aber was ist Prowl überhaupt? Fangen wir mal von vorne an. Auf dem Mac gibt es Growl, Growl ist ein systemweiter Notification-Service. Jede App kann Nachrichten an Growl übergeben und der User bekommt diese dann in einem einheitlichen Design zu sehen. Prowl ist nun genau dieser Service, jedoch für das iPhone. Alle Nachrichten können von Growl an einen Prowl Account geschickt werden und der Service von Prowl übermittelt diese dann per Push-Message ans iPhone. Prowl bietet aber auch eine öffentliche API, und genau diese API verwendet die neue Extension "prowl".
Alles was man braucht um diese Extension zu nutzen ist ein kostenloser Prowl-Account, die Prowl-App fürs iPhone (aktuell im App-Store für 2,99 EUR) und natürlich ein iPhone.
Was kann diese Extension nun genau? Wie schon berichtet, bietet die Extension in erster Linie einen TYPO3-Service an. Mit diesem Service kann jeder Extensionentwickler in seine Extension einen Prowl-Support integrieren. Wie einfach dies ist, zeigt das folgende Beispiel:
$prowlAPI = t3lib_div::makeInstanceService('prowl_api'); $prowlAPI->sendProwlMessage($message);
Zur Sicherheit, sollte vorher noch geprüft werden, ob die Extension überhaupt installiert ist:
if (t3lib_extMgm.isLoaded('prowl')) { $prowlAPI = t3lib_div::makeInstanceService('prowl_api'); $prowlAPI->sendProwlMessage($message); }
Die Methode sendProwlMessage kennt diverse weitere Parameter, welche in der Docu komplett erfasst sind.
Zusätlzich zum Service bringt die Extension auch noch die Möglichkeit mit, sich per Prowl über jede Veränderung im Backend informieren zulassen. Dazu muss auf einer Seite nur ein wenig TSconfig hinterlegt werden. Damit ist es zum Beispiel möglich sich informieren zulassen, wenn jemand einen tt_news Artikel anlegt, verändert oder löscht. Auch dies ist in der Docu ausführlich beschrieben, aber auch dazu hier ein kurzes Beispiel:
mod.prowl.tables.tt_news { update = 1 update.message = Die News: ###TITLE### auf der Seite ###PID### wurde verändert new = 1 new.message = Eine neue News mit dem Titel: ###TITLE### auf der Seite ###PID### wurde erstellt delete = 1 delete.message = Die News mit dem Titel ###TITLE### wurde gelöscht }
Für die Message stehen automatisch alle Felder der Tabelle als Marker zur Verfügung.
Als letztes bringt die Extension noch ein einfaches Frontend Plugin als Beispiel mit. Dieses erzeugt eine einfache Textbox auf der Website, in der ein Besucher eine Nachricht eintragen kann. Diese Nachricht wird dann auf das iPhone geschickt.
Feedback, Ideen und Anregungen für weitere Einsatzzwecke und mögliche Implementierungen sind ausdrücklich erwünscht. Schreibt einfach in die Kommentare, welche Ideen ihr habt.




November 16th, 2009 at 09:32
Eine Integration in die kommende Caretaker Extension (http://forge.typo3.org/projects/show/extension-caretaker) wäre sehr praktisch.
Ich werd mir das bei Gelegenheit mal genauer anschauen. Vielleicht geht es sogar über einen Hook.
November 16th, 2009 at 09:38
Vielleicht können die Entwickler auch direkt die Extension verwenden!? Sprich doch mal die Entwickler an.
November 16th, 2009 at 11:05
Hab mal einen Feature Request aufgemacht: http://forge.typo3.org/issues/show/5380
Übrigens, das Manual auf TYPO3.org hats etwas zerhauen:
http://typo3.org/documentation/document-library/extension-manuals/prowl/1.0.0/view/
November 16th, 2009 at 11:47
Das mit dem Manual habe ich befürchtet, die Vorlage ist buggy. Das Inhaltsverzeichnis sieht auch im manual schon so aus. Versuch ich noch mal zu fixen :)
November 16th, 2009 at 12:02
Hej,
sehr schöne Extension!
Der Caretaker wäre tatsächlich ein sehr netter Anwendungsfall. Zur Zeit (und Martin hat das in dem Ticket ja auch schon geschrieben) bauen wir das Benachrichtigungs-System im Caretaker um.
Die Mails (oder später dann auch Prowl-Messages) werden dann nicht mehr durch den Caretaker selber, sondern durch weitere Extension (Notification-Services) versendet.
Spätestens dann werden wir die Idee (und diese lib) wieder aufgreifen.
Gruß
Tobias
November 16th, 2009 at 13:21
Danke, und genau solche Einsatzzwecke hatte ich mir schon gedacht. Die Nutzung des Service ist ja auch super easy. Eine Connector-Extension zwischen prowl und dem Caretaker wäre hier sicherlich auch denkbar.
November 22nd, 2009 at 16:06
Wirklich genial! Solche Lösungen benötigt TYPO3, alles was schön in andere Extensions integriert werden kann ist super!
Die Lösung wäre sicher interessant für commerce “http://forge.typo3.org/issues/show/5466″, z.B. wenn eine Bestellung eintrifft.
Aber auch sr_feuser_register könnt einem melden wenn ein neuer User einen Account erstellt.
Wie wäre es wenn Ihr jeweils die Hooks von relevanten Extensions nutzt um Prowl zu interieren. Dann müssen die Extensionentwickler nichts hinzufügen und man könnte bei der Prowl Extension gleich angeben was man alles notifiziert haben möchte…
Fast alle sinnvollen Extensions bieten Hooks bei relevanten Aktionen…
November 22nd, 2009 at 16:11
Hi Jonas,
genau das ist die Idee ;)
Extensions können den Service nutzen und wo es Hooks gibt, könnte sich Prowl einhängen. Denkbar wären auch Connector-Extensions. Also eine Extension, die Prowl und Commerce verknüpft. Die Extension könnte prowl_commerce heissen. Wer commerce nutzt und prowl nutzt, der installiert sich diesen Connector.