Dear visitor, welcome to Packageforge. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.
Hawkes
Administrator
![]()
![]()
![]()
Rating: ![]()
by Hawkes, Saturday, August 15th 2009, 11:22pm

This article has been read 1,709 times.
Tags: API, Framework, Notification, Schnittstelle, WCF
Categories: Community Framework, Notification API
by Hawkes (Sunday, August 23rd 2009, 4:39pm)
Ich bin schlecht im Visualisieren, daher beschreibe ich es nochmal, wie die Grundzüge der API momentan aufgebaut werden:
Ein Benutzer interagiert mit einer Form oder Action, die wiederum ein bestimmtes Objekt (NotificationObject) je nach Benutzerinteraktion manipuliert. Falls für dieses Objekt sog. NotificationEvents (zum Beispiel ein neuer Gästebucheintrag wäre saved@UserGuestBookEntryAddForm) existieren, wird ein genereller NotificationHandler aufgerunfen. Dies ist eine generelle Handlerclass, die aber das Interface EventListener implementiert und damit gleichzeitig als EventListener im WCF-Sinne fungiert. Dieser Handler guckt nun, ob und auf welche Weise der Empfänger, der Benachrichtigung, die durch dieses Event ausgelöst wird, benachrichtigt werden soll und instanziiert den entsprechenden NotificationType (dies sind als Standard infobox/usermessages, pn, mail und twitter direct message). Der NotificationType holt sich nun durch übermittel des NotificationObjects an die entsprechenden NotificationObjectType class den für sich passende Benachrichtigungstext. Nun wird die Benachrichtigung noch in der DB geloggt, sodass sie später über ein Kontrollzentrum wieder abrufbar bzw. wiedererstellbar ist. Gleichzeitig wird sie, falls nötig, geched gespeichert, um Rechenzeit zu sparen. Die ganzen Detailunterschiede übernehmen dann die NotificationTypes. Der userMessages NotificationType ist der komplexeste und auch der, wo am meisten Optimierung nötig ist.
Generell soll diese API eben nicht nur die Möglichkeit bieten alle bisherigen Benachrichtigungen zu vereinheitlichen (Abonnements, PNs, Verwarnungen, Gästebucheinträge, Bewertungen, u.v.m.), sondern auch um neue Benachrichtigungsarten und Objekte erweiterbar sein.
by black_kite (Saturday, August 22nd 2009, 11:56pm)
habe mir auch schon mal so was überlegt auf den Papier, das eine globale box genutzt wird die datenbank prüft und nach typs sortiert und dieses ausgibt, aber da ich doch sehr beschränkt in den Bereich bin würde es mit Sicherheit Jahre dauern bis ich was funktions- fähiges habe, bin ja froh das ich paar EL und tpls ändern kann für meine bedürfnisse
by MysteryForce (Thursday, August 20th 2009, 9:38am)
Hawkes, ich weiß nicht, ob es jetzt das ist, was ich auch mal entwickeln wollte, aber sind das so Nachrichten wie bei neuen PNs? Dass sich nicht jedes Plugin einzeln im userMessages-Platzhalter einnistet, sondern dies von Deinem Plugin erledigt wird?
by Hawkes (Wednesday, August 19th 2009, 12:46am)
Es soll eine API werden, die dann LGPL sein soll. Es soll ja auch anderen Entwicklern helfen.
Da das 3.1 mit mehr als 2 Jahren doch recht lange auf sich hat warten lassen, will ich hier etwas zuvorkommen, da ich es für eigene Entwicklungen brauche. Außerdem wäre es bei LGPL ja möglich, solange ich WoltLabs Codequalitätsanforderungen erfülle, dass sie ihre Entwicklung auf Basis meiner machen oder zumindest eine Teilkompatibilität herstellen.
by black_kite (Sunday, August 16th 2009, 8:15pm)
hört sich gut an, aber soll sowas nicht mit den 3.2 kommen? abgesehen davon Pay oder free?
bin aber auch der meinung sowas muss es geben zumal es jetzt Blog, galerie und Gästebuch gibt wo man gerne drüber informiert werden möchte wenn was neu ist. abgeshen davon kann man das system ja dan auch Abo mäßig nutzen und beistimte benutzer Abonieren um zu sehen ah er hat neuen blog eintrag geschrieben.
Tuesday, April 12th 2011, 9:58pm
Sunday, April 10th 2011, 10:28am
Wednesday, April 6th 2011, 10:05am
Saturday, June 19th 2010, 1:05pm
Tuesday, January 5th 2010, 4:24pm
by BTP-AYBM (Jun 11th 2011, 9:50am)
by Hawkes (Apr 12th 2011, 9:06pm)
by Manuel (Apr 12th 2011, 9:50am)
by Hawkes (Apr 11th 2011, 8:36am)
by Marvin (Apr 11th 2011, 12:03am)
Forum Software: Burning Board® 3.1.7, developed by WoltLab® GmbH