2017 API

Gicic Seid

Reporting-Tool

Durchführung: 06.02.2017 bis 10.03.2017

Umfeld

Die visions.ch GmbH mit Sitz in Bischofszell TG gestaltet und realisiert digitale Auftritte im Ostschweizer Raum und auch über die Landesgrenzen hinaus. Ein wichtiger Aspekt dieser Branche ist zufriedenstellend auf die Bedürfnisse der Kunden einzugehen.
Zurzeit ist das Abwickeln der Kundenwünsche nicht standardisiert, so werden Anfragen willkürlich telefonisch, per Mail oder persönlich kommuniziert.

Ziel

Ziel ist es diese Kundenwünsche auf einem zentralen Kanal zu sammeln und für die Abarbeitung durch visions.ch Mitarbeiter vorzubereiten. Als Lösung wurde entschieden ein Formular mit Feldern für die Beschreibung sowie die Priorität des Änderungswunsches umzusetzen, welches mit geringem Aufwand in Kundenprojekte eingebunden werden kann. Diese Eingaben werden gesammelt und auf einem zentralen Server in eine Datenbank gespeichert. In einem nur für Mitarbeiter zulässigen Bereich können die Eingaben eingesehen, und deren Status angepasst werden (erledigt, in Bearbeitung, offen).

Das Formular für den Kunden soll dabei mit einer Tastenkombination aufgerufen werden, damit die Webseite auch ohne ein störendes Fenster zur rechten Seite angeschaut werden kann. In folgender Grafik werden das Formular sowie der geschützte Bereich für die Mitarbeiter dargestellt. Die beim Formular dargestellte Webseite wurde zu Testzwecken angelegt und sollte ein Kundenprojekt imitieren.

Lösung der Aufgabe
Grundsätzlich arbeiten die zwei Teile der Software unabhängig voneinander. Als einzige relevante Verbindung zwischen Ihnen besteht die Datenbank, worin das Script des Formulars die Daten erfasst und welche dann dem Backend zum Auslesen dienen.

Formular

Das Formular wird mit JavaScript aus einer HTML Datei gelesen und an ein auf dem zentralen Server liegendem PHP Script gesendet, welche die Daten validiert und in die Datenbank schreibt. Das Formular schickt pro Anfrage neben den 2 Eingabefeldern die URL zur Identifizierung des Projektnamens (Kundenprojekte besitzen immer eine URL mit folgendem Aufbau: ""projektname.visionsmedialab.ch""), sowie eine weitere Identifikationsnummer welche dem kennzeichnen der Unterseite dient (News, Kontakt etc.) an den zentralen Server. Falls eine dieser Informationen nicht gegeben ist oder nicht gefunden werden kann, wird das Öffnen des Formulars gesperrt und eine Fehlermeldung in die Konsole des Webbrowsers geschrieben. So sind Fehler für die Mitarbeiter sofort ersichtlich und behandelbar.

Backend

Das PHP basierte und Login-geschützte Backend der Software sammelt alle eingegangenen Reports, sortiert diese in einer Übersicht alphabetisch nach dem Projektnamen, und stellt die einzelnen Reports zum Projekt in einer Detailansicht an. Ein Report besteht dabei aus dem Eingabedatum, der Beschreibung, Priorität, dem Seitennamen und Status des Reports. Die verschiedenen Status werden mit einer Hintergrundfarbe gekennzeichnet (grün, orange, rot) und können simpel durch Ändern des Wertes in der Selectbox aktualisiert werden. Offene und dringende Reports sind immer an erster Stelle der Liste zu finden - erledigte Reports werden ans Ende der Liste geschoben.

Programmiert wurde das Backend mit dem Programmiermuster Model-View-Controller der den Code Software in Daten-, Darstellungs- und Logikblöcke trennt. Damit wird effizienter Code gewährleistet welcher auch in Zukunft mit vergleichsweise wenig Aufwand erweitert werden kann.