You are not logged in.

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

    You have to register first, to connect to this user.

7

Erste Ergebnisse

Rating:

by Hawkes, Friday, September 11th 2009, 1:29pm

"Gehen Sie bitte weiter, es gibt nichts zu sehen".

Nunja doch, 2 kleine Screenshots kann ich heute präsentieren. Mehr gibt es wirklich nicht zu sehen, da die eigentliche Arbeit des Systems im Code steckt und das System rein optisch kaum aufträgt.



Dieses Bild zeigt eine Verwaltung im UserCP. Hier werden alle Bewertungsobjekttypen, die dafür verfügbaren Events und die Benachrichtigungstypen tabellarisch dargestellt. Der Benutzer kann sich für jedes Event nun spezielle Benachrichtigungsarten aussuchen. Es wird später noch ein Nachrichtencenter dazukommen, wo IMMER alle Benachrichtigungen angezeigt werden, jedoch kann sich der Benutzer einstellen, ob er wie in diesem Fall bei einem neuen Gästebucheintrag die altbekannte blaue Infobox sehen möchte, oder vielleicht lieber eine Mail oder eine PN? Oder einfach alles? Egal, der Benutzer kann frei wählen. Wird ein Benachrichtigungstyp von einem Event nicht unterstützt, wird die Checkbox ausgegraut. Nicht unterstützt bedeutet, dass keine Sprachvariable für die Benachrichtigung vorhanden ist.



Hier sieht man nun den Erhalt einer Benachrichtigung über einen neuen Gästebucheintrag. earlyhost hatte Angst, dass diese Darstellung eventuell zuviel Performance kostet. Keine Bange, durch ein Flagsystem und Caching der Benachrichtigungstexte in der DB verbraucht das Abrufen neuer Benachrichtigungen immer nur ein Query, egal wie viele Benachrichtigungen vorhanden sind und ob verschiedene Objekttypen verwendet wurden. Außerdem wird dieses Query auch nur abgeschickt, wenn Benachrichtigungen da sind, d.h. ist keine Benachrichtigung da, dann verbraucht das System keinerlei Queries, dennoch wird jede Benachrichtigung so abgespeichert, dass die gesamten Benachrichtigungstexte erneut "berechnet" werden können.

Wie läuft im System eine Benachrichtigung ab? Es gibt 3 wichtige Objektarten
  1. Objekttypen wie Gästebucheinträge stellen die Objekte da, wegen denen Benachrichtigungen verschickt werden
  2. Events sind Objekttypen zugeordnet und sind DBOs, die ihr Verhalten beeinflussen. Events können sich eine Klasse teilen, d.h. es muss nicht für jedes Event eine neue Klasse programmiert werden, da die meisten Events sich nur durch Sprachvariablen unterscheiden.
  3. Benachrichtigungstypen stellen Schnittstellen zu verschiedenen Systemen, wie dem userMessages Platzhalter, dem PN System oder dem Mail System dar, um hierrüber Nachrichten zu übermitteln.

Nun wird wie beim normalem Eventsystem ein Benachrichtigungsevent ausgelöst, zum beispiel, weil ein neuer Gästebucheintrag geschrieben wurde. Das System verwandelt nun diesen Gästebucheintrag in ein Benachrichtigungsobjekt und guckt nach, auf welche Art und Weise der Empfänger benachrichtigt werden möchte. Nun werden alle Benachrichtigungstexte generiert und "verschickt". Weiterhin wird eine Flag gesetzt, dass neue Benachrichtgungen für den Benutzer vorhanden sind.

Klingt nach wenig, aber dahinter steckt bereits eine Menge Code und nachdem ich erst dachte den Überblick verloren zu haben, scheint was akzeptables hinten raus zu kommen :D Ich bin noch guter Dinge und bis ich Ende nächster Woche wieder Internet habe (hoffentlich), kann ich vielleicht an interessierte Entwickler mal einen ersten Stand rausgeben.

This article has been read 1,835 times.

Categories: Notification API

Rate this article

Comments (7)

  • 7

    by black_kite (Wednesday, September 16th 2009, 10:57pm)

    dann mal auf die doku warten hoffe ich raffe diese

  • 6

    by Hawkes (Wednesday, September 16th 2009, 11:25am)

    Richtig ;)

  • 5

    by black_kite (Tuesday, September 15th 2009, 5:42pm)

    Neuer Gästebuch eintrag und Antwort auf einen eintrag würde ich mal sagen

  • 4

    by IT Corporation (Tuesday, September 15th 2009, 4:09pm)

    @Hawkes: Wieso 2 Events fürs Gästebuch?

  • 3

    by Hawkes (Monday, September 14th 2009, 10:14pm)

    Wenn ich am Wochenende Internet habe kann ich dann eine erste Alpha der API frei geben. Es ist aber nur eine API, d.h. Ich habe momentan nur 2 Events im Gästebuch als Techdem implementiert. Der Rest ist dann Sache der Communityentwickler. Heute habe ich noch eine Nachrichtenübersicht, die Mailbenachrichtigung und den userPanel Button umgesetzt.

  • 2

    by MysteryForce (Monday, September 14th 2009, 8:24pm)

    Ich bin sehr interessiert an dieser Benachrichtigungs-Schnittstelle, denn bis zum WCF1.2 kann man dies sehr gut brauchen. Es ist einfach derzeit sehr umständlich, für jedes Plugin das einzeln zu realisieren.

  • 1

    by IT Corporation (Friday, September 11th 2009, 4:06pm)

    Sieht und hört sich gut an.

Blog navigation

Next article

Java for Dummies

by Hawkes (Friday, October 23rd 2009, 12:01pm)

Previous article

What we call the news

by Hawkes (Saturday, August 15th 2009, 11:22pm)