MSP: Vision Document HÜ "Newsletter"

Aus THM-Wiki
(Weitergeleitet von MSP: Newsletter)
Wechseln zu: Navigation, Suche

Vision document

Introduction

Seit einiger Zeit wird an der FH eine Lernplattform namens eStudy zur Unterstützung der Lehre eingesetzt. Auf Wunsch kann jeder Benutzer dieser Lernplattform täglich per Newsletter über die aktuellen Geschehnisse informiert werden.

Im Rahmen der Veranstaltung Methoden des Softwareentwicklungsprozesses (MSP) möchte ich diesen täglichen Newsletter überarbeiten.

Business Needs/Requirements

Der Newsletter enthält nützliche Informationen über:

  • Foyer,
  • Kurse,
  • Private Nachrichten, ...

und eignet sich im Allgemeinen gut, um den Überblick zu bewahren.

Sporadisch - insbesondere während der Vorlesungsfreienzeit - kommt es aber vor, dass in keinem dieser Bereiche Änderungen vorgenommen wurden, so dass auch für den Newsletter keine relevanten Informationen vorliegen. Zur Zeit wird in diesem Fall ein leerer Newsletter verschickt.

Product/Solution Overview

Bisher müssen die Benutzer jeden Newsletter lesen, weil sie "von außen" nicht erkennen können, ob es sich um einen leeren Newsletter handelt, oder nicht. Um den Benutzern in Zukunft das Lesen eines leeren Newsletters zu ersparen, soll stattdessen ein alternativer Newsletter verschickt werden.

Major Features (Optional)

Der alternative Newsletter soll in erster Linie deutlich kommunizieren, dass es keine relevanten Veränderungen in eStudy gab.

Außerdem könnte der alternative Newsletter aber auch noch etwas Interessantes enthalten, wie beispielsweise:

  • Neuigkeiten aus anderen eStudy-Kursen (aus Datenschutzgründen gestrichen),
  • Literaturtipps aus eStudy,
  • ein Zitat (aus Gründen des Urheberrechts problematisch), oder
  • einen Witz (aus Gründen des Urheberrechts und bezüglich der "Guten Sitten" problematisch)

Scope & Limitations

Dieses Feature soll im Rahmen einer - auf 20h beschränkten - Hausübung des Kurses MSP entwickelt werden. Welche der angesprochenen Alternativen implementiert werden kann bzw. werden können hängt deshalb vor allem vom Zeitaufwand des Unterfangens ab.

Other Needs

  • Einarbeitung in eStudy und die dazugehörigen Entwicklungstools.

Implementierung

Änderungen im SVN (Changeset)

Der neue Newsletter

Newsletter-Abo
Keine Neuigkeiten?

Im Rahmen dieser Hausübung wurde der tägliche Versand des eStudy-Newsletters wie folgt überarbeitet:

  • Jeder Benutzer hat nun die Möglichkeit, selbst festzulegen was passieren soll wenn es einmal keine Neuigkeiten in eStudy gibt.
Diese (und einige weitere) Einstellungen kann der Benutzer wie gewohnt auf der Seite Newsletter-Abo vornehmen, die sich im persönlichen Menü unter Profil befindet.
  • Möglich sind (zunächst) die folgenden Vorgehensweisen:
    • Trotzdem den kompletten Newsletter schicken *
    versendet wie gewohnt den leeren Newsletter (mit ausführlicher Auflistung aller Kurse, ...)
    • Kurzen Newsletter schicken
    versendet lediglich den Hinweis, dass es keine Neuigkeiten gibt
    • Keinen Newsletter schicken
    versendet keinen Newsletter
In Zukunft sind alle leeren Newsletter mit "(keine Neuigkeiten)" im Betreff gekennzeichnet.
  • Um diese zusätzlichen Informationen speichern zu können musste die Datenbanktabelle newsletter_subscribe wie folgt ergänzt werden.
Standardeinstellung (0)* = Trotzdem den kompletten Newsletter schicken
ALTER TABLE `newsletter_subscribe` ADD `nonews` INT(1) NOT NULL DEFAULT '0' AFTER `pnflag`;

Unvorhergesehene Schwierigkeiten

  • Aufgrund des unvorhersehbar großen Aufwands zur Anpassungen der "virtuellen" Entwicklungsumgebung konnte der Versand von alternativen Inhalten (beispielsweise Literaturtipps) leider nicht implementiert werden.
    Aus diesem Grund ist auch die Dokumentation der vorgenommenen Änderungen Teil dieser Hausübung. Dadurch wird in Zukunft, mit einer verbesserten Version der Entwicklungsumgebung, die Weiterentwicklung von eStudy in diesem Bereich wesentlich vereinfacht.
  • Zu den angesprochenen Änderungen an der Entwicklungsumgebung gehören unter anderem:
    • Mailserver einrichten
    Zunächst den Mailserver Exim4 installieren und für local delivery konfigurieren.
    • E-Mail-Adresse anpassen
    Danach die E-Mail-Adresse eines vorhandenen eStudy-Benutzers direkt in der Datenbank (Tabelle: user) auf estudydev@localhost ändern, weil das Hinzufügen eines neuen eStudy-Benutzers scheiterte und vorhandenen Benutzern das Ändern ihrer E-Mail-Adresse in eStudy nicht möglich ist.
    • E-Mail-Konto erstellen
    Für die obige E-Mail-Adresse anschließend in Thunderbird ein E-Mail-Konto (Typ: Unix Movemail, Server: localhost, Benutzername: estudydev) einrichten.
    (Testen kann man den E-Mail-Versand auf der Konsole mit dem Befehl: sendmail estudydev@localhost)
    • eStudy-Einstellungen vornehmen
    Im Anschluss daran muss in eStudy unter Administration -> Wartung -> Einstellungen -> E-Mails: E-Mails aus dem Portal versenden angehackt werden.
    • E-Mail-Versand initiieren
    Schließlich fehlt noch eine Möglichkeit zum Initiieren des E-Mail-Versand in eStudy. Dies kann mithilfe der folgenden Anweisungen veranlasst werden. Damit ein solches Skript von eStudy ausgeführt wird, sind wiederum Anpassungen in der Datenbank (u.a. modulegroups.mailflag) nötig.
<?php
define('PATH_TO_ROOT', '../');

require_once(PATH_TO_ROOT.'common/init.inc.php');
require_once(PATH_TO_ROOT.'common/header.inc.php');
require_once(PATH_TO_ROOT.'newsletter/classes/class.newsletter.inc.php');

if(isset($_SESSION['userid'])) {
	$userID = $_SESSION['userid'];

	$newsletter = new Newsletter($userID);
	if ($newsletter->sendNewsletter()) {
		echo "Newsletter wurde erfolgreich an Benutzer ($userID) gesendet";
	} else {
		echo "Newsletter konnte nicht an Benutzer ($userID) gesendet werden";
	}
} else {
	echo 'Newsletter konnte nicht gesendet werden - Benutzer nicht gefunden';
}

require_once(PATH_TO_ROOT.'common/footer.inc.php');
?>


--Hoffmann-PHo58 11:22, 3. Nov. 2008 (UTC)