Archiv

TechInfo

Blog Abo und Marker Dokumente

By Dirk Bergles

Die Idee, ein Abo für Blog-Beiträge zu bauen, machte ein paar konzeptionelle Überlegungen notwendig. Der Wunsch war simpel. Ich möchte mich im Web anmelden und eine Mail bekommen, sobald ein neuer Blogbeitrag erstellt wurde.
Zusätzlich möchte ich auch gerne benachrichtigt werden, wenn ein Kommentar zu einem Blog Beitrag erstellt wurde.
Bei den ersten Überlegungen und Ideenaustausch wurde erstens schnell klar das es bereits diverse kundenspezifische Lösungen für ähnliche Probleme gibt, z.B. der Versand der neuesten News per Newsletter und das absolut Bedarf an einer StandardLösung herrscht die alle Anforderungen abdeckt.
Daher nehmen wir das FeatureRequest für die 7.70 0 auf.
Hier schon mal das Grobkonzept und die ersten Überlegungen. Feedback, Ideen, Vorschläge und Kritik sind herzlich willkommen.
Die neue Funktion sollte es ermöglichen auf neue Dokumente zu reagieren. So sollen z.B. Newsletter verschickt werden können, welche lediglich die neuesten News enthalten. Diese News sollten dann kein zweites mal verschickt werden.

Dieser Newsletter wird nach wie vor manuell verschickt.
Es sollte weiterhin auch automatisiert eine Mail verschickt werden können. Wenn z.B. ein Blog Beitrag in einer bestimmten Kategorie freigegeben wird.
Die automatisch generierte Mail könnte in den Freigabeprozess integriert werden. Es gäbe zwar eventuell ein paar Schwierigkeiten mit den Zugriffsrechten das die Freigabe vom User durchgeführt wird, aber der Event ist einfach abzugreifen.
Über Settings gesteuert, könnte dann zu jedem Event etwas ausgeführt werden.
Für das manuelle Versenden von Newslettern ist das jedoch unbrauchbar. Hier kommen wir um eine Marke nicht herum, welche dann nach dem Versenden gesetzt oder wieder entfernt wird.
Es sollte dabei aber in jedem Fall vermieden werden schreibend auf das Dokument zuzugreifen. Auch müssen einfach eventuell mehrere Newsletter berücksichtigt werden, oder mehrere automatisierte Mails.

Daher werden dies vermutlich mit Dokumenten tun.
Bei einem bestimmten Event (z.B. Veröffentlichung) wird ein Marker Dokument angelegt. Ob und wie dieses Dokument angelegt wird, steuert ein Setting.
Nachdem diese Marke genutzt wurde (z.B. Newsletter mit einer Datenquelle, automatisches Abomail) wird dieses Dokument wieder gelöscht.
Die Datenquelle oder der Suchvorgang bei automatisierten Mails (per NotesMinder) muß also lediglich diese Marker Dokumente suchen.

  • Die MarkerDokumente und alles drumherum werden erstmal in das Relation Modul eingeordnet.
  • NotesMinder und Datenquellen müßten erweitert werden, um diese Dokumente zu löschen. Zur Sicherheit sollte dabei der Formname geprüft werden um ausschließlich MarkerDokument zu versenden.
Form "RELMarker"
  • Ein Setting steuert wann welche Marker angelegt werden
Könnte z.B. so aussehen:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE
markerdefinition>
<markerdefinition>
<createmarker onevent="create|publishapproval|contentapproval|archive" expires="days,hours:minutes">
<documentselection><![CDATA[@Formula for Selection]]></documentselection>
<markeritem name="itemname" isformula="yes|no"><![CDATA[Itemname|@Formula for Item]]></markeritem>
</createmarker>
<createmarker id="Neuer Blog Beitrag" onevent="publishapproval" expires="1,0:0">
<documentselection><![CDATA[Form="Content" & DocType="Blog"]]></documentselection>
<markeritem name="BLG_Category" isformula="no"><![CDATA[BLG_Category]]></markeritem>
<markeritem name="BLG_Owner" isformula="no"><![CDATA[BLG_Owner]]></markeritem>
<markeritem name="BLG_Created" isformula="no"><![CDATA[BLG_Created]]></markeritem>
<markeritem name="PublishApprovalDT" isformula="no"><![CDATA[PublishApprovalDT]]></markeritem>
</createmarker>
</markerdefinition>
  • Markerdokumente können dann neben Standardfeldern zusätzlich Felder erhalten, welche die Suche eingrenzbar machen würden.
So z.B. beim Blog.
Ein User könnte ein Abo für eine bestimmte Kategorie anmelden.
Der NotesMinder findet alle neuen Blogdokumente
Verschickt aber nur Dokumente wenn die Kategorie übereinstimmt.
  • Der NotesMinder müßte erweitert werden um eine Funktion über Personenprofile zu iterieren.
Nicht unbedingt als zugrunde liegende Schleife, sondern nur für den Empfänger. Aber es muß möglich sein Daten aus dem Personenprofil in die Suche nach Dokumenten einzubeziehen.
Die Markerdokumente dürfen aber erst nach einem vollständigen Lauf über alle Personen entfernt werden.

  • Die Library REL_Functions muß erweitert werden um Funktionen zum Anlegen und Löschen von Markerdokument, Auslesen des neuen Settings, Einsprungfunktionen für die verschiedenen Events.
  • Events sollten zunächst sein.
Dokument Erstellen, Publizieren, Fachlich Freigeben; Archivieren
(Bitte kurz nachdenken ob es noch mehr geben sollte)
  • Der Scheduler muß erweitert werden um abgelaufene Marker Dokumente zu entfernen

Einen Kommentar erstellen