MSP: Vision Document HÜ "News 2.0"

Aus THM-Wiki
Wechseln zu: Navigation, Suche

Vision Document

Introduction

Eine Umfrage unter allen Benutzern des Portals eStudy hat ergeben, dass eine Personalisierung der angezeigten Neuigkeiten von vielen Personen gewünscht wird. Die Neuigkeiten sind der Startpunkt in das Portal für alle Benutzergruppen, dementsprechend vielfältig sind die Interessen. Besonders wurde der Wunsch geäußert, dass generell die angezeigten Newsbereiche (also zum Beispiel die Forenbeiträge oder die Literaturempfehlungen) eingestellt werden können. Damit werden nur noch die für den Benutzer relevanten Neuigkeiten angezeigt. Auch die Möglichkeit der frei wählbaren Reihenfolge der Newsbereiche wurde gewünscht. Eine individuelle, farbliche Hinterlegung der Bereiche könnte zudem für eine noch bessere Übersicht sorgen.

Mit diesen Möglichkeiten ist zum Beispiel ein Dozent in der Lage, Forenbeiträge für sich als Erstes in seinem Kurs anzeigen zu lassen. Eine zusätzliche farbige Hinterlegung hilft beim schnellen Überfliegen der Kurse.

Business Needs/Requirements

  • Die Reihenfolge der Newsbereiche soll für jeden Benutzer individuell einstellbar sein.
  • Newsbereiche sollen sich durch frei wählbare Farben unterscheiden lassen.
  • Der Benutzer kann selbst entscheiden, welche Newsbereiche für ihn angezeigt werden.

Product/Solution Overview

Die derzeitige statische Lösung des News-Moduls soll mit Hilfe von Ajax für den Endbenutzer zu einer komfortablen und individuell einstellbaren Ajax-Oberfläche werden. Die Reihenfolge der einzelnen Newsbereiche soll sich per Drag&Drop einstellen lassen. Hierfür wird ein entsprechendes Icon eingefügt, sobald man einen Newsbereich ausgewählt hat. Die Ablegefläche für den verschiebbaren Newsbereich wird farblich hinterlegt, sodass der Benutzer sieht, wo er die News ablegen kann.

Damit sich die einzelnen Newsbereiche unkompliziert einfärben lassen, wird es ein weiteres Fenster zur Farbauswahl geben. Dieses Fenster erscheint, genau wie der Verschiebe-Button, dynamisch. Hierfür muss man den Mauszeiger auf dem jeweiligen Newsbereich platzieren.

Major Features

Jeder Benutzer soll individuell folgende Änderung am Erscheingsbild des News-Moduls vornehmen können:

  • Ändern der angezeigte Reihenfolge der Newsbereiche
  • Ändern der Farbgebung der Newsbereiche
  • Verstecken von für den Benutzer uninteressanten Bereichen
  • Vorgabe von Farbwerten, sowie einer ungefärbten Variante, welche die Standardfarben des gewählten Styles repräsentiert

Alle Änderungen werden persistiert, so dass der Benutzer die Änderungen nur einmal vornehmen muss.

Scope & Limitations

Das Modul verwendet JavaScript um eine größtmögliche Bedienfreundlichkeit zu erreichen. Daher muss JavaScript im Browser des Benutzers aktiviert sein. Das Modul bleibt aber auch ohne JavaScript bedienbar, allerdings können die neuen Features dann nicht eingesetzt werden.

Other Needs

Für die Umsetzungen der dynamischen Lösung des News-Moduls werden die JavaScript-Bibliotheken Prototype and Scriptaculous, sowie der ColorPicker verwendet, die bereits innerhalb der Kollaborationsplattform eStudy eingebunden sind und vom eModerations-Modul verwendet werden.

Implementierung

Die News-Seite nach der Umsetzung
Fenster zum Verändern der Kategorien

Einleitung

Von den genannten "Major Features" wurden alle, bis auf das Vorgeben von Farbwerten, umgesetzt. Für den Benutzer sind die gemachten Änderungen sofort sichtbar: Die News-Seite zeigt nur noch die Kurse und Bereiche an, die tatsächlich etwas Neues bereithalten. Besonders für Power-User dürfte diese Reduktion angenehm sein.

Unmittelbar unter der Kalender-Anzeige befinden sich zwei neue Links: Der Erste stellt die alte Newsansicht wieder her, in dem alle Kurse und alle Bereiche aufgezählt werden. Selbst wenn diese keine Neuigkeiten beinhalten. Der zweite Link öffnet ein Fenster, in dem die anzuzeigenden Kategorien nach den eigenen Wünschen angepasst werden können. So lässt sich die Reihenfolge der Kategorien über Drag & Drop verändern. Auch die Farbe lässt sich einstellen. Über einen einfachen Klick lässt sich auch eine ganze Kategorie verstecken. Und genauso zeigt ein weiterer Klick die Kategorie wieder an. Damit sind die drei Hauptpunkte der "Major Feature"-Liste abgedeckt.

Durchführung

Zum größten Teil ist komplett neuer Code entstanden. Die Integration in das bestehende Modul war daher sehr einfach und beschränkt sich fast ausschließlich auf die Klasse News. Allerdings mussten alle bestehenden Kategorie-Klassen (z.B. NewsCategoryLiterature) angepasst werden, um das Einfärben zu ermöglichen. Die Änderungen beschränken sich allerdings auf den Konstruktor.

Das Speichern der Kategorien erfolgt über Ajax. Die Daten werden dabei in eine neue Tabelle (news_categories) gespeichert. Bei jedem Laden der News-Seite werden fortan die Daten aus dieser Tabelle geholt. Hat ein Benutzer hier keine Einträge, wird der bisherige eStudy-Standard verwendet.

Probleme

Bei der Implementierung waren lediglich die verwendeten JavaScript-Bibliotheken hinderlich. So unterstützt zum Beispiel Scriptaculous nicht das Verschieben von Tabellen-Zeilen per Drag & Drop. Daher mussten die Kategorien in einem Fenster nachgebildet werden, denn die Newsbereiche werden in einer Tabelle dargestellt. Der ColorPicker ist ebenfalls recht eingeschränkt. Er verlangt, dass die Farbauswahl in einem <input>-Element geschrieben werden. Daher befindet sich in dem Fenster für jede Kategorie ein verstecktes <input>-Element, wo zunächst die Farbe hineingeschrieben wird. Die Farbe wird dann sofort ausgelesen und an das Kategorie-Element übergeben und als Hintergrundfarbe gesetzt.

Weitere Probleme mit dem ColorPicker traten auf, wenn auf der Seite gescrollt wurde. Offenbar befindet sich das Farbauswahlfeld des ColorPickers statisch am Beginn der Seite. Wenn die Seite also etwas weiter nach unten gescrollt wurde, ließ sich das Feld nicht mehr bedienen. Wurde die Seite aber wieder zurückgescrollt, funktionierte es wieder. Aus diesem Grund wird beim Öffnen des Fensters nun automatisch die Seite zurück zum Anfang gescrollt.

Offene Punkte

Die folgenden Punkte beziehen sich nicht nur auf die im Vision Document genannten Punkte, sondern sind teilweise erst während der Implementierung erkannt worden. Aus Zeitgründen konnten sie aber nicht mehr umgesetzt werden.

  • Wie bereits erwähnt, wurde keine extra Option zur Vorgabe von Farbwerten implementiert. Stattdessen ist standardmäßig keine Färbung eingestellt.
  • Nach dem Schließen des Fensters zum Bearbeiten der Kategorien ist ein Neuladen der Seite erforderlich. Dies wird aber nicht automatisch durchgeführt und es wird auch keine entsprechende Nachricht angezeigt. Möglicherweise könnte dies Verwirrung stiften.
  • Die Farbgebungung einer einzelnen Kategorie kann nicht zurückgesetzt werden.

--Thelen-CTh 19:40, 6. Nov. 2008 (UTC)